/* ============================================================
   Vesica — shared service-page styles (web-design-leeds, seo-leeds)
   Brand: Fraunces (display) / Commissioner (text), ink + gold
   ============================================================ */
:root{
  --ink:#0b0a08;--ink-2:#12100c;--paper:#f2ecdf;--gold:#c89b3c;--gold-bright:#e3bb62;
  --gold-deep:#8f6b22;--bone:#ece6d8;--dim:rgba(236,230,216,.74);--faint:rgba(236,230,216,.62);
  --hair:rgba(236,230,216,.14);--hair-soft:rgba(236,230,216,.08);
  --serif:'Fraunces',Georgia,serif;--sans:'Commissioner',system-ui,sans-serif;
  --ease:cubic-bezier(.19,1,.22,1);--pad-x:clamp(1.25rem,4.5vw,4.5rem);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--bone);font-family:var(--sans);font-size:16px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--gold);color:var(--ink)}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--pad-x)}
.skip-nav{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--ink);padding:.75rem 1.5rem;z-index:10001;font-weight:700}
.skip-nav:focus{left:0}

/* ---------- nav ---------- */
.snav{position:sticky;top:0;z-index:9000;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem var(--pad-x);background:rgba(11,10,8,.82);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid rgba(200,155,60,.16)}
.snav .logo{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-size:1.25rem;font-weight:500;letter-spacing:.05em}
.snav .logo svg{width:30px;height:20px;flex-shrink:0}
.snav .logo svg circle{fill:none;stroke:var(--gold);stroke-width:1.3}
.snav-links{display:flex;align-items:center;gap:1.9rem;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.snav-links a{color:var(--dim);transition:color .3s}
.snav-links a:hover,.snav-links a[aria-current="page"]{color:var(--gold-bright)}
@media(max-width:820px){.snav-links a:not(.snav-cta){display:none}}
.snav-cta{color:var(--ink)!important;background:var(--gold);padding:.7rem 1.2rem;letter-spacing:.16em;transition:background .3s,transform .3s var(--ease)}
.snav-cta:hover{background:var(--gold-bright);transform:translateY(-2px)}

/* ---------- shared furniture ---------- */
.kicker{display:flex;align-items:center;gap:1rem;font-size:.64rem;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem}
.kicker .rule{flex:0 0 48px;height:1px;background:var(--gold);opacity:.6}
.btn{display:inline-flex;align-items:center;gap:.7rem;padding:1rem 1.8rem;font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--gold);color:var(--gold-bright);background:transparent;transition:background .35s var(--ease),color .35s,transform .35s var(--ease);cursor:pointer}
.btn:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}
.btn-solid{background:var(--gold);color:var(--ink)}
.btn-solid:hover{background:var(--gold-bright);color:var(--ink)}
.section{padding:clamp(3.5rem,9vh,6.5rem) 0;position:relative}
.section.paper{background:var(--paper);color:var(--ink)}
.section.band{background:var(--ink-2);border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
h2.h{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.07;letter-spacing:-.01em;max-width:20ch}
h2.h em{font-style:italic;color:var(--gold-bright)}
.section.paper h2.h em{color:var(--gold-deep)}
.lede{font-size:clamp(1rem,1.4vw,1.12rem);color:var(--dim);font-weight:300;max-width:60ch}
.section.paper .lede{color:rgba(11,10,8,.66)}
.sec-intro{margin-bottom:clamp(2.2rem,5vh,3.4rem)}
.sec-intro .lede{margin-top:1.1rem}

/* ---------- breadcrumb ---------- */
.crumb{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:1.4rem 0 0}
.crumb a:hover{color:var(--gold-bright)}
.crumb span{color:var(--gold)}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(3rem,8vh,6rem) 0 clamp(3.5rem,9vh,6rem)}
.hero-geom{position:absolute;top:50%;right:-8%;transform:translateY(-50%);width:min(46vw,540px);opacity:.5;pointer-events:none}
.hero-geom circle{fill:none;stroke:rgba(200,155,60,.22);stroke-width:.7}
.hero-inner{position:relative;z-index:2;max-width:46rem}
.hero h1{font-family:var(--serif);font-weight:360;font-size:clamp(2.5rem,6.4vw,4.6rem);line-height:1.02;letter-spacing:-.02em;margin:1rem 0 1.4rem}
.hero h1 em{font-style:italic;color:var(--gold-bright)}
.hero .lede{font-size:clamp(1.05rem,1.5vw,1.22rem);max-width:50ch}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.hero-trust{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--hair);font-size:.72rem;letter-spacing:.04em;color:var(--dim)}
.hero-trust b{color:var(--bone);font-weight:600}

/* ---------- feature grid ---------- */
.grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--hair);border:1px solid var(--hair)}
@media(min-width:720px){.grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.grid.three{grid-template-columns:repeat(3,1fr)}}
.cell{background:var(--ink);padding:clamp(1.6rem,3vw,2.2rem)}
.section.paper .cell{background:var(--paper)}
.cell .n{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--gold)}
.cell h3{font-family:var(--serif);font-weight:500;font-size:1.25rem;margin:.8rem 0 .6rem;line-height:1.2}
.cell p{font-size:.92rem;color:var(--dim);font-weight:300}
.section.paper .cell p{color:rgba(11,10,8,.66)}

/* ---------- checklist ---------- */
.checks{list-style:none;display:grid;grid-template-columns:1fr;gap:.7rem;margin-top:1.6rem}
@media(min-width:720px){.checks{grid-template-columns:1fr 1fr;gap:.7rem 2.5rem}}
.checks li{display:flex;gap:.8rem;align-items:flex-start;font-size:.95rem;color:var(--dim)}
.section.paper .checks li{color:rgba(11,10,8,.72)}
.checks li::before{content:"";flex:0 0 16px;height:16px;margin-top:.28rem;border-radius:50%;border:1px solid var(--gold);background:radial-gradient(circle at center,var(--gold) 0 3px,transparent 3px)}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:1fr;gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:1rem}
@media(min-width:820px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{background:var(--ink);padding:1.8rem 1.5rem}
.step .big{font-family:var(--serif);font-style:italic;font-weight:300;font-size:2.6rem;color:transparent;-webkit-text-stroke:1px var(--gold-deep);line-height:1;margin-bottom:.8rem}
.step h4{font-family:var(--serif);font-weight:500;font-size:1.1rem;margin-bottom:.4rem}
.step p{font-size:.86rem;color:var(--dim);font-weight:300}

/* ---------- split (text + aside) ---------- */
.split{display:grid;grid-template-columns:1fr;gap:2.4rem}
@media(min-width:920px){.split{grid-template-columns:7fr 5fr;column-gap:7%;align-items:start}}
.aside{border:1px solid var(--hair);padding:clamp(1.6rem,3vw,2.2rem);background:var(--ink-2)}
.aside h3{font-family:var(--serif);font-weight:500;font-size:1.2rem;margin-bottom:.9rem}
.aside p{font-size:.92rem;color:var(--dim);font-weight:300;margin-bottom:1rem}
.aside .price{font-family:var(--serif);font-size:2rem;color:var(--bone)}
.aside .price em{font-style:italic;color:var(--gold-bright);font-size:.6em}

/* ---------- prose ---------- */
.prose p{font-size:1rem;color:var(--dim);font-weight:300;margin-bottom:1.1rem;max-width:65ch}
.section.paper .prose p{color:rgba(11,10,8,.7)}
.prose p a,.lede a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:3px}
.section.paper .prose p a{color:var(--gold-deep)}
.prose strong{color:var(--bone);font-weight:600}
.section.paper .prose strong{color:var(--ink)}

/* ---------- FAQ (native, zero-JS) ---------- */
.faq{border-top:1px solid var(--hair);margin-top:1rem}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;padding:1.4rem .2rem;display:flex;justify-content:space-between;gap:1.2rem;align-items:baseline;font-family:var(--serif);font-weight:450;font-size:clamp(1.02rem,1.7vw,1.2rem);color:var(--bone);transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--gold-bright)}
.faq summary::after{content:"+";font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.3rem;transition:transform .3s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{padding:0 .2rem 1.5rem;color:var(--dim);font-size:.95rem;font-weight:300;max-width:75ch}

/* ---------- CTA band ---------- */
.cta{background:var(--gold);color:var(--ink);padding:clamp(3rem,7vh,4.5rem) 0;text-align:center}
.cta h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;max-width:20ch;margin:0 auto 1.2rem}
.cta h2 em{font-style:italic}
.cta p{max-width:52ch;margin:0 auto 1.8rem;color:rgba(11,10,8,.78)}
.cta .btn{border-color:var(--ink);color:var(--ink)}
.cta .btn:hover{background:var(--ink);color:var(--paper)}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--hair);padding:3rem 0 2.2rem;background:var(--ink-2)}
.foot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.4rem;align-items:center}
.foot-links{display:flex;flex-wrap:wrap;gap:1.6rem;font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.foot-links a{color:var(--dim);transition:color .3s}
.foot-links a:hover{color:var(--gold-bright)}
.foot-fine{margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--hair-soft);color:var(--faint);font-size:.72rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem}
.foot-fine .quip{font-family:var(--serif);font-style:italic;color:rgba(236,230,216,.28)}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important}}

/* ---------- light theme (matches the homepage "daylight edition") ---------- */
html[data-theme="light"]{--ink:#1e180f;--ink-2:#ebe2cd;--paper:#fbf7ec;--gold:#8a6420;--gold-bright:#6f4f15;--gold-deep:#563d0e;--bone:#221c12;--dim:rgba(30,24,15,.8);--faint:rgba(30,24,15,.62);--hair:rgba(30,24,15,.16);--hair-soft:rgba(30,24,15,.09)}
html[data-theme="light"] body{background:#f4eee1}
html[data-theme="light"] .cell,html[data-theme="light"] .step{background:#f4eee1}
html[data-theme="light"] .section.paper .cell{background:var(--paper)}
html[data-theme="light"] .snav{background:rgba(244,238,225,.85);border-bottom-color:rgba(138,100,32,.22)}
html[data-theme="light"] .snav-cta{color:#fbf7ec!important}
html[data-theme="light"] ::selection{color:#fbf7ec}
html[data-theme="light"] .skip-nav{color:#fbf7ec}
html[data-theme="light"] .btn:hover{color:#fbf7ec}
html[data-theme="light"] .btn-solid,html[data-theme="light"] .btn-solid:hover{color:#fbf7ec}
html[data-theme="light"] .hero-geom circle{stroke:rgba(138,100,32,.3)}
html[data-theme="light"] .cta{color:#fbf7ec}
html[data-theme="light"] .cta h2{color:#fbf7ec}
html[data-theme="light"] .cta p{color:rgba(251,247,236,.85)}
html[data-theme="light"] .cta .btn{border-color:#fbf7ec;color:#fbf7ec}
html[data-theme="light"] .cta .btn:hover{background:#1e180f;color:#f4eee1}
html[data-theme="light"] .foot-fine .quip{color:rgba(30,24,15,.32)}

/* theme toggle — the brand mark; the filled circle marks the current side */
.theme-toggle{background:none;border:1px solid var(--hair);padding:0;width:46px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color .3s}
.theme-toggle:hover{border-color:var(--gold)}
.theme-toggle svg{width:24px;height:16px}
.theme-toggle circle{fill:none;stroke:var(--gold);stroke-width:1.4;transition:fill .4s}
.theme-toggle .tc1{fill:var(--gold)}
html[data-theme="light"] .theme-toggle .tc1{fill:none}
html[data-theme="light"] .theme-toggle .tc2{fill:var(--gold)}
@media(pointer:coarse){.theme-toggle{width:50px;height:42px}}

/* smooth cross-fade while switching themes */
html.theming,html.theming *,html.theming *::before,html.theming *::after{transition:background-color .45s ease,color .45s ease,border-color .45s ease,fill .45s ease,stroke .45s ease!important}

/* ---------- blog & article ---------- */
.article{max-width:820px;padding:clamp(2rem,5vh,3.5rem) var(--pad-x) clamp(4rem,9vh,6rem)}
.article-head{padding-bottom:2rem;border-bottom:1px solid var(--hair);margin-bottom:2.6rem}
.article-head h1{font-family:var(--serif);font-weight:360;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.06;letter-spacing:-.02em;margin:.4rem 0 1rem}
.article-head h1 em{font-style:italic;color:var(--gold-bright)}
.article-meta{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);margin-top:1.2rem}
.article-body h2{font-family:var(--serif);font-weight:420;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.2;margin:2.4rem 0 .9rem;color:var(--bone)}
.article-body p{color:var(--dim);margin-bottom:1.1rem}
.article-body strong{color:var(--bone)}
.article-body em{color:var(--gold-bright);font-style:italic}
.article-body a{color:var(--gold-bright);text-decoration:underline;text-underline-offset:2px}
.article-body ul.checks{margin:1.2rem 0 1.6rem}
.article-cta{margin-top:3rem;padding:2.4rem;border:1px solid var(--hair);background:var(--ink-2);text-align:center}
.article-cta h3{font-family:var(--serif);font-weight:420;font-size:clamp(1.3rem,2.4vw,1.7rem);margin-bottom:.7rem}
.article-cta p{color:var(--dim);margin-bottom:1.4rem;max-width:52ch;margin-left:auto;margin-right:auto}
/* blog index */
.blog-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--hair);margin-top:2.5rem}
.post-card{display:block;padding:2.2rem 0;border-bottom:1px solid var(--hair);transition:padding-left .4s var(--ease)}
.post-card:hover{padding-left:1rem}
.post-card .pc-cat{font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}
.post-card h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.2;margin-bottom:.6rem}
.post-card h2 em{font-style:italic;color:var(--gold-bright)}
.post-card p{color:var(--dim);font-size:.95rem;max-width:64ch}
.post-card .pc-meta{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-top:.9rem}
.post-card.soon{opacity:.5;pointer-events:none}
