/* ============================================================
   Canova Medical — shared design system (single source of truth)
   Linked by every page (generated + bespoke). Edit here once.
   ============================================================ */
:root{
  --ink:#1B2A26; --pine:#234A41; --pine-deep:#16332C; --porcelain:#FBFAF6;
  --paper:#F4F1E9; --brass:#9C7C2E;--brass-ink:#85681E; --brass-light:#C9A85C; --hairline:#E4DFD2; --muted:#5E6862; --max:1180px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Archivo',sans-serif;background:var(--porcelain);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
a{color:inherit;text-decoration:none;}
.tag{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--brass-ink);display:inline-flex;align-items:center;gap:10px;}
.tag::before{content:"";width:26px;height:1px;background:var(--brass);display:inline-block;}
.topbar{background:var(--pine-deep);color:#D7DAD3;font-size:0.78rem;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:16px;}
.topbar .mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.08em;}
.topbar a:hover{color:#fff;}
.topbar .reg{display:flex;gap:22px;align-items:center;}
.topbar .reg span::before{content:"•";color:var(--brass-light);margin-right:8px;}
.topbar .reg span:first-child::before{content:"";margin:0;}
header.nav{position:sticky;top:0;z-index:50;background:rgba(251,250,246,0.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;}
.logo{display:flex;align-items:baseline;gap:2px;line-height:1;}
.logo .word{font-family:'Libre Caslon Text',serif;font-size:1.5rem;font-weight:700;color:var(--pine-deep);}
.logo .word span{color:var(--brass-ink);}
.logo .est{font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.22em;color:var(--muted);margin-left:12px;text-transform:uppercase;}
nav.links{display:flex;gap:34px;font-size:0.92rem;font-weight:500;}
nav.links > div, nav.links > a{position:relative;}
nav.links a{padding:4px 0;color:#2C3833;display:inline-block;}
nav.links a.toplink::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--brass);transition:width .25s ease;}
nav.links a.toplink:hover::after, nav.links .dd:hover > a.toplink::after, nav.links a.toplink.active::after{width:100%;}
.dd .menu{position:absolute;top:calc(100% + 14px);left:-24px;background:#fff;border:1px solid var(--hairline);min-width:250px;padding:10px 0;box-shadow:0 18px 40px rgba(27,42,38,0.12);opacity:0;visibility:hidden;transform:translateY(6px);transition:all .2s ease;}
.dd:hover .menu, .dd:focus-within .menu{opacity:1;visibility:visible;transform:none;}
.dd .menu::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.dd .menu a{display:block;padding:10px 24px;font-size:0.88rem;color:#2C3833;}
.dd .menu a:hover{background:var(--paper);color:var(--pine-deep);}
.dd .menu a.current{color:var(--brass-ink);font-weight:600;border-left:2px solid var(--brass);background:var(--paper);}
.cta{background:var(--pine);color:#fff;font-weight:600;font-size:0.92rem;padding:13px 26px;border:1px solid var(--pine);transition:background .2s ease;display:inline-block;}
.cta:hover{background:var(--pine-deep);}
.cta.ghost{background:transparent;color:var(--pine);}
.cta.ghost:hover{background:var(--pine);color:#fff;}
.cta.brass{background:var(--brass-ink);border-color:var(--brass);}
.cta.brass:hover{background:#876A24;}
.crumbs{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);padding:26px 0 0;}
.crumbs a:hover{color:var(--brass-ink);}
.crumbs span{margin:0 8px;color:var(--brass-light);}
.hero{padding:42px 0 0;border-bottom:1px solid var(--hairline);position:relative;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-180px;top:-40px;width:520px;height:520px;border-radius:50%;border:1px solid var(--hairline);pointer-events:none;}
.hero h1{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:clamp(2.2rem,4.6vw,3.6rem);line-height:1.14;max-width:18ch;color:var(--pine-deep);}
.hero h1 em{font-style:italic;color:var(--brass);}
.hero .sub{margin-top:24px;max-width:58ch;font-size:1.06rem;color:var(--muted);}
.hero .actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
@media (max-width:600px){.hero .actions{justify-content:center;}}
.hero .tag{margin-bottom:22px;}
/* .hero has no bottom padding: with a stat rail, the rail's cells supply it
   (28px above the section border). On the 17 pages with no rail — /fees,
   /contact, /careers, the legal set — the action buttons landed flush on that
   border. Matches the rail's optical breathing room without adding a second
   gap on the pages that have one. */
.hero--no-rail{padding-bottom:56px;}
@media (max-width:600px){.hero--no-rail{padding-bottom:40px;}}
.rail{margin-top:70px;border-top:1px solid var(--hairline);display:grid;grid-template-columns:repeat(4,1fr);}
.rail .cell{padding:24px 28px 28px 0;border-right:1px solid var(--hairline);}
.rail .cell:last-child{border-right:none;}
.rail .cell + .cell{padding-left:28px;}
.rail .num{font-family:'Libre Caslon Text',serif;font-size:1.7rem;color:var(--pine-deep);line-height:1.15;}
.rail .lbl{font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.section{padding:96px 0;}
h2.h{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:clamp(1.7rem,3vw,2.4rem);color:var(--pine-deep);margin-top:18px;line-height:1.22;}
h2.h em{font-style:italic;color:var(--brass);}
.lede{color:var(--muted);font-size:0.98rem;max-width:60ch;margin-top:14px;}
.section-head{margin-bottom:54px;}
/* same-day / dark band */
.sameday{background:var(--pine-deep);color:#EDEBE2;padding:100px 0;}
.sameday .tag{color:var(--brass-light);}
.sameday .tag::before{background:var(--brass-light);}
.sameday h2.h{color:#EDEBE2;}
.sameday .cols{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:start;}
.sameday p.body{color:#B9C2BB;max-width:48ch;}
.sameday p.body strong{color:#fff;}
.sameday p.body + p.body{margin-top:16px;}
.timeline{border-left:1px solid rgba(201,168,92,0.4);margin-top:8px;}
.tl{padding:0 0 30px 28px;position:relative;}
.tl:last-child{padding-bottom:0;}
.tl::before{content:"";position:absolute;left:-5px;top:7px;width:9px;height:9px;border-radius:50%;background:var(--brass-light);}
.tl .t{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--brass-light);}
.tl h3{font-size:1.02rem;font-weight:600;margin:6px 0 4px;color:#fff;}
.tl p{font-size:0.9rem;color:#A9B3AC;}
/* split + checklist */
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;}
.split .sticky{position:sticky;top:120px;}
.split p{color:var(--muted);font-size:0.97rem;}
.split p + p{margin-top:16px;}
.split p strong{color:var(--ink);}
.checklist{margin-top:8px;border-top:1px solid var(--hairline);}
.check{border-bottom:1px solid var(--hairline);padding:24px 0;}
.check h3{font-size:1.02rem;font-weight:600;display:flex;gap:14px;align-items:baseline;}
.check h3 .tick{color:var(--brass-ink);font-family:'Libre Caslon Text',serif;}
.check p{margin-top:6px;font-size:0.92rem;color:var(--muted);padding-left:30px;}
/* methods grid */
.methods{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.method{border:1px solid var(--hairline);background:var(--porcelain);padding:34px 30px 36px;position:relative;}
.method .ref{font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.14em;color:var(--brass-ink);text-transform:uppercase;}
.method h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.4rem;color:var(--pine-deep);margin:12px 0 8px;}
.method p{font-size:0.93rem;color:var(--muted);}
.method .meta{margin-top:16px;font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:var(--ink);border-top:1px dashed var(--hairline);padding-top:14px;}
.method .meta b{color:var(--pine-deep);}
/* facts */
.facts{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--hairline);border-left:1px solid var(--hairline);margin-top:8px;}
.fact{border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:26px 28px;}
.fact .k{font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-ink);}
.fact .v{font-size:1rem;font-weight:600;margin-top:8px;color:var(--ink);}
.fact .d{font-size:0.86rem;color:var(--muted);margin-top:4px;}
/* guarantee band */
.guarantee{background:var(--paper);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);}
.gcols{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:8px;}
.gcard{background:var(--porcelain);border:1px solid var(--brass-light);padding:32px 30px;display:flex;gap:18px;align-items:flex-start;}
.gcard .seal{font-family:'Libre Caslon Text',serif;font-size:2rem;color:var(--brass);line-height:1;flex-shrink:0;}
.gcard h3{font-size:1.05rem;font-weight:600;color:var(--pine-deep);}
.gcard p{font-size:0.9rem;color:var(--muted);margin-top:6px;}
/* fees */
.fees{background:var(--porcelain);}
.fees .head{max-width:60ch;margin-bottom:56px;}
.feegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.feecard{background:var(--porcelain);border:1px solid var(--hairline);padding:36px 30px 34px;position:relative;display:flex;flex-direction:column;}
.feecard.hot{border-color:var(--brass);box-shadow:0 14px 36px rgba(156,124,46,0.12);}
.feecard .pill{position:absolute;top:-12px;left:28px;background:var(--brass);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;padding:4px 12px;}
.feecard .scen{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);}
.feecard h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.3rem;color:var(--pine-deep);margin:14px 0 10px;line-height:1.3;}
.feecard .price{font-family:'Libre Caslon Text',serif;font-size:2rem;color:var(--pine-deep);}
.feecard p{font-size:0.92rem;color:var(--muted);flex:1;margin-top:8px;}
.feecard .math{margin-top:22px;padding-top:18px;border-top:1px solid var(--hairline);font-family:'IBM Plex Mono',monospace;font-size:0.78rem;color:var(--ink);line-height:2;}
.feecard .math .strike{text-decoration:line-through;color:var(--muted);}
.feecard .math .res{color:var(--brass-ink);font-weight:600;}
.fees .note{margin-top:34px;font-size:0.88rem;color:var(--muted);max-width:70ch;}
.fees .note strong{color:var(--ink);}
/* FAQ */
.faq{max-width:820px;}
.faq details{border-top:1px solid var(--hairline);}
.faq details:last-child{border-bottom:1px solid var(--hairline);}
.faq summary{cursor:pointer;list-style:none;padding:26px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:1.05rem;font-weight:600;color:var(--ink);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .ind{font-family:'Libre Caslon Text',serif;color:var(--brass-ink);font-size:1.4rem;line-height:1;transition:transform .25s ease;flex-shrink:0;}
.faq details[open] summary .ind{transform:rotate(45deg);}
.faq .a{padding:0 60px 28px 0;font-size:0.95rem;color:var(--muted);}
.faq .a p + p{margin-top:12px;}
/* related */
.related{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:8px;}
.rcard{border:1px solid var(--hairline);padding:24px 24px 26px;background:var(--porcelain);transition:background .2s ease;}
.rcard:hover{background:#F3F0E7;}
.rcard .k{font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.14em;color:var(--brass-ink);text-transform:uppercase;}
.rcard h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.15rem;color:var(--pine-deep);margin:10px 0 0;}
.rcard .go{margin-top:14px;font-size:0.82rem;font-weight:600;color:var(--pine);border-bottom:1px solid var(--brass);display:inline-block;padding-bottom:2px;}
/* disclaimer */
.disclaimer{background:var(--paper);border:1px solid var(--hairline);padding:24px 28px;margin-top:40px;font-size:0.85rem;color:var(--muted);display:flex;gap:16px;align-items:flex-start;}
.disclaimer .ic{font-family:'Libre Caslon Text',serif;color:var(--brass-ink);font-size:1.3rem;flex-shrink:0;}
.disclaimer strong{color:var(--ink);}
.reviewed{font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.08em;color:var(--muted);margin-top:18px;}
.reviewed b{color:var(--pine-deep);}
/* trust strip */
.proof{background:#fff;border-bottom:1px solid var(--hairline);}
.proof .wrap{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:center;align-items:center;padding:20px 32px;}
.proof .it{display:inline-flex;align-items:center;gap:8px;font-size:0.86rem;color:var(--ink);}
.proof .it b{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.1rem;color:var(--pine-deep);}
.proof .it .st{color:var(--brass-ink);letter-spacing:1px;font-size:0.82rem;}
.proof .it .lbl{color:var(--muted);}
.proof .sep{color:var(--brass-light);}
@media(max-width:640px){.proof .sep{display:none;}.proof .wrap{gap:10px 20px;}}
/* booking form */
.bookform{max-width:560px;margin:32px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;}
.bookform .full{grid-column:1 / -1;}
.bookform label{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.bookform input,.bookform select{width:100%;padding:13px 15px;border:1px solid var(--hairline);background:#fff;font-family:inherit;font-size:0.95rem;color:var(--ink);}
.bookform input:focus,.bookform select:focus{outline:2px solid var(--brass-light);border-color:var(--brass);}
.bookform button.cta{border:0;cursor:pointer;}
/* Enquiry success state — its own block, NEVER .bookform: that's a 2-col
   grid for form fields, which lays the thank-you h3 and note side by side
   (cutover rehearsal 2026-08-15). */
.form-done{display:block;max-width:560px;margin:32px auto 0;text-align:center;padding:36px 28px;background:#fff;border:1px solid var(--hairline);border-top:2px solid var(--brass);}
.form-done h3{margin:0 0 10px;}
.form-done p{margin:0;}
.contact-grid .form-done{margin:0;max-width:none;text-align:left;}
.bookform .assure{grid-column:1 / -1;text-align:center;font-size:0.78rem;color:var(--muted);margin-top:2px;}
.bookform .assure a{color:var(--pine-deep);font-weight:600;}
@media(max-width:560px){.bookform{grid-template-columns:1fr;}}
/* reviewer / E-E-A-T */
.reviewer{display:flex;align-items:center;gap:16px;margin-top:22px;padding:18px 22px;border:1px solid var(--hairline);background:var(--porcelain);max-width:640px;}
.reviewer .av{width:46px;height:46px;border-radius:50%;flex-shrink:0;background:linear-gradient(150deg,var(--pine),var(--pine-deep));color:#EDEBE2;font-family:'Libre Caslon Text',serif;display:flex;align-items:center;justify-content:center;}
.reviewer .t{font-size:0.86rem;color:var(--muted);line-height:1.5;}
.reviewer .t b{color:var(--pine-deep);}
.reviewer .t a{color:var(--brass-ink);border-bottom:1px solid var(--brass-light);}
/* AEO answer box + spec table + image */
.answerbox{background:var(--paper);border-bottom:1px solid var(--hairline);}
.answerbox .wrap{padding:56px 32px;}
.ab-grid{display:grid;grid-template-columns:1.25fr 0.75fr;gap:54px;align-items:center;}
.ab-lead{font-size:1.05rem;color:var(--ink);max-width:60ch;margin-top:14px;line-height:1.7;}
.ab-lead a{color:var(--brass);border-bottom:1px solid var(--brass-light);}
.ab-lead b{color:var(--pine-deep);}
.spec{width:100%;border-collapse:collapse;margin-top:26px;max-width:520px;}
.spec th,.spec td{text-align:left;padding:11px 0;border-bottom:1px solid var(--hairline);font-size:0.92rem;vertical-align:top;}
.spec th{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);font-weight:500;width:42%;}
.spec td{color:var(--ink);font-weight:500;}
.figphoto{position:relative;overflow:hidden;min-height:320px;border:1px solid var(--hairline);background:linear-gradient(150deg,var(--pine),var(--pine-deep));display:flex;align-items:flex-end;}
.figphoto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.figphoto figcaption{position:relative;z-index:1;width:100%;padding:13px 18px;background:rgba(22,51,44,0.5);color:#CFE9E4;font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;}
@media(max-width:900px){.ab-grid{grid-template-columns:1fr;gap:34px;}.figphoto{min-height:220px;}}
/* dual-action sticky mobile */
.mcta .mcall{padding:11px 16px;background:#fff;color:var(--pine-deep);border:1px solid #fff;font-weight:600;}
.mcta .mcall:hover{background:#F1ECE1;}
/* final cta */
/* mid-page CTA band */
.midcta{background:var(--pine-deep);color:#EDEBE2;}
.midcta .wrap{display:flex;align-items:center;justify-content:space-between;gap:44px;padding:46px 32px;flex-wrap:wrap;}
.midcta .tag{color:var(--brass-light);}.midcta .tag::before{background:var(--brass-light);}
.midcta h2{font-family:'Libre Caslon Text',serif;font-weight:400;color:#fff;font-size:clamp(1.4rem,3vw,2rem);line-height:1.2;margin-top:12px;max-width:22ch;}
.midcta .mc-actions{display:flex;gap:12px;flex-wrap:wrap;flex:none;}
.midcta .cta.ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,0.45);}
.midcta .cta.ghost-light:hover{background:rgba(255,255,255,0.1);}
@media(max-width:760px){.midcta .wrap{flex-direction:column;align-items:flex-start;gap:22px;padding:42px 32px;}}
.final{padding:110px 0;text-align:center;border-top:1px solid var(--hairline);}
.final h2{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:clamp(1.9rem,3.6vw,2.8rem);color:var(--pine-deep);line-height:1.2;max-width:24ch;margin:22px auto 0;}
.final p{color:var(--muted);margin:20px auto 0;max-width:52ch;}
.final .actions{margin-top:34px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.final .phone{margin-top:26px;font-family:'IBM Plex Mono',monospace;font-size:0.85rem;letter-spacing:0.1em;color:var(--muted);}
.final .phone strong{color:var(--pine-deep);}
/* accreditations band */
.accred-band{background:var(--paper);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);padding:28px 0;}
.accred-band .wrap{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.acc-heading{font-family:'Libre Caslon Text',serif;font-size:1.2rem;font-weight:400;line-height:1.2;color:var(--pine-deep);flex:none;margin:0;}
.acc-row{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;flex:1;justify-content:flex-end;}
.acc-mark{display:flex;align-items:center;justify-content:center;padding:10px 20px;border:1px solid var(--hairline);background:#fff;transition:transform .2s ease;}
.acc-mark:hover{transform:translateY(-2px);}
.acc-mark img{height:46px;width:auto;display:block;}
@media (max-width:760px){.accred-band .wrap{flex-direction:column;align-items:center;gap:16px;}.acc-row{justify-content:center;}.acc-heading{text-align:center;}.acc-mark img{height:65px;}}
/* enquiry form: country dial-code + phone number.
   The select must NOT size to its content: the widest option ("+971" with a
   flag emoji) plus the form's 16px side padding made it ~150px of a ~265px
   grid cell, leaving the actual number input narrower than the dropdown.
   Fixed basis sized for the closed state; the open list is unaffected. */
.phone-field{display:flex;gap:8px;align-items:stretch;}
.phone-field select{flex:0 0 6.5rem;width:6.5rem;padding-left:10px;padding-right:6px;text-overflow:ellipsis;}
.phone-field input{flex:1 1 auto;min-width:0;}
/* testimonial review photos (multiple) + verified-review link */
.testi .qimgs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px;}
.testi .qimg{width:64px;height:64px;border-radius:8px;object-fit:cover;transition:transform .15s ease;}
.testi .qimg:hover,.testi .qimg:focus-visible{transform:scale(1.05);outline:2px solid var(--brass);outline-offset:2px;}
/* Review-photo lightbox (canova-lightbox.js) */
.cv-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(16,32,28,0.92);display:flex;align-items:center;justify-content:center;}
.cv-lightbox[hidden]{display:none;}
.cv-lb-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,0.5);}
.cv-lb-close{position:absolute;top:16px;right:22px;background:none;border:0;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer;padding:0 8px;}
.cv-lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.14);border:0;color:#fff;font-size:2rem;width:52px;height:52px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.cv-lb-nav:hover{background:rgba(255,255,255,0.26);}
.cv-lb-prev{left:20px;}.cv-lb-next{right:20px;}
.cv-lb-nav[hidden]{display:none;}
@media(max-width:560px){.cv-lb-nav{width:42px;height:42px;font-size:1.6rem;}.cv-lb-close{top:10px;right:14px;}}
/* footer (corporate) */
footer{background:var(--pine-deep);color:#A9B3AC;padding:56px 0 36px;font-size:0.88rem;}
footer a{transition:color .2s ease;}
footer a:hover{color:#fff;}
.fgrid{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:36px;padding-bottom:54px;border-bottom:1px solid rgba(255,255,255,0.12);}
.fbrand .logo .word{font-family:'Libre Caslon Text',serif;font-size:1.5rem;font-weight:700;color:#EDEBE2;}
.fbrand .logo .word span{color:var(--brass-light);}
.fbrand .blurb{max-width:34ch;margin-top:16px;line-height:1.7;color:#9AA59D;}
.fbrand .fphone{display:inline-block;margin-top:22px;font-family:'Libre Caslon Text',serif;font-size:1.4rem;color:#fff;}
.fbrand .fhours{font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--brass-light);margin-top:6px;}
footer h3.fhead{font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--brass-light);margin-bottom:18px;}
footer ul{list-style:none;}
footer li{margin-bottom:11px;}
.fcol a{color:#C4CCC5;font-size:0.9rem;}
.ftrust{display:grid;grid-template-columns:1.35fr 1fr;gap:30px;align-items:center;padding:32px 0;border-bottom:1px solid rgba(255,255,255,0.12);}
.trustcard{border:1px solid rgba(201,168,92,0.35);background:rgba(255,255,255,0.03);padding:20px 24px;display:flex;align-items:center;gap:18px;}
.trustcard .cqc-mark{font-family:'Libre Caslon Text',serif;font-size:1.9rem;color:var(--brass-light);line-height:1;flex:none;}
.trustcard .ct b{display:block;color:#EDEBE2;font-size:0.98rem;font-weight:600;}
.trustcard .ct span{display:block;color:#9AA59D;font-size:0.84rem;margin-top:3px;}
.trustcard .tick{margin-left:auto;width:30px;height:30px;border:1.5px solid var(--brass-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--brass-light);flex:none;font-size:0.85rem;}
.frev{text-align:right;}
.frev .stars{color:var(--brass-light);letter-spacing:3px;font-size:1.05rem;}
.frev .rtext{color:#EDEBE2;font-size:0.95rem;margin-top:6px;}
.frev .rtext b{color:#fff;font-family:'Libre Caslon Text',serif;font-size:1.2rem;}
.frev .accred{color:#7E8A82;font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;margin-top:9px;line-height:1.6;}
.fsocial{display:flex;gap:13px;padding:30px 0;}
.fsocial a{width:46px;height:46px;border:1px solid rgba(255,255,255,0.25);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#C4CCC5;}
.fsocial a:hover{background:rgba(255,255,255,0.08);border-color:var(--brass-light);color:#fff;}
.fsocial svg{width:18px;height:18px;fill:currentColor;}
.flegal{padding-top:24px;border-top:1px solid rgba(255,255,255,0.12);}
.flegal .legal-links{display:flex;gap:20px;flex-wrap:wrap;font-size:0.8rem;}
.flegal .legal-links a{color:#9AA59D;}
.flegal .company{margin-top:16px;font-size:0.75rem;color:#9AA5A0;line-height:1.7;max-width:95ch;}
.flegal .company span{color:var(--brass-light);}
/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}
/* sticky mobile CTA */
.mcta{display:none;}
@media (max-width:1000px){
  nav.links{display:none;}
  .sameday .cols,.split{grid-template-columns:1fr;gap:48px;}
  .split .sticky{position:static;}
  .methods,.gcols{grid-template-columns:1fr;}
  .feegrid{grid-template-columns:1fr;}
  .related{grid-template-columns:1fr 1fr;}
  .fgrid{grid-template-columns:1fr 1fr;gap:34px;}
  .ftrust{grid-template-columns:1fr;}
  .frev{text-align:left;}
}
@media (max-width:640px){
  .wrap{padding:0 20px;}
  .rail{grid-template-columns:1fr 1fr;}
  .rail .cell{padding:18px 14px 18px 0;}
  .rail .cell:nth-child(odd){padding-left:0;}
  .rail .cell:nth-child(even){padding-left:14px;}
  .rail .cell:nth-child(2n){border-right:none;}
  .rail .cell:nth-child(n+3){border-top:1px solid var(--hairline);}
  .facts,.related{grid-template-columns:1fr;}
  .section,.sameday,.fees,.guarantee{padding:52px 0;}
  .section-head{margin-bottom:30px;}
  .fees .head{margin-bottom:30px;}
  .fees .feelist-head{margin-top:34px;}
  .answerbox .wrap{padding:40px 20px;}
  .topbar .reg span:nth-child(2){display:none;}
  .faq .a{padding-right:0;}
  .fgrid{grid-template-columns:1fr;}
  header.nav > .wrap > a.cta{display:none;}
  body{padding-bottom:68px;}
  .mcta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--pine-deep);padding:10px 16px;gap:10px;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,0.12);}
  .mcta .p{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;color:#C9A85C;}
  .mcta .p b{color:#fff;font-family:'Libre Caslon Text',serif;font-size:1.1rem;display:block;}
  .mcta .cta{padding:11px 18px;font-size:0.84rem;}
}

/* ============ client revisions (Jun 2026): logo image · corporate footer · price reveal ============ */
.logo{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1;}
.logo img{height:42px;width:auto;display:block;}
.logo .est{font-family:'IBM Plex Mono',monospace;font-size:0.55rem;letter-spacing:0.24em;color:var(--muted);text-transform:uppercase;margin:0;}
header.nav.scrolled .logo img{height:36px;}

/* footer brand logo + social */
.flogo img{height:48px;}
.flogo .est{color:var(--brass-light);}
.fbrand .fsocial{padding:0;margin-top:22px;}
.fcol .ftrustcard{margin-top:22px;}
.ftrustcard{border:1px solid rgba(201,168,92,0.35);background:rgba(255,255,255,0.03);padding:14px 16px;display:flex;align-items:center;gap:12px;}
.ftrustcard .cqc-mark{font-family:'Libre Caslon Text',serif;font-size:1.5rem;color:var(--brass-light);line-height:1;flex:none;}
.ftrustcard .ct b{display:block;color:#EDEBE2;font-size:0.86rem;font-weight:600;}
.ftrustcard .ct span{display:block;color:#9AA59D;font-size:0.74rem;margin-top:2px;}
.ftrust{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:30px 0;border-bottom:1px solid rgba(255,255,255,0.12);}
.ftrust .frev{display:flex;align-items:center;gap:12px;}
.ftrust .frev .stars{color:var(--brass-light);letter-spacing:3px;font-size:1.05rem;}
.ftrust .frev .rtext{color:#EDEBE2;font-size:0.95rem;}
.ftrust .frev .rtext b{color:#fff;font-family:'Libre Caslon Text',serif;font-size:1.2rem;}
.ftrust .faccred{color:#9AA5A0;font-family:'IBM Plex Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;text-align:right;line-height:1.6;}
@media(max-width:760px){.ftrust{flex-direction:column;align-items:flex-start;}.ftrust .faccred{text-align:left;}}

/* price reveal accordion */
.pricedrop{display:inline-block;margin-top:20px;border:1px solid var(--brass);background:#fff;}
.pricedrop summary{list-style:none;cursor:pointer;font-family:'IBM Plex Mono',monospace;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--pine);padding:11px 18px;display:flex;align-items:center;gap:10px;transition:background .2s ease,color .2s ease;}
.pricedrop summary::-webkit-details-marker{display:none;}
.pricedrop summary:hover{background:var(--paper);}
.pricedrop summary .chev{font-family:'Libre Caslon Text',serif;color:var(--brass-ink);transition:transform .25s ease;font-size:1.1rem;line-height:1;}
.pricedrop[open] summary{background:var(--brass);color:#fff;}
.pricedrop[open] summary .chev{transform:rotate(180deg);color:#fff;}
.pricedrop .priceout{padding:14px 18px;border-top:1px solid var(--brass);font-family:'Libre Caslon Text',serif;font-size:1.45rem;color:var(--pine-deep);}
.pricedrop .priceout span{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:6px;}

/* ============ Option B — click-the-treatment-name price reveal (treatment pages) ============ */
.feelist-head{margin-top:54px;display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:760px;}
.feelist-head h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.4rem;color:var(--pine-deep);}
.feelist-head .hint-line{font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--brass-ink);}
.feelist{margin-top:8px;border-top:1px solid var(--hairline);max-width:760px;}
.feerow{border-bottom:1px solid var(--hairline);}
.fr-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:22px 2px;}
.feerow-drop{overflow:hidden;}
.feerow-drop > summary{list-style:none;cursor:pointer;outline:none;}
.feerow-drop > summary::-webkit-details-marker{display:none;}
.feerow-drop > summary:focus-visible{outline:2px solid var(--brass-light);outline-offset:-2px;}
.fr-title{font-family:'Libre Caslon Text',serif;font-size:1.3rem;color:var(--pine-deep);transition:color .2s;}
.feerow-drop > summary:hover .fr-title{color:var(--brass-ink);}
.fr-price{font-family:'Libre Caslon Text',serif;font-size:1.3rem;color:var(--brass-ink);white-space:nowrap;text-align:right;}
.fr-hint{font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--brass-ink);display:inline-flex;align-items:center;gap:9px;white-space:nowrap;}
.fr-hint .pl{font-family:'Libre Caslon Text',serif;font-size:1.35rem;line-height:1;transition:transform .25s;}
.feerow-drop[open] > summary .fr-hint{color:var(--muted);}
.feerow-drop[open] > summary .fr-hint .pl{transform:rotate(45deg);}
.fr-body{padding:0 2px 24px;}
.fr-revealed{font-family:'Libre Caslon Text',serif;font-size:1.7rem;color:var(--pine-deep);}
.fr-revealed .fr-sub{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-top:6px;}
.fr-desc{font-size:0.92rem;color:var(--muted);max-width:64ch;line-height:1.7;}
.feerow-static .fr-desc{padding:0 2px 22px;margin-top:-6px;}
.feerow-drop .fr-desc{margin-top:14px;}

/* ===== hub pages (Lesions / Nails) ===== */
.svcgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.svc{border:1px solid var(--hairline);background:var(--porcelain);padding:30px 28px 32px;display:flex;flex-direction:column;transition:background .2s ease,transform .2s ease;}
.svc:hover{background:#F3F0E7;transform:translateY(-3px);}
.svc .k{font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.14em;color:var(--brass-ink);text-transform:uppercase;}
.svc h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.28rem;color:var(--pine-deep);margin:10px 0 8px;}
.svc p{font-size:0.9rem;color:var(--muted);flex:1;}
.svc .foot{margin-top:18px;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--hairline);padding-top:14px;}
.svc .price{font-family:'IBM Plex Mono',monospace;font-size:0.76rem;color:var(--pine-deep);font-weight:600;}
.svc .go{font-size:0.82rem;font-weight:600;color:var(--pine);border-bottom:1px solid var(--brass);padding-bottom:2px;}
@media(max-width:900px){.svcgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.svcgrid{grid-template-columns:1fr;}}

/* ===== support pages (Our Surgeons / Clinics / Fees / About / Contact) ===== */
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.member{border:1px solid var(--hairline);background:var(--porcelain);padding:30px 28px 32px;}
.member .av{width:64px;height:64px;border-radius:50%;background:linear-gradient(150deg,var(--pine),var(--pine-deep));color:#EDEBE2;font-family:'Libre Caslon Text',serif;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden;}
.member .av img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.member h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.25rem;color:var(--pine-deep);}
.member .role{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--brass-ink);margin:6px 0 12px;}
.member p{font-size:0.9rem;color:var(--muted);}
.cl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
.cl{border:1px solid var(--hairline);background:var(--porcelain);padding:34px 30px;}
.cl.soon{background:repeating-linear-gradient(135deg,#F6F3EC,#F6F3EC 12px,#F1EDE4 12px,#F1EDE4 24px);}
.cl .city{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--brass-ink);}
.cl h3{font-family:'Libre Caslon Text',serif;font-weight:400;font-size:1.5rem;color:var(--pine-deep);margin:8px 0 6px;}
.cl .addr{color:var(--muted);font-size:0.95rem;}
.cl p{color:var(--muted);font-size:0.9rem;margin-top:10px;}
/* Per-clinic CQC report link — a regulator trust signal patients look for. */
.cl p.cl-cqc{margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.06em;}
.cl .cl-cqc a{color:var(--brass-ink);text-decoration:none;border-bottom:1px solid var(--hairline);padding-bottom:2px;}
.cl .cl-cqc a:hover,.cl .cl-cqc a:focus-visible{color:var(--pine-deep);border-bottom-color:var(--brass);}
.cl .acts{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap;}
.feetable{border-top:1px solid var(--hairline);}
.feetable .grp{font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--brass-ink);padding:30px 0 12px;}
.feetable .row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--hairline);}
.feetable .row .nm{font-size:1rem;color:var(--ink);font-weight:500;}
.feetable .row .pr{font-family:'Libre Caslon Text',serif;font-size:1.05rem;color:var(--pine-deep);text-align:right;white-space:nowrap;}
.feetable .row .pr sup{color:var(--brass-ink);}
/* Option F — master "show prices" toggle */
.f-bar{display:flex;align-items:center;gap:16px;margin-bottom:6px;}
.f-bar-t{font-family:'IBM Plex Mono',monospace;font-size:0.66rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--pine);}
.f-switch{position:relative;width:52px;height:28px;flex:none;cursor:pointer;display:inline-block;}
.f-switch input{position:absolute;opacity:0;width:0;height:0;}
.f-track{position:absolute;inset:0;background:#D8D3C4;border-radius:999px;transition:background .25s;}
.f-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .25s;box-shadow:0 1px 3px rgba(0,0,0,0.25);}
.f-switch input:checked + .f-track{background:var(--brass);}
.f-switch input:checked + .f-track + .f-knob{transform:translateX(24px);}
.f-switch input:focus-visible + .f-track{outline:2px solid var(--brass-light);outline-offset:2px;}
.feetable .pr .dots{letter-spacing:3px;color:var(--brass-light);font-family:'IBM Plex Mono',monospace;}
.feetable .pr .real{display:none;}
.feetable.shown .pr .dots{display:none;}
.feetable.shown .pr .real{display:inline;}
.cred .row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:18px 0;border-bottom:1px solid var(--hairline);}
.cred .row .k{font-size:0.96rem;color:var(--ink);font-weight:500;}
.cred .row .v{font-family:'IBM Plex Mono',monospace;font-size:0.72rem;letter-spacing:0.08em;color:var(--brass-ink);text-transform:uppercase;text-align:right;white-space:nowrap;flex:none;}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cform .full{grid-column:1 / -1;}
.cform label{display:block;font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.cform input,.cform select,.cform textarea{width:100%;padding:13px 16px;border:1px solid var(--hairline);background:var(--porcelain);font-family:inherit;font-size:0.95rem;color:var(--ink);}
.cform textarea{min-height:130px;resize:vertical;}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--brass-light);border-color:var(--brass);}
.cform .cta{border:0;cursor:pointer;}
.contact-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start;}
.surgeons .inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;}
@media(max-width:1000px){.team{grid-template-columns:1fr 1fr;}.cl-grid{grid-template-columns:1fr;}.contact-grid{grid-template-columns:1fr;gap:44px;}.surgeons .inner{grid-template-columns:1fr;gap:40px;}}
@media(max-width:560px){.feetable .row{flex-direction:column;align-items:flex-start;gap:5px;}.feetable .row .pr{text-align:left;}}
@media(max-width:640px){.team{grid-template-columns:1fr;}.cform{grid-template-columns:1fr;}}

/* ============ client revisions (Jul 2026): centred EST tag · white footer logo ============ */
.logo .est{width:100%;text-align:center;margin-left:0;}


/* google-reviews + team carousels (canova-google-reviews / canova-team-carousel) */
.grev .section-head,.tcar .section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
.car-nav{display:flex;gap:8px;flex:none;}
.car-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--hairline);background:#fff;color:var(--pine);cursor:pointer;font-size:1rem;line-height:1;transition:border-color .2s ease,color .2s ease;}
.car-btn:hover{border-color:var(--brass);color:var(--brass-ink);}
.car-btn[disabled]{opacity:.35;cursor:default;}
.car-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.car-track::-webkit-scrollbar{display:none;}
.grev-card{scroll-snap-align:start;flex:0 0 320px;background:#fff;border:1px solid var(--hairline);border-radius:14px;padding:20px 22px;display:flex;flex-direction:column;}
.grev-head{display:flex;align-items:center;gap:12px;}
.grev-av{width:40px;height:40px;border-radius:50%;background:var(--pine);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex:none;}
.grev-id{display:flex;flex-direction:column;min-width:0;flex:1;}
.grev-id b{font-size:.95rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.grev-id small{color:var(--muted);font-size:.78rem;}
.grev-g{flex:none;}
.grev-stars{color:#FBBC05;letter-spacing:2px;margin:12px 0 8px;font-size:.95rem;}
.grev-card blockquote{margin:0;font-size:.92rem;line-height:1.55;color:var(--ink);flex:1;}
.grev-src{display:inline-block;margin-top:14px;font-size:.78rem;color:var(--muted);text-decoration:none;}
a.grev-src:hover{color:var(--brass-ink);text-decoration:underline;}
.tcar-card{scroll-snap-align:start;flex:0 0 250px;background:#fff;border:1px solid var(--hairline);border-radius:14px;padding:26px 20px;text-align:center;}
/* The team card is an <a> to the team page (bios live there, not here).
   Without display:block an anchor is inline and flex-basis/padding collapse. */
a.tcar-card{display:block;text-decoration:none;color:inherit;transition:border-color .18s ease,box-shadow .18s ease;}
a.tcar-card:hover,a.tcar-card:focus-visible{border-color:var(--pine);box-shadow:0 2px 10px rgba(22,51,44,.08);}
.tcar-av{width:84px;height:84px;border-radius:50%;margin:0 auto 14px;background:var(--paper);color:var(--pine);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;overflow:hidden;}
.tcar-av img{width:100%;height:100%;object-fit:cover;}
.tcar-card h3{font-family:'Libre Caslon Text',serif;font-size:1.02rem;color:var(--pine-deep);margin-bottom:2px;}
.tcar-card .role{color:var(--brass-ink);font-size:.78rem;margin-bottom:8px;}
.tcar-card p{font-size:.85rem;color:var(--muted);line-height:1.5;}
.tcar-cta{margin-top:14px;}
.tcar-cta a{color:var(--brass-ink);font-weight:600;text-decoration:none;}
.tcar-cta a:hover{text-decoration:underline;}
@media (max-width:640px){
  .grev .section-head,.tcar .section-head{flex-direction:column;align-items:flex-start;}
  .grev-card{flex-basis:85%;}
  .tcar-card{flex-basis:70%;}
}

/* mobile burger + slide-down menu (nav.links hides at 1000px) */
.nav-burger{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:10px;flex-direction:column;justify-content:center;gap:5px;flex:none;}
.nav-burger span{display:block;height:2px;width:100%;background:var(--pine-deep);transition:transform .25s ease,opacity .2s ease;}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobmenu{display:none;border-top:1px solid var(--hairline);background:var(--porcelain);max-height:calc(100vh - 76px);overflow-y:auto;padding:6px 24px 24px;}
.mobmenu.open{display:block;}
.mm-group{border-bottom:1px solid var(--hairline);padding:8px 0;}
.mm-head{display:block;font-weight:600;color:var(--pine-deep);padding:9px 0;}
/* Accordion section rows: a <button> restyled to read exactly like the link
   rows, full-width so the whole row is the tap target. */
.mm-toggle{width:100%;background:none;border:0;font:inherit;font-weight:600;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.mm-chev{font-size:0.8em;color:var(--brass);transition:transform .18s ease;}
.mm-toggle[aria-expanded="true"] .mm-chev{transform:rotate(180deg);}
.mm-panel[hidden]{display:none;}
.mm-sub{display:block;padding:7px 0 7px 16px;color:#2C3833;font-size:0.92rem;}
.mm-cta{display:block;margin-top:18px;text-align:center;}
@media (max-width:1000px){.nav-burger{display:flex;}}

/* ============ client revisions (Aug 2026): mobile sticky-bar clearance · centred mobile logo ============ */

/* The sticky CTA bar is position:fixed, so it covers whatever the page ends
   with — the footer's last links were unreachable. body padding-bottom was a
   hardcoded 68px guess that (a) goes stale the moment the CMS label wraps to
   another line and (b) ignores the iOS home-indicator inset entirely, so the
   bar's own buttons sat in the gesture area too.
   canova-nav.js measures the bar and publishes --mcta-h; the literal below is
   only the no-JS fallback, and it is the one place the inset is added by hand
   (a measured height already includes the bar's safe-area padding). */
@media (max-width:1000px){
  body{padding-bottom:var(--mcta-h, calc(68px + env(safe-area-inset-bottom, 0px)));}
  .mcta{padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px));}
  /* The slide-down menu could also run under the bar on short screens. */
  .mobmenu{max-height:calc(100vh - 76px - var(--mcta-h, 68px));}
}

/* Phone header: burger left, logo optically centred (doctify.com pattern).
   Scoped to 640px, NOT the 1000px burger breakpoint — the Book CTA is still
   visible between 641 and 1000px and a three-column grid would squash it into
   the trailing 44px gutter.
   Selectors carry header.nav (not bare .nav) ON PURPOSE: the per-page sheets
   (canova-page-home.css) load AFTER this file and re-declare
   `.nav .wrap{display:flex}` for their sticky-nav styling — at equal
   specificity their later flex silently beat this grid, so the homepage
   burger sat right while every other page's sat left. The extra element
   qualifier outranks any bare `.nav .wrap` regardless of load order. */
@media (max-width:640px){
  header.nav .wrap{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;}
  header.nav .nav-burger{grid-column:1;grid-row:1;justify-self:start;}
  header.nav .logo{grid-column:2;grid-row:1;justify-self:center;align-items:center;}
}

/* ── Rich prose (legal pages, complaints, blog, patient stories) ───────────
   The canova-rich-prose block renders arbitrary HTML into .prose, and nothing
   styled it — headings, lists and the cookie table fell back to browser
   defaults and ran the full container width, which is unreadable for long
   legal copy. Deliberately narrow: 68ch, matching the .lede measure rather
   than the 1180px shell. Typography follows the rest of the theme —
   Libre Caslon headings in pine, Archivo body in ink. */
.prose{max-width:68ch;color:var(--ink);font-size:1rem;line-height:1.72;}
.prose > * + *{margin-top:1.05em;}
.prose h2,.prose h3,.prose h4{font-family:'Libre Caslon Text',serif;font-weight:400;color:var(--pine-deep);line-height:1.28;margin-top:2.2em;}
.prose h2{font-size:1.5rem;}
.prose h3{font-size:1.18rem;}
.prose h4{font-size:1.02rem;}
.prose h2:first-child,.prose h3:first-child{margin-top:0;}
.prose p{margin:0;}
.prose strong{color:var(--pine-deep);font-weight:600;}
.prose em{font-style:italic;}
.prose a{color:var(--brass-ink);text-decoration:underline;text-underline-offset:2px;}
.prose a:hover{color:var(--pine);}
.prose ul,.prose ol{padding-left:1.35em;}
.prose li + li{margin-top:.5em;}
.prose ul{list-style:disc;}
.prose ol{list-style:decimal;}
.prose li::marker{color:var(--brass);}
.prose table{width:100%;border-collapse:collapse;font-size:.94rem;margin-top:1.4em;}
.prose thead th{text-align:left;font-family:'IBM Plex Mono',monospace;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:500;border-bottom:1px solid var(--hairline);padding:0 12px 10px 0;}
.prose td{border-bottom:1px solid var(--hairline);padding:12px 12px 12px 0;vertical-align:top;}
.prose tbody tr:last-child td{border-bottom:0;}
/* Editorial markers awaiting a client answer — obviously provisional, never
   mistaken for copy, and easy to find on the page during review. */
.prose .todo,.prose-todo{background:#FDF3D8;border-bottom:1px dashed var(--brass);color:var(--brass-ink);padding:1px 4px;border-radius:3px;font-family:'IBM Plex Mono',monospace;font-size:.86em;}
@media(max-width:860px){.prose{max-width:none;}.prose table{display:block;overflow-x:auto;}}

/* ── Story ────────────────────────────────────────────────────────────────
   Narrative section with optional figures (the Antonio Canova origin story on
   /about). Two-column on desktop, prose above art on mobile. With no figures
   the prose takes a readable single measure rather than stretching to the
   full grid width — copy is signed off long before image licensing is, so the
   art-free state has to look finished, not broken. */
.story-lede{max-width:64ch;}
.story-body{display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:start;margin-top:44px;}
.story-body--noart{grid-template-columns:minmax(0,72ch);}
.story-prose p{color:var(--muted);font-size:0.99rem;max-width:68ch;}
.story-prose p + p{margin-top:1.15em;}
.story-prose strong{color:var(--ink);font-weight:600;}
.story-quote{margin:34px 0 0;padding:22px 0 22px 26px;border-left:2px solid var(--brass);}
.story-quote p{font-family:'Libre Caslon Text',serif;font-size:1.24rem;line-height:1.5;color:var(--pine-deep);max-width:38ch;}
.story-quote cite{display:block;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:0.68rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);font-style:normal;}
.story-art{display:flex;flex-direction:column;gap:30px;}
.story-fig{margin:0;}
.story-fig img{width:100%;height:auto;display:block;background:var(--paper);border:1px solid var(--hairline);}
.story-fig figcaption{margin-top:10px;font-size:0.82rem;color:var(--muted);line-height:1.5;}
.story-credit{display:block;margin-top:3px;font-family:'IBM Plex Mono',monospace;font-size:0.64rem;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted);opacity:0.78;}
@media(max-width:960px){
  .story-body,.story-body--noart{grid-template-columns:minmax(0,1fr);gap:38px;}
  .story-art{flex-direction:row;flex-wrap:wrap;gap:20px;}
  .story-fig{flex:1 1 240px;}
}
@media(max-width:560px){
  .story-art{flex-direction:column;}
  .story-quote p{font-size:1.22rem;}
}
