@media (prefers-reduced-motion:reduce){.cell,.art-card,.channels a{transition:none}.cell:hover,.art-card:hover,.channels a:hover{transform:none}}
/* Corven Law, design system
   Ink #13294B · Paper #FFFFFF · Panel #EDF1F7 · Brief-tape crimson #B5352E · Slate #55677E
   Display: Libre Caslon Text · Body: Archivo · Figures: IBM Plex Mono */

:root{
  --brass-dark:#E8B54A;
  --navy:#0A1B33;
  --navy-2:#0E2140;
  --paper:#0A1B33;
  --panel:#0E2140;
  --surface:transparent;
  --surface-hi:rgba(255,255,255,.05);
  --ink:#F5F3EE;
  --ink-dark:#F5F3EE;
  --slate:#CFDAEA;
  --slate-dark:#CFDAEA;
  --tape:#E8B54A;
  --gold:#E8B54A;
  --goldfill:#E8B54A;
  --rule:#2A3E60;
  --rule-dark:rgba(232,181,74,.22);
  --max:1120px;
  --serif:'Montserrat', Helvetica, Arial, sans-serif;
  --sans:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;text-rendering:optimizeLegibility}
a{color:var(--tape);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--tape);outline-offset:2px}
img,svg{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ---------- micro bar: dual clocks ---------- */
.microbar{background:var(--ink);color:#CBD8EA;font-family:var(--mono);font-size:12px;letter-spacing:.04em}
.microbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:34px;gap:16px}
.microbar .clocks span{margin-right:18px;white-space:nowrap}
.microbar .clocks b{color:var(--gold);font-weight:600}
.microbar .sra{white-space:nowrap}
@media(max-width:640px){.microbar .sra{display:none}}

/* ---------- header ---------- */
header.site{border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:50}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:24px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand .mark{font-family:var(--sans);font-size:24px;font-weight:800;letter-spacing:-.01em}
.brand .mark i{font-style:normal;color:var(--tape)}
.brand small{font-family:var(--mono);font-size:10px;letter-spacing:.40em;text-transform:uppercase;color:var(--slate);white-space:nowrap}
nav.main{display:flex;gap:26px;align-items:center}
nav.main a{color:var(--ink);font-size:15px;font-weight:600}
nav.main a.btn,nav.main a.btn:hover{color:#fff}
nav.main a:hover{color:var(--tape);text-decoration:none}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:14px 26px;font-weight:700;font-size:16px;font-size:15px;border:1px solid var(--ink);border-radius:2px;cursor:pointer}
.btn:hover{background:var(--tape);border-color:var(--tape);text-decoration:none;color:#fff}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
.btn.tape{background:var(--gold);border-color:var(--gold);color:#13294B}
.btn.tape:hover{background:var(--ink);border-color:var(--ink);color:#fff}
@media(max-width:860px){nav.main > a:not(.btn){display:none}nav.main{gap:0}}

/* ---------- hero ---------- */
.hero{padding:72px 0 56px;border-bottom:1px solid var(--rule)}
.hero .wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:56px;align-items:center}
.eyebrow{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tape);margin-bottom:18px}
h1{font-family:var(--sans);font-weight:800;font-size:clamp(34px,4.8vw,56px);line-height:1.06;letter-spacing:-.02em}
.hero p.lede{margin-top:22px;font-size:19px;font-weight:500;color:#C9D8EC;max-width:56ch}
.hero .cta{margin-top:32px;display:flex;gap:14px;flex-wrap:wrap}
.proof{margin-top:36px;display:flex;gap:28px;flex-wrap:wrap;font-family:var(--mono);font-size:12.5px;color:var(--slate)}
.proof b{display:block;color:var(--ink);font-size:13px;font-weight:600}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero .art{order:-1;max-width:340px}}

/* ---------- section scaffolding ---------- */
section{padding:72px 0}
section.tint{background:var(--panel)}
.kicker{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--tape)}
h2{font-family:var(--sans);font-weight:800;font-size:clamp(27px,3.4vw,38px);line-height:1.12;letter-spacing:-.015em;margin-top:12px}
h3{font-family:var(--sans);font-weight:700;font-size:21px;line-height:1.3}
.sub{color:var(--slate);margin-top:14px;max-width:64ch}

/* ---------- practice grid ---------- */
.grid{display:grid;gap:18px;background:transparent;border:0;margin-top:44px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.cell{background:var(--surface);border:1px solid var(--rule);padding:30px 26px;position:relative;transition:transform .22s ease,box-shadow .22s ease}
.cell:hover{background:#fff;transform:translateY(-5px);box-shadow:0 16px 34px rgba(19,41,75,.16);z-index:2}
.cell .ico{width:40px;height:40px;margin-bottom:16px}
.cell h3{font-size:19px}
.cell p{font-size:15px;color:var(--slate);margin-top:8px}
.cell .from{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--tape);margin-top:14px;display:block}
.cell a.cover{position:absolute;inset:0}
@media(max-width:960px){.grid.c3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid.c3,.grid.c2{grid-template-columns:1fr}}

/* ---------- fee schedule (signature) ---------- */
.schedule{margin-top:44px;border:1px solid var(--rule);background:var(--panel);position:relative}
.schedule .head{display:flex;justify-content:space-between;align-items:center;padding:18px 26px;border-bottom:1px solid var(--rule)}
.schedule .head .t{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.schedule table{width:100%;border-collapse:collapse}
.schedule th{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);text-align:left;padding:14px 26px;border-bottom:1px solid var(--rule)}
.schedule td{padding:16px 26px;border-bottom:1px solid var(--rule);font-size:15.5px;vertical-align:top}
.schedule tr:last-child td{border-bottom:none}
.schedule td.fee{font-family:var(--mono);font-size:15px;white-space:nowrap;text-align:right}
.schedule td.fee b{font-size:17px}
.schedule .note{padding:14px 26px;font-size:13px;color:var(--slate);border-top:1px solid var(--rule)}
.stamp{position:absolute;top:-26px;right:22px;width:118px;height:118px;transform:rotate(8deg)}
@media(max-width:640px){.schedule th:nth-child(2),.schedule td:nth-child(2){display:none}.stamp{width:92px;height:92px;top:-18px;right:12px}}

/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:44px}
.step .n{font-family:var(--mono);color:var(--tape);font-size:13px;letter-spacing:.1em}
.step h3{margin-top:10px;font-size:19px}
.step p{font-size:15px;color:var(--slate);margin-top:8px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}

/* ---------- FAQ ---------- */
.faq{margin-top:40px;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule);padding:20px 4px}
.faq summary{font-family:var(--sans);font-weight:700;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--tape);font-size:20px;line-height:1}
.faq details[open] summary::after{content:"−"}
.faq details p{margin-top:12px;color:var(--slate);font-size:15.5px;max-width:70ch}

/* ---------- articles ---------- */
.arts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px}
.art-card{border:1px solid var(--rule);background:var(--surface);padding:26px;transition:transform .22s ease,box-shadow .22s ease}
.art-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(19,41,75,.16)}
.art-card .tag{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tape)}
.art-card h3{margin-top:12px;font-size:19px;font-weight:700}
.art-card h3 a{color:var(--ink)}
.art-card p{font-size:14.5px;color:var(--slate);margin-top:10px}
@media(max-width:860px){.arts{grid-template-columns:1fr}}

/* article page */
.article{max-width:720px;margin:0 auto;padding:64px 24px}
.article h1{font-size:clamp(28px,4vw,40px)}
.article .meta{font-family:var(--mono);font-size:12.5px;color:var(--slate);margin-top:16px}
.article h2{font-size:26px;margin-top:44px}
.article p,.article li{margin-top:16px;color:#26374F;font-size:17px}
.article ul{padding-left:22px}
.article .callout{border-left:3px solid var(--tape);background:var(--panel);padding:18px 22px;margin-top:24px;font-size:15.5px}

/* ---------- contact / form ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:44px}
.channels a{display:block;border:1px solid var(--rule);background:var(--surface);padding:18px 22px;margin-bottom:14px;color:var(--ink)}
.channels a{transition:transform .22s ease,box-shadow .22s ease}
.channels a:hover{border-color:var(--tape);background:var(--surface-hi);text-decoration:none;transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.35)}
.channels .l{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate);display:block}
.channels .v{font-weight:600;font-size:16px}
form.lead label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin:20px 0 10px}
form.lead input,form.lead textarea,form.lead select{width:100%;border:1px solid var(--rule);background:var(--panel);padding:13px 16px;font-family:var(--sans);font-size:16px;color:var(--ink);border-radius:4px;transition:border-color .15s,box-shadow .15s,background .15s}
form.lead textarea{min-height:110px;resize:vertical}
form.lead .btn{margin-top:22px;width:100%}
form.lead .fine{font-size:12.5px;color:var(--slate);margin-top:12px}
.form-ok{border:1px solid var(--ink);background:#fff;padding:22px;margin-top:22px;display:none}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer.site{background:var(--ink);color:#B7C4D6;padding:56px 0 40px;margin-top:0}
footer.site h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8CA0BC;margin-bottom:14px}
footer.site a{color:#DCE5F0;font-size:14px;display:block;margin-bottom:8px}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
footer.site .reg{border-top:1px solid #24406B;margin-top:44px;padding-top:24px;font-size:12.5px;line-height:1.7;color:#8CA0BC}
footer.site .brandfoot{font-family:var(--sans);font-weight:800;font-size:22px;color:#fff}
footer.site .brandfoot i{font-style:normal;color:var(--tape)}
@media(max-width:860px){footer.site .cols{grid-template-columns:1fr 1fr}}

/* ---------- misc ---------- */
.ribbon-rule{height:3px;background:var(--tape);width:64px;margin-top:26px}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--slate);padding:18px 0 0}
.crumbs a{color:var(--slate)}
.tierlabel{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--rule);padding:3px 8px;color:var(--slate);margin-bottom:8px}
.anchor-rate{font-family:var(--sans);font-size:15px;color:var(--slate);margin-top:18px;line-height:1.7}
.anchor-rate b{color:var(--ink)}

/* photos */
.photo{border:0;border-radius:10px;width:100%;height:auto;object-fit:cover;box-shadow:0 18px 40px rgba(19,41,75,.14)}
.hero .art img.photo{width:100%;height:380px;object-fit:cover}
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.photo-strip img{width:100%;height:220px;object-fit:cover;display:block;border-radius:10px}
@media(max-width:760px){.photo-strip{grid-template-columns:1fr}.photo-strip img{height:180px}}

.fastband{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);background:#FFFCF3;padding:20px 24px;text-align:center}
.fastband .k,.fastnote .k{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--tape)}
.fastband p{margin:8px auto 0;font-size:16.5px;font-weight:600;color:var(--ink);max-width:760px;line-height:1.55}
.fastnote{border:1px solid var(--gold);background:#FFFCF3;padding:18px 26px;margin:32px auto 0;text-align:center;max-width:840px}
.fastnote p{margin:7px auto 0;font-size:15.5px;font-weight:600;color:var(--ink);line-height:1.55}

.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:26px}
.art-card{border:1px solid var(--rule);background:var(--surface);padding:26px 26px 22px;transition:transform .25s ease, box-shadow .25s ease}
.art-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(19,41,75,.10)}
.art-card h3{margin:10px 0 8px;font-size:19px;line-height:1.3}
.art-card h3 a{color:var(--ink);text-decoration:none}
.art-card h3 a:hover{color:var(--tape)}
.art-card p{color:var(--slate);font-size:14.5px;line-height:1.55;margin:0}

.writtenline{font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--tape);margin:10px 0 0}

.wa-float{position:fixed;bottom:22px;right:22px;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(19,41,75,.28);z-index:999;transition:transform .2s ease}
.wa-float:hover{transform:translateY(-3px) scale(1.05)}
.wa-float svg{width:30px;height:30px;fill:#fff}
@media print{.wa-float{display:none}}

.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:26px}
.tquote{border:1px solid var(--rule);background:#fff;padding:26px;position:relative}
.tquote .stars{color:#00B67A;font-size:15px;letter-spacing:2px;margin-bottom:10px}
.tquote p{font-size:15px;line-height:1.6;color:var(--ink);margin:0 0 14px}
.tquote .who{font-family:var(--mono);font-size:12px;color:var(--slate)}
.tquote .who a{color:var(--tape);text-decoration:none}

.pgroup{margin-top:46px}
.pgroup:first-of-type{margin-top:8px}
.glabel{display:flex;align-items:center;gap:14px;margin:0 0 20px;font-family:'Montserrat';font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.glabel::before{content:"";width:26px;height:3px;background:var(--gold);flex:none}
.glabel::after{content:"";flex:1;height:1px;background:var(--rule)}
.cell .from{font-family:'Montserrat';font-weight:700;font-size:13.5px;letter-spacing:.01em}

/* soft radii for mobile-friendly surfaces */
.cell,.tquote,.fastnote,.schedule,.faq details,
.schedule{overflow:hidden}
.photo{border-radius:14px}
/* nav dropdown */
.navdrop{position:static;display:inline-block}
.navdrop-t{display:inline-flex;align-items:center;gap:6px}

.navdrop.open 
@media(hover:hover) and (min-width:901px){.navdrop:hover .dropmenu,.navdrop:focus-within }
.dmcol b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tape);margin-bottom:8px}
.dmcol a{display:block;font-size:13.5px;color:var(--ink);text-decoration:none;padding:4px 0}
.dmcol a:hover{color:var(--tape)}

.pgroup .grid{margin-top:0}

.bandimg{display:block;width:100%;height:auto;border-radius:12px;margin-top:30px;box-shadow:0 10px 30px rgba(19,41,75,.10)}
@media(max-width:720px){.bandimg{border-radius:10px;margin-top:22px}}

/* MOBILE PRACTICE NAV: keep the practice areas menu reachable on phones */
@media(max-width:860px){
  nav.main{gap:14px}
  nav.main .navdrop{display:inline-block}
  nav.main .navdrop a.navdrop-t{display:inline-flex;font-size:14px;font-weight:700;gap:5px;color:var(--ink);white-space:nowrap}
  nav.main .navdrop a.navdrop-t svg{width:9px;height:6px}
}
@media(max-width:430px){
  header.site .wrap{gap:10px;min-height:64px}
  nav.main{gap:10px}
  nav.main .navdrop a.navdrop-t{font-size:13px}
  nav.main a.btn{padding:9px 13px;font-size:13px}
  .brand small{display:none}
}

.bandimg + .grid{margin-top:30px}

/* FOOTER RESPONSIVE */
@media(max-width:1000px){footer.site .cols{grid-template-columns:1fr 1fr;gap:32px}}
@media(max-width:560px){footer.site .cols{grid-template-columns:1fr;gap:26px}}
footer.site .reg a{display:inline}

.readnext{border-top:1px solid var(--rule);margin-top:34px;padding-top:20px}
.readnext .k{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--slate)}
.readnext a{display:block;margin-top:10px;font-weight:700;font-size:15.5px;color:var(--ink);text-decoration:none}
.readnext a:hover{color:var(--tape)}

footer.site .brandfoot{display:flex;align-items:center;gap:10px}

footer.site .brandfoot{display:block}

.brandmark{height:22px;width:auto;display:block;margin-left:0}
@media(max-width:640px){.brandmark{height:18px;margin-left:0}}
@media(max-width:430px){.brandmark{height:15px;margin-left:0}}
footer.site .brandfoot img{height:28px;width:auto;display:block}

.brand small{margin-left:1px}
@media(max-width:430px){.brand small{display:block;font-size:9px;letter-spacing:.1em}}

@media(max-width:900px){
  
  .navdrop.open 
  .dmcol a{padding:7px 0;font-size:14px}
}

@media(hover:hover) and (min-width:901px){
  
  
  
}

/* MOBILE ACTION BAR */
.actionbar{display:none}
@media(max-width:720px){
  .actionbar{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:200;background:var(--ink);border-top:1px solid var(--ink)}
  .actionbar a{display:flex;align-items:center;justify-content:center;gap:6px;padding:13px 6px;color:#fff;font-size:13.5px;font-weight:700;text-decoration:none;border-right:1px solid rgba(255,255,255,.16)}
  .actionbar a:last-child{border-right:0}
  .actionbar a.primary{background:var(--tape);color:var(--ink)}
  body{padding-bottom:52px}
  .wa-float{display:none}
}

@media(max-width:900px){
  
  
  .dmcol{break-inside:avoid}
  .dmcol b{margin-bottom:6px}
  .dmcol a{padding:9px 0;font-size:14.5px;border-bottom:1px solid var(--rule)}
  .dmcol a:last-child{border-bottom:0}
}

select optgroup{font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);background:var(--panel)}
select optgroup option{font-weight:500;text-transform:none;letter-spacing:0;color:var(--ink);background:#fff;padding-left:6px}

/* CLOCK STRIP */
.microbar .clocks{display:flex;gap:16px;align-items:center;overflow:hidden;white-space:nowrap}
.microbar .clocks span{flex:none}
@media(max-width:1100px){.microbar .clocks span:nth-child(n+7){display:none}}
@media(max-width:860px){.microbar .clocks span:nth-child(n+5){display:none}}
@media(max-width:560px){.microbar .clocks span:nth-child(n+3){display:none}.microbar .clocks{gap:12px}}

/* CLOCK TICKER: London pinned, the rest scroll on every viewport */
.microbar .clocks{display:flex;align-items:center;gap:16px;min-width:0;flex:1}
.microbar .clockpin{flex:none;padding-right:14px;border-right:1px solid rgba(255,255,255,.22)}
.microbar .clockscroll{position:relative;overflow:hidden;flex:1;min-width:0;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 26px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 14px,#000 calc(100% - 26px),transparent 100%)}
.microbar .track{display:inline-flex;gap:22px;align-items:center;white-space:nowrap;animation:clockslide 34s linear infinite;will-change:transform}
.microbar .clockscroll:hover .track,.microbar .clockscroll:active .track{animation-play-state:paused}
@keyframes clockslide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:560px){.microbar .track{gap:18px}.microbar .clockpin{padding-right:10px}}
@media(prefers-reduced-motion:reduce){
  .microbar .track{animation:none}
  .microbar .clockscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;mask-image:none;-webkit-mask-image:none}
}

/* ANCHOR OFFSET */
html{scroll-padding-top:96px}
@media(max-width:860px){html{scroll-padding-top:84px}}
@media(max-width:560px){html{scroll-padding-top:76px}}
section[id]{scroll-margin-top:96px}
@media(max-width:860px){section[id]{scroll-margin-top:84px}}

.navdrop{position:relative}

/* FORM FOCUS: land on the first field, not the preamble */
#enquiry{scroll-margin-top:96px}
@media(max-width:860px){#enquiry{scroll-margin-top:84px}}
@media(max-width:560px){#enquiry{scroll-margin-top:70px}}
@media(max-width:860px){
  /* on phones the channels block sits after the form so the fields are first */
  .contact-grid{display:flex;flex-direction:column}
  .contact-grid > div:last-child{order:1}
  .contact-grid .channels{order:2;margin-top:22px}
}

/* NATIVE BLOCK */
[dir="rtl"]{text-align:right;direction:rtl}
h2[lang]:not([lang="en"]),p[lang]:not([lang="en"]){font-family:var(--sans)}

/* PROOF FOUR */
.proof.proof4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
.proof.proof4 > div{font-size:13px;line-height:1.5;color:var(--slate)}
.proof.proof4 b{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.18em;color:var(--tape);margin-bottom:6px}
.proof.proof4 a{color:var(--slate);text-decoration:underline;text-underline-offset:2px}
.proof.proof4 a:hover{color:var(--tape)}
@media(max-width:900px){.proof.proof4{grid-template-columns:1fr 1fr;gap:16px}}
@media(max-width:420px){.proof.proof4{gap:14px}}

/* STRAPLINE */
.hero .strapline{font-family:var(--sans);font-weight:600;color:var(--ink);
  font-size:clamp(17px,1.7vw,21px);letter-spacing:.06em;line-height:1.3;
  margin:14px 0 16px;white-space:nowrap}
@media(max-width:420px){.hero .strapline{font-size:16px;letter-spacing:.04em}}

/* ============ DROPDOWN, single source of truth ============ */
header.site .wrap{position:relative}
.navdrop{position:static;display:inline-block}
.dropmenu{
  position:absolute;top:calc(100% + 10px);right:24px;left:auto;
  background:var(--panel);border:1px solid var(--rule);border-radius:12px;
  box-shadow:0 18px 50px rgba(19,41,75,.14);
  padding:22px 26px;display:none;
  grid-template-columns:repeat(4,minmax(150px,1fr));gap:18px 22px;
  width:max-content;max-width:calc(100vw - 32px);box-sizing:border-box;z-index:200}
/* invisible bridge so the cursor can cross the 12px gap */
.navdrop::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px;display:block}
.navdrop.open .dropmenu{display:grid}
@media(hover:hover) and (min-width:901px){
  .navdrop:focus-within .dropmenu{display:grid}
}
@media(max-width:1180px) and (min-width:901px){
  .dropmenu{grid-template-columns:repeat(3,minmax(150px,1fr))}
}
.dmcol b{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.dmcol a{display:block;padding:4px 0;font-size:14px;color:var(--ink)}
.dmcol a:hover{color:var(--tape)}
/* below 900 the panel is pinned to the viewport, under the sticky header,
   so it can never overflow either edge and never drifts on scroll */
@media(max-width:900px){
  .dropmenu{
    position:fixed;top:var(--droptop,92px);left:10px;right:10px;
    width:auto;max-width:none;transform:none;
    grid-template-columns:1fr 1fr;gap:12px 18px;
    padding:18px 16px;max-height:calc(100vh - var(--droptop,92px) - 16px);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    box-shadow:0 22px 60px rgba(19,41,75,.22)}
  .dropmenu a,.navdrop .dmcol a{display:block}
  .dmcol{break-inside:avoid}
  .dmcol b{display:block;margin-bottom:6px}
  .dmcol a{padding:9px 0;font-size:14.5px;border-bottom:1px solid var(--rule)}
  .dmcol a:last-child{border-bottom:0}
}
@media(max-width:480px){.dropmenu{grid-template-columns:1fr}}

/* FAQ NAV */
.faqnav{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}
.faqnav a{display:inline-block;padding:7px 13px;border:1px solid var(--rule);border-radius:999px;
  font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;background:#fff}
.faqnav a:hover{border-color:var(--tape);color:var(--tape)}
section.faqcat{padding-top:26px;padding-bottom:6px;scroll-margin-top:96px}
section.faqcat h2{margin-bottom:4px}

/* ================= DARK THEME ================= */
body{background:var(--paper);color:var(--ink)}
h1,h2,h3,h4{color:var(--ink)}
p,li,td,th,summary{color:var(--ink)}
a{color:var(--ink)}
a:hover{color:var(--tape)}
.lede,.sub,.note,.crumbs,.kicker{color:var(--slate)}
.tint{background:var(--panel)}
section{background:transparent}

/* cards: same colour, lifted on hover and press */
.cell,.art-card{background:var(--surface);border-color:var(--rule);
  transition:background .18s ease,border-color .18s ease,transform .22s ease}
.cell:hover,.art-card:hover,.cell:focus-within,.art-card:focus-within{
  background:var(--surface-hi);border-color:var(--tape);transform:translateY(-2px)}
.cell:active,.art-card:active{background:var(--panel);transform:translateY(0)}
.cell h3,.art-card h3,.art-card h3 a{color:var(--ink)}
.cell p,.art-card p{color:var(--slate)}
.cell .from{color:var(--tape)}

/* header and microbar */
.microbar{background:#0A1830;color:var(--slate);border-bottom:1px solid var(--rule)}
.microbar b{color:var(--ink)}
header.site{background:var(--paper);border-bottom:1px solid var(--rule)}
nav.main a{color:var(--ink)}
nav.main a:hover{color:var(--tape)}
.brand small{color:var(--slate)}

/* dropdown */
.dropmenu{background:var(--panel);border-color:var(--rule);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.dmcol b{color:var(--slate)}
.dmcol a{color:var(--ink)}
.dmcol a:hover{color:var(--tape)}

/* buttons */
.btn.tape{background:var(--tape);color:#0E2145;border-color:var(--tape)}
.btn.tape:hover{background:#F2C55F;border-color:#F2C55F}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.btn.ghost:hover{border-color:var(--tape);color:var(--tape)}

/* schedule */
.schedule{background:var(--panel);border-color:var(--rule)}
.schedule th{color:var(--slate);border-bottom-color:var(--rule)}
.schedule td{border-bottom-color:var(--rule)}
.schedule tr:hover td{background:var(--surface)}
.schedule .fee b{color:var(--tape)}
.schedule .note{color:var(--slate);border-top-color:var(--rule)}
.stamp{opacity:.28}

/* forms */
input,textarea,select,form.lead input,form.lead textarea,form.lead select{
  background:var(--panel);color:var(--ink);border:1px solid var(--rule)}
input::placeholder,textarea::placeholder{color:#7E93B4}
input:focus,textarea:focus,select:focus{border-color:var(--tape)}
select optgroup{background:var(--paper);color:var(--slate)}
select option{background:var(--panel);color:var(--ink)}
label{color:var(--slate)}

/* faq and details */
details{border-bottom-color:var(--rule)}
summary{color:var(--ink)}
.faq details p{color:var(--slate)}
.faqnav a{background:var(--surface);border-color:var(--rule);color:var(--ink)}
.faqnav a:hover{border-color:var(--tape);color:var(--tape)}

/* misc surfaces */
.fastnote,.fastband{background:var(--panel);border-color:var(--tape)}
.fastnote p,.fastband p{color:var(--ink)}
.readnext{border-top-color:var(--rule)}
.readnext a{color:var(--ink)}
.readnext a:hover{color:var(--tape)}
.tquote{background:var(--surface);border-color:var(--rule)}
.tquote p{color:var(--ink)}
.tquote .who{color:var(--slate)}
.proof.proof4 > div{color:var(--slate)}
.proof.proof4 a{color:var(--slate)}
.article,.article p,.article li{color:var(--ink)}
.writtenline{color:var(--slate)}
footer.site{background:#0A1830;border-top:1px solid var(--rule)}
hr,.rule{border-color:var(--rule)}
::selection{background:var(--tape);color:#0E2145}

/* dark theme button corrections */
.btn{background:var(--tape);color:#0E2145;border:1px solid var(--tape)}
.btn:hover{background:#F2C55F;border-color:#F2C55F;color:#0E2145}
nav.main a.btn,nav.main a.btn:hover{background:var(--tape);color:#0E2145;border-color:var(--tape)}
.btn.ghost,.btn.ghost:hover{background:transparent}
.btn.ghost{color:var(--ink);border:1px solid var(--rule)}
.btn.ghost:hover{color:var(--tape);border-color:var(--tape)}
/* lede was too faint against the page */
.hero .lede{color:#C9D8EC}
/* photo edges on dark */
.photo,.bandimg{border:1px solid var(--rule)}
/* microbar separator */
.microbar .clockpin{border-right-color:var(--rule)}

/* inline-style rescue: banners written with background:#fff before the dark theme */
[style*="background:#fff"],[style*="background: #fff"],[style*="background:#FFF"]{
  background:var(--panel) !important;border-color:var(--tape) !important}
[style*="background:#fff"] *,[style*="background: #fff"] *{color:var(--ink)}
[style*="color:var(--ink)"]{color:var(--ink) !important}
.article p,.article li,.article td{color:#E6EEF9}
.article h2,.article h3{color:var(--ink)}
.article strong,.article b{color:#FFFFFF}

/* final sweep: no white surfaces survive the dark theme */
.channels a,.channels a *{color:var(--ink)}
.channels .l{color:var(--slate)}
p.lede,.hero p.lede,.hero .lede{color:#C9D8EC}
*[style*="background:#fff"],*[style*="background: #fff"]{background:var(--surface) !important}

/* ================= NAVY PAGE, CREAM BOXES, BRASS RULES ================= */
body{background:var(--navy);color:var(--ink)}
section,.tint{background:transparent}
.tint{background:var(--navy-2)}

/* type: our face, lighter weight, never italic */
body,p,li,td,th,summary,input,textarea,select,button{font-weight:400;font-style:normal}
h1{font-weight:500;letter-spacing:-.015em}
h2{font-weight:500;letter-spacing:-.01em}
h3,h4{font-weight:500}
b,strong,.cell h3,.art-card h3{font-weight:600}
.kicker,.eyebrow,.dmcol b,.channels .l,.schedule th{font-weight:500}
.btn{font-weight:500}
i,em,.brand i,.brandfoot i{font-style:normal}
.strapline{font-weight:400;letter-spacing:.08em}

/* headings and text on the navy page */
h1,h2,h3,h4{color:var(--ink)}
p,li{color:var(--ink)}
.lede,.sub,.writtenline,.crumbs{color:var(--slate)}
.kicker,.eyebrow{color:var(--tape)}
a{color:var(--ink)}a:hover{color:var(--tape)}

/* ---- brass rules ---- */
hr,.rule{border-color:var(--tape)}
.pgroup{border-top:1px solid var(--tape);padding-top:26px}
.glabel{color:var(--tape)}
section > .wrap > h2{padding-bottom:14px;border-bottom:1px solid rgba(176,141,87,.35)}

/* ---- header, microbar, footer ---- */
.microbar{background:#07142A;color:var(--slate);border-bottom:1px solid var(--rule)}
.microbar b{color:var(--ink)}
.microbar .clockpin{border-right-color:var(--rule)}
header.site{background:rgba(10,27,51,.88);backdrop-filter:saturate(140%) blur(10px);
  -webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--rule)}
nav.main a{color:var(--ink);font-weight:400}
nav.main a:hover{color:var(--tape)}
.brand small{color:var(--slate)}
footer.site{background:#07142A;border-top:1px solid var(--tape);color:var(--slate)}
footer.site a{color:var(--ink)}footer.site a:hover{color:var(--tape)}
footer.site h4{color:var(--tape)}

/* ---- buttons ---- */
.btn{background:var(--tape);color:#0A1B33;border:1px solid var(--tape)}
.btn:hover{background:#F2C55F;border-color:#F2C55F;color:#0A1B33}
nav.main a.btn,nav.main a.btn:hover{background:var(--tape);color:#0A1B33;border-color:var(--tape)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(245,243,238,.35)}
.btn.ghost:hover{border-color:var(--tape);color:var(--tape);background:transparent}

/* ---- forms sit on cream ---- */
form.lead{padding:26px}
form.lead label,label{color:var(--slate-dark)}
input,textarea,select,form.lead input,form.lead textarea,form.lead select{
  background:rgba(255,255,255,.05);color:#F5F3EE;border:1px solid rgba(232,181,74,.22)}
input::placeholder,textarea::placeholder{color:#8A93A3}
input:focus,textarea:focus,select:focus{border-color:var(--tape)}
select optgroup{background:#0A1B33;color:#A9B7CC}
select option{background:#0E2140;color:#F5F3EE}

/* ---- mobile action bar, was invisible ---- */
@media(max-width:720px){
  .actionbar{background:#07142A;border-top:1px solid var(--tape)}
  .actionbar a{color:var(--ink);font-weight:500;border-right:1px solid var(--rule)}
  .actionbar a.primary{background:var(--tape);color:#0A1B33}
  .actionbar a:last-child{border-right:0}
}

/* ---- misc on navy ---- */
.proof.proof4 > div,.proof > div{color:var(--slate)}
.proof b,.proof.proof4 b{color:var(--tape)}
.proof.proof4 a{color:var(--slate)}
.article p,.article li{color:var(--ink)}
.article h2,.article h3{color:var(--ink)}
.photo,.bandimg{border:1px solid var(--rule);filter:saturate(.86)}
.faqnav a{background:var(--surface);border-color:var(--rule-dark);color:var(--ink-dark);font-weight:500}
.faqnav a:hover{border-color:var(--tape);color:var(--tape)}
.anchor-rate{color:var(--slate)}
.anchor-rate b{color:var(--tape)}
::selection{background:var(--tape);color:#0A1B33}

/* ---- mobile header fit ---- */
@media(max-width:560px){
  header.site .wrap{gap:8px;min-height:60px;padding:0 14px}
  .brandmark{height:17px}
  .brand small{font-size:8.5px;letter-spacing:.18em}
  nav.main{gap:8px}
  nav.main .navdrop a.navdrop-t{font-size:12.5px}
  nav.main a.btn{padding:8px 10px;font-size:12px;white-space:nowrap;line-height:1.15}
}
@media(max-width:420px){
  nav.main a.btn{padding:7px 9px;font-size:11.5px}
  .brand small{display:none}
  .brandmark{height:16px}
}
@media(max-width:360px){
  nav.main .navdrop a.navdrop-t{font-size:11.5px}
  nav.main a.btn{font-size:11px;padding:7px 8px}
}
/* ---- images must never overflow ---- */
img,.photo,.bandimg{max-width:100%;height:auto}
.hero .art,.art{max-width:100%;overflow:hidden}
.hero .art img{width:100%;height:auto;object-fit:cover}

/* ================= ONE GOLD, ONE TYPEFACE ================= */
/* label role: our face, letterspaced, never mono */
.microbar,.brand small,.eyebrow,.kicker,.proof,.proof.proof4 b,.cell .from,
.schedule .head .t,.schedule th,.schedule td.fee,.step .n,.art-card .tag,
.article .meta,.channels .l,form.lead label,footer.site h4,.crumbs,.tierlabel,
.fastband .k,.fastnote .k,.writtenline,.tquote .who,.readnext .k,.dmcol b,.glabel{
  font-family:var(--sans);letter-spacing:.12em;font-weight:500}
.microbar,.crumbs,.writtenline,.tquote .who,.channels .l{letter-spacing:.06em}
.schedule td.fee,.cell .from{letter-spacing:.02em;font-weight:600}
.proof.proof4 > div{font-family:var(--sans);letter-spacing:0;font-weight:400}

/* gold lives on navy, where it reads at 9:1 even in sunlight */
.kicker,.eyebrow,.glabel,.microbar b,.proof b,.proof.proof4 b,
footer.site h4,.fastband .k,.anchor-rate b{color:var(--gold)}
hr,.rule,.pgroup{border-color:var(--gold)}
section > .wrap > h2{border-bottom-color:rgba(232,181,74,.45)}
footer.site{border-top-color:var(--gold)}
.actionbar{border-top-color:var(--gold)}
.actionbar a.primary{background:var(--gold);color:#0A1B33}
.btn,nav.main a.btn{background:var(--gold);color:#0A1B33;border-color:var(--gold)}
.btn:hover,nav.main a.btn:hover{background:#F2C55F;border-color:#F2C55F;color:#0A1B33}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(232,181,74,.5)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold);background:transparent}
::selection{background:var(--gold);color:#0A1B33}

/* ================= MOBILE READABILITY ================= */
@media(max-width:720px){
  /* fee schedules: stack each row as a labelled block so the price is always on screen */
  .schedule{padding:0}
  .schedule table,.schedule thead,.schedule tbody,.schedule tr,.schedule td{display:block;width:100%}
  .schedule thead{display:none}
  .schedule tr{padding:16px 18px;border-bottom:1px solid var(--rule-dark)}
  .schedule tr:last-child{border-bottom:0}
  .schedule td{padding:0;border:0}
  .schedule td:first-child{font-weight:600;font-size:15.5px;line-height:1.35;margin-bottom:4px}
  .schedule td:nth-child(2){font-size:14px;line-height:1.5;margin-bottom:8px}
  .schedule td.fee,.schedule td:last-child{text-align:left;font-size:17px;font-weight:700;
    letter-spacing:.01em;color:var(--ink-dark)}
  .schedule .head{padding:14px 18px}
  .schedule .note{padding:16px 18px;font-size:12.5px}
  .stamp{display:none}

  /* body text on phones: heavier and larger, thin weights read poorly on small screens */
  body{font-size:16.5px}
  p,li,td,summary{font-weight:450}
  .cell p,.art-card p,.step p,.faq details p{font-size:15px;font-weight:450;line-height:1.6}
  .lede,.hero p.lede{font-size:17px;font-weight:450;line-height:1.55}
  h1{font-weight:600}
  h2{font-size:26px;font-weight:600}
  h3,.cell h3,.art-card h3,.step h3{font-size:18px;font-weight:600}
  .faq summary{font-weight:600;font-size:15.5px}
  form.lead label,.channels .l{font-weight:600;font-size:11.5px}
  .channels .v{font-weight:600;font-size:15.5px}
  .btn{font-weight:600}

  /* boxes: even padding and consistent rhythm */
  .cell,.art-card,.step,.tquote{padding:22px 20px;margin:0}
  .grid,.grid.c3,.grid.c2{display:grid;grid-template-columns:1fr;gap:14px}
  .steps{display:grid;grid-template-columns:1fr;gap:14px}
  .pgroup{padding-top:20px;margin-bottom:26px}
  section{padding:34px 0}
  .wrap{padding:0 18px}
  .faq{padding:2px 18px}
  .faq details{padding:14px 0}
  form.lead{padding:20px 18px}
  .channels a{padding:16px 18px;margin-bottom:10px}
  .readnext{padding:18px}
  .fastnote,.fastband{padding:18px}
}

/* dropdown: readable at arm's length on a phone */
@media(max-width:900px){
  .dmcol b{font-size:11.5px;font-weight:700;letter-spacing:.14em;color:#E8B54A}
  .dmcol a{font-size:15.5px;font-weight:600;padding:12px 0;line-height:1.3}
  .dropmenu{padding:18px 18px 8px}
}
@media(max-width:480px){
  .dmcol a{font-size:16px;padding:13px 0}
  .dmcol b{font-size:12px}
}

/* ================= CONSENT BANNER ================= */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:400;background:#07142A;
  border-top:2px solid var(--gold);box-shadow:0 -14px 40px rgba(0,0,0,.4);
  transform:translateY(110%);transition:transform .26s ease}
.consent.show{transform:translateY(0)}
.consent-in{max-width:var(--max);margin:0 auto;padding:20px 24px;
  display:flex;gap:26px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.consent-copy{flex:1;min-width:280px}
.consent-copy b{display:block;color:var(--gold);font-size:13px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px}
.consent-copy p{color:var(--slate);font-size:14px;line-height:1.55;margin:0;max-width:70ch}
.consent-copy a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.consent-copy a:hover{color:var(--gold)}
.consent-btns{display:flex;gap:12px;flex:none}
/* equal weight, equal size: no dark pattern */
.consent-btns .btn{margin:0;padding:13px 26px;font-size:14.5px;font-weight:600;min-width:150px;
  text-align:center;border-radius:2px;cursor:pointer;font-family:var(--sans)}
.consent-btns .btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--gold)}
.consent-btns .btn.ghost:hover{background:rgba(232,181,74,.12);color:var(--gold)}
@media(max-width:720px){
  .consent{bottom:52px}
  .consent-in{padding:18px 18px;gap:16px}
  .consent-copy p{font-size:14px}
  .consent-btns{width:100%;gap:10px}
  .consent-btns .btn{flex:1;min-width:0;padding:14px 10px;font-size:14px}
}

/* ================= FLOW: ALL NAVY, NO BOXES ================= */
:root{--navy-3:#122748;--hair:rgba(232,181,74,.22)}
body,section,.tint{background:var(--navy)}
section:nth-of-type(even),.tint{background:var(--navy-2)}

/* every former cream box becomes part of the page */
.cell,.art-card,.tquote,.step,.schedule,.faq,.channels a,.fastnote,.fastband,form.lead,.readnext,.faqnav a{
  background:transparent !important;border:0;box-shadow:none;
  --ink:#F5F3EE; --slate:#CFDAEA; --tape:var(--gold); --rule:var(--hair)}
.cell,.art-card,.step{padding:20px 18px 22px;margin:0 -18px;border-top:1px solid var(--hair);border-radius:0 0 6px 6px;transition:background .18s ease,border-color .18s ease}
.cell:hover,.art-card:hover,.step:hover{background:rgba(255,255,255,.045) !important;
  border-top-color:var(--gold);transform:none}
.cell:hover .ico,.art-card:hover .ico{color:var(--gold)}
.cell h3,.art-card h3,.art-card h3 a,.step h3{color:var(--ink)}
.cell p,.art-card p,.step p{color:var(--slate)}
.cell .from,.step .n,.art-card .tag{color:var(--gold)}
.cell a,.art-card a,.step a,.readnext a,.faq a,.schedule a,.fastnote a,form.lead a,.tquote a{
  color:var(--ink);text-decoration-color:rgba(232,181,74,.5)}
.cell a:hover,.art-card a:hover,.step a:hover,.readnext a:hover,.faq a:hover,.schedule a:hover{color:var(--gold)}

/* fee schedule: a typeset list, not a table in a box */
.schedule{margin-top:34px;padding:0;border:0;border-top:1px solid var(--gold)}
.schedule .head{padding:16px 0;border-bottom:1px solid var(--hair);color:var(--slate)}
.schedule .head .t{color:var(--slate)}
.schedule table{border-collapse:collapse;width:100%}
.schedule th{color:var(--slate);border-bottom:1px solid var(--hair);padding:12px 0;text-align:left}
.schedule td{border-bottom:1px solid var(--hair);padding:16px 0;color:var(--ink);vertical-align:top}
.schedule td:nth-child(2){color:var(--slate)}
.schedule td.fee,.schedule td:last-child{color:var(--gold);text-align:right;white-space:nowrap;font-weight:600}
.schedule tr:hover td{background:rgba(255,255,255,.03)}
.schedule .note{padding:18px 0 0;border-top:1px solid var(--hair);color:var(--slate)}
.stamp{opacity:.14}

/* faq: hairlines only */
.faq{padding:0;border-top:1px solid var(--hair)}
.faq details{border-bottom:1px solid var(--hair);padding:16px 0}
.faq summary{color:var(--ink);font-weight:600}
.faq details p{color:var(--slate)}
.faqnav a{border:1px solid var(--hair);color:var(--ink)}
.faqnav a:hover{border-color:var(--gold);color:var(--gold)}

/* contact channels and forms flow too */
.channels a{border:0;border-top:1px solid var(--hair);padding:18px 0;margin:0;color:var(--ink)}
.channels a:hover{background:rgba(255,255,255,.035);border-top-color:var(--gold);transform:none}
.channels .l{color:var(--gold)}
.channels .v{color:var(--ink)}
form.lead{padding:0;border:0}
form.lead label{color:var(--slate)}
input,textarea,select,form.lead input,form.lead textarea,form.lead select{
  background:rgba(255,255,255,.05);color:var(--ink);border:1px solid var(--hair)}
input::placeholder,textarea::placeholder{color:#8FA3C0}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--gold);background:rgba(255,255,255,.07);box-shadow:0 0 0 3px rgba(232,181,74,.22)}
select option,select optgroup{background:#0E2140;color:var(--ink)}

.fastnote,.fastband{border:0;border-left:2px solid var(--gold);padding:6px 0 6px 20px;background:transparent}
.fastnote .k,.fastband .k{color:var(--gold)}
.fastnote p,.fastband p{color:var(--slate)}
.readnext{border-top:1px solid var(--hair);padding-top:18px}
.readnext .k{color:var(--gold)}

/* grid gaps do the separating now that borders are gone */
.grid,.grid.c3,.grid.c2{gap:30px 40px}
.steps{gap:30px 40px}
.pgroup{border-top:1px solid var(--gold);padding-top:26px}
section > .wrap > h2{border-bottom:0;padding-bottom:0}
.photo,.bandimg{border:0}

/* ================= REVIEW DECK ================= */
.deck{position:relative;max-width:640px;margin:34px auto 0;height:340px;touch-action:pan-y;outline:none}
.rcard{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  background:rgba(255,255,255,.055);border:1px solid var(--hair);border-radius:4px;
  padding:32px 34px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  cursor:grab;will-change:transform,opacity;overflow:auto}
.rcard:active{cursor:grabbing}
.rstars{color:var(--gold);letter-spacing:.28em;font-size:14px;margin-bottom:14px}
.rcard blockquote{margin:0;color:#F5F3EE;font-size:16.5px;line-height:1.62;font-weight:400}
.rcard footer{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:20px;padding-top:14px;border-top:1px solid var(--hair)}
.rname{color:var(--gold);font-size:13px;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.rcard footer a{color:#A9B7CC;font-size:13px;text-decoration:underline;text-underline-offset:2px}
.rcard footer a:hover{color:var(--gold)}
.deckbar{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:22px}
.dnav{width:46px;height:46px;border-radius:50%;background:transparent;cursor:pointer;
  border:1px solid var(--hair);color:#F5F3EE;font-size:18px;line-height:1;
  display:flex;align-items:center;justify-content:center;transition:border-color .18s,color .18s}
.dnav:hover{border-color:var(--gold);color:var(--gold)}
.dcount{color:#A9B7CC;font-size:14px;letter-spacing:.1em;min-width:56px;text-align:center}
.dcount b{color:var(--gold);font-weight:600}
@media(max-width:720px){
  .deck{height:400px;max-width:100%;margin-top:26px}
  .rcard{padding:24px 22px;border-radius:3px}
  .rcard blockquote{font-size:15.5px;line-height:1.6}
  .dnav{width:48px;height:48px}
}
@media(max-width:420px){.deck{height:440px}.rcard blockquote{font-size:15px}}
@media(prefers-reduced-motion:reduce){.rcard{transition:none !important}}

/* final: nothing on the page uses the old light-theme inks */
.cell,.art-card,.tquote,.step,.schedule,.faq,.channels a,.fastnote,.fastband,form.lead,.readnext,
.cell *,.art-card *,.tquote *,.step *,.schedule *,.faq *,.channels a *,.fastnote *,.fastband *,form.lead *,.readnext *{
  --ink:#F5F3EE;--ink-dark:#F5F3EE;--slate:#CFDAEA;--slate-dark:#CFDAEA;--tape:#E8B54A;--brass-dark:#E8B54A;--rule-dark:rgba(232,181,74,.22);--surface:transparent;--surface-hi:transparent}
.schedule td,.schedule td *{color:#F5F3EE}
.schedule td:nth-child(2),.schedule td:nth-child(2) *{color:#A9B7CC}
.schedule td.fee,.schedule td:last-child,.schedule td.fee b{color:#E8B54A}
.cell p,.art-card p,.step p,.faq details p,.tquote .who,.channels .l{color:#A9B7CC}
.cell h3,.art-card h3,.step h3,.faq summary,.channels .v{color:#F5F3EE}

/* ---- icons on navy ---- */
.ico{color:#F5F3EE;opacity:.9;transition:color .18s ease,opacity .18s ease}
.cell:hover .ico{color:#E8B54A;opacity:1}
.ico [stroke="currentColor"]{stroke:currentColor}

/* ---- cards: equal height, price pinned to the foot ---- */
.grid,.grid.c3,.grid.c2{align-items:stretch}
.cell{display:flex;flex-direction:column;height:100%;padding:22px 18px 20px}
.cell h3{margin:12px 0 8px}
.cell p{flex:1 1 auto;margin-bottom:16px}
.cell .from{margin-top:auto;padding-top:12px;border-top:1px solid rgba(232,181,74,.18);
  display:block;font-size:13px;letter-spacing:.06em}
.art-card{display:flex;flex-direction:column;height:100%}
.art-card p{flex:1 1 auto}
.step{display:flex;flex-direction:column;height:100%}
.step p{flex:1 1 auto;margin-bottom:0}
@media(max-width:720px){
  .cell{padding:20px 18px 18px}
  .cell .from{padding-top:10px}
}

/* dropdown headings: gold on navy at every width, links cream */
.dmcol b{color:#E8B54A;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.dmcol a{color:#F5F3EE}
.dmcol a:hover{color:#E8B54A}
.dropmenu{background:#0E2140;border:1px solid rgba(232,181,74,.28)}
@media(max-width:900px){.dmcol b{color:#E8B54A;font-size:11.5px}.dmcol a{color:#F5F3EE}}
@media(max-width:480px){.dmcol b{color:#E8B54A;font-size:12px}}

.formerr{color:#E8B54A;font-size:14px;font-weight:500;margin:6px 0 10px;
  padding:10px 14px;border-left:2px solid #E8B54A;background:rgba(232,181,74,.08)}

/* content verification mark */
.truemark{font-size:12.5px;line-height:1.6;color:#8FA3C0}
.tm-char{color:#E8B54A;font-size:20px;line-height:1;vertical-align:-2px;margin-right:6px}
.truemark b{color:#E8B54A;font-weight:600;letter-spacing:.04em}

/* ================= QUICK QUOTE ================= */
.qq{display:none}
@media(max-width:900px){
  /* the first screen is the whole shop: fee, proof, two fields, call and WhatsApp */
  .hero .wrap > div:first-child{display:flex;flex-direction:column}
  .hero .eyebrow{order:1}
  .hero h1{order:2;font-size:clamp(24px,6.4vw,30px);line-height:1.18;margin:8px 0 0}
  .qq{order:3;display:block;margin:14px 0 4px}
  .hero .cta{order:6;margin-top:18px}
  .hero .lede{order:7;font-size:15.5px;margin-top:14px}
  .hero .writtenline{order:8}
  .hero .strapline{order:4;font-size:15px;margin:8px 0 2px}
  .hero .proof{order:9;margin-top:18px}
  .hero .art{order:10;margin-top:20px}
  .hero{padding-top:14px !important;padding-bottom:20px}

  .qq-fee{color:#E8B54A;font-weight:700;font-size:19px;letter-spacing:.01em;margin-bottom:6px}
  .qq-proof{color:#A9B7CC;font-size:12px;line-height:1.5;margin-bottom:12px}
  .qqform{display:flex;flex-direction:column;gap:9px;margin:0}
  .qqform input[type=text]{width:100%;padding:14px 14px;font-size:16px;border-radius:2px;
    background:rgba(255,255,255,.06);border:1px solid rgba(232,181,74,.3);color:#F5F3EE;box-sizing:border-box}
  .qqform input::placeholder{color:#8FA3C0}
  .qqform input:focus{border-color:#E8B54A;outline:none}
  .qq-btn{width:100%;padding:16px 14px;font-size:16px;font-weight:600;margin:2px 0 0}
  .qq-micro{color:#A9B7CC;font-size:12.5px;margin:8px 0 0;text-align:center}
  .qq-alt{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
  .qq-a{display:flex;align-items:center;justify-content:center;min-height:46px;
    border:1px solid rgba(232,181,74,.35);color:#F5F3EE;font-size:14px;font-weight:500;
    text-decoration:none;border-radius:2px}
  .qq-a:hover{border-color:#E8B54A;color:#E8B54A}
  .qq-ok{color:#E8B54A;font-size:14.5px;line-height:1.55;padding:14px 0}
  .qq-err{color:#E8B54A;font-size:13px;margin:6px 0 0}
}
@media(max-width:900px){
  /* trim what pushes the fold down */
  .hero .art img{max-height:190px;object-fit:cover}
  .crumbs{padding-top:8px;padding-bottom:2px;font-size:11.5px}
}

/* consent banner must not cover the first-screen call to action */
@media(max-width:900px){
  .consent{bottom:52px;max-height:44vh;overflow:auto}
  .consent-in{padding:14px 16px;gap:12px}
  .consent-copy b{font-size:11.5px;margin-bottom:4px}
  .consent-copy p{font-size:12.5px;line-height:1.45;max-width:none}
  .consent-btns .btn{padding:12px 10px;font-size:13.5px}
  /* while the banner is up, keep the quick quote clear of it */
  body.consent-open .qq{margin-bottom:0}
  body.consent-open{padding-bottom:calc(52px + 44vh)}
}

/* ================= LEGIBILITY ON DARK ================= */
/* Light type on a dark ground loses apparent weight. Everything below is a
   correction for that, not a style choice. */
body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}
p,li,td,summary,.lede,.sub{font-weight:450;letter-spacing:.005em}
.cell p,.art-card p,.step p,.faq details p,.tquote p,.schedule td{
  color:#CFDAEA;font-weight:450;font-size:15.5px;line-height:1.66}
.schedule td:nth-child(2){color:#C3D0E2;font-weight:450}
.lede,.hero p.lede{color:#DCE4EF;font-weight:450}
.article p,.article li{color:#E4EAF3;font-weight:450;font-size:17px;line-height:1.72}
.writtenline,.crumbs,.qq-proof,.qq-micro,.proof > div,.proof.proof4 > div{color:#C3D0E2;font-weight:450}
.channels .l,.dcount,.readnext a,.faq summary{color:#E4EAF3}
.tquote .who,.rcard footer a{color:#C3D0E2}
.note,.schedule .note{color:#C3D0E2;font-weight:450}
@media(max-width:900px){
  .cell p,.art-card p,.step p,.faq details p{font-size:15.5px;font-weight:500}
  .article p,.article li{font-size:16.5px;font-weight:500}
  .lede,.hero p.lede{font-weight:500}
}

/* sticky bar is now two actions */
@media(max-width:720px){.actionbar{grid-template-columns:1fr 1fr}}

/* form fine print clears the mobile action bar */
@media(max-width:720px){form.lead{padding-bottom:72px}}
form.lead .fine a+a{margin-left:.35em}

/* brand signature: gold rule under the header */
header.site{border-bottom:2px solid var(--gold)}

/* ways to pay strip, footer */
footer.site .paystrip{border-top:1px solid #24406B;margin-top:44px;padding-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
footer.site .paystrip .pk{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8CA0BC;margin-right:6px}
footer.site .paystrip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
footer.site .paystrip li{font-family:var(--sans);font-weight:600;font-size:12.5px;letter-spacing:.02em;color:#F3F7FC;border:1px solid #2F5286;border-radius:4px;padding:6px 11px;line-height:1;background:rgba(255,255,255,.03)}
footer.site .paystrip li.dd{display:flex;flex-direction:column;gap:3px;padding:5px 11px}
footer.site .paystrip li.mk{background:#fff;border-color:#fff;padding:0 8px;height:32px;display:flex;align-items:center;justify-content:center}
footer.site .paystrip li.mk img{display:block;height:20px;width:auto}
footer.site .paystrip li.mk.ap{padding:0}footer.site .paystrip li.mk.ap img{height:32px}
footer.site .paystrip li.mk.rv img{height:14px;padding:0 4px}
footer.site .paystrip li.mk.kl{padding:0;background:transparent;border-color:transparent}footer.site .paystrip li.mk.kl img{height:32px}
footer.site .paystrip li.mk.gp{padding:0;background:transparent;border-color:transparent}footer.site .paystrip li.mk.gp img{height:48px;margin:-8px 0}
footer.site .paystrip .ps{display:flex;align-items:center;gap:8px}
footer.site .paystrip .ps img.stripe{height:16px;width:auto;background:#fff;border-radius:3px;padding:2px 5px;box-sizing:content-box}
footer.site .paystrip li small{font-weight:400;font-size:10.5px;color:#8CA0BC;letter-spacing:0}
footer.site .paystrip .ps{flex-basis:100%;font-size:12px;color:#8CA0BC;line-height:1.6}
footer.site .paystrip+.reg{margin-top:22px;border-top:0;padding-top:0}

.consent-copy .cc-short,nav.main a.btn .bs{display:none}
/* ================= PHONE LANDING FIX (3 Oct 2026): under 768px only ================= */
@media(max-width:767px){
  /* 2. clock strip off */
  .microbar{display:none !important}
  /* 3. header: not sticky, 52px, logo plus one button, practice areas behind a menu icon */
  header.site{position:relative !important;top:auto}
  header.site .wrap{min-height:50px !important;height:50px;padding:0 12px !important;gap:8px !important}
  header.site .brand small{display:none !important}
  header.site .brandmark{height:18px;width:auto;max-width:170px}
  nav.main{gap:6px !important}
  nav.main > a:not(.btn){display:none !important}
  nav.main .navdrop a.navdrop-t{font-size:0 !important;width:38px;height:38px;justify-content:center;padding:0;
    background:linear-gradient(currentColor,currentColor) center calc(50% - 6px)/18px 2px no-repeat,
               linear-gradient(currentColor,currentColor) center/18px 2px no-repeat,
               linear-gradient(currentColor,currentColor) center calc(50% + 6px)/18px 2px no-repeat}
  nav.main .navdrop a.navdrop-t svg{display:none}
  nav.main a.btn{padding:9px 12px !important;font-size:13px !important;line-height:1 !important}
  nav.main a.btn .bl{display:none}
  nav.main a.btn .bs{display:inline}
  /* 5. hero: breadcrumb and eyebrow off, H1 capped at 28px, form inside the first screen */
  .crumbs{display:none !important}
  .hero .eyebrow{display:none !important}
  section.hero{padding-top:12px !important}
  .hero h1{font-size:clamp(21px,6vw,28px) !important;line-height:1.15 !important;margin:0 !important}
  .hero .qq{margin-top:10px !important}
  #qq{scroll-margin-top:12px}
  /* 1. consent: one slim bar at the bottom, max 72px, two equal buttons */
  .consent{bottom:0 !important;max-height:72px !important;overflow:hidden !important;box-shadow:0 -6px 18px rgba(0,0,0,.35)}
  .consent-in{flex-wrap:nowrap !important;align-items:center;gap:8px !important;padding:7px 8px !important}
  .consent-copy{min-width:0 !important;flex:1}
  .consent-copy b,.consent-copy .cc-long{display:none !important}
  .consent-copy .cc-short{display:block;font-size:11px !important;line-height:1.25 !important;letter-spacing:0;margin:0;color:#C3D0E2}
  .consent-btns{width:auto !important;flex:none;gap:6px !important}
  .consent-btns .btn{flex:none !important;width:102px;min-width:0 !important;padding:11px 2px !important;font-size:12px !important;line-height:1;white-space:nowrap;letter-spacing:0}
  body.consent-open{padding-bottom:72px !important}
  /* 1 and 4. the action bar never stacks on the banner and appears only once consent is answered */
  html.cpending .actionbar,body.consent-open .actionbar{display:none !important}
  /* one row whatever the number of actions (Gulf carries three) */
  .actionbar{grid-template-columns:none !important;grid-auto-flow:column;grid-auto-columns:1fr}
}

/* ================= PHONE PASS 2 (3 Oct 2026): one ask on the first screen, under 768px only ================= */
.h1s,.qq-wa{display:none}
@media(max-width:767px){
  /* 1. header: logo and menu icon only */
  header.site nav.main a.btn{display:none !important}
  /* 2. no second gold button under the form */
  .hero .cta{display:none !important}
  /* 3. WhatsApp as a quiet text line */
  .qq-alt{display:none !important}
  .qq-wa{display:block;margin:10px 0 0;font-size:13px;color:#C3D0E2;text-align:center}
  .qq-wa a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
  /* 6. hero text: two line H1, one line price, one line trust */
  .h1l{display:none}
  .h1s{display:inline}
  .hero h1{font-size:clamp(20px,6.2vw,26px) !important;line-height:1.18 !important}
  .qq-fee{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:clamp(15px,4.6vw,18px) !important;line-height:1.3 !important;margin-bottom:4px !important}
  .qq-proof{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px !important;margin-bottom:10px !important}
  .qq-micro{margin-top:8px !important;font-size:12.5px !important}
  /* 4. action bar slides in only once the hero form has scrolled away */
  .actionbar{transition:transform .25s ease}
  html.qq-inview .actionbar,html:not(.qq-obs) body:has(#qqform) .actionbar{transform:translateY(110%);pointer-events:none}
}

/* ================= PHONE HOMEPAGE (3 Oct 2026): chapters, rails, accordion; under 768px only ================= */
.art-img,.mdots{display:none}
@media(max-width:767px){
  body.home section{padding-top:52px;padding-bottom:52px}
  body.home section h2{font-size:clamp(24px,7vw,30px);line-height:1.2}
  /* swipe rails: reviews, track record, insights */
  body.home #deck,body.home .steps,body.home .arts{
    display:flex !important;height:auto !important;max-width:none !important;gap:12px !important;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    width:100vw;margin:26px 0 0 calc(50% - 50vw) !important;padding:0 16px 4px;scroll-padding-left:16px;grid-template-columns:none !important}
  body.home #deck::-webkit-scrollbar,body.home .steps::-webkit-scrollbar,body.home .arts::-webkit-scrollbar{display:none}
  body.home #deck,body.home .steps,body.home .arts{align-items:stretch !important}
  body.home #deck > *,body.home .steps > *,body.home .arts > *{flex:0 0 84%;scroll-snap-align:start;min-width:0;height:auto !important;align-self:stretch}
  body.home #deck .rcard{position:relative !important;inset:auto !important;transform:none !important;opacity:1 !important;
    pointer-events:auto !important;z-index:auto !important;justify-content:space-between;padding:24px 20px !important}
  body.home .deckbar,body.home .deckbar + .sub{display:none !important}
  body.home .steps .step{background:rgba(255,255,255,.045);border:1px solid var(--rule);padding:22px 20px;margin:0}
  body.home .arts .art-card{padding:0 0 20px !important;overflow:hidden;transform:none !important}
  body.home .arts .art-card > :not(.art-img){margin-left:18px;margin-right:18px}
  body.home .art-img{display:block;width:100%;height:190px;object-fit:cover;margin:0 0 16px;border:0}
  body.home .mdots{display:flex;justify-content:center;gap:9px;margin-top:16px}
  body.home .mdots span{width:7px;height:7px;border-radius:50%;background:rgba(245,243,238,.28);transition:background .2s,transform .2s}
  body.home .mdots span.on{background:var(--gold);transform:scale(1.2)}
  /* practice areas: image led accordion */
  body.home .pgroup{display:flex;flex-direction:column;border:1px solid var(--rule) !important;padding:0 !important;margin:0 0 12px !important;background:rgba(255,255,255,.035);overflow:hidden}
  body.home .pgroup > img.bandimg{order:-2;margin:0 !important;width:100%;height:118px;object-fit:cover;border-radius:0 !important;box-shadow:none;cursor:pointer}
  body.home .pgroup > img.bandimg:not(:first-of-type){display:none}
  body.home .pgroup .glabel{order:-1;margin:0 !important;padding:16px;cursor:pointer;font-size:12.5px;user-select:none}
  body.home .pgroup .glabel::after{flex:none;width:9px;height:9px;background:none;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg);margin-left:auto;transition:transform .2s}
  body.home .pgroup.open .glabel::after{transform:rotate(-135deg)}
  body.home .pgroup .grid{display:none !important}
  body.home .pgroup.open .grid{display:grid !important;gap:0 !important;padding:0 0 4px !important;margin:0 !important}
  body.home .pgroup .cell,body.home .steps .step,body.home .arts .art-card{margin:0 !important;border-radius:0 !important}
  body.home .pgroup .cell .from{border-top:0 !important;padding-top:0 !important}
  body.home .pgroup .cell{padding:14px 16px !important;border:0 !important;border-top:1px solid var(--rule) !important;background:none !important;transform:none !important;box-shadow:none !important}
  body.home .pgroup .cell .ico,body.home .pgroup .cell p{display:none}
  body.home .pgroup .cell h3{font-size:16px;margin:0}
  body.home .pgroup .cell .from{margin-top:4px;font-size:12.5px}
}

/* ================= PHONE HOMEPAGE FRAMES (3 Oct 2026): one section per screen, under 768px only ================= */
@media(max-width:767px){
  html:has(body.home){scroll-snap-type:y proximity;scroll-padding-top:0 !important}
  body.home > section{scroll-snap-align:start;min-height:100vh;min-height:100svh;padding:56px 0 64px !important;
    border-top:1px solid rgba(232,181,74,.35);display:flex;flex-direction:column;justify-content:flex-start}
  body.home > section:nth-of-type(odd){background:#0A1B33}
  body.home > section:nth-of-type(even){background:#0E2445}
  body.home > section > .wrap{width:100%}
  /* nothing fades in on phones: frames are simply there */
  body.home .reveal{opacity:1 !important;transform:none !important;transition:none !important}
  /* frame 1, the hero: the form, then the photo fills the rest of the screen */
  body.home > section.hero{scroll-snap-align:none;min-height:calc(100svh - 52px);height:calc(100svh - 52px);overflow:hidden;padding:12px 0 0 !important;border-top:0}
  body.home section.hero > .wrap{display:flex !important;flex-direction:column;min-height:calc(100svh - 64px)}
  body.home section.hero .lede,body.home section.hero .proof4{display:none !important}
  body.home section.hero .art{flex:1 1 auto;display:flex;width:100vw;max-width:none !important;margin:22px 0 0 calc(50% - 50vw) !important;min-height:60px}
  body.home section.hero .art img{width:100%;height:100% !important;max-height:none !important;object-fit:cover;border:0}
  /* frame 2: the four proof points, moved here from the hero by script */
  body.home > section.fastband{text-align:left;padding:56px 20px 64px !important;border-left:0 !important;margin:0 !important}
  body.home > section.fastband > p{display:none}
  body.home > section.fastband .proof4{display:grid !important;grid-template-columns:1fr;gap:16px;margin:18px 0 0 !important}
  body.home > section.fastband .proof4 > div{border-left:2px solid var(--gold);padding-left:14px;font-size:14px;line-height:1.45}
  body.home > section.fastband .proof4 b{display:block;font-size:12px;letter-spacing:.14em;margin-bottom:4px}
  /* frames carry a heading and one visual: intros and band photos come off on phones */
  body.home > section .sub,body.home > section .anchor-rate,body.home > section > .wrap > img.bandimg{display:none !important}
  body.home .rcard blockquote{display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical;overflow:hidden}
  /* practice areas: one row per group, the photo appears when a group opens */
  body.home .pgroup > img.bandimg{display:none}
  body.home .pgroup.open > img.bandimg:first-of-type{display:block}
  body.home .pgroup{margin:0 0 8px !important}
  body.home .pgroup .glabel{padding:15px 16px}
  /* the contact frame and the footer flow normally */
  body.home > section#contact{min-height:0}
}

/* QUICK QUOTE: what they have + deadline (6 Oct 2026) */
.qqform select,.qqform input[type=date]{width:100%;padding:14px 14px;font-size:16px;border-radius:2px;background:rgba(255,255,255,.06);border:1px solid rgba(232,181,74,.3);color:#F5F3EE;box-sizing:border-box;font-family:inherit;margin:0;min-height:50px}
.qqform select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#E8B54A 50%),linear-gradient(135deg,#E8B54A 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:38px}
.qqform select:invalid{color:#8FA3C0}
.qqform select option{color:#13294B;background:#fff}
.qqform select:focus,.qqform input[type=date]:focus{border-color:#E8B54A;outline:none}
.qqform .qq-date{display:block;margin:0}
.qqform .qq-date span{display:block;font-size:12.5px;color:#A9B7CC;margin:2px 0 5px}
.qqform input[type=date]{color-scheme:dark;-webkit-appearance:none;appearance:none;text-align:left}
.qqform input[type=date]::-webkit-date-and-time-value{text-align:left}
@media(min-width:768px){ body.ja .qqform select,body.ja .qqform input[type=date],body.tr .qqform select,body.tr .qqform input[type=date]{margin:0 0 10px} }
/* track record page: links under each record item */
#record .step p a{display:block;margin-top:10px;color:#E8B54A;text-decoration:underline;text-underline-offset:3px}

/* PRICES WITH SCOPE (6 Oct 2026): every banner names the product and its scope; one line under every price table */
.qq-scope{color:#C9D3E2;font-size:13px;line-height:1.45;margin:-2px 0 8px}
.fee-confirm{margin:14px 0 0;padding:10px 14px;border-left:2px solid var(--gold,#E8B54A);font-size:14px;line-height:1.5;color:var(--ink,#F5F3EE)}
@media(min-width:768px){ body.ja .qq-scope,body.tr .qq-scope{font-size:13.5px} }
/* homepage trust strip, five equal columns (6 Oct 2026) */
.proof.proof4.proof5{grid-template-columns:repeat(5,1fr);gap:20px}
@media(max-width:1100px){.proof.proof4.proof5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.proof.proof4.proof5{grid-template-columns:1fr 1fr}.proof.proof4.proof5 > div:last-child{grid-column:1 / -1}}
@media(max-width:900px){ .qq-fee{white-space:normal !important;overflow:visible !important;text-overflow:clip !important;font-size:16.5px !important;line-height:1.3 !important} .qq{min-width:0;max-width:100%} .qq-scope{font-size:12.5px} }
.qqform select,.qqform input[type=date]{max-width:100%;min-width:0}
.hero .wrap > div:first-child{min-width:0}

/* PHONE HOMEPAGE HERO PHOTO (10 Oct 2026): the photo was squeezed into whatever height the form left, which after the
   two new quote fields was under 100px on small phones and hidden behind the cookie bar. It now sits as a band at the
   top of the first screen, above the headline, at a fixed height, and the frame grows with its content. */
@media(max-width:767px){
  body.home > section.hero{height:auto !important;min-height:calc(100svh - 52px);overflow:visible;padding:0 0 28px !important}
  body.home section.hero > .wrap{min-height:0}
  body.home section.hero > .wrap{gap:16px !important}
  body.home section.hero .art{order:-1;flex:0 0 auto !important;height:clamp(84px,13svh,140px);min-height:0;width:auto !important;align-self:stretch !important;margin:0 -18px !important;border-radius:0}
  body.home section.hero .art img{height:100% !important;border-radius:0;object-position:50% 45%}
}

/* M&A PAGE (10 Oct 2026): proof block under the hero, five deal stages with their fees, and the date field on the
   full enquiry form. Classes are page specific (ma*), so no other page changes. */
.maproof{padding:44px 0 46px;border-top:1px solid var(--hair)}
.maproof-head h2{font-size:clamp(22px,2.6vw,28px);margin-top:8px}
.maproof-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;margin-top:22px;align-items:stretch}
.maproof-lead,.maproof-item{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:6px;padding:22px 22px 20px;text-decoration:none}
.maproof-lead{border-color:var(--gold);background:rgba(232,181,74,.07);transition:background .18s ease,transform .18s ease}
.maproof-lead:hover{background:rgba(232,181,74,.12);transform:translateY(-2px)}
.maproof .k{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.maproof-lead p{margin-top:10px;font-size:18px;font-weight:600;line-height:1.45;color:var(--ink)}
.maproof-item p{margin-top:10px;font-size:15px;line-height:1.55;color:var(--slate)}
.maproof-lead .more{margin-top:auto;padding-top:14px;font-size:14px;font-weight:600;color:var(--gold)}
.maproof-fine{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--slate)}
.mastages{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.mastages li{position:relative;display:flex;flex-direction:column;border:1px solid var(--rule);border-top:3px solid var(--gold);border-radius:6px;padding:18px 16px 20px;background:rgba(255,255,255,.035)}
.mastages li:not(:last-child)::after{content:"";position:absolute;top:30px;right:-14px;width:9px;height:9px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);transform:rotate(45deg)}
.mastages .n{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.mastages h3{margin-top:8px;font-size:18px;line-height:1.3;color:var(--ink)}
.mastages .mfee{margin-top:10px;font-size:21px;font-weight:700;color:var(--gold);line-height:1.2}
.mastages .mfee small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-bottom:3px}
.mastages .get{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);font-size:14px;line-height:1.55;color:var(--slate)}
.mastages .get b{display:block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:5px}
.magate{display:grid;grid-template-columns:1fr 1fr;margin-top:24px;border:1px solid var(--gold);border-radius:6px;overflow:hidden}
.magate > div{padding:18px 22px}
.magate > div:first-child{background:rgba(232,181,74,.08);border-right:1px solid var(--gold)}
.magate b{display:block;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.magate p{margin-top:6px;font-size:16px;font-weight:600;line-height:1.45;color:var(--ink)}
.maafter{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
form.lead #f-by{color-scheme:dark;-webkit-appearance:none;appearance:none;text-align:left;min-height:50px}
form.lead #f-has:invalid{color:#8FA3C0}
form.lead #f-has option{color:#13294B;background:#fff}
@media(max-width:1060px){.mastages{grid-template-columns:repeat(3,1fr)}.mastages li:nth-child(3)::after{display:none}}
@media(max-width:900px){.maproof-grid{grid-template-columns:1fr 1fr}.maproof-lead{grid-column:1 / -1}}
@media(max-width:760px){
  .maproof{padding:32px 0 34px}
  .maproof-grid{grid-template-columns:1fr;gap:12px}
  .maproof-lead p{font-size:17px}
  .mastages{grid-template-columns:1fr;gap:12px;margin-top:24px}
  .mastages li::after{display:none}
  .mastages li{display:grid;grid-template-columns:1fr auto;column-gap:14px;padding:16px 16px 18px}
  .mastages .n{grid-column:1 / -1}
  .mastages h3{margin-top:4px;align-self:end}
  .mastages .mfee{margin-top:4px;text-align:right;font-size:19px}
  .mastages .get{grid-column:1 / -1}
  .magate{grid-template-columns:1fr}
  .magate > div:first-child{border-right:0;border-bottom:1px solid var(--gold)}
  .maafter .btn{flex:1 1 100%;text-align:center}
}
