:root{--navy:#1c2340;--navy2:#2b3263;--red:#b3312e;--ink:#22252f;--muted:#5f6472;--line:#e8e6e1;--soft:#f8f6f2;--max:1180px;--gut:clamp(20px,4.5vw,40px);--sp:clamp(80px,10vw,136px);--measure:62ch}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.75 Lato,system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Lato,sans-serif;color:var(--navy);margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,5vw,3.75rem);font-weight:500;line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(1.75rem,3vw,2.4rem);font-weight:500;line-height:1.2;letter-spacing:-.015em}
h3{font-size:1.25rem;font-weight:600;line-height:1.3}
p{margin:0 0 1.2em;max-width:var(--measure)}p:last-child{margin-bottom:0}
h1+p,h2+p{margin-top:24px}h3+p{margin-top:12px}
a{color:var(--navy2);text-underline-offset:4px;text-decoration-thickness:1px;transition:color .15s}a:hover{color:var(--red)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
img{max-width:100%;height:auto;display:block}
.eyebrow{display:block;font:600 .74rem/1 Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:20px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
section{padding:var(--sp) 0}.soft{background:var(--soft)}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.6;color:var(--muted);font-weight:300}
.section-head{max-width:720px;margin-bottom:64px}
.link{display:inline-block;margin-top:28px;font:600 .8rem/1 Lato,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);text-decoration:none;padding-bottom:6px;border-bottom:1px solid var(--red)}.link:hover{color:var(--red)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,112px);align-items:start}
/* header */
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{max-width:var(--max);margin:auto;padding:0 var(--gut);height:76px;display:flex;align-items:center;justify-content:space-between}
.logo img{height:32px;width:auto}
.nav ul{list-style:none;display:flex;gap:clamp(22px,3vw,40px);margin:0;padding:0}
.nav ul a{display:block;font:600 .8rem/1 Lato,sans-serif;letter-spacing:.06em;color:var(--navy);text-decoration:none;padding:30px 0 28px;border-bottom:2px solid transparent}
.nav ul a:hover{color:var(--red)}.nav ul a.active{color:var(--red);border-color:var(--red)}
#navtoggle{position:absolute;opacity:0;pointer-events:none}.burger{display:none;cursor:pointer;width:26px;height:18px;position:relative}
.burger span,.burger:before,.burger:after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--navy);transition:.2s}
.burger:before{top:0}.burger span{top:8px}.burger:after{bottom:0}
#navtoggle:checked+.burger:before{top:8px;transform:rotate(45deg)}#navtoggle:checked+.burger:after{bottom:8px;transform:rotate(-45deg)}#navtoggle:checked+.burger span{opacity:0}
@media(max-width:900px){.burger{display:block}.nav ul{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;gap:0;padding:4px var(--gut) 16px;border-bottom:1px solid var(--line);box-shadow:0 16px 28px rgba(20,24,50,.06)}.nav ul a{padding:18px 0;border:0;border-bottom:1px solid var(--line);font-size:.95rem}.nav ul li:last-child a{border-bottom:0}#navtoggle:checked~ul{display:flex}}
/* home hero */
.hero{position:relative;min-height:calc(100svh - 76px);display:flex;align-items:center;color:#fff;padding:var(--sp) 0;background:var(--navy) url(/assets/img/hero-flag.jpg) 30% center/cover no-repeat}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(270deg,rgba(16,20,40,.9) 0%,rgba(16,20,40,.72) 38%,rgba(16,20,40,.2) 68%,rgba(16,20,40,.05) 100%)}
.hero .wrap{position:relative;width:100%;display:flex;justify-content:flex-end}
.hero-text{width:min(460px,100%)}
.hero h1{color:#fff;font-weight:400;font-size:clamp(2.6rem,4.6vw,3.9rem);letter-spacing:-.02em;line-height:1.05}
.hero h1:after{content:"";display:block;width:48px;height:2px;background:var(--red);margin:28px 0 0}
.hero .lead{color:rgba(255,255,255,.85);margin-top:24px}
.btn-outline{display:inline-block;margin-top:36px;padding:14px 28px;border:1px solid rgba(255,255,255,.7);color:#fff;text-decoration:none;font:600 .78rem/1 Lato,sans-serif;letter-spacing:.14em;text-transform:uppercase;transition:.2s}
.btn-outline:hover{background:#fff;color:var(--navy);border-color:#fff}
@media(max-width:900px){.hero{background-image:url(/assets/img/hero-flag-sm.jpg);background-position:28% center;align-items:flex-end;min-height:calc(100svh - 76px);padding:0 0 64px}
.hero:before{background:linear-gradient(180deg,rgba(16,20,40,.05) 0%,rgba(16,20,40,.15) 35%,rgba(16,20,40,.75) 62%,rgba(16,20,40,.92) 100%)}.hero .wrap{justify-content:flex-start}}
/* page hero */
.phero{padding:calc(var(--sp)*.95) 0 calc(var(--sp)*.75);background:var(--soft);border-bottom:1px solid var(--line)}
.phero .lead{max-width:640px}
.phero+section:not(.soft){padding-top:var(--sp)}
/* focus cards */
.fcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.fcard{background:#fff;padding:clamp(32px,4vw,52px);box-shadow:0 1px 2px rgba(20,24,50,.04),0 12px 32px rgba(20,24,50,.05);display:flex;flex-direction:column}
section:not(.soft) .fcard{background:var(--soft);box-shadow:none}
.icon{width:40px;height:40px;color:var(--red);margin-bottom:28px}
.fcard h3{font-size:1.4rem;font-weight:500}.fcard p{color:var(--muted);margin-top:16px}
/* investments */
.grid-label{font:600 .8rem/1 Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:40px}
.logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.logo-tile{margin:0;background:#fff;padding:40px 28px 24px;display:flex;flex-direction:column;align-items:center;gap:20px}
.logo-img{height:96px;width:100%;display:flex;align-items:center;justify-content:center}
.logo-img img{max-height:80px;max-width:78%;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter .25s,opacity .25s;mix-blend-mode:multiply}
.logo-tile:hover .logo-img img{filter:none;opacity:1}
.logo-tile figcaption{font:600 .66rem/1 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#9a9ea9}
/* team */
.founder{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(40px,7vw,112px);align-items:center}
.founder img{width:100%;aspect-ratio:4/5;object-fit:cover}
.team{display:grid;gap:56px 40px;grid-template-columns:repeat(3,minmax(0,1fr))}
.person img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;background:#e9e7e2}
.person h3{margin-top:28px}.role{color:var(--muted);font-size:.95rem;margin:6px 0 0}.loc{color:#8a8e99;font-size:.88rem;margin:2px 0 0}
/* media */
.gallery{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}.gallery img{width:100%;aspect-ratio:1;object-fit:cover}
.two{display:grid;gap:10px;grid-template-columns:1fr 1fr}.two img{width:100%;aspect-ratio:3/2;object-fit:cover}
.video{position:relative;aspect-ratio:16/9;background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.two-video{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:64px}
.narrowv{margin-top:64px}
.episode{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,96px);padding:64px 0;border-top:1px solid var(--line)}
.video+.episode{margin-top:72px}
.episode h3{font-size:1.6rem;font-weight:500}.episode p{color:var(--muted)}.episode iframe{display:block;width:100%;border:0;margin-top:24px}.episode iframe+iframe{margin-top:12px}
.press{display:grid;gap:40px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:72px}
.press a{text-decoration:none;font:500 1.1rem/1.45 Lato,sans-serif;color:var(--navy);border-top:1px solid var(--line);padding-top:24px}.press a:hover{color:var(--red)}
.press span{display:block;font:600 .7rem/1 Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:14px}
blockquote{margin:40px 0 0;font:400 clamp(1.3rem,2vw,1.6rem)/1.45 Lato,sans-serif;color:var(--navy)}blockquote small{display:block;font:400 .9rem Lato;color:var(--muted);margin-top:12px}blockquote small:before{content:"— "}
@media(max-width:960px){.split,.founder,.episode,.two-video{grid-template-columns:1fr}.split{gap:24px}.episode{gap:16px}.founder img{max-width:400px}.team,.press{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){body{font-size:16px}.fcards,.team,.press{grid-template-columns:1fr}.logos{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-tile{padding:28px 14px 18px}.logo-img{height:72px}.logo-img img{max-height:60px}.gallery,.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.section-head{margin-bottom:40px}}
/* footer */
footer{background:#fff;border-top:1px solid var(--line);padding:80px 0 40px;color:var(--muted);font-size:.95rem}
footer .wrap:before{content:"";display:block;width:48px;height:2px;background:var(--red);margin-bottom:48px}
footer p{max-width:none}footer a{color:var(--navy);text-decoration:none}footer a:hover{color:var(--red)}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
footer h4{font:600 .72rem/1 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--navy);margin:0 0 18px}
.flogo img{height:36px;width:auto}.flogo+p{margin-top:18px}
.disc{border-top:1px solid var(--line);margin:56px 0 0;padding-top:28px;font-size:.74rem;line-height:1.75;color:#8f93a0}
.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px;font-size:.82rem;color:#8f93a0}
@media(max-width:900px){.fgrid{grid-template-columns:1fr;gap:32px}footer{padding:64px 0 32px}}
/* ===== brand v6: warm barn palette ===== */
:root{--navy:#1b2238;--red:#9f3b33;--wood:#7a5a3c;--cream:#f7f2ea;--soft:#efe7da;--line:#e2d8c8;--ink:#2a2620;--muted:#6b6255}
body{background:var(--cream);color:var(--ink)}
header{background:rgba(247,242,234,.95);border-bottom-color:var(--line)}
.nav ul{background:transparent}@media(max-width:900px){.nav ul{background:var(--cream)}}
.eyebrow{color:var(--red)}
.soft{background:var(--soft)}
.fcard{background:var(--cream);box-shadow:0 1px 2px rgba(60,40,20,.05),0 14px 34px rgba(60,40,20,.07)}
section:not(.soft) .fcard{background:#fbf8f3;box-shadow:0 1px 2px rgba(60,40,20,.05),0 14px 34px rgba(60,40,20,.06)}
.icon{color:var(--wood)}
/* inner page header echoes the hero */
.phero{position:relative;background:var(--navy) url(/assets/img/band-wood.jpg) center/cover no-repeat;border:0;color:#fff;padding:calc(var(--sp)*1.05) 0 calc(var(--sp)*.85)}
.phero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,26,44,.92) 0%,rgba(22,26,44,.8) 50%,rgba(40,30,22,.55) 100%)}
.phero .wrap{position:relative}.phero h1{color:#fff;font-weight:400}.phero h1:after{content:"";display:block;width:48px;height:2px;background:var(--red);margin-top:28px}
.phero .eyebrow{color:#e6d6bf}.phero .lead{color:rgba(255,255,255,.82)}
.hero:before{background:linear-gradient(270deg,rgba(22,26,44,.9) 0%,rgba(22,26,44,.72) 38%,rgba(40,30,22,.22) 68%,rgba(40,30,22,.05) 100%)}
@media(max-width:900px){.hero:before{background:linear-gradient(180deg,rgba(40,30,22,.05) 0%,rgba(22,26,44,.18) 35%,rgba(22,26,44,.78) 62%,rgba(22,26,44,.94) 100%)}}
.btn-outline:hover{background:var(--cream);color:var(--navy);border-color:var(--cream)}
.link{border-bottom-color:var(--red);color:var(--navy)}
.logos{background:var(--line);border-color:var(--line)}.logo-tile{background:#fbf8f3}.logo-tile figcaption{color:#a39885}
.person img{background:var(--soft)}
.press a,.episode{border-top-color:var(--line)}
/* footer: deep navy with warm text would be a slab; keep cream with wood rule */
footer{background:var(--soft);border-top:0}
footer .wrap:before{background:var(--red)}
.disc{border-top-color:var(--line);color:#8e8474}.legal{color:#8e8474}
@media(max-width:900px){.hero{background-position:22% top;background-size:auto 70%;background-color:#1b2238}.hero:before{background:linear-gradient(180deg,rgba(22,26,44,0) 0%,rgba(22,26,44,.25) 38%,rgba(27,34,56,.96) 66%,#1b2238 72%)}.hero h1{font-size:2.6rem}}
.logo-img img{filter:grayscale(1) brightness(.6) contrast(1.6);opacity:.78}
/* hero legibility v8 */
.hero:before{background:linear-gradient(270deg,rgba(18,22,38,.82) 0%,rgba(18,22,38,.72) 34%,rgba(18,22,38,.45) 55%,rgba(18,22,38,.08) 75%,rgba(18,22,38,0) 100%)}
.hero h1{font-weight:600;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero .lead{color:rgba(255,255,255,.95);font-weight:400;font-size:clamp(1.2rem,1.7vw,1.4rem);text-shadow:0 1px 10px rgba(0,0,0,.4)}
.hero .btn-outline{background:var(--red);border-color:var(--red);color:#fff;padding:16px 32px}
.hero .btn-outline:hover{background:#fff;border-color:#fff;color:var(--navy)}
@media(max-width:900px){.hero:before{background:linear-gradient(180deg,rgba(18,22,38,0) 0%,rgba(18,22,38,.3) 38%,rgba(27,34,56,.97) 64%,#1b2238 70%)}}
@media(min-width:901px){.hero:before{background:linear-gradient(270deg,rgba(18,22,38,.82) 0%,rgba(18,22,38,.74) 45%,rgba(18,22,38,.62) 56%,rgba(18,22,38,.2) 70%,rgba(18,22,38,0) 82%)}}
/* logo grid: centered flex so 11 / 1 tiles balance */
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;background:none;border:0}
.logo-tile{flex:0 0 calc((100% - 48px)/4);border:1px solid var(--line)}
.grid-label.past{margin-top:80px}
@media(max-width:960px){.logo-tile{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:640px){.logos{gap:10px}.logo-tile{flex-basis:calc((100% - 10px)/2)}}
/* team grid matches investments */
.person-tile{padding:16px 16px 22px;gap:18px;align-items:stretch}
.person-tile img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .3s}
.person-tile:hover img{filter:none}
.person-tile figcaption{display:flex;flex-direction:column;gap:8px;text-align:center;letter-spacing:normal;text-transform:none;font:inherit}
.person-tile strong{font:600 1.05rem/1.3 Lato,sans-serif;color:var(--navy)}
.person-tile span{font:600 .66rem/1.5 Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#a39885}
.founder-quote{max-width:760px;margin:96px auto 0;text-align:center}
@media(min-width:1101px){.logos.inv .logo-tile{flex-basis:calc((100% - 64px)/5)}.logos.inv .logo-img img{max-width:84%}}
@media(min-width:1101px){.logos:not(.people) .logo-tile{flex-basis:calc((100% - 64px)/5)}}
/* ===== podcast & giving back compact ===== */
button.ep,button.intro-card,button.vcard,.thumbs button{all:unset;cursor:pointer;display:block;box-sizing:border-box}
.ep-thumb{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--navy)}
.ep-thumb.wide{aspect-ratio:16/9}.ep-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ep:hover .ep-thumb img,.intro-card:hover .ep-thumb img,.vcard:hover .ep-thumb img{transform:scale(1.04)}
.oas{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fbf8f3}.oas img{width:78%;height:auto;object-fit:contain}
.play{position:absolute;right:14px;bottom:14px;width:46px;height:46px;border-radius:50%;background:var(--red);box-shadow:0 6px 16px rgba(0,0,0,.25)}
.play:after{content:"";position:absolute;left:18px;top:14px;border-style:solid;border-width:9px 0 9px 14px;border-color:transparent transparent transparent #fff}
.intro-card{display:grid !important;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,64px);align-items:center}
.eps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.ep{background:#fbf8f3;border:1px solid var(--line);transition:box-shadow .2s}.ep:hover{box-shadow:0 12px 30px rgba(60,40,20,.08)}
.ep-meta{display:flex;flex-direction:column;gap:8px;padding:20px 20px 24px}
.ep-guest{font:600 .68rem/1 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.ep-title{font:500 1.05rem/1.4 Lato,sans-serif;color:var(--navy)}
.guests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:80px;padding-top:48px;border-top:1px solid var(--line)}.guests p{color:var(--muted);font-size:.95rem}
.oasbg{background:var(--navy);display:flex;align-items:center;justify-content:center}.pl{color:#fff;font:600 .8rem Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase}
/* tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:56px;border-bottom:1px solid var(--line)}
.tabs button{all:unset;cursor:pointer;font:600 .8rem/1 Lato,sans-serif;letter-spacing:.06em;color:var(--muted);padding:16px 18px;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected=true]{color:var(--navy);border-color:var(--red)}.tabs button:hover{color:var(--red)}
.panel h2{margin-bottom:32px}.panel .split h2{margin-bottom:0}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.thumbs button:nth-child(n+9){display:none}.thumbs.open button{display:block}
.thumbs img{width:100%;aspect-ratio:1;object-fit:cover;transition:opacity .2s}.thumbs button:hover img{opacity:.85}
.view-all{all:unset;cursor:pointer;display:inline-block;margin-top:24px;font:600 .78rem/1 Lato,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--navy);padding:14px 22px;border:1px solid var(--navy)}.view-all:hover{background:var(--navy);color:#fff}
.vcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}.vcard .ep-title{display:block;margin-top:14px}
/* modal */
#modal{border:0;padding:0;background:transparent;max-width:min(960px,92vw);width:100%;overflow:visible}
#modal::backdrop{background:rgba(16,18,30,.82);backdrop-filter:blur(3px)}
.modal-close{position:absolute;top:-48px;right:0;background:none;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}
.modal-body{background:var(--cream);padding:24px}.modal-body h3{margin-bottom:16px}
.modal-body iframe{display:block;width:100%;border:0}.modal-body.audio iframe{height:220px}
.modal-body.video{padding:0;background:#000}.modal-body.video h3{display:none}.modal-body.video iframe{aspect-ratio:16/9;height:auto}
.modal-body.img{padding:0;background:none}.modal-body.img img{max-height:86vh;width:auto;max-width:100%;margin:auto}
@media(max-width:960px){.intro-card{grid-template-columns:1fr !important;gap:24px}.eps,.vcards{grid-template-columns:repeat(2,minmax(0,1fr))}.guests{grid-template-columns:1fr;gap:28px}}
@media(max-width:640px){.eps{grid-template-columns:1fr 1fr;gap:16px}.ep-meta{padding:14px}.ep-title{font-size:.92rem}.play{width:36px;height:36px;right:10px;bottom:10px}.play:after{left:14px;top:10px;border-width:8px 0 8px 12px}.thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.thumbs button:nth-child(n+7){display:none}.thumbs.open button{display:block}.vcards{grid-template-columns:1fr}.tabs{flex-wrap:nowrap;overflow-x:auto;gap:0}.tabs button{white-space:nowrap;padding:14px 12px}}
.intro-card{display:flex !important;align-items:center;gap:clamp(28px,5vw,64px)}.intro-card .ep-thumb{flex:0 0 52%}.intro-meta{display:block}
.ep .ep-thumb{aspect-ratio:3/2}
@media(max-width:960px){.intro-card{flex-direction:column;align-items:stretch}.intro-card .ep-thumb{flex:none}}
button.intro-card{display:flex;align-items:center;gap:clamp(28px,5vw,64px);width:100%}
button.ep{display:flex;flex-direction:column;align-self:stretch;background:#fbf8f3;border:1px solid var(--line)}
@media(max-width:960px){button.intro-card{flex-direction:column;align-items:stretch;gap:24px}}

/* HERO-A */
.xh .box,.xh .in{--r:28px}.xh h1{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.005em;line-height:1;margin:0;text-wrap:balance}.xh h1:after{content:"";display:block;width:44px;height:2px;background:#b5473d;margin:var(--r) 0}.xh .kick{display:block;font:700 .68rem/1 Lato,sans-serif;letter-spacing:.24em;text-transform:uppercase;margin:0 0 18px}.def{max-width:40ch}.def .pron{font-family:"Cormorant Garamond",serif;font-size:1.2rem;line-height:1.3;margin:0 0 12px}.def .pron span{font:700 .64rem Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase;opacity:.75;margin-left:6px}.def ol{margin:0;padding-left:1.15em;font:400 1rem/1.6 Lato,sans-serif}.def li{margin:0 0 6px;padding-left:4px}.def li::marker{font-family:"Cormorant Garamond",serif;font-weight:500}.hbtn{display:inline-block;margin-top:var(--r);font:700 .72rem/1 Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:16px 28px;border:1px solid currentColor;transition:.2s}
.xa{position:relative;min-height:calc(100svh - 76px);display:flex;align-items:center;background:#c9a77f url(/assets/img/hero-flag.jpg) 0% 62%/cover no-repeat;filter:saturate(1.02)}
.xa .wrap{width:100%;max-width:none;display:flex;justify-content:flex-end;padding-right:clamp(32px,5.5vw,96px)}.xa .box{width:min(370px,100%);color:#fff8ee;position:relative;z-index:0}
.xa .box:before{content:"";position:absolute;inset:-90px -140px -90px -110px;background:radial-gradient(ellipse at 45% 50%,rgba(48,30,16,.6) 0%,rgba(48,30,16,.38) 42%,rgba(48,30,16,0) 70%);z-index:-1}
.xa h1{font-size:clamp(3.2rem,5vw,4.5rem);color:#fff8ee;text-shadow:0 2px 18px rgba(40,25,10,.45)}.xa .def{text-shadow:0 1px 10px rgba(40,25,10,.6)}.xa .def ol{font-size:1.05rem}
.xa .hbtn{color:#fff8ee;border:1px solid rgba(255,248,238,.8)}.xa .hbtn:hover{background:#fff8ee;color:#1b2238}
.xa .box:before{inset:-80px -90px -80px -70px}.xa h1{font-size:clamp(3rem,4.2vw,4rem)}
@media(max-width:700px){.xa{min-height:auto;display:block;padding:0;background:#3b2a1c url(/assets/img/hero-flag-sm.jpg) 8% top/auto 62vh no-repeat}.xa .wrap{padding:calc(62vh - 40px) var(--gut) 56px;justify-content:flex-start;background:linear-gradient(180deg,rgba(59,42,28,0) 0,rgba(59,42,28,0) calc(62vh - 140px),#3b2a1c calc(62vh - 10px))}.xa .box{width:100%}.xa .box:before{display:none}.xa h1{font-size:2.8rem}}
@media(min-width:1101px){.logos.inv .logo-tile{flex-basis:calc((100% - 48px)/4)}}
@media(min-width:701px) and (max-width:1100px){.xa{min-height:0;height:71.4vw;max-height:none;padding:0;background-size:100% auto;background-position:left top;align-items:center}.xa .wrap{padding-right:clamp(20px,3.5vw,40px)}.xa .box{width:calc(33vw - 24px)}.xa .box:before{inset:-50px -40px -50px -40px}.xa h1{font-size:clamp(2.1rem,4.4vw,3rem)}.xa .box{--r:18px}.xa .def .pron{font-size:1rem}.xa .def ol{font-size:clamp(.82rem,1.6vw,.95rem);line-height:1.5}.xa .hbtn{padding:13px 20px}}
@media(min-width:1101px){.xa{min-height:min(calc(100svh - 76px),62vw);height:auto;max-height:62vw;background-position:0% 96%}}
@media(min-width:701px) and (max-width:1100px){.xa{height:62vw;background-size:100% auto;background-position:left 96%}}

/* FOCUS-B */
.fb{background:#f7f2ea;padding:96px 0}.pil{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #d9ccb8}.pil article{padding:36px 28px 40px;border-right:1px solid #d9ccb8}.pil article:last-child{border-right:0}.pil .big{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:4.6rem;line-height:1;color:#9f3b33;opacity:.85}.pil .icon{width:30px;height:30px;color:#1b2238;margin:22px 0 14px}.pil h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:1.7rem;color:#1b2238;margin:0 0 12px}.pil p{font-size:.95rem;line-height:1.65;color:#4a4238;margin:0}.band{position:relative;height:39vw;background:#3b2a1c url(/assets/img/hero-flag.jpg) left bottom/100% auto no-repeat;display:flex;align-items:center}.band .wrap{width:100%;max-width:none;display:flex;justify-content:flex-end;padding-right:clamp(24px,4.5vw,80px)}.band .bq{position:relative;z-index:0;width:calc(33vw - 30px);font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-style:italic;color:#fff8ee;font-size:clamp(1.3rem,2.3vw,2.3rem);line-height:1.25;margin:0;text-shadow:0 1px 3px rgba(30,18,8,.55),0 2px 16px rgba(30,18,8,.6)}.band .bq:before{content:"";position:absolute;inset:-70px -70px;background:radial-gradient(ellipse at center,rgba(42,26,14,.85) 0%,rgba(42,26,14,.6) 45%,rgba(42,26,14,0) 72%);z-index:-1}@media(max-width:900px){.pil{grid-template-columns:1fr 1fr}.pil article:nth-child(2){border-right:0}}@media(max-width:700px){.band{display:block;height:auto;background-size:100% auto;background-position:left top;padding-top:71.4vw}.band .wrap{background:#3b2a1c;padding:36px var(--gut) 48px;justify-content:flex-start}.band .bq{width:100%;font-size:1.6rem}.band .bq:before{display:none}.pil{grid-template-columns:1fr}.pil article{border-right:0;border-bottom:1px solid #d9ccb8}}
/* FOCUS-2 */
.f2{background:#f7f2ea;padding:clamp(56px,7vw,96px) 0}
.f2list{max-width:none;margin:0;border-top:1px solid #d9ccb8}
.f2list article{display:grid;grid-template-columns:64px minmax(0,340px) 1fr;gap:40px;align-items:start;padding:40px 0;border-bottom:1px solid #d9ccb8}
.f2list .n{padding-top:9px;font:700 .72rem Lato,sans-serif;letter-spacing:.2em;color:#9f3b33}
.f2list .t{display:flex;align-items:center;gap:14px}
.f2list .icon{width:22px;height:22px;color:#7a5a3c;flex:none}
.f2list h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:1.75rem;line-height:1.15;color:#1b2238;margin:0;letter-spacing:0}
.f2list h2:after{display:none}
.f2list p{margin:0;font-size:1rem;line-height:1.7;color:#4a4238;max-width:58ch}
@media(max-width:820px){.f2list article{grid-template-columns:1fr;gap:12px;padding:32px 0}.f2list h2{font-size:1.55rem}}
/* SERIF-HEADINGS */
h1,h2,h3,.person-tile strong,.ep-title,.press a,blockquote,.founder-quote{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.005em}
h1{line-height:1.02}h2,h3{line-height:1.15}
.phero h1{font-size:clamp(2.6rem,4.4vw,3.8rem)}
h2.grid-label,footer h4{font-family:Lato,sans-serif;font-weight:700}
.person-tile strong{font-size:1.3rem;font-weight:500}
.ep-title{font-size:1.25rem;line-height:1.3}
.press a{font-size:1.3rem;line-height:1.35}
blockquote{font-size:clamp(1.5rem,2.3vw,1.9rem);line-height:1.35}
body{font-family:Lato,sans-serif}
/* COMPACT-SPACING */
:root{--sp:clamp(44px,5vw,72px)}
.phero{padding:clamp(48px,5.5vw,80px) 0 clamp(40px,4.5vw,64px)}
.phero h1:after{margin-top:20px}
.phero+section,.phero+section:not(.soft){padding-top:clamp(32px,4vw,56px)}
.tabs{margin-bottom:32px}.panel h2{margin-bottom:20px}
.grid-label{margin-bottom:24px}
.f2{padding:clamp(32px,4vw,56px) 0 var(--sp)}
@media(max-width:700px){.xa{background-size:165vw auto;background-position:11% -12vw}.xa .wrap{padding-top:100vw;background:linear-gradient(180deg,rgba(59,42,28,0) 0,rgba(59,42,28,0) 92vw,#3b2a1c 105vw)}}
/* FOOTER-REFINE */
footer .wrap:before{display:none}
footer{padding:56px 0 32px}
footer .fgrid>div:first-child p{margin:12px 0 0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(1.3rem,1.7vw,1.55rem);line-height:1.25;color:#5a4130}
footer .flogo{display:inline-block;line-height:0}
footer .fgrid>div:first-child p{font-size:1.1rem;line-height:1.3;max-width:180px;margin-top:10px}
@media(max-width:640px){footer .fgrid>div:first-child p{font-size:1rem}}
/* WIDE-SCREEN */
.nav{max-width:none;padding:0 clamp(20px,3.5vw,56px)}
footer .wrap{max-width:none;padding:0 clamp(20px,3.5vw,56px)}
@media(min-width:1600px){.xa{background-image:url(/assets/img/hero-flag-xl.jpg);height:min(42vw,calc(100vh - 76px));min-height:32vw;max-height:none;background-size:100% auto;background-position:0% 86%}.xa .wrap{padding-right:clamp(56px,6vw,160px)}.xa .box{width:min(420px,24vw)}.xa h1{font-size:clamp(4rem,3.2vw,5rem)}.xa .def ol{font-size:1.1rem}}
footer .fgrid>div:first-child p{font-size:.92rem;max-width:none;white-space:nowrap}
@media(max-width:640px){footer .fgrid>div:first-child p{font-size:.95rem}}
/* COCOA-CAPTION */
.logo-tile.cap{position:relative}
.logo-tile.cap figcaption{position:absolute;left:0;right:0;bottom:12px;text-align:center;font:400 .82rem/1 Lato,sans-serif;font-variant:small-caps;text-transform:none;letter-spacing:.08em;color:#8a8070;filter:none;transition:none}
.logo-tile.cap:hover figcaption{color:#8a8070;filter:none}
.logo-tile.cap .logo-img img{max-height:56px;transform:translateY(-8px)}
/* PROJECTS */
.tlink{display:inline-block;margin-left:2px;font:700 .72rem Lato,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#9f3b33;text-decoration:none;border-bottom:1px solid rgba(159,59,51,.35);padding-bottom:2px;white-space:nowrap}
.tlink:hover{border-color:#9f3b33}
.f2list p .tlink{display:table;margin-top:14px}
.pcard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:#fbf8f3;border:1px solid var(--line)}
.pcover{all:unset;cursor:zoom-in;display:block}.pcover img{display:block;width:100%;height:100%;min-height:420px;object-fit:cover}
.pbody{padding:clamp(28px,3.5vw,48px)}.plogo{height:54px;width:auto;margin-bottom:18px;mix-blend-mode:multiply}
.pbody h2{font-size:clamp(1.9rem,2.6vw,2.4rem);color:#1b2238;margin:0}
.ploc{font:700 .7rem Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#9f3b33;margin:10px 0 18px}
.pbody p{font-size:.98rem;line-height:1.7;color:#4a4238}
.pthumbs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:22px}
.pthumbs button{all:unset;cursor:zoom-in;display:block}.pthumbs img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
@media(max-width:900px){.pcard{grid-template-columns:1fr}.pcover img{min-height:0;aspect-ratio:4/3}.pthumbs{grid-template-columns:repeat(3,minmax(0,1fr))}}
a.logo-tile{text-decoration:none;color:inherit}
a.logo-tile:hover,a.logo-tile:focus{text-decoration:none}
.logo-tile.cap .logo-img img{max-height:96px;max-width:96px;transform:translateY(-10px)}
.logo-tile.cap figcaption{bottom:10px}
.logo-tile.cap figcaption{font-size:1.2rem;letter-spacing:.03em;white-space:nowrap}
@media(max-width:640px){.logo-tile.cap figcaption{font-size:clamp(.8rem,3.6vw,1rem);letter-spacing:0;bottom:8px}.logo-tile.cap .logo-img img{max-height:64px}}
.logo-tile.cap figcaption,.logo-tile.cap:hover figcaption{color:#111}
.pcover img{object-position:right center}
/* PROJECTS-2 */
.pcard{align-items:stretch}
.pcover{position:relative;overflow:hidden}.pcover img{position:absolute;inset:0;min-height:0;height:100%}
.pbody{display:flex;flex-direction:column;align-items:center;padding:clamp(32px,3.5vw,52px) clamp(28px,3.5vw,52px)}
.plogo{width:240px;max-width:80%;height:auto;margin:0 0 14px}
.ploc{text-align:center;font-size:.66rem;letter-spacing:.2em;white-space:nowrap;margin:0 0 22px}
.pbody>p:not(.ploc){max-width:52ch;text-align:left;font-size:1rem;line-height:1.75;margin:0}
.pthumbs{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}
.pthumbs img{aspect-ratio:4/3}
@media(max-width:900px){.pcover{aspect-ratio:3/2}.pcover img{position:absolute}.pthumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.plogo{width:200px}}
.ploc{font-size:.68rem;letter-spacing:.16em}
@media(max-width:900px){.pcard{grid-template-columns:minmax(0,1fr)}.pbody{min-width:0}.ploc{font-size:.6rem;letter-spacing:.1em}}
/* FOCUS-ACCORDION */
.pcover img{object-position:18% center}
.f2list .acc{border-bottom:1px solid #d9ccb8;interpolate-size:allow-keywords}
.f2list .acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:64px 1fr 24px;align-items:center;gap:24px;padding:26px 0}
.f2list .acc summary::-webkit-details-marker{display:none}
.f2list .acc summary:focus-visible{outline:2px solid #9f3b33;outline-offset:4px}
.f2list .acc .n{padding-top:0}
.f2list .acc h2{font-size:1.75rem}
.f2list .pm{position:relative;width:16px;height:16px;justify-self:end}
.f2list .pm:before,.f2list .pm:after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;background:#7a5a3c;transition:transform .3s}
.f2list .pm:after{transform:rotate(90deg)}
.f2list .acc[open] .pm:after{transform:rotate(0)}
.f2list .acc::details-content{block-size:0;overflow:hidden;transition:block-size .35s ease,content-visibility .35s allow-discrete}
.f2list .acc[open]::details-content{block-size:auto}
.f2list .accb{padding:0 0 28px 88px}
.f2list .accb p{margin:0;max-width:62ch}
.f2list summary:hover h2{color:#9f3b33}
@media(max-width:820px){.f2list .acc summary{grid-template-columns:36px 1fr 20px;gap:12px;padding:22px 0}.f2list .acc h2{font-size:1.45rem}.f2list .accb{padding:0 0 24px 48px}}
/* PROJECTS-3 stacked */
.pcard{grid-template-columns:minmax(0,1fr)}
.pcover{position:static;overflow:visible}.pcover img{position:static;width:100%;height:auto;min-height:0;aspect-ratio:auto;object-fit:contain}
.pbody{padding:clamp(32px,4vw,56px) clamp(20px,4vw,56px)}
.pbody>p:not(.ploc){max-width:68ch;text-align:center}
.pthumbs{max-width:960px;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:32px}
@media(max-width:900px){.pcover{aspect-ratio:auto}.pthumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.pbody>p:not(.ploc){text-align:left}}
