
@font-face{font-family:'Blender';src:url('fonts/Blender-Book.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Blender';src:url('fonts/Blender-Medium.woff2') format('woff2');font-weight:500 600;font-display:swap}
@font-face{font-family:'Blender';src:url('fonts/Blender-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{--paper:#e3e3e3;--ink:#131313;--soft:#3a3833;--dark:#0d0d0c;--panel:#000;--olive:#383a35;--ondark:#e3e3e3;--ondark-soft:#a6a39a;--line:rgba(19,19,19,.16);--line-d:rgba(230,229,225,.14);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Blender','DM Sans',Arial,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:60;background:
 linear-gradient(90deg,transparent calc(20% - 1px),rgba(128,128,128,.14) calc(20% - 1px),rgba(128,128,128,.14) 20%,transparent 20%),
 linear-gradient(90deg,transparent calc(40% - 1px),rgba(128,128,128,.14) calc(40% - 1px),rgba(128,128,128,.14) 40%,transparent 40%),
 linear-gradient(90deg,transparent calc(60% - 1px),rgba(128,128,128,.14) calc(60% - 1px),rgba(128,128,128,.14) 60%,transparent 60%),
 linear-gradient(90deg,transparent calc(80% - 1px),rgba(128,128,128,.14) calc(80% - 1px),rgba(128,128,128,.14) 80%,transparent 80%)}
body.dark{background:var(--dark);color:var(--ondark)}
a{color:inherit;text-decoration:none}
.nav{display:flex;align-items:center;justify-content:space-between;padding:28px 38px;border-bottom:1px solid var(--line);position:sticky;top:0;background:inherit;z-index:50}
.dark .nav{border-color:var(--line-d)}
.brand{display:flex;align-items:center}
.brand .logo{height:42px;width:auto;display:block}
body:not(.dark) .nav .logo{filter:invert(1) brightness(0.1)}
.emblem{margin-right:10px}
.nav nav{display:flex;align-items:center;gap:38px}
.nav nav a{font-size:12.5px;letter-spacing:.2em;text-transform:uppercase}
.pill{background:var(--ink);color:var(--paper);padding:10px 22px;border-radius:0;font-weight:700;font-size:11.5px!important}
.dark .pill{background:var(--ondark);color:var(--dark)}
.burger{display:none;background:none;border:none;font-size:22px;color:inherit;cursor:pointer}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:400}
.hero{padding:110px 38px 90px;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;border-bottom:1px solid var(--line)}
.hero h1{font-size:clamp(44px,6.5vw,92px);line-height:1.02;letter-spacing:-.01em;font-weight:300}
.hero .sub{font-family:var(--serif);font-size:clamp(19px,1.9vw,27px);line-height:1.4;align-self:center}
.hero-dark{background:var(--dark);color:var(--ondark);padding:150px 38px 60px}
.hero-dark h1{font-family:var(--serif);font-size:clamp(44px,6vw,84px);line-height:1.04;font-weight:300}
.hero-dark .vline{margin-top:26px;font-size:12.5px;letter-spacing:.12em;text-transform:capitalize;color:var(--ondark-soft)}
.section-light{background:var(--paper);color:var(--ink)}
.team-intro h2{font-family:var(--serif);font-size:clamp(40px,4.6vw,64px);font-weight:300}
.serif-sub{font-family:var(--serif);font-size:clamp(18px,1.8vw,25px);line-height:1.42;margin-top:18px;max-width:430px}
.home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hcard{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#1b1b18}
.hcard img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.hcard:hover img{transform:scale(1.04)}
.hcard span{position:absolute;left:12px;bottom:10px;font-family:var(--serif);font-size:15px;color:var(--ondark);opacity:0;transition:opacity .3s}
.hcard:hover span{opacity:1}
.pf-band{background:#2c2c2c;color:var(--ondark);margin:0 38px 60px;padding:70px 50px 46px}
.pf-top{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.pf-band h2{font-family:var(--serif);font-size:clamp(38px,4.4vw,62px);line-height:1.04;font-weight:300}
.pf-verts{display:flex;flex-wrap:wrap;gap:46px;margin-top:70px}
.pf-verts a{font-size:15px;letter-spacing:.04em;color:var(--ondark);border-bottom:1px solid rgba(230,229,225,.35);padding-bottom:4px}
.strip{background:var(--panel);color:var(--ondark);display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.strip .cell{padding:44px 34px;border-left:1px solid var(--line-d);font-size:clamp(17px,1.6vw,24px);line-height:1.2}
.strip .cell:first-child{border-left:none}
.section{padding:90px 38px;border-bottom:1px solid var(--line)}
.dark .section{border-color:var(--line-d)}
.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.k{font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:#8a7440;font-weight:600;margin-bottom:22px}
.section h2{font-size:clamp(34px,4.4vw,60px);line-height:1.02;font-weight:300}
.body{font-size:17px;line-height:1.65;color:var(--soft);margin-top:16px}
.dark .body{color:var(--ondark-soft)}
.serif-lead{font-family:var(--serif);font-size:clamp(20px,2.2vw,30px);line-height:1.4}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:44px;margin-top:56px}
.card h3{font-size:25px;font-weight:500;margin-bottom:12px}
.card p{font-size:15px;line-height:1.6;color:var(--soft)}
.dark .card p{color:var(--ondark-soft)}
.num{font-size:11px;letter-spacing:.3em;color:#8a7440;font-weight:600;display:block;margin-bottom:14px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:34px;margin-top:56px}
.person-card .photo{aspect-ratio:4/5;background:linear-gradient(135deg,#2b2b26,#151510);display:flex;align-items:center;justify-content:center;color:rgba(230,229,225,.3);font-size:11px;letter-spacing:.2em;text-transform:uppercase;overflow:hidden}
.person-card .photo img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1)}
.person-card h3{font-size:21px;margin-top:14px}
.person-card .role{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ondark-soft);margin-top:5px}
body:not(.dark) .person-card .role{color:#6a675f}
.bio-hero{display:grid;grid-template-columns:.8fr 1.2fr;min-height:82vh}
.bio-hero .photo{background:linear-gradient(135deg,#2b2b26,#151510);position:relative;min-height:420px;overflow:hidden}
.bio-hero .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(1)}
.bio-hero .photo .nm{position:absolute;left:38px;bottom:64px;font-family:var(--serif);font-size:clamp(34px,3.8vw,58px);color:var(--ondark);font-weight:300;line-height:1.02;text-shadow:0 1px 30px rgba(0,0,0,.45)}
.bio-hero .photo .rl{position:absolute;left:38px;bottom:34px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ondark);opacity:.85}
.bio-hero .txt{padding:70px 60px}
.bio-hero .tldr{font-family:var(--serif);font-size:clamp(23px,2.3vw,33px);line-height:1.35;margin-top:22px}
.bio-hero .bio{font-size:15.5px;line-height:1.66;color:var(--soft);margin-top:26px;max-width:640px}
.co-hero{display:grid;grid-template-columns:.8fr 1.2fr;min-height:70vh}
.co-hero .photo{background:#141414 url('../img/texture-dark.jpg') center/cover;position:relative;min-height:380px}
.co-hero .photo .nm{position:absolute;left:38px;bottom:70px;font-family:var(--serif);font-size:clamp(36px,4.4vw,64px);color:var(--ondark);font-weight:300}
.co-hero .photo .tag{position:absolute;left:38px;bottom:34px;font-size:12px;letter-spacing:.14em;color:#cfcdc6;text-transform:uppercase}
.co-hero .txt{padding:80px 60px}
.co-hero .about{font-family:var(--serif);font-size:clamp(19px,1.9vw,27px);line-height:1.5}
.co-hero h4{font-size:21px;font-weight:500;margin:38px 0 10px}
.co-logo{height:44px;width:auto;display:block;margin-bottom:34px}
.legal-page{max-width:860px;padding:80px 38px 100px}
.legal-page h1{font-family:var(--serif);font-size:clamp(36px,4.4vw,56px);font-weight:300}
.legal-page .upd{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8a7440;margin:14px 0 40px}
.legal-page h3{font-family:var(--serif);font-size:24px;font-weight:500;margin:36px 0 10px}
.legal-page p{font-size:15px;line-height:1.7;color:var(--soft)}
.f-legal a{border-bottom:1px solid rgba(230,229,225,.3);padding-bottom:1px}
/* split-page: continuous black left third with sticky titles (design layout) */
.split-page{display:grid;grid-template-columns:31.5% 68.5%}
.sp-left{background:#000;color:var(--ondark)}
.sp-stick{position:sticky;top:96px;padding:46px 38px 60px}
.sp-title{font-family:var(--serif);font-size:clamp(32px,3.4vw,52px);line-height:1.05;font-weight:300;text-transform:uppercase;letter-spacing:.01em}
.sp-title.nocaps{text-transform:none}
.sp-note{font-size:12.5px;line-height:1.6;color:var(--ondark-soft);margin-top:18px;max-width:230px}
.sp-right{padding:80px 64px;background:var(--paper)}
.sp-right.on-dark{background:var(--dark);color:var(--ondark)}
.th-block{margin-bottom:64px;max-width:560px}
.th-block h3{font-family:var(--serif);font-size:clamp(26px,2.6vw,38px);font-weight:500;margin-bottom:14px}
.th-block p{font-size:14.5px;line-height:1.65;color:var(--soft)}
.fa-item{margin-bottom:44px;max-width:480px}
.fa-item h4{font-size:17px;font-weight:500;letter-spacing:.02em;display:flex;align-items:center;gap:14px}
.fa-item h4 img{height:9px;opacity:.8;transform:rotate(90deg)}
.fa-item p{font-size:14.5px;line-height:1.6;color:var(--soft);margin-top:10px}
.arrow-dots{display:inline-block}
@media(max-width:900px){.split-page{grid-template-columns:1fr}.sp-stick{position:static;padding:34px 24px}.sp-right{padding:44px 24px}}
.co-hero .why{font-size:15.5px;line-height:1.62;color:var(--soft)}
.eco-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:44px;margin-top:56px}
.eco-tile{border:1px solid var(--line-d);padding:34px}
.eco-tile h3{font-size:27px;font-weight:400}
.eco-tile .sec{font-size:10.5px;letter-spacing:.16em;color:#9c8654;text-transform:uppercase;margin:10px 0 14px}
.eco-tile p{font-size:14.5px;line-height:1.55;color:var(--ondark-soft)}
.eco-tile .more{display:inline-block;margin-top:18px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid #9c8654;padding-bottom:3px}
.form{display:grid;gap:0;margin-top:40px;max-width:860px}
.form label{font-size:12px;letter-spacing:.08em;color:var(--soft);display:block;padding:16px 18px 0}
.form .fwrap{border:1px solid rgba(19,19,19,.5);margin-top:-1px}
.form input,.form textarea{width:100%;background:transparent;border:none;outline:none;padding:8px 18px 14px;font-family:var(--sans);font-size:15px;color:var(--ink)}
.form textarea{min-height:120px;resize:vertical}
.form button{margin-top:26px;background:var(--olive);color:var(--ondark);border:none;padding:18px;font-family:var(--sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.footer{background:var(--dark);color:var(--ondark);padding:60px 38px 30px}
.f-cta{text-align:center;padding:50px 0 70px}
.f-emblem{font-size:30px;margin-bottom:22px}
.f-take{font-size:clamp(34px,4vw,54px);font-weight:300;line-height:1.05}
.f-sub{display:flex;justify-content:center;gap:0;margin-top:36px}
.f-sub input{background:transparent;border:1px solid var(--line-d);border-right:none;padding:14px 20px;width:min(320px,60vw);color:var(--ondark);font-family:var(--sans);font-size:13px;outline:none}
.f-sub button{background:var(--ondark);color:var(--dark);border:none;padding:14px 26px;font-family:var(--sans);font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
.f-sub button:disabled{opacity:.6;cursor:default}
.f-sub-ok{border:1px solid var(--line-d);display:inline-block;padding:14px 24px;font-size:13px;letter-spacing:.08em;color:var(--ondark)}
[hidden]{display:none!important}
.f-inner{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-d);padding-bottom:34px}
.f-brand{font-weight:700;letter-spacing:.34em;font-size:15px}
.f-mid{font-size:14px;color:var(--ondark-soft)}
.f-tag{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--ondark-soft)}
.f-legal{font-size:11.5px;color:#77746c;padding-top:24px;line-height:1.5}
@media(max-width:900px){
 .nav nav{display:none}
 body.menu-open .nav nav{display:flex;position:fixed;inset:76px 0 auto 0;background:var(--paper);flex-direction:column;padding:30px 38px;gap:22px;border-bottom:1px solid var(--line)}
 .dark.menu-open .nav nav{background:var(--dark)}
 .burger{display:block}
 .hero{grid-template-columns:1fr;padding:70px 24px 50px;gap:30px}
 .strip{grid-template-columns:1fr 1fr}
 .strip .cell:nth-child(3){border-left:none}
 .section{padding:60px 24px}
 .split,.bio-hero,.co-hero{grid-template-columns:1fr}
 .split-page .sp-stick{min-height:auto!important;justify-content:flex-start!important}
 .bio-hero .txt,.co-hero .txt{padding:44px 24px}
 .hero-dark{padding:100px 24px 44px}
 .pf-top{grid-template-columns:1fr}
 .pf-band{margin:0 0 40px;padding:50px 24px 36px}
 .home-grid{grid-template-columns:1fr 1fr}
}
/* image fade-in (only when JS is on, so images stay visible if JS fails) */
html.js img[loading="lazy"]{opacity:0;transition:opacity .55s ease}
html.js img[loading="lazy"].loaded{opacity:1}
/* cookie consent banner */
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;background:#111110;color:var(--ondark);border-top:1px solid var(--line-d);padding:18px 26px;display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;box-shadow:0 -8px 30px rgba(0,0,0,.35)}
.cc-text{font-size:13px;line-height:1.55;color:var(--ondark-soft);max-width:820px}
.cc-text a{color:var(--ondark);border-bottom:1px solid rgba(230,229,225,.4);padding-bottom:1px}
.cc-actions{display:flex;gap:12px;flex-shrink:0}
.cc-btn{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:12px 22px;border:1px solid var(--line-d);cursor:pointer;background:transparent;color:var(--ondark)}
.cc-accept{background:var(--ondark);color:var(--dark);border-color:var(--ondark)}
.cc-decline:hover{border-color:var(--ondark)}
@media(max-width:560px){
 .cc-banner{flex-direction:column;align-items:stretch;gap:14px;padding:16px 20px}
 .cc-actions{justify-content:stretch}
 .cc-btn{flex:1;text-align:center}
 .f-sub{flex-wrap:wrap;gap:10px}
 .f-sub input{width:100%;border-right:1px solid var(--line-d)}
 .f-sub button{width:100%}
 .section{padding:52px 20px}
 .legal-page{padding:64px 20px 80px}
 .sp-right{padding:40px 20px!important}
 .hero-dark{padding:92px 20px 40px}
 .f-inner{gap:18px}
 .f-mid,.f-tag{font-size:13px}
}
