:root{--navy:#0B2545;--cream:#F6F3EC;--paper:#FFFDF8;--stone:#ECE7DA;--ink:#15181C;--soft:#4A5058;--muted:#8A8272;--gold:#A8823B;--gold-l:#C9A24D;--line:#DCD5C5;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
a:hover{color:var(--gold);}
h1,h2,h3{margin:0;}
p{margin:0;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold);}
.serif{font-family:'Newsreader',Georgia,serif;font-weight:300;}
.btn{display:inline-block;padding:14px 24px;font-size:14px;font-weight:500;border:1px solid transparent;cursor:pointer;font-family:inherit;}
.btn-gold{background:var(--gold);color:var(--navy);}
.btn-gold:hover{background:var(--gold-l);color:var(--navy);}
.btn-navy{background:var(--navy);color:var(--cream);}
.btn-navy:hover{background:#122E56;color:var(--cream);}
.btn-line{border-color:#C9C2B2;color:var(--navy);}
.btn-line:hover{border-color:var(--navy);}
.btn-ghost{border-color:rgba(244,241,234,.4);color:#F4F1EA;}
.btn-ghost:hover{border-color:#F4F1EA;color:#F4F1EA;}

/* header */
.topbar{background:var(--navy);color:rgba(244,241,234,.72);font-family:'IBM Plex Mono',monospace;font-size:11.5px;letter-spacing:1.2px;}
.topbar .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:9px 32px;}
.topbar a:hover{color:#fff;}
.topbar .links{display:flex;gap:26px;flex-wrap:wrap;}
header{position:sticky;top:0;z-index:40;background:rgba(246,243,236,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.head{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 32px;max-width:1160px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:18px;}
.brand img{width:104px;height:104px;flex-shrink:0;}
.brand .lock{display:inline-flex;flex-direction:column;align-items:center;line-height:1.2;}
.brand .name{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:27px;letter-spacing:.4px;color:var(--navy);}
.brand .sub{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:1.6px;color:var(--muted);margin-top:4px;}
nav.main{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:500;flex-wrap:wrap;justify-content:flex-end;}
nav.main a{padding:4px 0;border-bottom:1px solid transparent;}
nav.main a.is-active{border-bottom-color:var(--gold);}
nav.main a.cta{background:var(--navy);color:var(--cream);padding:12px 20px;font-size:13px;letter-spacing:.3px;border:none;}
nav.main a.cta:hover{background:#122E56;color:var(--cream);}
.burger{display:none;}

/* sections */
section{padding:76px 0;}
section.hero-dark{background:var(--navy);color:#F4F1EA;}
.hero-dark .eyebrow{color:var(--gold-l);}
.hero-dark .lead{color:rgba(244,241,234,.76);}
.hero-dark h1.display,.hero-dark h2.display,.hero-dark h3{color:#F4F1EA;}
.hero-dark .hair{background:rgba(244,241,234,.16);}
.hero-dark .hair>*{background:var(--navy);}
.hero-dark .kv .k{color:rgba(244,241,234,.55);}
section.dark{background:var(--navy);color:#F4F1EA;}
section.stone{background:var(--stone);}
.dark .eyebrow{color:var(--gold-l);}
.lead{font-size:17px;line-height:1.7;font-weight:300;color:var(--soft);}
.dark .lead{color:rgba(244,241,234,.76);}
h1.display{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:56px;line-height:1.1;letter-spacing:-.5px;color:var(--navy);text-wrap:pretty;}
.dark h1.display{color:#F4F1EA;}
h2.display{font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:34px;line-height:1.2;color:var(--navy);}
.dark h2.display{color:#F4F1EA;}
h3{font-size:17px;font-weight:500;color:var(--navy);}
.dark h3{color:#F4F1EA;}
.sec-head{max-width:600px;margin-bottom:44px;display:flex;flex-direction:column;gap:18px;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.grid2u{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.hair{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);}
.hair>*{background:var(--cream);padding:26px 22px;}
.dark .hair{background:rgba(244,241,234,.16);}
.dark .hair>*{background:var(--navy);}
.list{display:flex;flex-direction:column;gap:9px;font-family:'IBM Plex Mono',monospace;font-size:13px;}
.card{background:var(--paper);border:1px solid var(--line);padding:28px;}
.step{border-top:1px solid var(--navy);padding-top:16px;display:flex;flex-direction:column;gap:8px;}
.step .n{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gold);}
.step p{font-size:14px;font-weight:300;line-height:1.6;color:var(--soft);}
.row-item{display:grid;grid-template-columns:56px 1fr;gap:22px;padding:24px 0;border-top:1px solid var(--line);}
.row-item:last-child{border-bottom:1px solid var(--line);}
.row-item .n{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gold);}
.row-item h3{font-size:20px;margin-bottom:8px;}
.row-item p{font-size:14.5px;line-height:1.7;font-weight:300;color:var(--soft);}
.kv{display:flex;flex-direction:column;gap:12px;font-size:14.5px;}
.kv .r{display:flex;gap:14px;}
.kv .k{width:92px;flex-shrink:0;font-family:'IBM Plex Mono',monospace;font-size:11.5px;color:var(--muted);padding-top:2px;}
.dark .kv .k{color:rgba(244,241,234,.55);}
.stat{font-family:'Newsreader',Georgia,serif;font-size:34px;font-weight:300;color:var(--navy);}
.stat-l{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:1.4px;color:var(--muted);margin-top:6px;}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.svc>article{background:var(--cream);padding:36px 30px;display:flex;flex-direction:column;gap:14px;}
.svc>article:last-child{background:var(--paper);}
.svc h3{font-family:'Newsreader',Georgia,serif;font-size:24px;font-weight:400;}
.svc p{font-size:14.5px;line-height:1.65;font-weight:300;color:var(--soft);}
.svc .more{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:13px;font-weight:500;color:var(--navy);}
.vcard{border:1px solid var(--line);background:var(--paper);padding:26px 26px 20px;position:relative;}
.vcard .tag{position:absolute;top:-10px;left:22px;background:var(--navy);color:var(--cream);font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:1.5px;padding:4px 9px;}
.vcard .r{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid #E7E1D2;font-size:14px;}
.vcard .r:last-of-type{border-bottom:none;}
.vcard .r span:first-child{color:#6B6558;}
.vcard .r span:last-child{font-family:'IBM Plex Mono',monospace;text-align:right;}
.vcard .status{margin-top:16px;display:flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:1.2px;color:var(--muted);}
.vcard .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);}
blockquote{margin:0;font-family:'Newsreader',Georgia,serif;font-weight:300;font-size:31px;line-height:1.45;}
blockquote em{font-style:italic;color:var(--gold-l);}
details.faq{border-bottom:1px solid #D3CCBB;}
details.faq summary{list-style:none;cursor:pointer;padding:20px 0;font-size:16px;font-weight:500;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:16px;}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary::after{content:"+";font-size:20px;font-weight:300;color:var(--gold);}
details.faq[open] summary::after{content:"–";}
details.faq p{padding:0 0 20px;font-size:14.5px;line-height:1.7;font-weight:300;color:var(--soft);max-width:640px;}
form.contact{display:flex;flex-direction:column;gap:16px;}
form.contact .fr{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
form.contact label{display:block;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.6px;color:var(--muted);margin-bottom:6px;}
form.contact input,form.contact select,form.contact textarea{width:100%;border:1px solid var(--line);background:var(--cream);padding:12px 14px;font-size:14px;font-family:'Inter',sans-serif;color:var(--ink);}
form.contact textarea{min-height:110px;resize:vertical;}
form.contact input:focus,form.contact select:focus,form.contact textarea:focus{outline:2px solid var(--navy);outline-offset:1px;}
form.contact .fine{font-size:12px;font-weight:300;color:var(--muted);}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 64px;}
.legal-block h3{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--navy);padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:12px;}
.legal-block p{font-size:14px;line-height:1.75;font-weight:300;color:var(--soft);margin-bottom:10px;}
.legal-block .kv{margin-top:8px;font-size:14px;}
footer{background:var(--navy);color:rgba(244,241,234,.7);padding:34px 0;}
footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;}
footer .fine{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.6px;}
footer nav{display:flex;gap:24px;font-size:13px;flex-wrap:wrap;}
footer a:hover{color:#fff;}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

@media (max-width:980px){
  .grid2,.grid2u{grid-template-columns:1fr;gap:40px;}
  .grid4,.hair{grid-template-columns:1fr 1fr;}
  .svc{grid-template-columns:1fr;}
  h1.display{font-size:40px;}
  h2.display{font-size:28px;}
  blockquote{font-size:25px;}
}
@media (max-width:760px){
  section{padding:56px 0;}
  .wrap,.head,.topbar .wrap{padding-left:20px;padding-right:20px;}
  .grid4,.hair{grid-template-columns:1fr;}
  .legal-grid{grid-template-columns:1fr;}
  form.contact .fr{grid-template-columns:1fr;}
  .topbar{font-size:10.5px;}
  .brand img{width:72px;height:72px;}
  .brand .name{font-size:21px;}
  .brand .sub{font-size:9.5px;letter-spacing:1.2px;}
  .burger{display:block;font-size:26px;line-height:1;color:var(--navy);cursor:pointer;user-select:none;}
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:8px 20px 20px;}
  nav.main a{padding:14px 0;border-bottom:1px solid var(--line);}
  nav.main a.cta{margin-top:14px;text-align:center;}
  #mnav:checked ~ nav.main{display:flex;}
  h1.display{font-size:34px;}
  .row-item{grid-template-columns:1fr;gap:8px;}
}
@media print{header,.topbar,footer nav{display:none;}}
