@font-face{font-family:'Libre Caslon Text';src:url(fonts/libre-caslon-text-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Playfair Display';src:url(fonts/playfair-display-latin-600-italic.woff2) format('woff2');font-weight:600;font-style:italic;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url(fonts/manrope-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{--cr:#F7F1E6;--tc:#2F4A3A;--ol:#9C4522;--ink:#2A211B;--mut:#75675C;--ln:#E3D6C3}
*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;background:var(--cr);color:var(--ink);font:17px/1.7 Manrope,system-ui,sans-serif}a{color:var(--tc)}
h1,h2,h3{font-family:'Libre Caslon Text',serif;font-weight:700;letter-spacing:-.01em;line-height:1.08;margin:0 0 .45em}em{font-family:'Playfair Display';font-weight:600;font-style:italic;color:var(--tc)}
header{display:flex;align-items:center;justify-content:space-between;padding:22px 5vw;gap:20px}
.logo{font-family:'Libre Caslon Text';font-size:1.7rem;text-decoration:none;color:var(--ink)}.logo small{display:block;font-family:Manrope;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ol);margin-top:-4px}
nav.top{display:flex;gap:26px;align-items:center}nav.top a{color:var(--ink);text-decoration:none;font-weight:700;font-size:.92rem}
.cta{background:var(--tc);color:#fff!important;padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:700;display:inline-block}
.cta.o{background:transparent;color:var(--tc)!important;border:2px solid var(--tc)}
.navtoggle{display:none}
.hero{padding:40px 5vw 0;display:grid;grid-template-columns:1.05fr 1fr;gap:5vw;align-items:end}
.hero h1{font-size:clamp(2.8rem,6vw,5.4rem)}.hero p.lede{font-size:1.2rem;color:var(--mut);max-width:34ch}
.hero img{width:100%;border-radius:220px 220px 0 0;aspect-ratio:4/5;object-fit:cover}
.band{background:var(--tc);color:#F2EEDF;padding:26px 5vw;display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;font-weight:700}
.journey{padding:96px 5vw;max-width:1100px;margin:0 auto}.journey h2{font-size:3rem;text-align:center}
.tl{position:relative;margin-top:56px}.tl:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px dashed var(--tc)}
.st{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin-bottom:56px;position:relative}.st:after{content:"";position:absolute;left:calc(50% - 9px);top:8px;width:18px;height:18px;border-radius:50%;background:var(--tc)}
.st .g{text-align:right;font-family:'Libre Caslon Text';font-size:2rem;color:var(--tc)}.st:nth-child(even) .g{order:2;text-align:left}
.svc{padding:90px 5vw;background:#FBF7F0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1200px;margin:0 auto;grid-auto-flow:dense}.bento .card:first-child{grid-column:span 2;grid-row:span 2;background:var(--tc);color:#F2EEDF;border:0}.bento .card:first-child h3{font-size:2.8rem}.bento .card:first-child .k,.bento .card:first-child a{color:#F2EEDF}.bento .card:first-child ul{margin:6px 0 0;padding-left:20px;font-size:1.05rem;line-height:1.9}.bento .card:nth-child(5),.bento .card:nth-child(7){grid-column:span 2}.grid>*{min-width:0}.dimg{width:100%;flex:1;min-height:180px;max-height:340px;object-fit:cover;border-radius:16px;margin-top:22px}.bento .card:first-child p{font-size:1.15rem}
.card{background:#fff;border-radius:24px;padding:34px;border:1px solid var(--ln);display:flex;flex-direction:column}.card .k{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ol);font-weight:700}
.card h3{font-size:1.8rem;margin-top:8px}.card .pr{margin-top:auto;font-weight:700;padding-top:16px}
.quote{padding:90px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;max-width:1200px;margin:0 auto}.quote img{width:100%;border-radius:24px}
.disc{font-size:.85rem;color:var(--mut);border-left:3px solid var(--ol);padding-left:14px}
.sd{display:grid;grid-template-columns:1.4fr 1fr;gap:5vw;padding:40px 5vw 90px;max-width:1240px;margin:0 auto;align-items:start}
.sd h1{font-size:clamp(2.6rem,5vw,4.2rem)}.box{position:sticky;top:24px;background:#fff;border-radius:28px;padding:34px;border:1px solid var(--ln)}
.box .pr{font-family:'Libre Caslon Text';font-size:2.6rem}.box ul{padding-left:18px}
.sd img{width:100%;border-radius:24px;margin:20px 0}
details.f{background:#fff;border:1px solid var(--ln);border-radius:18px;padding:18px 24px;margin-bottom:12px}details.f summary{cursor:pointer;font-weight:700}
.tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:34px}.tabs button{font:inherit;font-weight:700;background:#fff;border:1px solid var(--ln);border-radius:999px;padding:9px 18px;cursor:pointer}.tabs button[aria-pressed=true]{background:var(--ol);color:#fff;border-color:var(--ol)}
footer{background:var(--ink);color:#D9CDBE;padding:56px 5vw;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;font-size:.92rem}footer a{color:#F0C9AE}footer .logo{color:#fff}
@media(max-width:900px){nav.top{display:none}.navtoggle{display:block;background:none;border:2px solid var(--ink);border-radius:999px;padding:6px 14px;font:inherit;font-weight:700}
body.navopen nav.top{display:flex;flex-direction:column;position:absolute;top:80px;left:0;right:0;background:var(--cr);padding:20px;z-index:9;align-items:flex-start}
.hero,.quote,.sd,footer{grid-template-columns:1fr}.hero img{border-radius:160px 160px 0 0}.grid{grid-template-columns:1fr}.bento .card:first-child,.bento .card:nth-child(5),.bento .card:nth-child(7){grid-column:auto;grid-row:auto}.bento .card:first-child h3{font-size:2rem}
.tl:before{left:8px}.st{grid-template-columns:1fr;gap:6px;padding-left:36px}.st:after{left:0}.st .g,.st:nth-child(even) .g{text-align:left;order:0}.box{position:static}}