
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700;800&display=swap');
:root{
  --ink:#262524; --ink-deep:#1d1c1b; --paper:#e4e3dc; --paper-ink:#1c1b1a;
  --cream:#f4f2ed; --cream-soft:#c9c6bd; --navy:#1e2d4a; --line-dark:rgba(255,255,255,.16);
  --line-light:rgba(0,0,0,.2);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;font-family:var(--sans);color:var(--paper-ink);background:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;}
.vpage{display:none;}
.band{padding:84px 0;}
.band-dark{background:var(--ink);color:var(--cream);}
.band-paper{background:var(--paper);color:var(--paper-ink);}
.band-deep{background:var(--ink-deep);color:var(--cream);}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
h1,h2,h3,.serif{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;}
p{margin:0 0 18px;}
a{color:inherit;}
/* header */
.hdr{display:flex;align-items:center;justify-content:space-between;padding:30px clamp(20px,4vw,52px);width:100%;}
.brand{font-family:var(--serif);font-size:1.55rem;font-weight:600;letter-spacing:.01em;cursor:pointer;}
.nav{display:flex;gap:34px;}
.nav a{font-size:.98rem;text-decoration:none;cursor:pointer;opacity:.92;padding-bottom:3px;}
.nav a:hover{opacity:1;}
.nav a.active{border-bottom:1px solid currentColor;}
.theme-dark{color:var(--cream);} .theme-light{color:var(--paper-ink);}
/* hero */
.hero{min-height:78vh;display:flex;flex-direction:column;}
.hero .wrap{flex:1;display:flex;align-items:center;}
.display{font-family:var(--serif);font-weight:600;font-size:clamp(3.2rem,9vw,6.4rem);line-height:1.0;margin:0;}
.display span{display:block;}
.mission{font-family:var(--serif);font-weight:600;font-size:clamp(1.55rem,3vw,2.5rem);line-height:1.3;margin:0;max-width:30ch;}
.contact-hero{font-family:var(--serif);font-size:clamp(3rem,8vw,5.6rem);margin:0;}
/* split intro */
.split{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;}
.split h2{font-size:clamp(2rem,4.4vw,3rem);margin:0 0 22px;}
.lead{font-size:1.12rem;max-width:46ch;}
.ey{font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;}
/* buttons */
.btn{display:inline-block;padding:15px 30px;font-weight:600;font-size:.95rem;letter-spacing:.02em;text-decoration:none;cursor:pointer;border:1px solid transparent;border-radius:0;}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:#16223a;}
.btn-white{background:#fff;color:var(--ink);} .btn-white:hover{background:#ece9e2;}
.btn-outline{border-color:currentColor;color:inherit;} .btn-outline:hover{background:rgba(255,255,255,.07);}
/* what we do rows */
.sec-title{font-size:clamp(2.4rem,6vw,4rem);margin:0 0 8px;}
.rows{margin-top:30px;}
.row{display:grid;grid-template-columns:1fr 1.7fr;gap:40px;padding:30px 0;border-top:1px solid var(--line-dark);}
.band-paper .row{border-top:1px solid var(--line-light);}
.row .rlabel{font-family:var(--serif);font-size:1.5rem;font-weight:600;}
.row .rdesc{font-size:1.05rem;color:var(--cream-soft);}
.band-paper .row .rdesc{color:#3a3833;}
.subrows .srow{padding:22px 0;border-top:1px solid var(--line-dark);}
.band-paper .subrows .srow{border-top:1px solid var(--line-light);}
.srow b{font-family:var(--serif);font-weight:700;font-size:1.15rem;display:block;margin-bottom:6px;}
.note{color:var(--cream-soft);font-size:.95rem;}
/* contact form */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:560px;}
.cform .full{grid-column:1/-1;}
.cform label{display:block;font-size:.9rem;margin-bottom:6px;font-weight:600;}
.cform input,.cform textarea{width:100%;padding:12px 14px;border:1px solid var(--line-light);background:#fbfaf7;border-radius:0;font-family:inherit;font-size:1rem;}
.cform textarea{min-height:130px;resize:vertical;}
/* footer */
.foot{background:var(--ink-deep);color:var(--cream);padding:64px 0 56px;}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;}
.foot a{display:block;color:var(--cream);text-decoration:none;opacity:.85;margin:8px 0;cursor:pointer;}
.foot a:hover{opacity:1;}
.foot .legal{max-width:34ch;color:var(--cream-soft);font-size:.92rem;line-height:1.7;text-align:right;}
.mt40{margin-top:40px;} .mt28{margin-top:28px;}
.eybr{color:var(--navy);} 
.band-dark .eybr,.band-deep .eybr{color:#9fb3d6;}
@media(max-width:820px){
  .split{grid-template-columns:1fr;gap:30px;} .row{grid-template-columns:1fr;gap:10px;}
  .cform{grid-template-columns:1fr;} .foot .wrap{flex-direction:column;} .foot .legal{text-align:left;}
}
