:root{--ink-black:#0d1b2a;--prussian-blue:#1b263b;--dusk-blue:#415a77;--dusty-denim:#778da9;--alabaster-grey:#e0e1dd;--color-bg:var(--alabaster-grey);--color-text:var(--ink-black);--color-text-soft:#0d1b2ab8;--color-text-muted:#0d1b2a8f;--color-line:#0d1b2a24;--color-line-strong:#415a7757;--color-surface:#e0e1ddb8;--color-surface-blue:#778da92e;--color-focus:var(--dusk-blue);--font-sans:Inter, "Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", "Cascadia Code", Consolas, "Liberation Mono", monospace;--step-0:0;--step-1:.25rem;--step-2:.5rem;--step-3:.75rem;--step-4:1rem;--step-5:1.5rem;--step-6:2rem;--step-7:3rem;--step-8:4rem;--step-9:6rem;--step-10:8rem;--container-max:1180px;--container-pad:clamp(1.25rem, 4vw, 3rem);--radius-sm:4px;--radius-md:8px;--transition-fast:.18s ease;--transition-base:.28s ease;color:var(--color-text);background:var(--color-bg);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg);scroll-behavior:smooth;min-width:320px}body{background:linear-gradient(90deg, #415a770e 1px, transparent 1px), linear-gradient(180deg, #415a770b 1px, transparent 1px), var(--color-bg);background-size:80px 80px;min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}#root{min-height:100svh}::selection{color:var(--ink-black);background:#778da994}img,picture,svg,video{max-width:100%;display:block}button,input,textarea,select{font:inherit}button{cursor:pointer}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--ink-black);font-family:var(--font-sans);letter-spacing:0;text-wrap:balance;font-weight:650}h1{font-size:clamp(3.75rem,10vw,8.5rem);line-height:.92}h2{font-size:clamp(2.5rem,6vw,5.5rem);line-height:.98}h3{font-size:clamp(1.75rem,3.2vw,3.25rem);line-height:1.04}h4{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.2}p{max-width:66ch;color:var(--color-text-soft);font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.75}a{color:var(--dusk-blue);text-underline-offset:.28em;transition:color var(--transition-fast), text-decoration-color var(--transition-fast);text-decoration-color:#415a7752;text-decoration-thickness:1px}a:hover{color:var(--ink-black);-webkit-text-decoration-color:var(--ink-black);text-decoration-color:var(--ink-black)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.container{width:min(100% - calc(var(--container-pad) * 2), var(--container-max));margin-inline:auto}.section{padding-block:clamp(var(--step-8), 10vw, var(--step-10))}.section--compact{padding-block:clamp(var(--step-6), 6vw, var(--step-8))}.eyebrow,.tech-label{color:var(--dusk-blue);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:600;line-height:1.4}.button,button{border:1px solid var(--ink-black);border-radius:var(--radius-sm);background:var(--ink-black);min-height:2.75rem;color:var(--alabaster-grey);transition:background-color var(--transition-base), border-color var(--transition-base), color var(--transition-base), transform var(--transition-base);justify-content:center;align-items:center;gap:.65rem;padding:.75rem 1rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.button:hover,button:hover{border-color:var(--prussian-blue);background:var(--prussian-blue);color:var(--alabaster-grey);transform:translateY(-1px)}.button--secondary{border-color:var(--color-line-strong);color:var(--ink-black);background:0 0}.button--secondary:hover{border-color:var(--dusk-blue);background:var(--color-surface-blue);color:var(--ink-black)}.divider{background:var(--color-line);border:0;width:100%;height:1px}.v-line{background:var(--color-line);width:1px;min-height:100%}.surface{border:1px solid var(--color-line);background:var(--color-surface)}@media (width<=720px){:root{--container-pad:1.25rem}body{background-size:56px 56px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.site-header{border-bottom:1px solid var(--color-line);background:var(--alabaster-grey)}.navbar{align-items:center;gap:var(--step-5);grid-template-columns:1fr auto 1fr;min-height:72px;display:grid}.navbar__monogram{width:2.65rem;height:2.65rem;color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.18em;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}.navbar__monogram:hover{color:var(--dusk-blue)}.navbar__brand-logo{object-fit:contain;width:100%;height:100%;transition:opacity var(--transition-fast), transform var(--transition-fast)}.navbar__monogram:hover .navbar__brand-logo{opacity:.82;transform:translateY(-1px)}.navbar__links{justify-content:center;align-items:center;gap:clamp(var(--step-4), 3vw, var(--step-6));display:flex}.navbar__link{color:var(--ink-black);align-items:center;gap:.48rem;font-size:.92rem;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.navbar__project-logo{object-fit:contain;opacity:.86;width:1.32rem;height:1.32rem}.navbar__link:after{content:"";background:var(--dusty-denim);opacity:0;height:1px;transition:opacity var(--transition-fast), transform var(--transition-fast);position:absolute;bottom:-.42rem;left:0;right:0;transform:scaleX(.36)}.navbar__link:hover{color:var(--dusk-blue)}.navbar__link:hover:after,.navbar__link:focus-visible:after{opacity:1;transform:scaleX(1)}.navbar__meta{justify-content:flex-end;align-items:center;gap:var(--step-5);display:flex}.navbar__social{align-items:center;gap:var(--step-4);display:flex}.navbar__social-link{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:500;text-decoration:none}.navbar__social-link:hover{color:var(--dusk-blue)}.navbar__availability{align-items:center;gap:var(--step-2);color:var(--color-text-soft);white-space:nowrap;font-size:.82rem;display:inline-flex}.navbar__dot{background:var(--dusk-blue);border-radius:999px;width:.42rem;height:.42rem}@media (width<=860px){.site-header{padding-block:var(--step-3)}.navbar{gap:var(--step-4) var(--step-5);grid-template-columns:1fr auto;min-height:auto}.navbar__links{justify-content:flex-start;gap:var(--step-5);padding-block:var(--step-2);scrollbar-width:none;grid-column:1/-1;overflow-x:auto}.navbar__links::-webkit-scrollbar{display:none}.navbar__social{display:none}}@media (width<=520px){.navbar{gap:var(--step-3)}.navbar__availability{font-size:.76rem}.navbar__links{gap:var(--step-4)}.navbar__link{font-size:.88rem}}.app-shell{min-height:100svh}.visual-system-preview{min-height:calc(100svh - var(--step-6) * 2);align-content:center;gap:var(--step-7);display:grid}.visual-system-preview__header{gap:var(--step-5);display:grid}.visual-system-preview__label-row{gap:var(--step-3);flex-wrap:wrap;display:flex}.visual-system-preview__title{max-width:920px}.visual-system-preview__copy{max-width:680px}.visual-system-preview__tokens{gap:var(--step-4);padding-top:var(--step-6);border-top:1px solid var(--color-line);display:grid}.visual-system-preview__token-grid{gap:var(--step-3);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.visual-system-preview__swatch{border:1px solid var(--color-line);min-height:112px;padding:var(--step-3);align-items:flex-end;display:flex}.visual-system-preview__swatch span{color:currentColor;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;line-height:1.4}@media (width<=820px){.visual-system-preview{padding-top:var(--step-8);align-content:start}.visual-system-preview__token-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero{align-items:center;gap:clamp(var(--step-8), 9vw, var(--step-10));min-height:calc(90svh - 72px);padding-block:clamp(var(--step-7), 7vw, var(--step-9));grid-template-columns:minmax(0,1.04fr) minmax(380px,.96fr);display:grid}.hero__content{gap:var(--step-4);align-content:center;animation:.52s both hero-rise;display:grid}.hero__eyebrow{width:fit-content;margin-bottom:var(--step-2)}.hero__title{max-width:660px;font-size:clamp(3.55rem,7.1vw,7rem);line-height:.86}.hero__title span{display:block}.hero__title-accent{color:var(--dusk-blue)}.hero__copy{max-width:540px;padding-top:var(--step-2);font-size:clamp(1.02rem,1.22vw,1.16rem)}.hero__actions{padding-top:var(--step-3);align-items:center;display:flex}.hero__cta{align-items:center;gap:var(--step-2);width:fit-content;color:var(--ink-black);font-weight:650;text-decoration:none;transition:color .24s;display:inline-flex;position:relative}.hero__cta:after{content:"";transform-origin:0;background:#415a77b8;height:1px;transition:background-color .24s,transform .24s;position:absolute;bottom:-.32rem;left:0;right:0}.hero__cta span{color:var(--dusk-blue);transition:transform .24s}.hero__cta:hover{color:var(--dusk-blue)}.hero__cta:hover:after{background:var(--dusty-denim);transform:scaleX(.76)}.hero__cta:hover span{transform:translate(.38rem)}.hero__meta-row{align-items:center;gap:var(--step-3) var(--step-5);padding-top:var(--step-3);flex-wrap:wrap;display:flex}.hero__status{align-items:center;gap:var(--step-2);color:var(--color-text-soft);font-size:.9rem;display:inline-flex}.hero__status-dot{background:var(--dusty-denim);border-radius:999px;width:.46rem;height:.46rem}.hero__metadata{color:var(--color-text-muted)}.hero__media{min-height:clamp(470px,66vh,680px);animation:.62s .12s both hero-fade;position:relative}.hero__photo-backdrop{background:#778da921;border:1px solid #415a7738;position:absolute;inset:9% 1% 4% 18%}.hero__figure{border:1px solid var(--color-line);background:var(--color-surface);clip-path:polygon(6% 0,100% 0,100% 93%,92% 100%,0 100%,0 7%);margin:0;position:absolute;inset:0 3% 0 8%;overflow:hidden}.hero__figure:after{content:"";pointer-events:none;mix-blend-mode:multiply;background:#778da917;position:absolute;inset:0}.hero__image{object-fit:cover;object-position:56% 48%;filter:saturate(.78)contrast(.96)brightness(1.02);width:100%;height:100%}.hero__grid-mark{opacity:.32;background-image:linear-gradient(#415a770f 1px,#0000 1px),linear-gradient(90deg,#415a770f 1px,#0000 1px);background-size:1.25rem 1.25rem;border:1px solid #415a771a;width:8.5rem;height:8.5rem;animation:.52s .24s both hero-fade;position:absolute;top:16%;left:0}.hero__line{z-index:2;background:#0d1b2a29;height:1px;position:absolute}.hero__line--one{width:17%;top:43%;left:3%}.hero__node{z-index:2;background:var(--alabaster-grey);border:1px solid #415a778f;border-radius:999px;width:.5rem;height:.5rem;position:absolute}.hero__node--one{top:42.2%;left:19%}.hero__bracket{z-index:2;border-style:solid;border-color:#0d1b2a29;width:2.2rem;height:4rem;position:absolute}.hero__bracket--left{border-width:1px 0 1px 1px;top:5%;left:5%}@keyframes hero-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.hero{gap:var(--step-8);min-height:auto;padding-block:clamp(var(--step-7), 9vw, var(--step-9));grid-template-columns:1fr}.hero__content{max-width:780px}.hero__title{max-width:720px;font-size:clamp(3.7rem,10.8vw,6.6rem)}.hero__media{min-height:clamp(440px,62vw,620px)}.hero__figure{inset-inline:5% 0}}@media (width<=640px){.hero{gap:var(--step-7);padding-block:var(--step-7)}.hero__content{gap:var(--step-4)}.hero__title{max-width:100%;font-size:clamp(3.1rem,15.2vw,4.8rem);line-height:.88}.hero__copy{padding-top:0}.hero__media{min-height:390px}.hero__figure{clip-path:polygon(5% 0,100% 0,100% 94%,91% 100%,0 100%,0 6%);inset:3% 0 0}.hero__image{object-position:56% 50%}.hero__photo-backdrop{inset:12% 0 0 14%}.hero__grid-mark{opacity:.22;width:6rem;height:6rem}.hero__bracket--left,.hero__line--one,.hero__node--one{display:none}}@media (prefers-reduced-motion:reduce){.hero__content,.hero__media,.hero__grid-mark{animation:none}}.selected-work{padding-top:clamp(var(--step-8), 10vw, var(--step-10));position:relative}.selected-work__inner{gap:clamp(var(--step-8), 9vw, var(--step-10));display:grid}.selected-work__intro{align-items:end;gap:clamp(var(--step-5), 6vw, var(--step-9));padding-top:var(--step-6);border-top:1px solid var(--color-line);grid-template-columns:minmax(0,.9fr) minmax(320px,.7fr);display:grid}.selected-work__intro .tech-label{grid-column:1/-1}.selected-work__intro h2{max-width:760px;font-size:clamp(2.6rem,5.8vw,5.8rem)}.selected-work__intro p{max-width:460px;padding-bottom:var(--step-2)}.selected-work__list{gap:clamp(var(--step-8), 11vw, var(--step-10));display:grid}.project-row{--project-visual-offset:0;align-items:center;gap:clamp(var(--step-6), 7vw, var(--step-9));padding-top:clamp(var(--step-6), 6vw, var(--step-8));border-top:1px solid var(--color-line);grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);display:grid}.project-row:nth-child(2n){grid-template-columns:minmax(0,.58fr) minmax(280px,.42fr)}.project-row:nth-child(2n) .project-row__content{order:2}.project-row:nth-child(2n) .project-row__visual{order:1}.project-row--wide{gap:var(--step-6);grid-template-columns:1fr}.project-row--wide .project-row__content{gap:var(--step-6);grid-template-columns:auto minmax(0,1fr);max-width:980px;display:grid}.project-row--wide .project-row__visual{min-height:auto}.project-row__content{gap:var(--step-5);grid-template-columns:auto minmax(0,1fr);align-items:start;display:grid}.project-row__number{color:#778da99e;font-family:var(--font-mono);letter-spacing:-.04em;font-size:clamp(3rem,6.8vw,7rem);font-weight:500;line-height:.85}.project-row__text{gap:var(--step-4);padding-top:var(--step-1);display:grid}.project-row__text h3{transition:color var(--transition-base);font-size:clamp(2.45rem,5.2vw,5.2rem)}.project-row__meta{gap:var(--step-2) var(--step-4);padding-top:var(--step-1);color:var(--dusk-blue);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;flex-wrap:wrap;font-size:.7rem;font-weight:600;line-height:1.5;display:flex}.project-row__meta span:not(:last-child):after{content:"/";margin-left:var(--step-4);color:#415a776b}.project-row__status{gap:var(--step-2);max-width:520px;margin-top:var(--step-1);padding-block:var(--step-4);border-top:1px solid #415a7738;border-bottom:1px solid #415a7729;display:grid}.project-row__status span,.project-row__visual-note span{color:var(--dusk-blue);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:700;line-height:1.4}.project-row__status strong,.project-row__visual-note strong{color:var(--ink-black);font-size:clamp(1.1rem,1.5vw,1.35rem);font-weight:650;line-height:1.16}.project-row__status p{max-width:440px;color:var(--color-text-soft);font-size:.96rem;line-height:1.6}.project-row__actions{gap:var(--step-4) var(--step-5);padding-top:var(--step-3);flex-wrap:wrap;display:flex}.project-row__link{align-items:center;gap:var(--step-2);width:fit-content;color:var(--ink-black);font-weight:650;text-decoration:none;display:inline-flex;position:relative}.project-row__link:after{content:"";transform-origin:0;height:1px;transition:background-color var(--transition-base), transform var(--transition-base);background:#415a779e;position:absolute;bottom:-.32rem;left:0;right:0}.project-row__link span{color:var(--dusk-blue);transition:transform var(--transition-base)}.project-row__link:hover{color:var(--dusk-blue)}.project-row__link:hover:after{background:var(--dusty-denim);transform:scaleX(.76)}.project-row__link:hover span{transform:translate(.38rem)}.project-row__link--secondary{color:var(--color-text-soft);font-weight:560}.project-row__visual{min-height:330px;color:inherit;isolation:isolate;text-decoration:none;display:block;position:relative}.project-row__visual:before{content:"";transition:transform var(--transition-base);z-index:-1;background:#778da91a;border:1px solid #415a7733;position:absolute;inset:9% 0 0 8%}.project-row__image{border:1px solid var(--color-line);background:var(--color-surface);object-fit:cover;transition:border-color var(--transition-base), transform var(--transition-base);display:block}.project-row__image--primary{aspect-ratio:16/9;object-position:center top;width:100%;position:relative}.project-row__image--secondary{aspect-ratio:16/9;opacity:.92;object-position:center top;z-index:2;width:min(42%,320px);position:absolute;top:-8%;right:-3%}.project-row__visual-note{left:var(--step-4);right:var(--step-4);bottom:var(--step-4);gap:var(--step-1);padding:var(--step-4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:4;background:#e0e1dddb;border-top:1px solid #e0e1dd6b;display:grid;position:absolute}.project-row__visual-note:before{content:"";inset:calc(var(--step-4) * -1);pointer-events:none;border:1px solid #415a772e;position:absolute}.project-row__visual--confidential .project-row__image{filter:blur(9px)saturate(.78)brightness(.76);transform:scale(1.04)}.project-row__confidential-overlay{padding:var(--step-5);z-index:3;background:linear-gradient(135deg,#0e1b2a47,#f6fafc14),#0e1b2a2e;place-items:center;display:grid;position:absolute;inset:0}.project-row__confidential-overlay span{color:#f7fafc;max-width:min(86%,26rem);font-family:var(--font-mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1b2ab8;border:1px solid #f6fafc8a;padding:.92rem 1.12rem;font-size:clamp(.78rem,1.8vw,1rem);font-weight:800;line-height:1.35}.project-row__read-more{right:var(--step-4);bottom:var(--step-4);z-index:5;color:#f7fafc;font-family:var(--font-mono);letter-spacing:.14em;opacity:0;text-transform:uppercase;transition:opacity var(--transition-base), transform var(--transition-base);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d1b2aad;border:1px solid #f6fafc7a;padding:.72rem .86rem;font-size:.68rem;font-weight:800;line-height:1;position:absolute;transform:translateY(.4rem)}.project-row__visual:hover .project-row__read-more,.project-row__visual:focus-visible .project-row__read-more,.project-row:focus-within .project-row__read-more{opacity:1;transform:translateY(0)}.project-row:hover .project-row__text h3{color:var(--dusk-blue)}.project-row:hover .project-row__image--primary{border-color:#415a7757;transform:translateY(-.2rem)scale(1.014)}.project-row:hover .project-row__image--secondary{transform:translateY(-.3rem)scale(1.018)}.project-row:hover .project-row__visual:before{transform:translate(.25rem,.25rem)}@media (width<=980px){.selected-work__intro,.project-row,.project-row:nth-child(2n),.project-row--wide{grid-template-columns:1fr}.selected-work__intro .tech-label{grid-column:auto}.project-row:nth-child(2n) .project-row__content,.project-row:nth-child(2n) .project-row__visual{order:initial}.project-row__visual{min-height:auto}}@media (width<=640px){.selected-work__intro{gap:var(--step-5)}.project-row,.project-row--wide{gap:var(--step-6)}.project-row__content,.project-row--wide .project-row__content{gap:var(--step-4);grid-template-columns:1fr}.project-row__number{font-size:3.5rem}.project-row__text h3{font-size:clamp(2.3rem,13vw,4rem)}.project-row__actions{flex-direction:column;align-items:flex-start}.project-row__image--secondary{display:none}.project-row__visual:before{inset:8% 0 0 5%}}.profile-section{padding-top:clamp(var(--step-8), 9vw, var(--step-10));position:relative}.profile{gap:clamp(var(--step-8), 9vw, var(--step-10));padding-top:var(--step-6);border-top:1px solid var(--color-line);display:grid}.profile__intro{gap:clamp(var(--step-7), 8vw, var(--step-10));grid-template-columns:minmax(0,.56fr) minmax(320px,.44fr);align-items:start;display:grid}.profile__statement{gap:var(--step-5);display:grid;position:relative}.profile__statement:after{content:"";background:var(--color-line-strong);width:min(42%,14rem);height:1px}.profile__statement h2 span{color:var(--dusk-blue)}.profile__about{gap:var(--step-5);padding-top:var(--step-1);display:grid}.profile__copy{gap:var(--step-5);display:grid}.profile__copy p{max-width:620px}.profile-download,.profile-certification__link{align-items:center;gap:var(--step-2);width:fit-content;color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.profile-download svg,.profile-certification__link svg{width:.95em;height:.95em}.profile-download--pending{opacity:.72}.profile-download__note{max-width:480px;color:var(--color-text-muted);font-size:.88rem;line-height:1.55}.profile__credentials{border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);display:grid}.profile-card,.profile-current{gap:var(--step-5);padding:clamp(var(--step-5), 4vw, var(--step-7));border-bottom:1px solid var(--color-line);display:grid}.profile-card:nth-child(odd){border-right:1px solid var(--color-line)}.profile-card--technical,.profile-card--certifications,.profile-card--github{grid-column:1/-1}.profile-card--github{border-right:0}.profile-card__header{justify-content:space-between;align-items:center;gap:var(--step-3);flex-wrap:wrap;display:flex}.profile-card__main{gap:var(--step-5);grid-template-columns:minmax(6rem,.28fr) minmax(0,1fr);align-items:start;display:grid}.profile-card__date,.profile-card__meta{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:600;line-height:1.5}.profile-card h3,.profile-language h3{font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.08}.profile-card p,.profile-language p{max-width:620px;font-size:1rem;line-height:1.65}.profile-tech{gap:var(--step-5);padding-top:var(--step-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.profile-tech__group{align-content:start;gap:var(--step-4);padding-top:var(--step-4);border-top:1px solid var(--color-line);display:grid}.profile-tech__label{color:var(--dusty-denim)}.profile-tech ul{gap:var(--step-2);margin:0;padding:0;list-style:none;display:grid}.profile-tech li{color:var(--ink-black);font-size:.98rem;line-height:1.45}.profile-card--certifications .tech-label,.profile-card--certifications p{color:var(--color-text-soft)}.profile-certifications{display:grid}.profile-certification{gap:var(--step-5);padding-block:var(--step-6);border-top:1px solid var(--color-line);grid-template-columns:minmax(4.5rem,.18fr) minmax(0,1fr);display:grid}.profile-certification__number{color:var(--dusty-denim);font-family:var(--font-mono);font-size:clamp(2.4rem,5vw,5rem);line-height:.9}.profile-certification h3{max-width:700px;color:var(--ink-black);font-size:clamp(2rem,4.3vw,4.7rem);line-height:.98}.profile-card--languages{border-right:1px solid var(--color-line)}.profile-languages{border-top:1px solid var(--color-line);display:grid}.profile-language{gap:var(--step-4);padding-block:var(--step-5);border-bottom:1px solid var(--color-line);grid-template-columns:3.5rem minmax(0,1fr);align-items:start;display:grid}.profile-language>span{color:var(--dusty-denim);font-family:var(--font-mono);letter-spacing:.12em;font-size:1.2rem;font-weight:700}.profile-current{align-content:start;gap:var(--step-4);border-left:1px solid var(--color-line-strong);position:relative}.profile-current:before{content:"";left:-.28rem;top:clamp(var(--step-5), 4vw, var(--step-7));background:var(--dusty-denim);border-radius:999px;width:.52rem;height:.52rem;position:absolute}.profile-current p{max-width:500px;color:var(--color-text-soft);font-size:clamp(1.08rem,1.8vw,1.45rem);line-height:1.55}.profile-current h3{font-size:clamp(1.45rem,2.1vw,2.1rem)}.github-repos{gap:var(--step-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.github-repo{align-content:start;gap:var(--step-3);min-height:12rem;padding:var(--step-4);border:1px solid var(--color-line);color:var(--ink-black);transition:border-color var(--transition-base), transform var(--transition-base);background:#e0e1dd61;text-decoration:none;display:grid}.github-repo:hover,.github-repo:focus-visible{border-color:var(--color-line-strong);transform:translateY(-1px)}.github-repo__name{align-items:center;gap:var(--step-2);color:var(--ink-black);font-weight:700;line-height:1.3;display:inline-flex}.github-repo__name svg{width:.9rem;height:.9rem}.github-repo p{max-width:none;color:var(--color-text-soft);font-size:.94rem;line-height:1.55}.github-repo__meta{gap:var(--step-2) var(--step-3);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;font-size:.68rem;font-weight:700;line-height:1.4;display:flex}.github-repo__meta span{align-items:center;gap:.28rem;display:inline-flex}.github-repo__meta svg{width:.78rem;height:.78rem}.ui-state{gap:var(--step-2);padding:var(--step-4);border:1px solid var(--color-line);background:#e0e1dd6b;display:grid}.ui-state strong{color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:800}.ui-state p{max-width:560px;color:var(--color-text-muted);font-size:.96rem;line-height:1.55}.ui-state--error{border-color:#415a7757}.image-fallback{border:1px solid var(--color-line);background:linear-gradient(135deg, #778da929, #e0e1dd9e), var(--color-surface);place-items:center;min-height:10rem;display:grid}.image-fallback span{max-width:80%;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;font-size:.72rem;font-weight:700;line-height:1.45}.not-found__inner{gap:var(--step-5);align-content:center;min-height:54svh;display:grid}.not-found h1{max-width:780px}@media (width<=1100px){.profile-tech{grid-template-columns:repeat(3,minmax(0,1fr))}.github-repos{grid-template-columns:1fr}}@media (width<=980px){.profile__intro,.profile__credentials{grid-template-columns:1fr}.profile-card:nth-child(odd),.profile-card--languages{border-right:0}.profile-current{border-left:0}.profile-current:before{display:none}}@media (width<=640px){.profile-section{padding-top:var(--step-8)}.profile__intro{gap:var(--step-7)}.profile__statement h2{font-size:clamp(2.65rem,13vw,4.4rem)}.profile-card,.profile-current{padding-inline:0}.profile-card__main,.profile-certification{gap:var(--step-3);grid-template-columns:1fr}.profile-tech{grid-template-columns:1fr}.profile-certification h3{font-size:clamp(2rem,11vw,3.5rem)}}.profile-certification__link{align-items:center;gap:var(--step-2);width:fit-content;margin-top:var(--step-4);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:600;text-decoration-color:#415a7757;display:inline-flex}.profile-certification__link span{color:var(--dusty-denim);transition:transform var(--transition-base)}.profile-certification__link:hover{color:var(--dusty-denim);-webkit-text-decoration-color:var(--dusty-denim);text-decoration-color:var(--dusty-denim)}.profile-certification__link:hover span{transform:translate(.25rem,-.12rem)}.project-row__visual--with-phone{padding-right:min(6vw,3rem)}.project-row__image--phone{aspect-ratio:9/16;object-position:center top;border-color:#0d1b2a33;width:min(25%,168px);min-width:112px;top:-10%;right:0}.profile-card__topline{justify-content:space-between;align-items:center;gap:var(--step-4);display:flex}.profile-card__brand{border:1px solid var(--color-line);flex:none;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;display:inline-flex}.profile-card__brand img{object-fit:contain;max-width:72%;max-height:72%;display:block}.profile-card__brand--demex{background:#e0e1dd9e}.profile-card__brand--tec{background:var(--prussian-blue);border-color:#e0e1dd2e}.profile-card__brand--tec img{max-width:80%;max-height:80%}@media (width<=640px){.project-row__visual--with-phone{padding-right:0}.project-row__image--phone{width:min(34%,132px);min-width:92px;display:block}.profile-card__brand{width:3.75rem;height:3.75rem}}.project-row__video--phone{background:var(--prussian-blue);display:block}.project-row__visual--with-phone .project-row__image--primary{object-position:center top}.profile-card__main--brand{grid-template-columns:4.5rem minmax(0,1fr);align-items:center}.profile-card__main--brand+p,.profile-card__main--brand~.profile-card__meta{padding-left:calc(4.5rem + var(--step-5))}@media (width<=640px){.profile-card__main--brand{gap:var(--step-4);grid-template-columns:3.75rem minmax(0,1fr)}.profile-card__main--brand+p,.profile-card__main--brand~.profile-card__meta{padding-left:0}}.profile--details{gap:var(--step-7)}.profile__details-heading{gap:var(--step-4);max-width:760px;display:grid}.profile__details-heading h2{font-size:clamp(2.5rem,5.4vw,5.2rem)}.profile__credentials--summary .profile-card--technical,.profile__credentials--summary .profile-card--certifications{grid-column:auto}.profile-card__main--brand{align-items:start}.profile-card--education .profile-card__main--brand+p{max-width:440px}.profile-card--education .profile-card__brand--tec{margin-top:.08rem}@media (width<=980px){.project-row:first-child{gap:var(--step-8)}}.profile-section:not(.profile-section--details) .profile{gap:clamp(var(--step-6), 6vw, var(--step-8))}.profile-section:not(.profile-section--details) .profile-card,.profile-section:not(.profile-section--details) .profile-current{padding-block:clamp(var(--step-5), 3vw, var(--step-6))}.profile__statement h2{max-width:660px}.project-row__text p{max-width:620px}.project-row:first-child{gap:clamp(var(--step-8), 12vw, 11rem)}@media (width<=980px){.profile-section:not(.profile-section--details)+.selected-work{padding-top:var(--step-7)}}.hero__title--name{max-width:760px;font-size:clamp(3.6rem,7.6vw,7.4rem);line-height:.9}.profile__statement h2 span{display:block}.hero{gap:clamp(var(--step-6), 6vw, var(--step-9));min-height:calc(88svh - 72px);padding-block:clamp(var(--step-6), 6vw, var(--step-8));grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}.hero__content{gap:var(--step-5)}.hero__title--name{max-width:none;color:var(--ink-black);letter-spacing:0;font-size:clamp(6.2rem,16vw,15rem);font-weight:650;line-height:.76}.hero__copy{display:none}.hero__actions{padding-top:var(--step-2)}.hero__media{min-height:clamp(430px,64vh,650px)}.profile-section{padding-top:clamp(var(--step-7), 7vw, var(--step-9))}.profile{gap:clamp(var(--step-6), 6vw, var(--step-8))}.profile__intro{gap:clamp(var(--step-6), 6vw, var(--step-8));grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.profile__statement h2{max-width:620px;font-size:clamp(2.45rem,4.2vw,4.7rem);line-height:1}.profile__statement:after{width:min(34%,10rem)}.profile__copy p{max-width:560px;font-size:clamp(1rem,1.1vw,1.08rem)}.profile-section:not(.profile-section--details){padding-bottom:var(--step-4)}.profile-section:not(.profile-section--details)+.selected-work{padding-top:var(--step-5)}.selected-work{padding-top:clamp(var(--step-7), 7vw, var(--step-9))}.selected-work__inner{gap:clamp(var(--step-7), 7vw, var(--step-9))}.selected-work__intro{gap:clamp(var(--step-5), 5vw, var(--step-7));grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.selected-work__intro h2,.profile__details-heading h2{font-size:clamp(2.35rem,4.6vw,4.9rem);line-height:1}.profile-section--details{padding-top:clamp(var(--step-7), 7vw, var(--step-9))}@media (width<=980px){.hero,.profile__intro,.selected-work__intro{grid-template-columns:1fr}.hero__title--name{font-size:clamp(5.4rem,22vw,10rem)}}@media (width<=640px){.hero{padding-block:var(--step-6)}.hero__title--name{font-size:clamp(4.4rem,24vw,7rem);line-height:.82}.profile__statement h2,.selected-work__intro h2,.profile__details-heading h2{font-size:clamp(2.25rem,10vw,3.6rem)}}.hero__title--name{overflow-wrap:normal;word-break:keep-all;max-width:100%;font-size:clamp(4.8rem,12vw,11.5rem);line-height:.82}@media (width<=1180px){.hero__title--name{font-size:clamp(4.4rem,10.5vw,8rem)}}@media (width<=980px){.hero__title--name{font-size:clamp(4.6rem,18vw,9rem)}}@media (width<=640px){.hero__title--name{font-size:clamp(3.6rem,18vw,5.8rem)}}.navbar__contact{color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;font-weight:500;text-decoration:none}.navbar__contact:hover{color:var(--dusk-blue)}.hero__title--name{gap:.04em;font-size:clamp(4.4rem,10.8vw,11.2rem);line-height:.78;display:grid}.hero__title--name span{display:block}.hero__title--name .hero__title-accent{color:var(--dusk-blue);margin-left:clamp(var(--step-4), 4vw, var(--step-8))}.hero__actions{align-items:center;gap:var(--step-5)}.hero__contact-methods{align-items:center;gap:var(--step-2);display:inline-flex}.hero__contact-icon{border:1px solid var(--color-line-strong);width:2.35rem;height:2.35rem;color:var(--dusk-blue);transition:border-color var(--transition-base), color var(--transition-base), transform var(--transition-base);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.hero__contact-icon svg{fill:currentColor;width:1rem;height:1rem}.hero__contact-icon:hover{border-color:var(--dusk-blue);color:var(--ink-black);transform:translateY(-1px)}.hero__feedback{max-width:240px;min-height:1.35rem;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;line-height:1.45}.selected-work__intro,.profile__intro{align-items:start}.selected-work__intro h2,.profile__details-heading h2{max-width:620px;font-size:clamp(2.5rem,4.2vw,4.7rem)}.selected-work__intro p{max-width:540px;padding-top:clamp(var(--step-5), 4vw, var(--step-8));padding-bottom:0}.profile__details-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;max-width:none}.profile__details-heading .tech-label{grid-column:1/-1}@media (width<=980px){.profile__details-heading{grid-template-columns:1fr}.hero__title--name{font-size:clamp(4.2rem,17vw,8.4rem)}}@media (width<=640px){.hero__title--name{font-size:clamp(3.4rem,18vw,5.4rem);line-height:.84}.hero__title--name .hero__title-accent{margin-left:var(--step-4)}.hero__actions{align-items:flex-start;gap:var(--step-4);flex-direction:column}.selected-work__intro p{padding-top:0}}.profile-language__code{color:var(--dusty-denim);font-family:var(--font-mono);letter-spacing:.12em;font-size:1.05rem;font-weight:700}.profile-language__flag{font-size:1.25rem;line-height:1}.hero__title--name{font-size:clamp(4rem,9.6vw,10rem)}@media (width<=1180px){.hero__title--name{font-size:clamp(3.8rem,9.2vw,7.2rem)}}@media (width<=980px){.hero__title--name{font-size:clamp(4rem,15vw,7.8rem)}}@media (width<=640px){.profile-language{grid-template-columns:3rem 1.8rem minmax(0,1fr)}.hero__title--name{font-size:clamp(3.05rem,16vw,4.9rem)}}.profile-language__code{display:none}.profile-language__flag{background:var(--dusty-denim);border:1px solid #0d1b2a2e;width:1.9rem;height:1.25rem;display:inline-block}.profile-language__flag--mx{background:linear-gradient(90deg,#006847 0 33.33%,#fff 33.33% 66.66%,#ce1126 66.66% 100%)}.profile-language__flag--us{background:linear-gradient(#b22234 0 7.69%,#fff 7.69% 15.38%,#b22234 15.38% 23.07%,#fff 23.07% 30.76%,#b22234 30.76% 38.45%,#fff 38.45% 46.14%,#b22234 46.14% 53.83%,#fff 53.83% 61.52%,#b22234 61.52% 69.21%,#fff 69.21% 76.9%,#b22234 76.9% 84.59%,#fff 84.59% 92.28%,#b22234 92.28% 100%);position:relative}.profile-language__flag--us:before{content:"";background:#3c3b6e;width:42%;height:54%;position:absolute;top:0;left:0}.profile-language__flag--cn{background:#de2910;position:relative}.profile-language__flag--cn:before{content:"";clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 92%,50% 70%,21% 92%,32% 57%,2% 35%,39% 35%);background:#ffde00;width:.38rem;height:.38rem;position:absolute;top:.22rem;left:.32rem}@media (width<=1180px){.hero__title--name{font-size:clamp(3.2rem,7.8vw,6.5rem)}}@media (width<=980px){.hero__title--name{font-size:clamp(3.7rem,13vw,7rem)}}@media (width<=640px){.profile-language{grid-template-columns:2.6rem minmax(0,1fr)}.hero__title--name{font-size:clamp(2.85rem,14.3vw,4.45rem)}}.profile-language__flag,.profile-language__flag:before,.profile-language__code{display:none}.hero-section{overflow:hidden}.hero__content{z-index:1;position:relative}.hero__media{z-index:2;margin-left:clamp(-3.8rem,-4vw,-1.5rem)}@media (width<=1180px){.hero__title--name{font-size:clamp(3.45rem,8.4vw,7.25rem)}}@media (width<=980px){.hero__media{margin-left:0}.hero__title--name{font-size:clamp(3.9rem,14vw,7.6rem)}}@media (width<=640px){.hero__title--name{font-size:clamp(2.95rem,14.8vw,4.75rem)}.hero__title--name .hero__title-accent{white-space:normal;width:auto;max-width:100%}}.profile-language{grid-template-columns:3.4rem minmax(0,1fr)}.profile-language__code{color:var(--dusty-denim);font-family:var(--font-mono);letter-spacing:.12em;font-size:1.08rem;font-weight:700;display:inline-block}.hero{gap:clamp(var(--step-5), 5vw, var(--step-8));grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr)}.hero__media{margin-left:0}.hero__title--name{font-size:clamp(3.15rem,7.55vw,8rem);line-height:.84}.hero__title--name .hero__title-accent{white-space:normal;width:auto;max-width:100%;margin-left:clamp(var(--step-3), 2.6vw, var(--step-6))}@media (width<=1180px){.hero__title--name{font-size:clamp(3rem,7vw,6.2rem)}}@media (width<=980px){.hero__title--name{font-size:clamp(3.35rem,12vw,6.7rem)}}@media (width<=640px){.profile-language{grid-template-columns:3.1rem minmax(0,1fr)}.hero__title--name{font-size:clamp(2.55rem,12.4vw,4rem)}}html{scroll-padding-top:88px}.site-header{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#e0e1ddeb;position:sticky;top:0}.scroll-progress{z-index:30;background:var(--dusk-blue);opacity:.72;transform-origin:0;width:100%;height:2px;transition:transform .12s linear;position:fixed;top:0;left:0;transform:scaleX(0)}.navbar__monogram,.navbar__social-link,.navbar__contact{transition:color var(--transition-fast), opacity var(--transition-fast)}.navbar__link{transition:color var(--transition-fast)}.navbar__link[aria-current=true]{color:var(--dusk-blue)}.navbar__link[aria-current=true]:after{opacity:1;transform:scaleX(1)}.navbar__contact{position:relative}.navbar__contact:after,.navbar__social-link:after{content:"";opacity:0;transform-origin:0;height:1px;transition:opacity var(--transition-fast), transform var(--transition-fast);background:currentColor;position:absolute;bottom:-.32rem;left:0;right:0;transform:scaleX(.45)}.navbar__social-link{position:relative}.navbar__contact:hover:after,.navbar__contact:focus-visible:after,.navbar__social-link:hover:after,.navbar__social-link:focus-visible:after{opacity:.64;transform:scaleX(1)}.hero__cta:focus-visible span,.project-row:focus-within .project-row__link span,.profile-certification__link:focus-visible span{transform:translate(.38rem)}.hero__contact-icon:focus-visible,.hero__contact-icon:hover{border-color:var(--dusk-blue);color:var(--ink-black);transform:translateY(-1px)}.reveal-ready [data-reveal]{opacity:0;transition:opacity .32s,transform .32s;transform:translateY(14px)}.reveal-ready [data-reveal].is-visible{opacity:1;transform:translateY(0)}.project-row{transition:border-color var(--transition-base)}.project-row:hover,.project-row:focus-within{border-color:#415a7742}.project-row:focus-within .project-row__text h3,.project-row:hover .project-row__text h3{color:var(--dusk-blue)}.project-row__visual{outline-offset:6px}.project-row__visual:not(.project-row__visual--with-phone){overflow:hidden}.project-row__visual:not(.project-row__visual--with-phone) .project-row__image--secondary{opacity:0;width:100%;height:auto;inset:0}.project-row__image{will-change:transform;transition:border-color var(--transition-base), opacity var(--transition-base), transform var(--transition-base)}.project-row__image--secondary{opacity:0}.project-row:hover .project-row__image--primary,.project-row:focus-within .project-row__image--primary{border-color:#415a7757;transform:scale(1.014)}.project-row:hover .project-row__visual:not(.project-row__visual--with-phone) .project-row__image--secondary,.project-row:focus-within .project-row__visual:not(.project-row__visual--with-phone) .project-row__image--secondary{opacity:1;transform:scale(1.014)}.project-row:hover .project-row__visual--with-phone .project-row__image--secondary,.project-row:focus-within .project-row__visual--with-phone .project-row__image--secondary{opacity:.94;transform:translateY(-.18rem)scale(1.012)}.project-row:hover .project-row__visual:before,.project-row:focus-within .project-row__visual:before{transform:translate(.25rem,.25rem)}.project-row:focus-within .project-row__link{color:var(--dusk-blue)}.project-row:focus-within .project-row__link:after{background:var(--dusty-denim);transform:scaleX(.76)}#projects:focus,#about:focus,#skills:focus,#contact:focus{outline:none}@media (width<=860px){html{scroll-padding-top:118px}}@media (width<=640px){.project-row__image--secondary,.project-row__image--phone{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.scroll-progress{transition:none}.reveal-ready [data-reveal]{opacity:1;transform:none}}.navbar__link,.navbar__social-link,.navbar__contact{color:var(--ink-black);align-items:center;gap:.45rem;font-weight:500;text-decoration:none;transition:color .24s;display:inline-flex;position:relative}.navbar__social-link,.navbar__contact{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem}.navbar__link:after,.navbar__social-link:after,.navbar__contact:after{content:"";background:var(--dusty-denim);opacity:0;transform-origin:0;height:1px;transition:opacity .24s,transform .24s;position:absolute;bottom:-.42rem;left:0;right:0;transform:scaleX(0)}.navbar__link:hover,.navbar__link:focus-visible,.navbar__link[aria-current=true],.navbar__social-link:hover,.navbar__social-link:focus-visible,.navbar__contact:hover,.navbar__contact:focus-visible{color:var(--dusk-blue)}.navbar__link:hover:after,.navbar__link:focus-visible:after,.navbar__link[aria-current=true]:after,.navbar__social-link:hover:after,.navbar__social-link:focus-visible:after,.navbar__contact:hover:after,.navbar__contact:focus-visible:after{opacity:1;transform:scaleX(1)}.navbar__social-link svg,.navbar__contact svg{stroke-width:1.8px;flex:none;width:.88rem;height:.88rem}.hero__cta svg,.project-row__link svg,.profile-certification__link svg{fill:none;stroke:currentColor;stroke-width:2px;flex:none;width:.95em;height:.95em}.hero__cta span{align-items:center;display:inline-flex}.project-row__link,.profile-certification__link{font-weight:500}.project-row__link svg,.profile-certification__link svg{color:var(--dusk-blue);transition:transform var(--transition-base)}.project-row__link:hover svg,.project-row__link:focus-visible svg,.project-row:focus-within .project-row__link svg,.profile-certification__link:hover svg,.profile-certification__link:focus-visible svg{transform:translate(.2rem,-.1rem)}.hero__contact-icon svg{fill:none;stroke:currentColor;stroke-width:1.9px;width:1rem;height:1rem}.hero__contact-icon .hero__contact-brand-icon{fill:currentColor;stroke:none}.profile-card--certifications{color:var(--ink-black);background:0 0}.profile-card--certifications .tech-label{color:var(--dusk-blue)}.profile-card--certifications p{color:var(--color-text-soft)}.profile-certifications{border-top:1px solid var(--color-line)}.profile-certification{gap:clamp(var(--step-4), 4vw, var(--step-7));padding-block:clamp(var(--step-5), 5vw, var(--step-7));border-top:0;border-bottom:1px solid var(--color-line);grid-template-columns:minmax(3.8rem,.16fr) minmax(0,1fr)}.profile-certification:first-child{padding-top:clamp(var(--step-5), 5vw, var(--step-7))}.profile-certification__number{color:var(--dusty-denim);letter-spacing:0;font-size:clamp(1.75rem,3.4vw,3.7rem);font-weight:500}.profile-certification h3{max-width:720px;color:var(--ink-black);font-size:clamp(2rem,4.2vw,4.6rem);font-weight:650;line-height:1}.profile-certification p{margin-top:var(--step-3);max-width:540px}.profile-certification__link{color:var(--ink-black);text-decoration-color:#415a7757}.profile-certification__link:hover,.profile-certification__link:focus-visible{color:var(--dusk-blue);-webkit-text-decoration-color:var(--dusk-blue);text-decoration-color:var(--dusk-blue)}@media (width<=640px){.profile-certification{grid-template-columns:1fr}}.case-study{min-height:100svh}.case-hero{padding-block:clamp(var(--step-7), 8vw, var(--step-10)) var(--step-7)}.case-hero__inner{gap:clamp(var(--step-6), 6vw, var(--step-9));display:grid}.case-hero__content{gap:var(--step-5);max-width:860px;display:grid}.case-back-link,.case-external-link,.case-next-link{align-items:center;gap:var(--step-2);width:fit-content;color:var(--ink-black);font-weight:500;text-decoration:none;display:inline-flex}.case-back-link{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem}.case-back-link svg{width:.9rem;transform:rotate(180deg)}.case-hero h1{max-width:900px;font-size:clamp(4.2rem,12vw,11rem);line-height:.82}.case-hero p{max-width:760px;font-size:clamp(1.12rem,1.7vw,1.45rem);line-height:1.58}.case-external-link{padding-bottom:.28rem;position:relative}.case-external-link:after,.case-next-link:after{content:"";background:var(--dusty-denim);transform-origin:0;height:1px;transition:transform var(--transition-base);position:absolute;bottom:0;left:0;right:0;transform:scaleX(.76)}.case-external-link svg,.case-next-link svg{width:.95em;height:.95em;color:var(--dusk-blue);transition:transform var(--transition-base)}.case-external-link:hover,.case-next-link:hover{color:var(--dusk-blue)}.case-external-link:hover:after,.case-next-link:hover:after{transform:scaleX(1)}.case-external-link:hover svg,.case-next-link:hover svg{transform:translate(.2rem,-.1rem)}.case-hero__meta{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.case-hero__meta div{gap:var(--step-2);padding:var(--step-5);border-right:1px solid var(--color-line);display:grid}.case-hero__meta div:last-child{border-right:0}.case-hero__meta dt,.case-note{color:var(--dusty-denim);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:600;line-height:1.45}.case-hero__meta dd{color:var(--ink-black);margin:0;font-size:.98rem;line-height:1.55}.case-hero__media,.case-image{margin:0}.case-hero__media{border:1px solid var(--color-line);background:var(--color-surface);overflow:hidden}.case-hero__media img,.case-image img{aspect-ratio:16/9;object-fit:cover;object-position:center;width:100%;transition:transform var(--transition-base)}.case-hero__media:hover img,.case-image:hover img{transform:scale(1.012)}.case-layout{gap:clamp(var(--step-6), 7vw, var(--step-10));padding-bottom:clamp(var(--step-8), 10vw, var(--step-10));grid-template-columns:minmax(10rem,.18fr) minmax(0,1fr);display:grid}.case-index{align-self:start;gap:var(--step-3);padding-top:var(--step-5);border-top:1px solid var(--color-line);display:grid;position:sticky;top:112px}.case-index a{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:500;text-decoration:none}.case-index a:hover{color:var(--dusk-blue)}.case-content{display:grid}.case-section{gap:clamp(var(--step-5), 5vw, var(--step-7));padding-block:clamp(var(--step-7), 8vw, var(--step-9));border-top:1px solid var(--color-line);scroll-margin-top:96px;display:grid}.case-section__heading{gap:var(--step-4);display:grid}.case-section__heading h2{max-width:900px;font-size:clamp(2.4rem,5vw,5.4rem);line-height:1}.case-section__heading p{max-width:780px}.case-section--split{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:center}.case-section--split>div{gap:var(--step-6);display:grid}.case-pill-grid,.case-role-grid,.case-stack,.case-system-grid,.case-two-sides{gap:var(--step-4);display:grid}.case-pill-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-pill-grid span,.case-loop span,.case-process span{padding:var(--step-4);border-top:1px solid var(--color-line);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;font-weight:500;line-height:1.45}.case-flow,.case-loop,.case-process{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.case-flow__item{min-height:8rem;padding:var(--step-5);border-right:1px solid var(--color-line);align-items:center;display:flex;position:relative}.case-flow__item:last-child{border-right:0}.case-flow__item:not(:last-child):after{content:"->";right:var(--step-3);color:var(--dusty-denim);font-family:var(--font-mono);position:absolute}.case-flow__item span{color:var(--ink-black);font-size:clamp(1.15rem,2vw,1.8rem);font-weight:650;line-height:1.08}.case-list{gap:var(--step-4);display:grid}.case-list article,.case-role-grid article,.case-system-grid article,.case-two-sides article,.case-stack article,.case-architecture article{gap:var(--step-3);padding-top:var(--step-5);border-top:1px solid var(--color-line);display:grid}.case-list h3,.case-role-grid h3,.case-stack h3,.case-architecture h3{font-size:clamp(1.25rem,2vw,1.7rem)}.case-list p,.case-role-grid p,.case-system-grid p,.case-two-sides p,.case-architecture p{max-width:620px;font-size:1rem}.case-image{border:1px solid var(--color-line);overflow:hidden}.case-image figcaption{padding:var(--step-3);border-top:1px solid var(--color-line);color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;line-height:1.45}.case-loop,.case-process{grid-template-columns:repeat(6,minmax(0,1fr))}.case-loop span,.case-process span{border-right:1px solid var(--color-line);border-top:0}.case-loop span:last-child,.case-process span:last-child{border-right:0}.case-role-grid,.case-system-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.case-architecture{gap:var(--step-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.case-architecture article{min-height:13rem}.case-two-sides{grid-template-columns:repeat(2,minmax(0,1fr))}.case-stack{grid-template-columns:repeat(3,minmax(0,1fr))}.case-stack ul{gap:var(--step-2);margin:0;padding:0;list-style:none;display:grid}.case-stack li{color:var(--color-text-soft)}.case-section--result{padding-bottom:0}.case-final-actions{justify-content:space-between;align-items:center;gap:var(--step-5);padding-top:var(--step-6);border-top:1px solid var(--color-line);flex-wrap:wrap;display:flex}.case-next-link{text-align:right;padding-bottom:.28rem;position:relative}.case-next-link span{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem}@media (width<=1040px){.case-hero__meta,.case-pill-grid,.case-role-grid,.case-system-grid,.case-architecture,.case-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.case-layout,.case-section--split{grid-template-columns:1fr}.case-index{display:none}}@media (width<=720px){.case-hero__meta,.case-pill-grid,.case-flow,.case-loop,.case-process,.case-role-grid,.case-system-grid,.case-architecture,.case-two-sides,.case-stack{grid-template-columns:1fr}.case-hero__meta div,.case-flow__item,.case-loop span,.case-process span{border-right:0;border-bottom:1px solid var(--color-line)}.case-flow__item:not(:last-child):after{right:auto;left:var(--step-5);bottom:var(--step-3);transform:rotate(90deg)}.case-flow__item{min-height:7rem}.case-hero h1{font-size:clamp(3.4rem,18vw,5.5rem)}.case-final-actions{flex-direction:column;align-items:flex-start}}.case-study--compact .case-hero{padding-block:clamp(var(--step-6), 6vw, var(--step-8))}.case-hero__top{gap:clamp(var(--step-5), 5vw, var(--step-8));grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:end;display:grid}.case-hero--compact .case-hero__content{max-width:760px}.case-hero--compact h1{font-size:clamp(4rem,10vw,9.2rem)}.case-hero--compact p{max-width:680px}.case-hero__meta--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.case-hero__meta--compact div{min-height:7.5rem;padding:var(--step-4)}.case-inline-link{align-items:center;gap:var(--step-2);color:var(--ink-black);text-decoration:none;display:inline-flex}.case-inline-link svg{width:.9em;color:var(--dusk-blue)}.case-layout--compact{gap:clamp(var(--step-5), 5vw, var(--step-8));grid-template-columns:minmax(9rem,.15fr) minmax(0,1fr)}.case-section--compact{gap:clamp(var(--step-5), 4vw, var(--step-7));padding-block:clamp(var(--step-6), 6vw, var(--step-8))}.case-section--compact .case-section__heading{grid-template-columns:minmax(0,.85fr) minmax(280px,.65fr);align-items:end}.case-section--compact .case-section__heading .tech-label{grid-column:1/-1}.case-section--compact .case-section__heading h2{font-size:clamp(2.1rem,4.2vw,4.5rem)}.case-section--compact .case-section__heading p{font-size:clamp(.98rem,1.1vw,1.08rem)}.case-explorer,.case-game-tabs__body,.case-role-explorer,.case-architecture-explorer{gap:var(--step-5);padding-top:var(--step-5);border-top:1px solid var(--color-line);display:grid}.case-explorer{grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);align-items:stretch}.case-explorer__control{gap:var(--step-5);align-content:start;display:grid}.case-tabs{gap:var(--step-2);flex-wrap:wrap;display:flex}.case-tab{border:1px solid var(--color-line);min-height:auto;color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;transition:border-color var(--transition-base), color var(--transition-base), background-color var(--transition-base);background:0 0;padding:.72rem .82rem;font-size:.68rem;font-weight:500}.case-tab:hover,.case-tab[aria-selected=true]{border-color:var(--color-line-strong);background:var(--color-surface-blue);color:var(--dusk-blue);transform:none}.case-explorer__copy,.case-role-panel,.case-system-panel{gap:var(--step-4);display:grid}.case-explorer__copy h3,.case-role-panel h3,.case-system-panel h3{font-size:clamp(1.7rem,3vw,3rem)}.case-explorer__copy p,.case-role-panel p,.case-system-panel p{max-width:620px;font-size:clamp(1rem,1.1vw,1.08rem)}.case-chip-row{gap:var(--step-2);flex-wrap:wrap;display:flex}.case-chip-row span{border-top:1px solid var(--color-line);color:var(--dusk-blue);padding-top:var(--step-2);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:600}.case-explorer__image img,.case-game-tabs__body .case-image img{min-height:100%}.case-two-sides{margin-top:var(--step-2)}.case-role-explorer{grid-template-columns:minmax(220px,.28fr) minmax(0,.4fr) minmax(280px,.32fr);align-items:start}.case-tabs--roles{display:grid}.case-role-panel{min-height:15rem;padding-top:var(--step-1)}.case-process{border:0;grid-template-columns:1fr;display:grid}.case-process span{border-right:0;border-top:1px solid var(--color-line);padding:var(--step-3) 0;border-bottom:0}.case-architecture-explorer{grid-template-columns:minmax(0,.62fr) minmax(300px,.38fr)}.case-system-map{gap:var(--step-3);padding:var(--step-4);border:1px solid var(--color-line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative}.case-system-map:before{content:"";inset:50% var(--step-4) auto;background:var(--color-line);pointer-events:none;height:1px;position:absolute}.case-system-node{border:1px solid var(--color-line);background:var(--color-bg);min-height:5.5rem;color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;z-index:1;font-size:.72rem;font-weight:600;line-height:1.45;position:relative}.case-system-node:hover,.case-system-node[aria-pressed=true]{border-color:var(--color-line-strong);background:var(--color-surface-blue);color:var(--dusk-blue);transform:none}.case-system-panel{padding:var(--step-5);border-top:1px solid var(--color-line);align-content:start}.case-stack-strip,.case-aws-grid{gap:var(--step-3);grid-column:1/-1;display:grid}.case-stack-strip{grid-template-columns:repeat(6,minmax(0,1fr))}.case-stack-strip div,.case-aws-grid span{gap:var(--step-1);padding-top:var(--step-3);border-top:1px solid var(--color-line);display:grid}.case-stack-strip span,.case-aws-grid span{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.case-stack-strip strong{color:var(--ink-black);font-size:.95rem;font-weight:500}.case-aws-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.case-game-tabs__body{grid-template-columns:minmax(280px,.35fr) minmax(0,.65fr);align-items:start}@media (width<=1040px){.case-hero__top,.case-section--compact .case-section__heading,.case-explorer,.case-role-explorer,.case-architecture-explorer,.case-game-tabs__body{grid-template-columns:1fr}.case-stack-strip,.case-aws-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.case-hero__meta--compact,.case-system-map,.case-stack-strip,.case-aws-grid{grid-template-columns:1fr}.case-tabs{padding-bottom:var(--step-2);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.case-tabs::-webkit-scrollbar{display:none}.case-tab{flex:none}.case-system-map:before{display:none}}.case-study--editorial .case-index{top:104px}.case-overview__inner{gap:clamp(var(--step-5), 5vw, var(--step-8));display:grid}.case-overview__header{gap:clamp(var(--step-5), 5vw, var(--step-8));grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:end;display:grid}.case-overview__intro{gap:var(--step-5);display:grid}.case-overview h1{max-width:900px;font-size:clamp(4rem,10vw,9.4rem);line-height:.82}.case-overview__intro p{max-width:720px;font-size:clamp(1.08rem,1.45vw,1.34rem);line-height:1.62}.case-overview__meta{border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.case-overview__meta div{gap:var(--step-2);min-height:7rem;padding:var(--step-4);border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);display:grid}.case-overview__meta div:nth-child(2n){border-right:0}.case-overview__meta div:nth-last-child(-n+2){border-bottom:0}.case-overview__meta dt,.case-system-copy dt{color:var(--dusty-denim);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.68rem;font-weight:600}.case-overview__meta dd,.case-system-copy dd{color:var(--ink-black);margin:0;line-height:1.52}.case-overview__brief{gap:clamp(var(--step-5), 5vw, var(--step-8));padding-top:var(--step-5);border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-overview__brief article{gap:var(--step-3);display:grid}.case-overview__brief p{max-width:520px;font-size:clamp(1rem,1.15vw,1.1rem)}.case-layout--editorial{gap:clamp(var(--step-5), 5vw, var(--step-8));padding-bottom:clamp(var(--step-7), 8vw, var(--step-9));grid-template-columns:minmax(9rem,.15fr) minmax(0,1fr)}.case-section--editorial{gap:clamp(var(--step-5), 5vw, var(--step-7));padding-block:clamp(var(--step-6), 6vw, var(--step-8))}.case-section--editorial .case-section__heading{grid-template-columns:minmax(0,.9fr) minmax(280px,.62fr);align-items:end}.case-section--editorial .case-section__heading h2{max-width:760px;font-size:clamp(2.25rem,4.4vw,4.8rem)}.case-section--editorial .case-section__heading p{max-width:560px;font-size:clamp(.98rem,1.1vw,1.08rem)}.case-product-grid{gap:clamp(var(--step-5), 5vw, var(--step-8));padding-top:var(--step-5);border-top:1px solid var(--color-line);grid-template-columns:minmax(240px,.32fr) minmax(0,.68fr);align-items:start;display:grid}.case-product-groups,.case-role-list{gap:0;display:grid}.case-product-groups article,.case-role-list article{gap:var(--step-2);padding-block:var(--step-4);border-bottom:1px solid var(--color-line);display:grid}.case-product-groups article:first-child,.case-role-list article:first-child{padding-top:0}.case-product-groups h3,.case-role-list h3{font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.2}.case-product-groups p,.case-role-list p{max-width:560px;font-size:.98rem;line-height:1.62}.case-screenshot-switcher{gap:var(--step-4);display:grid}.case-screenshot-switcher__control{gap:var(--step-5);grid-template-columns:minmax(0,auto) minmax(260px,1fr);align-items:start;display:grid}.case-tabline{gap:var(--step-4);flex-wrap:wrap;display:flex}.case-tabline__button{min-height:auto;color:var(--ink-black);padding:0 0 var(--step-1);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;font-size:.68rem;font-weight:600}.case-tabline__button:hover,.case-tabline__button[aria-selected=true]{color:var(--dusk-blue);border-color:var(--dusty-denim);background:0 0;transform:none}.case-screenshot-switcher__control p{max-width:520px;font-size:.98rem;line-height:1.62}.case-role-list{padding-top:var(--step-5);border-top:1px solid var(--color-line);grid-template-columns:minmax(0,1fr)}.case-process-line{margin-top:var(--step-5);border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.case-process-line span{padding:var(--step-4) var(--step-3);border-right:1px solid var(--color-line);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:600;line-height:1.45}.case-process-line span:last-child{border-right:0}.case-system-editorial{gap:clamp(var(--step-5), 5vw, var(--step-8));padding-top:var(--step-5);border-top:1px solid var(--color-line);grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);align-items:start;display:grid}.case-system-diagram{gap:var(--step-3);display:grid}.case-system-diagram span{padding-block:var(--step-3);border-top:1px solid var(--color-line);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;font-size:.78rem;font-weight:600;display:block}.case-system-diagram>span:not(:last-child):after{content:"";width:1px;height:var(--step-4);margin:var(--step-3) auto calc(var(--step-3) * -1);background:var(--color-line-strong);display:block}.case-system-diagram div{gap:var(--step-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.case-system-copy{gap:var(--step-5);display:grid}.case-system-copy p{max-width:620px}.case-system-copy dl{border-top:1px solid var(--color-line);gap:0;margin:0;display:grid}.case-system-copy dl div{gap:var(--step-4);padding-block:var(--step-4);border-bottom:1px solid var(--color-line);grid-template-columns:minmax(7rem,.24fr) minmax(0,.76fr);display:grid}.case-result-gallery{gap:var(--step-5);grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);display:grid}.case-result-gallery .case-image img{height:100%;min-height:280px}.case-study--editorial .case-two-sides,.case-study--editorial .case-chip-row,.case-study--editorial .case-tabs,.case-study--editorial .case-explorer,.case-study--editorial .case-role-explorer,.case-study--editorial .case-architecture-explorer,.case-study--editorial .case-game-tabs{display:initial}@media (width<=1040px){.case-overview__header,.case-section--editorial .case-section__heading,.case-product-grid,.case-role-list article,.case-system-editorial,.case-result-gallery,.case-layout--editorial{grid-template-columns:1fr}}@media (width<=720px){.case-overview__meta,.case-overview__brief,.case-process-line,.case-system-diagram div,.case-system-copy dl div,.case-screenshot-switcher__control{grid-template-columns:1fr}.case-overview__meta div,.case-process-line span{border-right:0}.case-process-line span{border-bottom:1px solid var(--color-line)}.case-tabline{padding-bottom:var(--step-2);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.case-tabline::-webkit-scrollbar{display:none}.case-tabline__button{flex:none}}.case-study--editorial{--dragonize-green:#7ea33f;--dragonize-deep-green:#2f4f1f;--dragonize-red:#ef2525;--dragonize-blue:#2f7fbd;--dragonize-earth:#8a5b35;background:linear-gradient(90deg, #415a7707 1px, transparent 1px), linear-gradient(180deg, #415a7706 1px, transparent 1px), var(--color-bg);background-size:80px 80px}.case-study--editorial .container{width:min(100% - calc(var(--container-pad) * 2), 1240px)}.case-overview{padding-block:clamp(var(--step-6), 5.5vw, var(--step-8))}.case-overview__inner{gap:clamp(var(--step-5), 4.5vw, var(--step-7))}.case-overview__kicker{justify-content:space-between;align-items:center;gap:var(--step-4);padding-bottom:var(--step-4);border-bottom:1px solid #7ea33f5c;flex-wrap:wrap;display:flex}.case-study--editorial .case-back-link:hover,.case-study--editorial .case-inline-link:hover,.case-study--editorial .case-external-link:hover,.case-study--editorial .case-next-link:hover{color:var(--dragonize-deep-green)}.case-overview__header{gap:clamp(var(--step-5), 4vw, var(--step-7));grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.case-overview__intro{gap:var(--step-4);grid-column:1/span 7}.case-overview__meta{grid-column:8/span 5;align-self:start}.case-overview h1{max-width:100%;font-size:clamp(4.4rem,9.2vw,9.6rem)}.case-overview__meta div{min-height:7.25rem;padding:var(--step-4)}.case-overview__meta dt,.case-system-copy dt{color:var(--dragonize-earth)}.case-overview__meta dd{font-size:.96rem}.case-overview .case-hero__media{box-shadow:inset 0 3px 0 var(--dragonize-green);border-color:#7ea33f6b}.case-overview .case-hero__media img{aspect-ratio:16/7.4;object-position:center 46%}.case-overview__brief{gap:clamp(var(--step-5), 4vw, var(--step-7));border-color:#7ea33f47;grid-template-columns:repeat(12,minmax(0,1fr))}.case-overview__brief article:first-child{grid-column:1/span 6}.case-overview__brief article:last-child{grid-column:7/span 6}.case-layout--editorial{grid-template-columns:minmax(8.5rem,.14fr) minmax(0,1fr)}.case-section--editorial{padding-block:clamp(var(--step-6), 5.5vw, var(--step-8))}.case-section--editorial .case-section__heading{gap:clamp(var(--step-4), 4vw, var(--step-7));grid-template-columns:repeat(12,minmax(0,1fr));align-items:end}.case-section--editorial .case-section__heading .tech-label{grid-column:1/-1}.case-section--editorial .case-section__heading h2{grid-column:1/span 7;max-width:none}.case-section--editorial .case-section__heading p{grid-column:8/span 5;max-width:none}.case-product-title{gap:.04em;display:grid}.case-product-grid{gap:clamp(var(--step-5), 4vw, var(--step-7));padding-top:var(--step-5);grid-template-columns:repeat(12,minmax(0,1fr))}.case-screenshot-switcher{gap:clamp(var(--step-5), 4vw, var(--step-7));grid-column:1/-1;grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.case-tabline{border-top:1px solid var(--color-line);grid-column:1/span 4;gap:0;display:grid}.case-tabline__button{gap:var(--step-2);border-bottom:1px solid var(--color-line);width:100%;color:var(--ink-black);padding:var(--step-4) 0 var(--step-4) var(--step-4);text-align:left;display:grid;position:relative}.case-tabline__button:before{content:"";left:0;top:var(--step-4);bottom:var(--step-4);width:2px;transition:background-color var(--transition-fast);background:0 0;position:absolute}.case-tabline__button span{font-size:.78rem}.case-tabline__button small{color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:.96rem;font-weight:400;line-height:1.5}.case-screenshot-switcher__media{gap:var(--step-4);grid-column:5/span 8;display:grid}.case-screenshot-switcher__media p{max-width:680px;font-size:clamp(1rem,1.1vw,1.08rem)}.case-screenshot-switcher__image img{aspect-ratio:16/9;object-fit:contain;background:#0d1b2a0f}.case-role-list article{gap:clamp(var(--step-4), 4vw, var(--step-7));grid-template-columns:repeat(12,minmax(0,1fr))}.case-process-line{border-color:#7ea33f52}.case-process-line span{border-color:#7ea33f47}.case-system-editorial{gap:clamp(var(--step-5), 4vw, var(--step-7));grid-template-columns:repeat(12,minmax(0,1fr))}.case-system-diagram span{border-color:var(--color-line)}.case-system-diagram span:nth-child(3),.case-system-diagram div span:last-child{color:var(--dragonize-deep-green);border-color:#7ea33f80}.case-system-diagram>span:not(:last-child):after{background:#7ea33f6b}.case-result-gallery{grid-template-columns:repeat(12,minmax(0,1fr))}.case-result-gallery .case-image{border-color:#8a5b3547}@media (width<=1180px){.case-overview h1{font-size:clamp(4rem,8.4vw,7.4rem)}}@media (width<=1040px){.case-overview__header,.case-overview__brief,.case-section--editorial .case-section__heading,.case-product-grid,.case-screenshot-switcher,.case-role-list article,.case-system-editorial,.case-result-gallery{grid-template-columns:1fr}.case-overview__intro,.case-overview__meta,.case-overview__brief article:first-child,.case-overview__brief article:last-child,.case-section--editorial .case-section__heading h2,.case-section--editorial .case-section__heading p,.case-screenshot-switcher,.case-tabline,.case-screenshot-switcher__media,.case-role-list h3,.case-role-list p,.case-system-diagram,.case-system-copy,.case-result-gallery .case-image:first-child,.case-result-gallery .case-image:last-child{grid-column:auto}.case-overview .case-hero__media img{aspect-ratio:16/9}}@media (width<=720px){.case-overview__kicker{flex-direction:column;align-items:flex-start}.case-overview h1{font-size:clamp(3.35rem,17vw,5.2rem)}.case-overview__meta{grid-template-columns:1fr}.case-overview__meta div,.case-overview__meta div:nth-child(2n),.case-overview__meta div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid var(--color-line);min-height:auto}.case-overview__meta div:last-child{border-bottom:0}.case-tabline{overflow:visible}.case-tabline__button{flex:initial}}.site-header--case-study .navbar__links{justify-content:center}.site-header--case-study .navbar__link{font-weight:650}.site-header--case-study .navbar__link[aria-current=true],.site-header--case-study .navbar__link:hover{color:var(--dragonize-deep-green,var(--dusk-blue))}.case-overview__header{align-items:center}.case-overview__intro{grid-column:1/span 7}.case-overview__meta{grid-column:8/span 5}.case-overview h1{font-size:clamp(4rem,8.4vw,8.6rem);line-height:.86}.case-overview__intro p{max-width:620px}.case-overview__meta{border-color:#2f7fbd38}.case-overview__meta div{align-content:start;min-height:7rem}.case-section--editorial .case-section__heading{align-items:center}.case-section--editorial .case-section__heading h2{grid-column:1/span 6;font-size:clamp(2.25rem,3.9vw,4.15rem);line-height:1.02}.case-section--editorial .case-section__heading p{grid-column:8/span 5;align-self:center}.case-product-title{gap:.08em}.case-product-grid{gap:clamp(var(--step-6), 5vw, var(--step-8))}.case-screenshot-switcher{gap:clamp(var(--step-5), 4.5vw, var(--step-8));grid-template-columns:repeat(12,minmax(0,1fr))}.case-tabline{grid-column:1/span 4}.case-screenshot-switcher__media{grid-column:5/span 8}.case-tabline__button{padding-block:var(--step-4);border-color:#0d1b2a21}.case-tabline__button:hover,.case-tabline__button[aria-selected=true]{color:var(--item-accent);border-color:color-mix(in srgb, var(--item-accent), transparent 54%)}.case-tabline__button[aria-selected=true]:before{background:var(--item-accent)}.case-tabline__button[aria-selected=true] small{color:var(--color-text-soft)}.case-screenshot-switcher__image{border-color:color-mix(in srgb, var(--dragonize-blue), transparent 66%)}.case-role-list article{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.case-role-list h3{grid-column:1/span 5}.case-role-list p{grid-column:6/span 7}.case-system-diagram{grid-column:1/span 5}.case-system-copy{grid-column:7/span 6}.case-result-gallery .case-image:first-child{grid-column:1/span 6}.case-result-gallery .case-image:last-child{grid-column:7/span 6}@media (width<=1180px){.case-overview h1{font-size:clamp(3.7rem,7.6vw,7rem)}.case-section--editorial .case-section__heading h2{font-size:clamp(2.15rem,3.6vw,3.7rem)}}@media (width<=1040px){.case-overview__intro,.case-overview__meta,.case-section--editorial .case-section__heading h2,.case-section--editorial .case-section__heading p,.case-tabline,.case-screenshot-switcher__media,.case-role-list h3,.case-role-list p,.case-system-diagram,.case-system-copy,.case-result-gallery .case-image:first-child,.case-result-gallery .case-image:last-child{grid-column:auto}}.case-study--editorial #product.case-section--editorial .case-section__heading{gap:clamp(var(--step-5), 5vw, var(--step-8));grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.case-study--editorial #product.case-section--editorial .case-section__heading .tech-label{grid-column:1/-1}.case-study--editorial #product.case-section--editorial .case-section__heading h2,.case-study--editorial #product.case-section--editorial .case-section__heading p{grid-column:auto;max-width:none}.case-study--editorial #product.case-section--editorial .case-section__heading h2{font-size:clamp(2.7rem,4.8vw,5rem);line-height:1}.case-study--editorial #product.case-section--editorial .case-section__heading p{place-self:center stretch;max-width:46ch}.case-study--editorial #product .case-product-grid,.case-study--editorial #product .case-screenshot-switcher{gap:clamp(var(--step-5), 4vw, var(--step-7));grid-template-columns:repeat(12,minmax(0,1fr))}.case-study--editorial #product .case-screenshot-switcher{grid-column:1/-1;align-items:start}.case-study--editorial #product .case-tabline{grid-column:1/span 4;align-self:stretch;width:100%}.case-study--editorial #product .case-screenshot-switcher__media{grid-column:5/span 8;width:100%}.case-study--editorial #product .case-tabline__button{text-align:left;padding:var(--step-4) 0 var(--step-4) var(--step-5);grid-template-columns:1fr;justify-content:stretch;place-items:start;display:grid}.case-study--editorial #product .case-tabline__button span,.case-study--editorial #product .case-tabline__button small{text-align:left;width:100%}.case-study--editorial #product .case-screenshot-switcher__image img{aspect-ratio:16/9;object-fit:contain;width:100%}.case-study--editorial #product .case-screenshot-switcher__media p{max-width:none}@media (width<=1040px){.case-study--editorial #product.case-section--editorial .case-section__heading,.case-study--editorial #product .case-product-grid,.case-study--editorial #product .case-screenshot-switcher{grid-template-columns:1fr}.case-study--editorial #product .case-tabline,.case-study--editorial #product .case-screenshot-switcher__media{grid-column:auto}.case-study--editorial #product.case-section--editorial .case-section__heading h2{font-size:clamp(2.7rem,8vw,5rem)}}.case-study--securedock{--securedock-blue:#17476c;--securedock-steel:#4e6778;--securedock-line:#17476c47;--securedock-soft:#17476c1a;background:linear-gradient(90deg, #17476c09 1px, transparent 1px), linear-gradient(180deg, #17476c07 1px, transparent 1px), var(--color-bg);background-size:80px 80px}.case-study--securedock .container{width:min(100% - calc(var(--container-pad) * 2), 1240px)}.case-study--securedock .case-overview__kicker{border-bottom-color:var(--securedock-line)}.case-study--securedock .case-back-link:hover,.case-study--securedock .case-next-link:hover,.case-study--securedock .case-index a:hover,.case-study--securedock .tech-label{color:var(--securedock-blue)}.case-study--securedock .case-overview__meta{border-color:var(--securedock-line)}.case-study--securedock .case-overview__intro{min-width:0}.case-study--securedock .case-overview h1{overflow-wrap:normal;word-break:normal;font-size:clamp(3.2rem,7.2vw,7.2rem)}.case-study--editorial .case-overview .case-hero__media img{aspect-ratio:16/7.2;object-fit:cover;object-position:center 48%}.case-study--securedock .case-overview__meta div{border-color:#17476c2e}.case-study--securedock .case-overview__meta dt,.case-study--securedock .case-system-copy dt{color:var(--securedock-steel)}.securedock-hero-media{border-color:var(--securedock-line);box-shadow:inset 0 3px 0 var(--securedock-blue)}.securedock-hero-media img{aspect-ratio:16/7.5;object-position:center 52%}.case-study--securedock .case-overview__brief{border-color:var(--securedock-line)}.case-study--securedock .case-section--editorial{border-top-color:var(--securedock-line)}.securedock-product-map{border-top:1px solid var(--securedock-line);border-bottom:1px solid var(--securedock-line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.securedock-product-map span{min-height:6rem;padding:var(--step-4);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.13em;text-align:center;text-transform:uppercase;border-right:1px solid #17476c2e;place-items:center;font-size:.7rem;font-weight:700;line-height:1.45;display:grid;position:relative}.securedock-product-map span:last-child{border-right:0}.securedock-product-map span:not(:last-child):after{content:"->";z-index:1;color:var(--securedock-blue);font-family:var(--font-mono);position:absolute;right:-.62rem}.securedock-product-grid{display:block}.securedock-product-switcher{gap:clamp(var(--step-5), 5vw, var(--step-8));grid-template-columns:minmax(260px,.32fr) minmax(0,.68fr);align-items:start;display:grid}.securedock-product-switcher .case-tabline{border-top:1px solid var(--securedock-line);grid-column:auto;gap:0;width:100%;display:grid}.securedock-product-switcher .case-tabline__button{gap:var(--step-2);width:100%;color:var(--ink-black);min-height:7.25rem;padding:var(--step-4) 0;text-align:left;border-bottom:1px solid #17476c2e;align-content:center;display:grid}.securedock-product-switcher .case-tabline__button span{font-size:.72rem}.securedock-product-switcher .case-tabline__button small{color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:.92rem;font-weight:400;line-height:1.45}.securedock-product-switcher .case-tabline__button[aria-selected=true] small{color:var(--color-text-soft)}.securedock-product-switcher .case-tabline__button:hover,.securedock-product-switcher .case-tabline__button[aria-selected=true]{color:var(--securedock-blue);border-color:var(--securedock-blue)}.securedock-product-switcher__media{gap:var(--step-4);grid-column:auto;min-width:0;display:grid}.securedock-product-switcher__media .case-image{border-color:var(--securedock-line);background:#e0e1dd6b;width:100%;max-height:540px}.securedock-product-switcher__media img{aspect-ratio:auto;object-fit:contain;background:0 0;width:100%;height:clamp(330px,42vw,540px)}.securedock-product-switcher__media img[src="/securedock1.png"]{object-fit:cover;object-position:center top}.securedock-product-switcher__media p{max-width:none;font-size:1rem}.securedock-flow{border-top:1px solid var(--securedock-line);border-bottom:1px solid var(--securedock-line);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.securedock-flow span{min-height:7rem;padding:var(--step-4);color:var(--ink-black);border-right:1px solid #17476c2e;align-items:center;font-size:clamp(.92rem,1vw,1rem);font-weight:650;line-height:1.25;display:grid;position:relative}.securedock-flow span:last-child{border-right:0}.securedock-flow span:not(:last-child):after{content:"";right:var(--step-3);border-top:1px solid var(--securedock-blue);border-right:1px solid var(--securedock-blue);width:.55rem;height:.55rem;position:absolute;transform:rotate(45deg)}.case-study--securedock .case-role-list,.case-study--securedock .case-process-line,.case-study--securedock .case-system-editorial,.case-study--securedock .case-system-copy dl,.case-study--securedock .case-system-copy dl div{border-color:var(--securedock-line)}.case-study--securedock .case-role-list article,.case-study--securedock .case-process-line span{border-color:#17476c2e}.case-study--securedock .case-role-list h3{color:var(--securedock-blue)}.securedock-system-editorial{grid-template-columns:minmax(300px,.5fr) minmax(0,.5fr)}.securedock-system-diagram{gap:var(--step-3);display:grid}.securedock-system-branch{gap:var(--step-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.securedock-node{min-height:4.75rem;padding:var(--step-4);border:1px solid var(--securedock-line);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.11em;text-align:center;text-transform:uppercase;background:#e0e1dd8f;place-items:center;font-size:.72rem;font-weight:700;line-height:1.55;display:grid}.securedock-node--core,.securedock-node--locker{background:var(--securedock-soft);color:var(--securedock-blue);border-color:#17476c85}.securedock-system-diagram>.securedock-node:not(:last-child):after,.securedock-system-branch:after{content:"";width:1px;height:var(--step-4);margin:var(--step-3) auto calc(var(--step-3) * -1);background:var(--securedock-line);display:block}.securedock-result{gap:clamp(var(--step-5), 5vw, var(--step-8));grid-template-columns:minmax(0,.64fr) minmax(280px,.36fr);align-items:stretch;display:grid}.securedock-result .case-image{border-color:var(--securedock-line)}.securedock-result .case-image img{height:100%;min-height:340px}.securedock-result__award{align-content:center;gap:var(--step-4);min-width:0;padding-block:var(--step-5);border-top:1px solid var(--securedock-line);border-bottom:1px solid var(--securedock-line);box-shadow:none;background:0 0;display:grid}.securedock-result__award span{color:var(--securedock-steel);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:700}.securedock-result__award strong{max-width:100%;color:var(--ink-black);letter-spacing:0;font-size:clamp(3.2rem,7vw,7rem);font-weight:650;line-height:.86}.securedock-result__award p{max-width:420px}.case-study--securedock .case-final-actions{border-top-color:var(--securedock-line);justify-content:flex-end}@media (width<=1040px){.securedock-product-map{scrollbar-width:none;grid-template-columns:repeat(5,minmax(8rem,1fr));overflow-x:auto}.securedock-product-map::-webkit-scrollbar{display:none}.securedock-product-grid,.securedock-product-switcher,.securedock-system-editorial,.securedock-result{grid-template-columns:1fr}.securedock-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.securedock-hero-media img{aspect-ratio:4/3;object-position:center}.securedock-product-map,.securedock-flow,.securedock-system-branch{grid-template-columns:1fr;overflow:visible}.securedock-product-map span,.securedock-flow span{border-bottom:1px solid #17476c2e;border-right:0;min-height:5.75rem}.securedock-product-map span:not(:last-child):after{bottom:-.62rem;right:auto;transform:rotate(90deg)}.securedock-flow span:not(:last-child):after{right:auto;left:var(--step-4);bottom:var(--step-3);transform:rotate(135deg)}.securedock-product-switcher .case-tabline{scrollbar-width:none;grid-column:auto;display:flex;overflow-x:auto}.securedock-product-switcher .case-tabline::-webkit-scrollbar{display:none}.securedock-product-switcher .case-tabline__button{flex:0 0 12rem;min-height:5.5rem}.securedock-product-switcher__media img{height:clamp(280px,78vw,460px)}}.case-study--sademex{--sademex-blue:#7ec4fb;--sademex-ink-blue:#2d73c8;--sademex-line:#2d73c842;--sademex-soft:#7ec4fb29;background:linear-gradient(90deg, #2d73c806 1px, transparent 1px), linear-gradient(180deg, #2d73c805 1px, transparent 1px), var(--color-bg);background-size:80px 80px}.case-study--sademex .container{width:min(100% - calc(var(--container-pad) * 2), 1240px)}.case-study--sademex .case-overview__kicker,.case-study--sademex .case-overview__brief,.case-study--sademex .case-section--editorial,.case-study--sademex .case-final-actions{border-color:var(--sademex-line)}.case-study--sademex .case-back-link:hover,.case-study--sademex .case-next-link:hover,.case-study--sademex .case-index a:hover,.case-study--sademex .tech-label{color:var(--sademex-ink-blue)}.case-study--sademex .case-overview__intro{min-width:0}.case-study--sademex .case-overview h1{overflow-wrap:normal;word-break:normal;font-size:clamp(3.2rem,7.4vw,7.8rem)}.case-study--sademex .case-overview__meta{border-color:var(--sademex-line)}.case-study--sademex .case-overview__meta div,.case-study--sademex .case-role-list,.case-study--sademex .case-role-list article,.case-study--sademex .case-system-editorial,.case-study--sademex .case-system-copy dl,.case-study--sademex .case-system-copy dl div{border-color:#2d73c82e}.case-study--sademex .case-overview__meta dt,.case-study--sademex .case-system-copy dt{color:var(--sademex-ink-blue)}.sademex-hero-media{border-color:var(--sademex-line);box-shadow:inset 0 3px 0 var(--sademex-blue);position:relative}.sademex-hero-media img{aspect-ratio:16/8.2;object-fit:cover;object-position:center top;background:#ffffff8c}.sademex-module-line{border-top:1px solid var(--sademex-line);border-bottom:1px solid var(--sademex-line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.sademex-module-line span{min-height:5.6rem;padding:var(--step-4);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.13em;text-align:center;text-transform:uppercase;border-right:1px solid #2d73c829;place-items:center;font-size:.68rem;font-weight:700;line-height:1.45;display:grid}.sademex-module-line span:last-child{border-right:0}.sademex-switcher{border-top:1px solid var(--sademex-line);grid-template-columns:repeat(5,minmax(0,1fr));align-items:start;gap:0;display:grid}.sademex-switcher .case-tabline{border-top:0;border-color:var(--sademex-line);grid-column:1/span 1;width:100%}.sademex-switcher .case-tabline__button{justify-content:center;gap:var(--step-2);width:100%;min-height:6.8rem;padding:var(--step-4) var(--step-4) var(--step-4) 0;color:var(--ink-black);border-bottom:1px solid #2d73c82e;flex-direction:column;display:flex;text-align:left!important;align-items:flex-start!important}.sademex-switcher .case-tabline__button span{width:100%;font-size:.72rem;text-align:left!important}.sademex-switcher .case-tabline__button small{width:100%;color:var(--color-text-muted);font-family:var(--font-sans);letter-spacing:0;text-transform:none;font-size:.92rem;font-weight:400;line-height:1.45;text-align:left!important}.sademex-switcher .case-tabline__button:hover,.sademex-switcher .case-tabline__button[aria-selected=true]{color:var(--sademex-ink-blue);border-color:var(--sademex-ink-blue)}.sademex-switcher__media{gap:var(--step-4);min-width:0;padding-left:var(--step-5);grid-column:2/span 4;display:grid}.sademex-switcher__media .case-image{border-color:var(--sademex-line);background:#ffffff73;width:100%;position:relative}.sademex-switcher__media img{object-fit:contain;object-position:center top;background:0 0;width:100%;height:clamp(340px,42vw,560px)}.sademex-switcher__media p{max-width:none;font-size:1rem}.sademex-confidential-note{gap:var(--step-2);padding:var(--step-4) var(--step-5);background:#ffffff85;border:1px solid #2d73c833;display:grid}.sademex-confidential-note span{color:var(--sademex-ink-blue);font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:800;line-height:1.45}.sademex-confidential-note p{max-width:780px;color:var(--color-text-soft);font-size:1rem;line-height:1.65}.sademex-flow{border-top:1px solid var(--sademex-line);border-bottom:1px solid var(--sademex-line);grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.sademex-flow span{min-height:6.5rem;padding:var(--step-4);color:var(--ink-black);border-right:1px solid #2d73c829;align-items:center;font-weight:650;line-height:1.28;display:grid;position:relative}.sademex-flow span:last-child{border-right:0}.sademex-flow span:not(:last-child):after{content:"";right:var(--step-3);border-top:1px solid var(--sademex-ink-blue);border-right:1px solid var(--sademex-ink-blue);width:.54rem;height:.54rem;position:absolute;transform:rotate(45deg)}.case-study--sademex .case-role-list h3{color:var(--sademex-ink-blue)}.sademex-system-editorial{grid-template-columns:minmax(300px,.46fr) minmax(0,.54fr)}.sademex-system-diagram{gap:var(--step-3);display:grid}.sademex-system-diagram span{min-height:4.7rem;padding:var(--step-4);border:1px solid var(--sademex-line);color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;background:#e0e1dd7a;place-items:center;font-size:.72rem;font-weight:700;line-height:1.45;display:grid}.sademex-system-diagram span:nth-child(2),.sademex-system-diagram span:nth-child(4){background:var(--sademex-soft);color:var(--sademex-ink-blue);border-color:#2d73c866}.sademex-system-diagram span:not(:last-child):after{content:"";width:1px;height:var(--step-4);margin:var(--step-3) auto calc(var(--step-3) * -1);background:var(--sademex-line);display:block}.sademex-result-gallery{gap:var(--step-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sademex-result-gallery .case-image{border-color:var(--sademex-line);background:#ffffff73;position:relative}.sademex-result-gallery .case-image img{object-fit:contain;object-position:center top;height:100%;min-height:280px}.case-study--sademex .case-final-actions{justify-content:flex-end}.case-image--confidential{overflow:hidden}.case-image--confidential img{filter:blur(7px)saturate(.74)brightness(.82);transform:scale(1.03)}.case-image--confidential:hover img{transform:scale(1.042)}.case-image--confidential figcaption{z-index:3;color:#f7fafc;max-width:min(82%,31rem);font-family:var(--font-mono);letter-spacing:.12em;text-align:center;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e1b2ab8;border:1px solid #f6fafc8f;padding:.9rem 1.1rem;font-size:clamp(.72rem,1.4vw,.95rem);font-weight:800;line-height:1.35;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.navbar__locale{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.38rem;font-size:.68rem;display:inline-flex}.navbar__locale span{align-items:center;gap:.38rem;display:inline-flex}.navbar__locale a{color:var(--color-text-muted);text-decoration:none;position:relative}.navbar__locale a[aria-current=true],.navbar__locale a:hover,.navbar__locale a:focus-visible{color:var(--dusk-blue)}.navbar__locale a[aria-current=true]:after{content:"";background:var(--dusty-denim);height:1px;position:absolute;bottom:-.42rem;left:0;right:0}.profile-contact__email{align-items:center;gap:var(--step-2);width:fit-content;color:var(--ink-black);font-family:var(--font-mono);letter-spacing:.08em;overflow-wrap:anywhere;font-size:clamp(.86rem,1.2vw,1rem);font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.profile-contact__email svg{flex:none;width:.95em;height:.95em}.breadcrumbs{color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;gap:.4rem;font-size:.68rem;font-weight:700;display:flex}.breadcrumbs a,.breadcrumbs span{color:inherit;gap:.4rem;text-decoration:none;display:inline-flex}.breadcrumbs a:hover,.breadcrumbs a:focus-visible{color:var(--dusk-blue)}.privacy-page__inner{gap:clamp(var(--step-7), 8vw, var(--step-10));min-height:calc(100svh - 72px);padding-block:clamp(var(--step-7), 7vw, var(--step-9));grid-template-columns:minmax(0,.52fr) minmax(360px,.48fr);align-content:center;display:grid}.privacy-page__heading{align-content:center;gap:var(--step-5);max-width:760px;display:grid}.privacy-page__heading h1{font-size:clamp(4.2rem,10vw,10rem);line-height:.82}.privacy-page__content{border-top:1px solid var(--color-line);border-left:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:0;max-width:none;display:grid}.privacy-page__content article{gap:var(--step-2);min-height:13rem;padding:clamp(var(--step-4), 3vw, var(--step-6));border-right:1px solid var(--color-line);border-bottom:1px solid var(--color-line);align-content:start;display:grid}.privacy-page__content h2{font-size:clamp(1.35rem,2.1vw,2rem)}.privacy-page__content p{font-size:.98rem;line-height:1.65}.site-footer{border-top:1px solid var(--color-line)}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--step-4);min-height:5rem;color:var(--color-text-muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;display:flex}.site-footer__inner a{color:var(--color-text-muted);text-decoration:none}.site-footer__inner a:hover,.site-footer__inner a:focus-visible{color:var(--dusk-blue)}.page-transition{animation:.34s both page-fade-in}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.page-transition{animation-duration:1ms}}@media (width<=720px){.site-footer__inner{flex-direction:column;justify-content:center;align-items:flex-start}.privacy-page__inner,.privacy-page__content{grid-template-columns:1fr}.privacy-page__inner{min-height:auto}.privacy-page__content{border-left:0}}@media (width<=1040px){.sademex-module-line{scrollbar-width:none;grid-template-columns:repeat(5,minmax(8rem,1fr));overflow-x:auto}.sademex-module-line::-webkit-scrollbar{display:none}.sademex-switcher,.sademex-system-editorial,.sademex-result-gallery{grid-template-columns:1fr}.sademex-flow{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.case-study--sademex .case-overview h1{font-size:clamp(3rem,15vw,4.9rem)}.sademex-hero-media img{aspect-ratio:4/3;object-fit:contain}.sademex-module-line,.sademex-flow{grid-template-columns:1fr;overflow:visible}.sademex-module-line span,.sademex-flow span{border-bottom:1px solid #2d73c829;border-right:0;min-height:5.6rem}.sademex-flow span:not(:last-child):after{right:auto;left:var(--step-4);bottom:var(--step-3);transform:rotate(135deg)}.sademex-switcher .case-tabline{scrollbar-width:none;display:flex;overflow-x:auto}.sademex-switcher .case-tabline::-webkit-scrollbar{display:none}.sademex-switcher .case-tabline__button{min-height:5.5rem;padding-inline:var(--step-4);flex:0 0 11rem}.sademex-switcher__media{grid-column:auto;padding-left:0}.sademex-switcher__media img{height:clamp(260px,72vw,420px)}}
