@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#172c2c;--paper:#f7f3eb;--accent:#d3f36b;--line:#172c2c35;--display:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e48821;outline-offset:5px}::selection{background:#deff79;color:#102828}.concept-bar{position:sticky;top:0;z-index:20;background:#172326;color:#fff;min-height:43px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:8px 4%;font-size:11px;letter-spacing:.08em}.concept-bar .tabs{display:flex;gap:5px}.concept-bar a{padding:5px 10px;white-space:nowrap;border-radius:20px}.concept-bar a.active{background:#fff;color:#172326}.concept-bar>span{opacity:.7}.nav{display:flex;align-items:center;justify-content:space-between;padding:27px 5%;gap:25px}.brand{font:800 20px var(--display);letter-spacing:-.8px}.brand small{font:400 10px var(--body);display:block;letter-spacing:.17em;margin-top:4px;text-transform:uppercase}.nav-links{display:flex;align-items:center;gap:32px;font-size:13px}.nav-links a:hover{opacity:.6}.pill{border:1px solid currentColor;border-radius:40px;padding:13px 24px;display:inline-flex;gap:30px;align-items:center;justify-content:space-between;font-size:13px;transition:transform .2s,background .2s}.pill:hover{transform:translateY(-3px)}.pill.fill{background:var(--ink);color:var(--paper);border-color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:600}.hero{position:relative}.hero h1{font:600 clamp(64px,8vw,125px)/.98 var(--display);letter-spacing:-.075em;margin:27px 0}.hero .intro{font-size:16px;line-height:1.7;max-width:420px}.hero .actions{display:flex;gap:12px;align-items:center;margin-top:28px;flex-wrap:wrap}.wrap{padding:100px 6%}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:46px}.section-head h2,.about h2,.expertise h2{font:500 clamp(38px,5vw,70px)/1.08 var(--display);letter-spacing:-.055em;margin:14px 0 0}.section-head>p{max-width:310px;font-size:14px;line-height:1.7}.section-head .eyebrow{margin:0}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.work-card{display:block;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;width:100%}.work-art{height:300px;position:relative;overflow:hidden;padding:30px;transition:transform .5s;display:flex;flex-direction:column;justify-content:space-between}.work-card:hover .work-art{transform:translateY(-6px)}.work-art .project-no{font-size:10px;letter-spacing:.15em}.work-art strong{font:500 47px/.98 'Playfair Display',Georgia,serif;letter-spacing:-2px;z-index:1}.work-art .project-footer{font-size:9px;letter-spacing:.15em;text-transform:uppercase;z-index:1}.art-report{background:#57253d;color:#f5dbd8}.art-report:after{content:'21\A 22';white-space:pre;position:absolute;right:-8px;top:5px;font:800 180px/.8 var(--display);opacity:.12;letter-spacing:-20px}.art-century{background:#e7a824;color:#452e14}.art-century:after{content:'100';position:absolute;font:600 180px var(--display);bottom:25px;left:-25px;opacity:.15;letter-spacing:-20px;transform:rotate(-15deg)}.art-leadership{background:#bdd1c3;color:#193f35}.art-leadership:after{content:'';position:absolute;width:240px;height:240px;border:1px solid currentColor;border-radius:50%;right:-60px;top:40px;box-shadow:0 0 0 25px #193f3510,0 0 0 50px #193f3510}.work-title{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-weight:500;font-size:17px}.work-card p{font-size:12px;opacity:.7;margin-top:8px}.work-note{font-size:11px;opacity:.6;margin-top:28px;line-height:1.6}.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.about figure{margin:0;height:600px}.about p{font-size:16px;line-height:1.8;max-width:490px}.about .pill{margin-top:20px}.about .credentials{border-top:1px solid var(--line);padding-top:25px;margin-top:30px;font-size:12px;line-height:2}.expertise{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;gap:10%;align-items:start}.expertise h2{margin-bottom:25px}.expertise p{font-size:14px;line-height:1.8;opacity:.75;max-width:340px}details{border-top:1px solid #ffffff40;padding:25px 0}details:last-child{border-bottom:1px solid #ffffff40}summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;font-size:21px;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-size:23px}details[open] summary:after{content:'−'}details p{max-width:100%!important;padding-right:30px}.career{display:grid;grid-template-columns:1fr 2fr;gap:10%}.career h2{font:500 40px/1.1 var(--display);letter-spacing:-2px}.career-row{display:grid;grid-template-columns:110px 1fr;gap:35px;border-top:1px solid var(--line);padding:25px 0}.career-row span{font-size:11px;opacity:.65}.career-row h3{font-size:19px;margin:0 0 7px}.career-row p{font-size:13px;margin:0;line-height:1.6;opacity:.75}.contact{background:var(--accent);padding:90px 6% 35px}.contact h2{font:500 clamp(46px,7vw,100px)/1.05 var(--display);letter-spacing:-.055em;max-width:1000px;margin:25px 0 38px}.contact .email{font-size:clamp(15px,2.4vw,27px);border-bottom:1px solid currentColor;padding-bottom:8px}.footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:27px;margin-top:80px;font-size:10px;line-height:1.7}.footer nav{display:flex;gap:20px}.reveal{animation:rise .8s both}.reveal:nth-child(2){animation-delay:.1s}.reveal:nth-child(3){animation-delay:.2s}@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.scroll-reveal{transition:opacity .7s,transform .7s}.scroll-reveal.pending{opacity:0;transform:translateY(25px)}.modal{border:0;max-width:680px;width:calc(100% - 36px);padding:55px;color:var(--ink);background:var(--paper);max-height:85vh;overflow:auto}.modal::backdrop{background:#0c2229ba;backdrop-filter:blur(8px)}.modal h2{font:500 42px/1.1 var(--display);letter-spacing:-2px}.modal p{font-size:15px;line-height:1.8}.modal .close{position:absolute;right:18px;top:13px;background:none;border:0;font-size:30px;cursor:pointer}.modal .role{font-size:11px;letter-spacing:.03em;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* One: bold color, oversized type, and a portrait diptych. */
.bold{--paper:#f6f2e8;--ink:#193e38;--accent:#d9f56c}.bold .hero{display:grid;grid-template-columns:1.12fr 1fr;margin:0 4%;min-height:690px;background:#e6eadb}.bold .hero-copy{padding:65px 6% 70px 8%;position:relative;z-index:1}.bold .hero h1 em{font-style:normal;background:#d9f56c;padding:0 8px 3px;display:inline-block;transform:rotate(-3deg);margin-top:10px}.bold .portrait{position:relative;margin:30px 30px 30px 0;min-height:590px}.bold .portrait img{object-position:50% 40%;border-radius:180px 180px 0 0}.bold .portrait:before{content:'✳';position:absolute;left:-50px;top:40px;font-size:120px;color:#193e38;z-index:2;animation:turn 35s linear infinite}.bold .portrait-tag{position:absolute;bottom:28px;left:-35px;background:var(--ink);color:var(--paper);padding:22px 30px;font-size:12px;line-height:1.5;transform:rotate(-5deg)}.ticker{overflow:hidden;padding:24px 0;background:var(--ink);color:var(--accent);margin-top:35px;white-space:nowrap;font-size:17px;letter-spacing:.1em}.ticker span{display:inline-block;animation:marquee 28s linear infinite}@keyframes marquee{to{transform:translateX(-45%)}}@keyframes turn{to{transform:rotate(360deg)}}.bold .about{background:#e9e5db}.bold .about figure{border-radius:180px 180px 0 0;overflow:hidden}
/* Two: an editorial palette, serif headlines, and asymmetric composition. */
.editorial{--paper:#fbf6f0;--ink:#592b3b;--accent:#dfbba9;--display:'Playfair Display',Georgia,serif;--line:#592b3b30}.editorial .brand{font:500 28px var(--display)}.editorial .nav{padding:25px 6%;border-bottom:1px solid var(--line)}.editorial .hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:730px;padding:60px 6% 60px;gap:4%}.editorial .hero-copy{padding-top:40px}.editorial .hero h1{font-size:clamp(65px,7.4vw,110px);line-height:1.04;font-weight:400;letter-spacing:-.065em;position:relative;z-index:2}.editorial .hero h1 em{font-weight:400}.editorial .portrait{position:relative;margin:0;height:650px}.editorial .portrait img{object-position:50% 50%;border-radius:48% 48% 0 0}.editorial .portrait-tag{position:absolute;bottom:35px;left:-40px;background:var(--ink);color:var(--paper);padding:20px 30px;font-size:12px;line-height:1.5}.editorial .hero-copy .intro{max-width:350px}.editorial .ticker{margin:0;padding:35px 0;background:var(--accent);color:var(--ink);font:italic 25px var(--display);letter-spacing:0}.editorial .about{background:#eee5dd}.editorial .about figure{height:630px}.editorial .expertise h2{font-weight:400}.editorial .work-art{height:320px}.editorial .contact h2{font-weight:400}.editorial .career h2{font-family:var(--display)}
/* Three: a photographic opening and cinematic contrast. */
.cinematic{--paper:#f5f2eb;--ink:#16292e;--accent:#eabf6b}.cinematic .nav{background:#16292e;color:#fff}.cinematic .hero{min-height:750px;display:flex;align-items:center;background:#222;color:#fff;overflow:hidden}.cinematic .hero>.hero-background{position:absolute;inset:0;height:100%;object-position:center}.cinematic .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#13252a8a,#13252a10 65%,transparent)}.cinematic .hero-copy{position:relative;z-index:1;padding:80px 6%;width:68%}.cinematic .hero h1{font-weight:500;max-width:650px;font-size:clamp(70px,8.5vw,130px)}.cinematic .hero h1 em{font:italic 400 1em 'Playfair Display',Georgia,serif;color:#eabf6b;letter-spacing:-.065em}.cinematic .hero .intro{max-width:360px;color:#ffffffd0}.cinematic .hero .pill.fill{background:#eabf6b;color:#16292e;border-color:#eabf6b}.cinematic .hero .pill{border-color:#ffffff70}.cinematic .hero .eyebrow{color:#eabf6b}.cinematic .ticker{margin:0;background:#eabf6b;color:#16292e}.cinematic .about{background:#e5e4dd}.cinematic .section-head h2{max-width:600px}.cinematic .contact{background:#16292e;color:#fff}.cinematic .contact .footer{border-color:#ffffff30}.cinematic .contact .eyebrow{color:#eabf6b}
/* Concept gallery */
.gallery{background:#f4f1ea;color:#20332e}.gallery-nav{display:flex;justify-content:space-between;padding:32px 5%;font-size:12px;border-bottom:1px solid #20332e25}.gallery-intro{padding:70px 6% 55px;display:flex;gap:10%;align-items:flex-end;justify-content:space-between}.gallery-intro h1{font:500 clamp(48px,6vw,85px)/1.02 var(--display);letter-spacing:-.065em;margin:18px 0 0;max-width:730px}.gallery-intro p{max-width:290px;line-height:1.8;font-size:14px}.concept-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:0 6% 85px}.concept-card .thumb{height:380px;position:relative;overflow:hidden;transition:transform .4s}.concept-card:hover .thumb{transform:translateY(-8px)}.thumb-one{background:#e1e8d7;color:#193e38;display:flex;padding:28px 24px;align-items:flex-start}.thumb-one strong{position:relative;z-index:2;font:700 45px/.97 'Manrope',Arial;letter-spacing:-3px;width:62%}.thumb-one strong em{font-style:normal;background:#d9f56c}.thumb-one img{position:absolute;width:55%;height:74%;right:0;bottom:0;border-radius:100px 100px 0 0;object-position:50% 40%}.thumb-one .mini{position:absolute;bottom:25px;font-size:8px;max-width:80px}.thumb-two{background:#ebd9cd;color:#592b3b;padding:28px 22px}.thumb-two strong{font:400 46px/.98 'Playfair Display',Georgia;letter-spacing:-2px;position:relative;z-index:2}.thumb-two img{position:absolute;right:0;bottom:0;width:60%;height:67%;border-radius:120px 120px 0 0;object-position:50% 45%}.thumb-two .mini{position:absolute;bottom:30px;left:22px;font:italic 13px Georgia;max-width:110px;z-index:2}.thumb-three{background:#16292e;color:white}.thumb-three img{position:absolute;inset:0;object-position:65% center;filter:brightness(.75)}.thumb-three strong{position:relative;display:block;padding:35px 25px;font:500 46px/.97 'Manrope',Arial;letter-spacing:-2.5px;z-index:2;max-width:75%}.thumb-three strong em{color:#eabf6b;font-family:'Playfair Display',Georgia}.thumb-three .mini{position:absolute;bottom:25px;left:25px;font-size:8px;z-index:2;letter-spacing:.1em}.concept-meta{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.concept-meta h2{font-size:21px;font-weight:500;letter-spacing:-.5px;margin:0}.concept-meta .arrow{border:1px solid #20332e50;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.concept-card p{font-size:12px;line-height:1.7;max-width:300px;opacity:.7}.gallery-foot{padding:25px 6%;border-top:1px solid #20332e25;display:flex;justify-content:space-between;font-size:11px;gap:25px}.skip{position:fixed;top:-80px;left:10px;z-index:100;padding:15px;background:#fff;color:#000}.skip:focus{top:5px}
@media(min-width:1500px){.hero{max-height:950px}.wrap,.contact{padding-left:max(6%,calc((100vw - 1350px)/2));padding-right:max(6%,calc((100vw - 1350px)/2))}.bold .hero{max-width:1500px;margin:auto}.editorial .hero{max-width:1600px;margin:auto}}
@media(max-width:1000px){.hero h1{font-size:80px}.bold .portrait:before{font-size:80px;left:-25px}.nav-links{gap:20px}.hero .intro{font-size:14px}.work-art{height:260px;padding:23px}.work-art strong{font-size:37px}.gallery-intro{display:block}.gallery-intro p{max-width:500px}.concept-grid{gap:16px}.concept-card .thumb{height:330px}.thumb-one strong,.thumb-two strong,.thumb-three strong{font-size:37px}.about{gap:6%}.about figure{height:530px}.cinematic .hero h1{font-size:100px}.cinematic .hero-copy{width:80%}}
@media(max-width:700px){.concept-bar{padding:8px 12px;gap:6px;font-size:10px}.concept-bar>span{display:none}.concept-bar .tabs{gap:0}.concept-bar a{padding:6px 8px}.nav{padding:22px 6%}.brand{font-size:18px}.brand small{font-size:8px}.nav-links{gap:18px;font-size:12px}.nav-links a:nth-child(2),.nav-links a.pill{display:none}.hero h1{font-size:77px!important}.bold .hero,.editorial .hero{grid-template-columns:1fr;margin:0;padding:0;min-height:0;gap:0}.bold .hero-copy,.editorial .hero-copy{padding:45px 7% 35px}.hero .intro{font-size:15px}.bold .portrait{height:470px;min-height:0;margin:0 7% 30px 20%}.bold .portrait img{object-position:50% 42%}.bold .portrait:before{font-size:100px;left:-55px}.bold .portrait-tag{left:-40px;font-size:10px;padding:18px 24px}.editorial .portrait{height:500px;margin:0 8% 45px 15%}.editorial .portrait-tag{font-size:10px;left:-25px}.editorial .hero h1{font-size:76px!important;margin-top:22px}.ticker{font-size:13px;padding:20px 0;margin-top:0}.wrap{padding:65px 7%}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:100%;margin-top:25px}.section-head h2,.about h2,.expertise h2{font-size:44px}.work-grid{grid-template-columns:1fr;gap:40px}.work-art,.editorial .work-art{height:340px}.work-art strong{font-size:52px}.about{grid-template-columns:1fr;gap:35px}.about figure,.editorial .about figure{height:500px}.about p{font-size:15px}.expertise{grid-template-columns:1fr;gap:30px}.expertise p{max-width:100%}.expertise summary{font-size:19px}.career{grid-template-columns:1fr;gap:15px}.career-row{grid-template-columns:85px 1fr;gap:18px}.career-row h3{font-size:17px}.contact{padding:65px 7% 25px}.contact h2{font-size:52px}.footer{margin-top:60px;display:block}.footer nav{margin-top:20px}.cinematic .hero{min-height:790px;align-items:flex-end}.cinematic .hero>.hero-background{object-position:72% center;filter:brightness(.85)}.cinematic .hero:after{background:linear-gradient(0deg,#13252aff,#13252a80 55%,#13252a05)}.cinematic .hero-copy{width:100%;padding:300px 7% 45px}.cinematic .hero h1{font-size:75px!important;max-width:400px}.cinematic .hero .intro{max-width:300px}.cinematic .hero .eyebrow{font-size:9px}.gallery-nav{padding:25px 6%;font-size:10px}.gallery-intro{padding:45px 7% 30px}.gallery-intro h1{font-size:54px}.concept-grid{grid-template-columns:1fr;padding:0 7% 45px;gap:35px}.concept-card .thumb{height:420px}.thumb-one strong,.thumb-two strong,.thumb-three strong{font-size:55px}.gallery-foot{display:block;line-height:1.8}.modal{padding:40px 25px}.modal h2{font-size:34px}}
.editorial .hero h1{font-size:clamp(56px,5.3vw,85px);line-height:1.1;letter-spacing:-.055em}.editorial .portrait img{object-position:center top}.bold .portrait:before{content:'';width:105px;height:105px;background:var(--ink);clip-path:polygon(45% 0,55% 0,56% 34%,79% 9%,87% 16%,63% 42%,100% 44%,100% 55%,65% 56%,90% 80%,82% 88%,57% 64%,55% 100%,44% 100%,43% 66%,19% 90%,11% 82%,35% 57%,0 55%,0 45%,34% 43%,10% 19%,18% 11%,42% 35%)}.icon{display:inline-block;width:15px;height:15px;vertical-align:middle;flex-shrink:0}.icon svg{display:block;width:100%;height:100%}
@media(max-width:700px){.editorial .hero h1{font-size:50px!important}.editorial .brand{font-size:23px}.nav-links{gap:16px}.nav-links a{white-space:nowrap}.cinematic .hero h1{font-size:clamp(49px,16vw,65px)!important}.cinematic .hero>.hero-background{object-position:87% center}.bold .portrait:before{width:85px;height:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scroll-reveal.pending{opacity:1;transform:none}}

/* Gallery thumbnails: reserve clear space above each portrait. */
.concept-card .thumb{container-type:inline-size}
.gallery .thumb-one strong,.gallery .thumb-two strong,.gallery .thumb-three strong{position:absolute;top:22px;left:22px;right:22px;width:auto;max-width:none;padding:0;margin:0;letter-spacing:-.055em;line-height:1.02}
.gallery .thumb-one strong{font-size:clamp(22px,11cqw,34px)}
.gallery .thumb-two strong,.gallery .thumb-three strong{font-size:clamp(20px,10cqw,32px)}
.gallery .thumb-one img{height:52%;width:55%}
.gallery .thumb-two img{height:58%;width:58%}
.gallery .thumb-three img{inset:auto 0 0;height:62%;width:100%;object-position:70% center;filter:brightness(.85)}
.gallery .thumb-three{background:#16292e}
.gallery .thumb-one .mini,.gallery .thumb-two .mini{left:22px;bottom:22px;max-width:34%;font-size:clamp(8px,3.3cqw,11px);line-height:1.25}
.gallery .thumb-three .mini{left:0;right:0;bottom:0;padding:30px 22px 20px;background:linear-gradient(transparent,#16292ed9);font-size:8px;line-height:1.4}

.gallery .thumb-two img{object-position:center top}
