/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
.modal[hidden]{display:none!important}

@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.visible{visibility:visible}
.relative{position:relative}
.start{inset-inline-start:var(--spacing)}
.table{display:table}
}
:root{--paper:#f3f1eb;--ink:#171713;--muted:#706f68;--line:#17171333;--accent:#b84a30;--display:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0}
button,a{-webkit-tap-highlight-color:transparent}
.portfolio{background:var(--paper);min-height:100vh;color:var(--ink);transition:background .2s,color .2s}
.shell{width:min(1320px,100% - 96px);margin-inline:auto}
.section-kicker,.eyebrow{text-transform:uppercase;letter-spacing:.17em;margin:0;font-size:10px;font-weight:700;line-height:1.2}
.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr auto;align-items:center;height:78px;display:grid}
.name{color:inherit;font:700 17px var(--sans);text-decoration:none}
.small-role{color:var(--muted);font-size:11px}
nav{gap:28px;display:flex}
nav a{color:inherit;font-size:11px;text-decoration:none}
.chooser{z-index:20;background:var(--paper);border:1px solid var(--line);width:178px;padding:8px;position:fixed;top:96px;right:20px}
.chooser-label{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);padding:5px 7px 10px;font-size:8px;display:block}
.chooser button{border:0;border-top:1px solid var(--line);width:100%;color:inherit;text-align:left;font:10px var(--sans);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;padding:11px 7px}
.chooser button span{width:30px;color:var(--muted);display:inline-block}
.chooser button.active{background:var(--ink);color:var(--paper)}
.chooser button.active span{color:inherit}
.hero{grid-template-columns:repeat(12,1fr);align-content:start;gap:20px;min-height:760px;padding:72px 210px 86px 0;display:grid}
.eyebrow{grid-column:1/-1;margin-bottom:72px}
.hero h1{font:400 clamp(72px,8vw,122px)/.86 var(--display);letter-spacing:-.06em;grid-column:1/11;margin:0}
.hero h1 span{display:block}
.hero h1 span:nth-child(2){margin-left:9%}
.hero h1 span:last-child{color:var(--accent);margin-left:22%;font-style:italic}
.hero-deck{grid-column:8/12;margin-top:54px}
.hero-deck p{margin:0 0 32px;font-size:16px;line-height:1.55}
.hero-deck a{color:inherit;border-bottom:1px solid;padding-bottom:7px;font-size:11px;text-decoration:none}
.hero-deck a span{margin-left:28px}
.hero-index{border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.12em;grid-column:1/5;grid-template-columns:1fr auto;margin-top:70px;padding-top:13px;font-size:9px;display:grid}
.hero-index strong{font:400 36px var(--display);grid-area:1/2/3}
.hero-index span:last-child{color:var(--muted);margin-top:6px}
.position{border-top:1px solid var(--line);grid-template-columns:2fr 6fr 3fr;gap:38px;padding:100px 210px 120px 0;display:grid}
.position-lead{font:400 39px/1.13 var(--display);letter-spacing:-.035em;margin:0}
.focus-list{flex-direction:column;display:flex}
.focus-list span{border-top:1px solid var(--line);padding:13px 0;font-size:11px}
.focus-list b{width:34px;color:var(--muted);font-size:9px;display:inline-block}
.work{padding:30px 210px 130px 0}
.work-heading{border-top:1px solid var(--line);grid-template-columns:2fr 6fr 3fr;gap:38px;margin-bottom:100px;padding-top:20px;display:grid}
.work-heading h2{font:400 clamp(56px,6vw,88px)/.92 var(--display);letter-spacing:-.055em;margin:0}
.work-heading>p:last-child{color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.55}
.case-list{flex-direction:column;gap:150px;display:flex}
.case-list .case:nth-child(7){order:8}
.case-list .case:nth-child(8){order:7}
.case{border-top:1px solid var(--line);padding-top:18px}
.case-head{grid-template-columns:2fr 9fr;gap:38px;margin-bottom:56px;display:grid}
.case-no{font-size:10px}
.case-head p{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 9px;font-size:9px}
.case-head h3{font:400 clamp(52px,5.7vw,82px)/.88 var(--display);letter-spacing:-.05em;margin:0}
.case-head strong{margin-top:15px;font-size:13px;font-weight:400;display:block}
.case-thinking{grid-template-columns:1fr 1fr;gap:20px;margin:0 0 42px 18.2%;display:grid}
.case-thinking div{border-top:1px solid var(--line);grid-template-columns:90px 1fr;gap:18px;padding-top:12px;display:grid}
.case-thinking span{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-size:9px}
.case-thinking p{margin:0;font-size:13px;line-height:1.55}
.gallery{grid-template-rows:auto auto;grid-template-columns:1.5fr 1fr;gap:12px;display:grid}
.shot{background:#ddd;margin:0}
.shot-1{grid-row:1/3}
.shot img{object-fit:cover;object-position:top;width:100%;height:100%;min-height:310px;display:block}
.shot-1 img{min-height:670px}
.shot figcaption{background:var(--paper);border-top:1px solid var(--line);text-transform:uppercase;letter-spacing:.08em;padding:12px 0 6px;font-size:10px}
.shot figcaption span{width:36px;color:var(--muted);display:inline-block}
.about{border-top:1px solid var(--line);grid-template-columns:2fr 4fr 2.2fr 3.2fr;gap:32px;padding:110px 210px 130px 0;display:grid}
.about h2{font:400 clamp(50px,5vw,74px)/.95 var(--display);letter-spacing:-.05em;margin:0}
.about-photo{height:390px;overflow:hidden}
.about-photo img{object-fit:cover;object-position:center;filter:saturate(.7);width:100%;height:100%}
.about-copy{align-self:end}
.about-copy p{margin:0 0 22px;font-size:14px;line-height:1.62}
.about-copy p:last-child{color:var(--muted)}
.process{background:var(--ink);color:var(--paper);padding:110px 0}
.process .shell{padding-right:210px}
.process h2{font:400 clamp(55px,6vw,88px)/.92 var(--display);letter-spacing:-.055em;max-width:900px;margin:44px 0 78px}
.process ol{border-top:1px solid #ffffff40;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;display:grid}
.process li{border-right:1px solid #fff3;min-height:210px;padding:16px 24px 10px 0}
.process li+li{padding-left:24px}
.process li span{color:#92928d;font-size:9px}
.process li strong{font:400 23px var(--display);margin-top:74px;display:block}
.process li p{color:#aaa;margin:12px 0 0;font-size:11px;line-height:1.5}
.education{grid-template-columns:4fr 7fr;align-items:center;gap:70px;padding:130px 210px 130px 0;display:grid}
.education h2{font:400 clamp(55px,6vw,86px)/.9 var(--display);letter-spacing:-.05em;margin:40px 0 25px}
.education>div>p:not(.section-kicker){color:var(--muted);font-size:13px;line-height:1.65}
.education button{cursor:pointer}
.education>div button{color:inherit;background:0 0;border:0;border-bottom:1px solid;margin-top:28px;padding:0 0 6px;font-size:11px}
.diploma{background:#18304f;border:0;padding:0;overflow:hidden}
.diploma img{width:100%;transition:transform .25s;display:block}
.diploma:hover img{transform:scale(1.01)}
footer{background:var(--accent);color:#fff;padding:100px 0 28px}
footer .shell{padding-right:210px}
footer h2{font:400 clamp(72px,9vw,135px)/.84 var(--display);letter-spacing:-.065em;margin:48px 0 100px}
.footer-line{text-transform:uppercase;letter-spacing:.12em;border-top:1px solid #ffffff73;grid-template-columns:1fr 1fr auto;padding-top:18px;font-size:9px;display:grid}
.footer-line a{color:inherit;text-decoration:none}
.modal{z-index:40;background:#000000e6;place-items:center;padding:60px;display:grid;position:fixed;inset:0}
.modal img{max-width:min(1150px,100%);max-height:86vh}
.modal button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff80;padding:10px 14px;position:absolute;top:22px;right:24px}
.v-two{--paper:#f6f1e8;--ink:#182137;--muted:#717586;--line:#18213733;--accent:#8d382d;--display:Georgia,"Times New Roman",serif}
.v-two .topbar{height:64px}
.v-two .name{font:400 18px var(--display)}
.v-two .chooser button.active{background:var(--accent);color:#fff}
.v-two .hero{min-height:840px;padding-top:86px}
.v-two .eyebrow{grid-column:3/9}
.v-two .hero h1{grid-column:3/12;font-size:clamp(80px,9.4vw,142px);line-height:.82}
.v-two .hero h1 span:nth-child(2){margin-left:20%}
.v-two .hero h1 span:last-child{color:inherit;margin-left:5%;font-style:normal}
.v-two .hero-deck{grid-column:3/7}
.v-two .hero-index{grid-column:8/12;align-self:end}
.v-two .position{grid-template-columns:2fr 7fr 2fr}
.v-two .position-lead{font-size:46px}
.v-two .focus-list{grid-column:2/4;grid-template-columns:1fr 1fr;margin-top:28px;display:grid}
.v-two .focus-list span:nth-child(odd){margin-right:20px}
.v-two .work-heading{grid-template-columns:2fr 7fr 2fr}
.v-two .work-heading h2{font-style:italic}
.v-two .case-head{grid-template-columns:2fr 7fr 2fr}
.v-two .case-thinking{grid-template-columns:1fr;margin-left:18.2%}
.v-two .gallery{grid-template-rows:auto;grid-template-columns:1fr 1fr 1fr}
.v-two .shot-1{grid-row:auto}
.v-two .shot img,.v-two .shot-1 img{min-height:440px}
.v-two .shot:nth-child(2){margin-top:70px}
.v-two .shot:nth-child(3){margin-top:140px}
.v-two .about h2,.v-two .process h2,.v-two .education h2,.v-two footer h2{font-style:italic}
.v-two .process{background:#182137}
.v-two footer{background:#8d382d}
.v-three{--paper:#f2f4f2;--ink:#102e32;--muted:#607578;--line:#102e3238;--accent:#246f73;--display:Arial,Helvetica,sans-serif}
.v-three .name{text-transform:uppercase;font-size:14px;font-weight:800}
.v-three .chooser button.active{background:var(--accent);color:#fff}
.v-three .hero{min-height:720px;padding-top:62px}
.v-three .eyebrow{grid-column:1/7}
.v-three .hero h1{grid-column:1/10;font-size:clamp(68px,7.4vw,112px);font-weight:700;line-height:.87}
.v-three .hero h1 span:nth-child(2),.v-three .hero h1 span:last-child{color:inherit;margin-left:0;font-style:normal}
.v-three .hero h1 span:last-child{color:var(--accent)}
.v-three .hero-deck{grid-column:9/12;align-self:end;margin-top:0}
.v-three .hero-index{grid-column:1/5}
.v-three .position{grid-template-columns:2fr 7fr 2fr}
.v-three .position-lead{font-size:37px;font-family:var(--sans);font-weight:600}
.v-three .work-heading h2,.v-three .case-head h3,.v-three .about h2,.v-three .process h2,.v-three .education h2,.v-three footer h2{font-family:var(--sans);font-weight:700}
.v-three .case{background:#e8ece9;padding:22px}
.v-three .case-head{grid-template-columns:1fr 5fr}
.v-three .case-thinking{margin-left:16.6%}
.v-three .gallery{gap:8px}
.v-three .shot figcaption{background:#e8ece9}
.v-three .about{grid-template-columns:2fr 4.5fr 2.2fr 3.3fr}
.v-three .process{background:#102e32}
.v-three footer{background:#246f73}
@media (width<=1050px){.shell{width:calc(100% - 48px)}
.hero,.position,.work,.about,.education,.process .shell,footer .shell{padding-right:190px}
.hero h1{font-size:72px}
.case-thinking{margin-left:0}
.about{grid-template-columns:1fr 2fr 1.2fr}
.about>.section-kicker{grid-column:1/-1}
.about-photo{grid-column:2}
.about-copy{grid-column:3}
.chooser{right:12px}
}
@media (width<=760px){.shell{width:calc(100% - 32px)}
.topbar{grid-template-columns:1fr auto;height:64px}
.small-role,nav{display:none}
.chooser{background:var(--paper);border-width:0 0 1px;grid-template-columns:repeat(3,1fr);width:100%;padding:6px 16px;display:grid;position:sticky;top:0;right:auto}
.chooser-label{display:none}
.chooser button{border-top:0;border-left:1px solid var(--line);text-align:center;padding:10px 8px;font-size:9px}
.chooser button:first-of-type{border-left:0}
.chooser button span{width:24px}
.hero,.v-two .hero,.v-three .hero{flex-direction:column;min-height:auto;padding:54px 0 72px;display:flex}
.eyebrow,.v-two .eyebrow{margin-bottom:54px}
.hero h1,.v-two .hero h1,.v-three .hero h1{font-size:clamp(50px,15vw,82px)}
.hero h1 span,.hero h1 span:nth-child(2),.hero h1 span:last-child,.v-two .hero h1 span:nth-child(2),.v-two .hero h1 span:last-child{margin-left:0}
.hero-deck,.v-three .hero-deck{max-width:470px;margin-top:44px}
.hero-index{max-width:470px;margin-top:58px}
.position,.v-two .position,.v-three .position{grid-template-columns:1fr;padding:72px 0 90px}
.position-lead,.v-two .position-lead,.v-three .position-lead{font-size:34px}
.v-two .focus-list{grid-column:auto}
.work{padding:20px 0 90px}
.work-heading,.v-two .work-heading{grid-template-columns:1fr;gap:28px;margin-bottom:72px}
.work-heading h2{font-size:50px}
.case-list{gap:100px}
.case-head,.v-two .case-head,.v-three .case-head{grid-template-columns:44px 1fr;gap:0}
.case-thinking,.v-two .case-thinking,.v-three .case-thinking{grid-template-columns:1fr;margin-left:44px}
.gallery,.v-two .gallery{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}
.shot-1,.v-two .shot-1{grid-area:auto/1/auto/-1}
.shot img,.shot-1 img,.v-two .shot img,.v-two .shot-1 img{min-height:300px}
.shot-1 img{min-height:420px}
.v-two .shot:nth-child(2),.v-two .shot:nth-child(3){margin-top:0}
.about,.v-three .about{grid-template-columns:1fr 1fr;padding:80px 0 90px}
.about>.section-kicker,.about h2{grid-column:1/-1}
.about h2{font-size:48px}
.about-photo,.about-copy{grid-column:auto}
.process{padding:80px 0}
.process .shell,footer .shell{padding-right:0}
.process h2{font-size:50px}
.process ol{grid-template-columns:1fr 1fr}
.process li{min-height:190px}
.education{grid-template-columns:1fr;gap:55px;padding:90px 0}
footer h2{font-size:14vw}
.footer-line{grid-template-columns:1fr auto;row-gap:16px}
.footer-line span:nth-child(2){display:none}
}
@media (width<=480px){.chooser button span{width:auto;margin-bottom:3px;display:block}
.hero h1,.v-two .hero h1,.v-three .hero h1{font-size:14.2vw}
.case-thinking{margin-left:0}
.case-thinking div,.v-two .case-thinking div{grid-template-columns:1fr;gap:8px}
.gallery,.v-two .gallery{flex-direction:column;display:flex}
.shot img,.shot-1 img,.v-two .shot img,.v-two .shot-1 img{min-height:340px}
.v-three .case{padding:14px}
.about,.v-three .about{grid-template-columns:1fr}
.about-photo,.about-copy{grid-column:1}
.about-photo{height:420px}
.process ol{grid-template-columns:1fr}
.process li,.process li+li{border-bottom:1px solid #fff3;border-right:0;min-height:auto;padding:18px 0 30px}
.process li strong{margin-top:44px}
.modal{padding:18px}
}
.project-link{background:var(--accent);border:1px solid var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.12em;justify-content:center;align-items:center;margin-top:24px;padding:15px 20px;font-size:10px;line-height:1;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}
.project-link:hover,.project-link:focus-visible{background:var(--ink);border-color:var(--ink);color:var(--paper);outline:none}
.project-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}
.project-actions .project-link{margin-top:0}
.figma-link{background:var(--ink);border:1px solid var(--ink);min-height:42px;color:var(--paper);text-transform:uppercase;letter-spacing:.12em;justify-content:center;align-items:center;padding:14px 20px;font-size:10px;line-height:1;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}
.figma-link:hover,.figma-link:focus-visible{color:var(--ink);background:0 0;outline:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}
.hero,.work,.about,.education{padding-right:0}
.hero{min-height:700px}
.process .shell,footer .shell{padding-right:0}
.work{padding-top:100px}
.work-heading{grid-template-columns:2fr 10fr}
.case-thinking div{grid-template-columns:125px minmax(0,1fr);gap:22px}
.case:nth-child(2n) .case-head>div{padding-left:4%}
.project-viewer{border-top:1px solid var(--line);width:100%}
.viewer-stage{background:#deddd6;width:100%;overflow:hidden}
.viewer-stage img{object-fit:contain;object-position:top;width:100%;height:auto;min-height:0;max-height:none;display:block}
.viewer-controls{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:15px 0;display:flex}
.viewer-controls p{text-transform:uppercase;letter-spacing:.09em;margin:0;font-size:11px}
.viewer-controls p span{width:74px;color:var(--muted);display:inline-block}
.viewer-controls>div{gap:8px;display:flex}
.viewer-controls button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;font-size:18px;transition:background .2s,color .2s}
.viewer-controls button:hover,.viewer-controls button:focus-visible{background:var(--ink);color:var(--paper);outline:none}
@media (width<=760px){.hero,.work,.about,.education{padding-right:0}
.work{padding-top:70px}
.work-heading{grid-template-columns:1fr}
.case-thinking div{grid-template-columns:120px minmax(0,1fr);gap:18px}
.case:nth-child(2n) .case-head>div{padding-left:0}
.viewer-stage img{min-height:0;max-height:none}
.viewer-controls p span{width:auto;margin-bottom:5px;display:block}
.viewer-controls button{width:42px;height:42px}
}
.about{grid-template-columns:repeat(12,1fr);align-items:start;gap:0 20px;padding:120px 0 140px;display:grid}
.about>.section-kicker{grid-column:1/3}
.about-intro{grid-column:3/11}
.about-intro h2{font:400 clamp(54px,6vw,88px)/.94 var(--display);letter-spacing:-.055em;margin:0}
.about-intro>p{width:min(590px,100%);margin:42px 0 0;font-size:17px;line-height:1.58}
.about-photo{background:#ddd8cf;grid-column:1/7;height:560px;margin-top:82px;position:relative;overflow:hidden}
.about .about-photo img{object-fit:cover;object-position:center 38%;filter:none;width:100%;height:100%;display:block}
.about-photo>span{background:var(--paper);text-transform:uppercase;letter-spacing:.1em;padding:10px 13px;font-size:9px;line-height:1.45;position:absolute;bottom:18px;left:18px}
.about-details{grid-column:8/13;align-self:end;margin-top:82px}
.about-details>div{border-top:1px solid var(--line);grid-template-columns:145px minmax(0,1fr);column-gap:24px;padding:20px 0 30px;display:grid}
.about-details span{text-transform:uppercase;letter-spacing:.13em;color:var(--muted);grid-row:1/3;font-size:9px}
.about-details strong{font:400 23px/1.2 var(--display)}
.about-details p{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.5}
@media (width<=760px){.about{grid-template-columns:1fr;padding:82px 0 96px;display:grid}
.about>.section-kicker,.about-intro,.about-photo,.about-details{grid-column:1}
.about-intro{margin-top:34px}
.about-intro h2{font-size:48px}
.about-intro>p{margin-top:28px;font-size:15px}
.about-photo{aspect-ratio:1.08;height:auto;margin-top:54px}
.about-details{margin-top:48px}
.about-details>div{grid-template-columns:130px minmax(0,1fr);column-gap:20px}
.about-details strong{font-size:20px}
}
@media (width<=480px){.case-thinking div{grid-template-columns:1fr;gap:8px}
.about-intro h2{font-size:12vw}
.about-photo{aspect-ratio:1/1.05;height:auto}
.about-details>div{grid-template-columns:1fr;gap:8px}
.about-details span{grid-row:auto}
.about-details p{margin-top:2px}
}
.contacts{background:var(--ink);color:var(--paper);padding:110px 0 120px}
.contacts-head{grid-template-columns:2fr 10fr;gap:38px;margin-bottom:74px;display:grid}
.contacts h2{font:400 clamp(58px,7vw,104px)/.9 var(--display);letter-spacing:-.06em;margin:0}
.contact-grid{grid-template-columns:1fr 1fr;gap:0 28px;margin-left:18.2%;display:grid}
.contact-item{min-width:0;color:inherit;border-top:1px solid #ffffff47;padding:19px 0 30px;text-decoration:none}
.contact-item span{text-transform:uppercase;letter-spacing:.14em;color:#a9a9a3;margin-bottom:15px;font-size:9px;display:block}
.contact-item strong{font:400 clamp(20px,2.1vw,30px)/1.15 var(--display);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:18px;transition:color .2s;display:flex}
.contact-item strong:after{content:"↗";color:var(--accent);font:400 18px var(--sans);flex:none}
.contact-item:hover strong,.contact-item:focus-visible strong{color:#d9785f}
.contact-item:focus-visible{outline-offset:8px;outline:1px solid #d9785f}
@media (width<=760px){.contacts{padding:82px 0 92px}
.contacts-head{grid-template-columns:1fr;gap:30px;margin-bottom:56px}
.contacts h2{font-size:50px}
.contact-grid{grid-template-columns:1fr;margin-left:0}
.contact-item strong{font-size:24px}
}
@media (width<=480px){.contacts h2{font-size:12vw}
.contact-item strong{font-size:20px}
}
html{-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img{max-width:100%}
section[id]{scroll-margin-top:24px}
@media (width<=900px){.shell{width:calc(100% - 48px)}
.hero{min-height:auto;padding:64px 0 86px}
.hero h1{font-size:clamp(62px,10.2vw,88px)}
.hero-deck{grid-column:7/13}
.work{padding:82px 0 110px}
.work-heading{margin-bottom:76px}
.case-list{gap:110px}
.case-head h3{font-size:clamp(48px,7.4vw,68px)}
.case-thinking{margin-left:0}
.viewer-stage img{min-height:0;max-height:none}
.about{padding:100px 0 110px}
.about-intro{grid-column:3/13}
.about-photo{aspect-ratio:1/1.05;grid-column:1/7;height:auto}
.about-details{grid-column:7/13;padding-left:24px}
.process{padding:92px 0}
.process ol{grid-template-columns:1fr 1fr}
.process li:nth-child(2){border-right:0}
.process li:nth-child(-n+2){border-bottom:1px solid #fff3}
.education{gap:48px;padding:110px 0}
.contacts{padding:96px 0 105px}
.contact-grid{margin-left:0}
}
@media (width<=760px){.shell{width:calc(100% - 32px)}
.topbar{grid-template-columns:1fr auto;gap:14px 18px;height:auto;min-height:0;padding:17px 0 13px}
.small-role{font-size:10px;display:block}
.topbar nav{border-top:1px solid var(--line);scrollbar-width:none;grid-column:1/-1;justify-content:space-between;gap:0;width:100%;padding-top:12px;display:flex;overflow-x:auto}
.topbar nav::-webkit-scrollbar{display:none}
.topbar nav a{flex:none;padding:5px 4px;font-size:10px}
.hero{padding:48px 0 72px}
.eyebrow{margin-bottom:44px}
.hero h1{letter-spacing:-.055em;font-size:clamp(45px,13.8vw,72px);line-height:.9}
.hero-deck{width:100%;margin-top:42px}
.hero-deck p{font-size:15px;line-height:1.55}
.hero-deck a{align-items:center;min-height:44px;display:inline-flex}
.work{padding:68px 0 92px}
.work-heading{gap:24px;margin-bottom:64px}
.work-heading h2{font-size:48px}
.case-list{gap:86px}
.case{padding-top:14px}
.case-head{grid-template-columns:36px minmax(0,1fr);margin-bottom:38px}
.case-head h3{overflow-wrap:anywhere;font-size:clamp(40px,12vw,60px)}
.case-head strong{font-size:12px;line-height:1.4}
.project-actions{grid-template-columns:1fr;margin-top:20px;display:grid}
.project-link,.figma-link{width:100%;min-height:46px;margin-top:0;padding:15px 18px}
.case-thinking{grid-template-columns:1fr;gap:24px;margin:0 0 32px}
.case-thinking div{grid-template-columns:105px minmax(0,1fr);gap:16px}
.case-thinking p{font-size:13px}
.viewer-stage{background:#e2e0da}
.viewer-stage img{object-fit:contain;width:100%;height:auto;min-height:0;max-height:none}
.viewer-controls{gap:12px;padding:12px 0}
.viewer-controls p{font-size:9px;line-height:1.35}
.viewer-controls p span{margin-bottom:4px}
.viewer-controls>div{flex:none}
.viewer-controls button{width:46px;height:46px;font-size:20px}
.about{grid-template-columns:1fr;padding:82px 0 94px}
.about>.section-kicker,.about-intro,.about-photo,.about-details{grid-column:1}
.about-intro h2{font-size:clamp(44px,12vw,60px)}
.about-intro>p{font-size:15px;line-height:1.6}
.about-photo{aspect-ratio:1/1.04;width:100%;margin-top:48px}
.about .about-photo img{object-position:center 34%}
.about-details{margin-top:42px;padding-left:0}
.about-details>div{padding:17px 0 24px}
.process{padding:78px 0}
.process h2{margin:36px 0 58px;font-size:48px}
.process li{min-height:180px}
.education{grid-template-columns:1fr;gap:46px;padding:86px 0}
.education h2{margin-top:34px;font-size:clamp(48px,13vw,68px)}
.education>div button{min-height:44px;margin-top:18px}
.diploma{width:100%}
.contacts{padding:78px 0 88px}
.contacts-head{gap:28px;margin-bottom:52px}
.contacts h2{font-size:clamp(46px,12vw,60px)}
.contact-grid{grid-template-columns:1fr}
.contact-item{padding:17px 0 25px}
.contact-item strong{font-size:clamp(20px,6vw,26px)}
footer{padding:78px 0 24px}
footer h2{margin:42px 0 72px;font-size:clamp(56px,15vw,86px)}
.footer-line{grid-template-columns:1fr auto;gap:16px}
.modal{padding:64px 16px 18px}
.modal img{object-fit:contain;max-height:calc(100dvh - 90px)}
.modal button{min-height:42px;top:14px;right:16px}
}
@media (width<=560px){.process ol{grid-template-columns:1fr}
.process li,.process li+li{border-bottom:1px solid #fff3;border-right:0;min-height:auto;padding:18px 0 28px}
.process li strong{margin-top:38px}
}
@media (width<=420px){.shell{width:calc(100% - 24px)}
.name{font-size:15px}
.topbar{gap:12px}
.topbar nav a{padding-inline:2px;font-size:9px}
.hero{padding-top:42px}
.hero h1{font-size:13.25vw}
.hero-deck{margin-top:36px}
.case-head{grid-template-columns:28px minmax(0,1fr)}
.case-head h3{font-size:11.5vw}
.case-thinking div{grid-template-columns:1fr;gap:8px}
.viewer-controls p{max-width:145px}
.viewer-controls button{width:44px;height:44px}
.about-intro h2,.contacts h2{font-size:11.6vw}
.about-details>div{grid-template-columns:1fr;gap:8px}
.about-details span{grid-row:auto}
.about-details p{margin-top:2px}
.contact-item strong{gap:10px;font-size:18px}
.contact-item strong:after{font-size:15px}
footer h2{font-size:14vw}
.footer-line{font-size:8px}
}

/* Читабельность текста */
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.hero-deck{max-width:38rem}
.hero-deck p{font-size:17px;line-height:1.65}
.case-thinking p{max-width:55ch;font-size:15px;line-height:1.65}
.about-intro>p{max-width:62ch;line-height:1.7}
.about-details p{font-size:13px;line-height:1.6}
.process li p{max-width:29ch;font-size:13px;line-height:1.6}
.education>div>p:not(.section-kicker){font-size:14px;line-height:1.7}
.contact-item strong{font-variant-numeric:tabular-nums}

@media (width<=760px){
.hero-deck p{font-size:16px;line-height:1.65}
.case-thinking p{max-width:none;font-size:14px;line-height:1.65}
.process li p{max-width:42ch;font-size:13px}
}
