@import url('/assets/fonts/fonts.css');
:root{--chocolate:#35231e;--ink:#35231e;--cream:#f7f3ea;--gold:#d9b77a;--line:#d9cec0;--muted:#786459;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(22px,4.5vw,80px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.05;letter-spacing:-.025em}h1{font-size:clamp(64px,7.2vw,112px)}h2{font-size:clamp(42px,4.2vw,68px)}h3{font-family:var(--serif);font-size:32px;line-height:1.2}em{font-weight:400}p{max-width:62ch}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;background:var(--cream);z-index:100;padding:12px}.skip:focus{top:10px}.header{height:104px;padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:32px;background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{position:relative;width:175px;flex-shrink:0}.brand img{width:175px;height:auto}.desktop-nav{display:flex;align-items:center;gap:clamp(20px,2.6vw,42px);font-size:14px}.desktop-nav>a{position:relative;white-space:nowrap}.desktop-nav>a:after{content:'';position:absolute;bottom:-7px;left:0;width:0;height:1px;background:var(--chocolate);transition:width .22s}.desktop-nav>a:hover:after,.desktop-nav>a[aria-current]:after{width:100%}.nav-contact{border-bottom:1px solid var(--ink);padding:8px 0;margin-left:10px}.nav-contact span{margin-left:20px}.menu-open{display:none;background:none;border:0}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.15em;font-weight:500;margin-bottom:30px}.hero{background:var(--chocolate);color:var(--cream);display:grid;grid-template-columns:1.08fr 1fr;min-height:650px;position:relative}.hero-copy{padding:65px 0 42px var(--gutter);position:relative;z-index:2}.hero .eyebrow{color:var(--gold);margin-bottom:40px}.hero h1{font-size:clamp(64px,6.4vw,104px);line-height:1.02;letter-spacing:-.025em;white-space:nowrap}.hero h1 em{color:var(--gold)}.hero-description{font-size:16px;color:#e5d8c9;margin-top:34px;line-height:1.7}.light-link,.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:9px;border-bottom:1px solid currentColor;font-size:14px;line-height:1.5}.light-link span,.text-link span,.button span,.project-title>span{transition:transform .22s;font-size:20px}.light-link:hover span,.text-link:hover span,.button:hover span,.project:hover .project-title>span{transform:translate(3px,-3px)}.hero .light-link{margin-top:27px}.hero-footnote{display:block;font-size:10px;letter-spacing:.15em;margin-top:58px;color:#bca697}.hero-visual{margin:40px 32px 40px 20px;position:relative;min-height:570px}.hero-visual img{width:100%;height:100%;position:absolute;object-position:center}.hero-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#20130d99);pointer-events:none}.image-note{position:absolute;bottom:18px;left:20px;z-index:1;font-size:9px;letter-spacing:.12em;color:#fff}.section{padding:110px var(--gutter);max-width:1600px;margin:auto}.intro{display:grid;grid-template-columns:1fr 2.4fr;gap:50px;border-bottom:1px solid var(--line)}.intro>.eyebrow{margin-top:9px}.intro-bottom{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;margin-top:46px}.intro-bottom>p{font-family:var(--serif);font-size:25px;line-height:1.4}.intro-bottom>div p{color:var(--muted);font-size:16px}.intro-bottom .text-link{margin-top:25px}.section-heading{display:flex;justify-content:space-between;gap:28px;align-items:end}.section-heading .text-link{margin-bottom:7px}.section-description{margin:28px 0 50px;color:var(--muted);font-size:14px}.home-projects{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;align-items:start}.home-projects .project:nth-child(2){margin-top:130px}.project-image{overflow:hidden;background:#e8e0d3}.project-image img{width:100%;aspect-ratio:4/5;height:auto;transition:transform .65s}.home-projects .project:nth-child(2) img{aspect-ratio:1.18}.project:hover img{transform:scale(1.025)}.project-title{display:flex;align-items:center;justify-content:space-between;margin-top:22px}.project p{font-size:13px;color:var(--muted);margin-top:8px}.project p span{opacity:.85}.expertise-home{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:8%}.expertise-heading .text-link{margin-top:36px}.service-list>a{display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:25px 0}.service-list>a:first-child{padding-top:0}.service-list>a>span:last-child{margin-left:auto;font-size:22px}.number{font-size:12px;color:var(--muted);letter-spacing:.08em;align-self:flex-start;padding-top:8px}.service-list h3{font-size:29px}.service-list p{font-size:13px;color:var(--muted);margin-top:8px}.french-home{display:grid;grid-template-columns:1fr 1fr;background:var(--chocolate);color:var(--cream)}.french-image img{width:100%;height:100%;min-height:650px;object-position:39% center}.french-copy{padding:84px 12%;position:relative}.french-copy .eyebrow{color:var(--gold)}.french-copy h2{font-size:clamp(44px,4vw,65px)}.french-copy>p:not(.eyebrow){color:#d7c6b7;margin-top:30px}.french-copy .light-link{margin-top:32px}.signature{margin:40px 0 0 auto;width:75px;height:auto;transform:rotate(-8deg)}.closing{text-align:center;padding:105px var(--gutter);border-bottom:1px solid var(--line)}.closing .eyebrow{margin:0 auto 30px}.closing h2{font-size:clamp(50px,5.5vw,84px)}.button{display:inline-flex;align-items:center;gap:45px;border:1px solid var(--chocolate);background:var(--chocolate);color:var(--cream);font-size:14px;padding:16px 24px;line-height:1.4}.button:hover{background:#50362b}.closing .button{margin-top:35px}footer{padding:55px var(--gutter) 25px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px;align-items:center}.footer-brand{width:190px}.footer-brand img{height:auto}footer>p{font-family:var(--serif);font-size:23px;line-height:1.35}footer>div:not(.footer-bottom){justify-self:end;display:flex;flex-direction:column;gap:12px;font-size:14px}footer>div>span{color:var(--muted)}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:12px;color:var(--muted)}dialog{border:0;max-width:none;max-height:none;width:100%;height:100dvh;background:var(--cream);color:var(--ink);padding:30px var(--gutter);margin:0}dialog::backdrop{background:#35231e99}.menu-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.1em}.menu-close{border:0;background:none;padding:10px;font-size:16px}dialog nav{display:flex;flex-direction:column;gap:22px;margin:60px 0}dialog nav a{font:38px/1.2 var(--serif)}.page-intro{padding-top:85px;padding-bottom:75px}.page-intro h1{margin-bottom:32px}.page-intro>p:not(.eyebrow){max-width:570px;color:var(--muted);font-size:18px}.page-intro p.disclosure{font-size:13px;margin-top:22px}.expertise-details{padding-top:0}.expertise-row{display:grid;grid-template-columns:45px 1.1fr 1fr;gap:35px;padding:45px 0;border-top:1px solid var(--line)}.expertise-row h2{font-size:43px}.expertise-row .lead{color:var(--muted);margin-top:15px;font-size:14px}.expertise-row>div:last-child>p{color:var(--muted)}.expertise-row .text-link{margin-top:22px}.wide-image{margin:0 var(--gutter)}.wide-image>img{height:500px;width:100%;object-position:center 60%}.wide-image figcaption{font-size:12px;color:var(--muted);margin:14px 0}.creations-grid{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:75px}.creations-grid .project:nth-child(2){margin-top:150px}.creations-grid .project:nth-child(3){grid-column:1/-1;max-width:75%}.creations-grid .project:nth-child(3) img{aspect-ratio:1.8}.project-intro{padding-top:55px;padding-bottom:55px}.back{font-size:14px;display:inline-block;margin-bottom:50px}.project-intro h1{margin-bottom:25px}.disclosure{font-size:13px;color:var(--muted)}.project-hero{margin:0 var(--gutter)}.project-hero>img{width:100%;height:min(72vw,750px);object-fit:cover}.project-story{display:grid;grid-template-columns:1fr 1fr;gap:15%}.project-story article{margin-bottom:38px}.project-story article .eyebrow{margin-bottom:14px}.project-story article>p:last-child{color:var(--muted)}.next-project{padding-top:0;border-bottom:1px solid var(--line)}.next-project .text-link{font:40px var(--serif);padding-bottom:15px;gap:70px}.why-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%;padding-top:20px;align-items:start}.why-photo{position:sticky;top:140px}.why-photo>img{width:100%;height:620px;object-position:37% center}.why-list article{border-top:1px solid var(--line);padding:25px 0 36px}.why-list .number{display:block;margin-bottom:13px}.why-list h2{font-size:38px;margin-bottom:18px}.why-list p{color:var(--muted)}.name-story{text-align:center;background:#eae1d3;max-width:none}.name-story img{margin:0 auto 35px}.name-story p{margin-left:auto;margin-right:auto}.name-story>p:last-child{max-width:530px;margin-top:32px;color:var(--muted)}.chapter{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:center;padding-top:30px;padding-bottom:80px}.chapter:nth-child(odd){direction:rtl}.chapter>*{direction:ltr}.chapter-image>img{width:100%;height:540px;object-position:center}.chapter-copy>p:last-child{margin-top:25px;color:var(--muted)}.contact-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:9%;padding-top:75px}.contact-copy>p:not(.eyebrow){margin-top:30px;color:var(--muted)}.contact-copy>img{margin-top:65px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:30px}.fields>label{display:flex;flex-direction:column;font-size:14px;line-height:1.5}.fields>label>span{display:contents;color:var(--muted)}.fields input,.fields select,.fields textarea{width:100%;padding:15px 0 10px;border:0;border-bottom:1px solid #a18c7b;border-radius:0;background:transparent;color:var(--ink);font-size:16px;min-height:50px}.fields input::placeholder,.fields textarea::placeholder{color:#8c786a;font-size:13px}.fields select{padding-right:20px}.fields textarea{resize:vertical}.fields .full{grid-column:1/-1}.form-note{font-size:14px;color:var(--muted);padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:28px}.privacy-note{font-size:12px;line-height:1.5;color:var(--muted);margin:25px 0}.contact-layout .button{width:100%;justify-content:space-between}#form-status{font-size:14px;margin-top:20px}body:has(dialog[open]){overflow:hidden}a,button{touch-action:manipulation}
@media(min-width:1700px){.hero{max-width:1800px;margin:auto}.hero-visual{margin-right:var(--gutter)}.hero-copy{padding-top:95px}}
@media(max-width:1100px){.desktop-nav{gap:18px;font-size:13px}.brand,.brand img{width:150px}.header{gap:20px}.hero h1{font-size:7vw}.hero-copy{padding-top:55px}.hero-visual{margin-left:5px;margin-right:20px}.hero-description br{display:none}.hero-description{max-width:29ch}.intro{grid-template-columns:1fr 3fr;gap:35px}.intro-bottom{gap:30px}.french-copy{padding:65px 10%}.french-image img{min-height:610px}.expertise-home{gap:6%}.service-list h3{font-size:26px}.contact-layout{gap:6%}.fields{gap:25px}}
@media(max-width:850px){.header{height:86px}.desktop-nav{display:none}.menu-open{display:flex;gap:16px;align-items:center;font-size:14px;padding:12px 0 12px 15px}.hero{min-height:600px}.hero-visual{min-height:510px}.hero h1{font-size:7.1vw}.hero .eyebrow{font-size:10px}.hero-copy{padding-top:40px}.hero-description{font-size:14px}.hero-footnote{font-size:8px}.section{padding-top:75px;padding-bottom:75px}.intro{grid-template-columns:1fr}.intro>.eyebrow{margin-bottom:0}.expertise-home{grid-template-columns:1fr;gap:45px}.expertise-heading .text-link{margin-top:25px}.french-home{grid-template-columns:1fr 1fr}.french-copy{padding:45px 10%}.french-copy h2{font-size:40px}.french-image img{min-height:570px}.section-heading{align-items:start}.section-heading>.text-link{font-size:12px;gap:18px;white-space:nowrap;margin-top:42px}.expertise-row{grid-template-columns:30px 1fr;gap:20px}.expertise-row>div:last-child{grid-column:2}.why-layout{gap:7%}.why-photo>img{height:520px}.chapter{gap:7%}.chapter-image>img{height:430px}.contact-layout{grid-template-columns:1fr;gap:45px}.contact-copy>img{display:none}.contact-copy h1{font-size:75px}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{gap:25px}.hero-visual .image-note{font-size:8px;left:10px}}
@media(max-width:600px){h1{font-size:60px}h2{font-size:43px}.eyebrow{font-size:11px;margin-bottom:24px}.header{height:80px}.brand,.brand img{width:139px}.hero{display:flex;flex-direction:column}.hero-copy{padding:38px var(--gutter) 36px}.hero .eyebrow{margin-bottom:27px}.hero h1{font-size:clamp(45px,10.8vw,66px);white-space:normal;line-height:1.04}.hero-description{font-size:15px;max-width:38ch;margin-top:24px}.hero .light-link{margin-top:25px}.hero-footnote{display:none}.hero-visual{min-height:0;height:350px;margin:0 20px 23px}.hero-visual img{object-position:50% 55%}.hero-visual .image-note{font-size:8px;left:15px}.section{padding:60px var(--gutter)}.intro{gap:25px}.intro-bottom{grid-template-columns:1fr;margin-top:28px;gap:25px}.intro-bottom>p{font-size:25px}.section-heading{display:block}.section-heading>.text-link{font-size:14px;margin-top:25px;gap:25px}.section-description{font-size:13px;margin:25px 0 30px}.home-projects{grid-template-columns:1fr;gap:40px}.home-projects .project:nth-child(2){margin-top:0}.project-image img{aspect-ratio:1.1}.home-projects .project:nth-child(2) img{aspect-ratio:1.25}.project-title{margin-top:17px}.project-title h3{font-size:29px}.project p{font-size:12px}.service-list>a{gap:15px;padding:23px 0}.service-list h3{font-size:28px}.service-list p{font-size:13px}.service-list>a>span:last-child{font-size:20px}.number{font-size:11px}.french-home{grid-template-columns:1fr}.french-image img{min-height:0;height:330px;object-position:50% 46%}.french-copy{padding:45px var(--gutter)}.french-copy h2{font-size:47px}.french-copy>p:not(.eyebrow){font-size:16px;margin-top:25px}.signature{width:63px;margin-top:30px}.closing{padding:65px var(--gutter)}.closing h2{font-size:48px}.closing .eyebrow{font-size:10px}.button{padding:16px 21px;font-size:14px;gap:30px}.closing .button{margin-top:28px}footer{padding:40px var(--gutter) 25px;gap:26px;align-items:start}footer>p{font-size:23px}footer>div:not(.footer-bottom){font-size:12px;gap:10px}.footer-bottom{flex-direction:column;gap:10px;margin-top:10px;font-size:11px}.footer-brand{width:155px}.page-intro{padding-top:45px;padding-bottom:45px}.page-intro h1{margin-bottom:25px;font-size:62px}.page-intro>p:not(.eyebrow){font-size:16px}.expertise-details{padding-top:0;padding-bottom:30px}.expertise-row{padding:28px 0;gap:16px}.expertise-row h2{font-size:34px}.expertise-row .lead{margin-top:12px}.wide-image{margin:0 var(--gutter)}.wide-image>img{height:370px}.wide-image figcaption{font-size:11px}.creations-grid{padding-top:0;grid-template-columns:1fr;gap:40px}.creations-grid .project:nth-child(2){margin-top:0}.creations-grid .project:nth-child(3){max-width:none}.creations-grid .project:nth-child(3) img{aspect-ratio:1.2}.project-intro{padding-top:32px;padding-bottom:35px}.back{margin-bottom:35px}.project-intro h1{font-size:57px}.project-hero{margin:0}.project-hero>img{height:430px}.project-story{grid-template-columns:1fr;gap:40px}.project-story article:last-child{margin-bottom:0}.next-project{padding-top:0}.next-project .text-link{font-size:33px}.why-layout{grid-template-columns:1fr;gap:40px;padding-top:0}.why-photo{position:static}.why-photo>img{height:350px}.why-list h2{font-size:35px}.name-story img{width:80px;height:auto}.chapter,.chapter:nth-child(odd){grid-template-columns:1fr;direction:ltr;gap:32px;padding-top:0;padding-bottom:55px}.chapter-image>img{height:365px}.chapter-copy h2{font-size:43px}.chapter-copy .eyebrow{margin-bottom:20px}.contact-layout{padding-top:40px}.contact-copy h1{font-size:66px}.fields{grid-template-columns:1fr;gap:25px}.fields .full{grid-column:auto}.form-note{font-size:13px}.fields input::placeholder,.fields textarea::placeholder{font-size:14px}.privacy-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Studio introduction: two clear reading blocks. */
.intro{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(40px,7vw,105px);align-items:center;padding-top:90px;padding-bottom:90px}
.intro-heading .eyebrow{margin:0 0 26px}
.intro-heading h2{font-size:clamp(40px,3.65vw,60px);line-height:1.12}
.intro-copy{max-width:46ch;padding-top:35px}
.intro-copy>p{color:var(--muted);font-size:17px;line-height:1.75}
.intro-copy .text-link{margin-top:27px}
@media(max-width:850px){.intro{grid-template-columns:1fr;gap:28px;padding-top:65px;padding-bottom:65px}.intro-heading h2{font-size:clamp(36px,6vw,50px)}.intro-copy{max-width:58ch;padding-top:0}.intro-copy>p{font-size:16px}}
@media(max-width:600px){.intro{padding-top:48px;padding-bottom:48px;gap:24px}.intro-heading .eyebrow{margin-bottom:20px}.intro-heading h2{font-size:clamp(31px,7.5vw,43px);line-height:1.15}.intro-copy .text-link{margin-top:22px}}

/* Brand names on the student concept cards. */
.project .project-brand{margin-top:18px;color:var(--ink);font-size:11px;font-weight:600;letter-spacing:.16em}
.project .project-brand+.project-title{margin-top:5px}

/* Bespoke line icons stay typographic and never turn into emoji on iOS. */
.icon{display:block;flex:0 0 auto;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.icon-arrow{transition:transform .22s ease}
.light-link:hover .icon-arrow,.text-link:hover .icon-arrow,.button:hover .icon-arrow,.project:hover .project-title>.icon-arrow,.service-list>a:hover .icon-arrow,.nav-contact:hover .icon-arrow,.footer-contact:hover .icon-arrow,.mobile-contact:hover .icon-arrow{transform:translate(3px,-3px)}
.nav-contact{display:inline-flex;align-items:center;gap:18px}
.nav-contact .icon-arrow{width:18px;height:18px}
.menu-open,.menu-close{color:var(--ink)}
.menu-open .icon-menu{width:19px;height:19px}
.menu-close{display:inline-flex;align-items:center;gap:8px}
.menu-close .icon-close{width:17px;height:17px}
.project-title>.icon-arrow{width:22px;height:22px}
.service-list>a>.icon-arrow{margin-left:auto;width:21px;height:21px}
.mobile-contact{display:flex;align-items:center;justify-content:space-between;gap:24px}
.mobile-contact .icon-arrow{width:24px;height:24px}
.footer-contact{display:inline-flex;align-items:center;gap:14px}
.back{display:inline-flex;align-items:center;gap:10px}
.back .icon-back{width:18px;height:18px}
.button .icon-download{width:19px;height:19px}
