@font-face{font-family:Figtree;src:url('/r6/assets/fonts/Figtree-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Figtree;src:url('/r6/assets/fonts/Figtree-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Figtree;src:url('/r6/assets/fonts/Figtree-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Figtree;src:url('/r6/assets/fonts/Figtree-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Figtree;src:url('/r6/assets/fonts/Figtree-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Figtree;src:url('/r6/assets/fonts/Figtree-Black.ttf') format('truetype');font-weight:900;font-display:swap}
:root{
  --bar-h:68px;
  --paper:#f3efe6;
  --ink:#10100f;
  --black:#060707;
  --warm:#c9b39c;
  --red:#cb4a3a;
  --yellow:#ffe033;
  --gutter:clamp(20px,4vw,64px);
  --wrap:1440px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--black);color:var(--paper);font-family:Figtree,Arial,sans-serif;scroll-behavior:smooth}
body{margin:0;min-width:320px;overflow-x:hidden;background:var(--black)}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{display:block;max-width:100%;height:auto}
.skip-link{position:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;background:var(--yellow);color:var(--ink);font-weight:800;transform:translateY(-150%)}
.skip-link:focus{transform:none}
.editorial-wrap,.container{width:min(var(--wrap),calc(100% - (var(--gutter) * 2)));margin-inline:auto}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  height:var(--bar-h);
  border-bottom:1px solid rgba(243,239,230,.2);
  background:rgba(6,7,7,.94);
  backdrop-filter:blur(16px);
}
.site-header__inner{width:min(var(--wrap),calc(100% - (var(--gutter) * 2)));height:100%;margin-inline:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px}
.site-brand{font-size:1.05rem;font-weight:900;letter-spacing:.005em;white-space:nowrap}
.site-brand::after{content:'';display:inline-block;vertical-align:baseline;width:.17em;height:.17em;margin-left:0;background:var(--red)}
.site-nav{justify-self:end;display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}
.site-nav>a:not(.header-cta){position:relative;padding:24px 0;font-size:.64rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,239,230,.68)}
.site-nav>a:not(.header-cta)::after{content:'';position:absolute;left:0;right:100%;bottom:16px;height:2px;background:var(--red);transition:right .28s cubic-bezier(.16,1,.3,1)}
.site-nav>a:not(.header-cta):hover,.site-nav>a:not(.header-cta):focus-visible,.site-nav>a:not(.header-cta)[aria-current]{color:var(--paper);outline:none}
.site-nav>a:not(.header-cta):hover::after,.site-nav>a:not(.header-cta):focus-visible::after,.site-nav>a:not(.header-cta)[aria-current]::after{right:0}
.header-cta{min-height:42px;padding:0 17px;display:inline-flex;align-items:center;border:1px solid rgba(243,239,230,.55);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s}
.header-cta:hover,.header-cta:focus-visible{background:var(--paper);color:var(--ink);outline:none}
.menu-toggle{display:none}
.button,.btn{min-height:52px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid currentColor;border-radius:0;background:transparent;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.button::after,.btn-solid::after{content:'\2197';font-size:1rem}
.button:hover,.button:focus-visible,.btn:hover,.btn:focus-visible{transform:translateY(-3px)}
.button:focus-visible,.btn:focus-visible{outline:3px solid var(--red);outline-offset:4px}
.button--light,.btn-solid{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-outline{background:transparent;color:var(--paper);border-color:rgba(243,239,230,.55)}
.eyebrow,.kicker{display:flex;align-items:center;gap:10px;margin:0;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,239,230,.62)}
.eyebrow::before,.kicker::before,.sq{content:'';width:9px;height:9px;background:var(--red);flex:none}
.eyebrow--dark{color:rgba(16,16,15,.68)}
.eyebrow--dark::before{background:var(--ink)}
.editorial-hero,.page-hero{
  position:relative;
  overflow:hidden;
  min-height:clamp(540px,74svh,760px);
  padding:clamp(96px,12vw,176px) 0 clamp(76px,10vw,138px);
  display:flex;
  align-items:flex-end;
  background:
    radial-gradient(circle at 72% 35%,rgba(203,74,58,.13),transparent 26%),
    linear-gradient(rgba(201,179,156,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(201,179,156,.055) 1px,transparent 1px),
    var(--black);
  background-size:auto,64px 64px,64px 64px,auto;
  border-bottom:1px solid rgba(243,239,230,.22);
}
.editorial-hero::after,.page-hero::after{content:'';position:absolute;inset:20px;pointer-events:none;border-left:1px solid rgba(201,179,156,.32);border-top:1px solid rgba(201,179,156,.32)}
.editorial-hero h1,.page-h1{max-width:1260px;margin:24px 0 0;font-size:clamp(4.2rem,10.5vw,10.8rem);font-weight:800;line-height:.79;letter-spacing:-.078em;text-wrap:balance}
.contact-hero p,.hero-sub{max-width:720px;margin:30px 0 0;font-size:clamp(1.05rem,1.55vw,1.35rem);font-weight:500;line-height:1.5;color:rgba(243,239,230,.72)}
.contact-hero .contact-brand{margin-top:14px;font-size:1rem;color:rgba(243,239,230,.58)}
/* Contact hero with the carrier pigeon (5 Oct 2026). The whole image always shows: the hero is never taller than the
   image at full width (56.28vw), and the image sits flush right at full hero height. Its wall is flat #f1ede5, so the
   section takes that colour and wide or short screens extend the wall to the left. --cw is the clear wall left of the
   bird (660 image px from the bird's left edge to the image's right). At 860px and below the copy stacks above the
   whole image at full width. */
.editorial-hero.contact-hero--image{--ih:min(calc(100svh - var(--bar-h)),56.28vw,960px);--cl:max(var(--gutter),(100vw - var(--wrap)) / 2);--cw:calc(100vw - var(--ih) * .7014 - var(--cl) - 40px);--fs:min(10.8rem,calc(var(--cw) / 6.4),calc(var(--ih) / 5));min-height:var(--ih);height:var(--ih);padding:0;align-items:center;background:#f1ede5;color:var(--ink);border-bottom:0}
.contact-hero--image::after{display:none}
.contact-hero__art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.contact-hero__art img{position:absolute;right:0;bottom:0;width:auto;height:100%;max-width:none}
.contact-hero--image .editorial-wrap{position:relative;z-index:1}
.contact-hero--image .eyebrow{color:var(--ink)}
.editorial-hero.contact-hero--image h1{max-width:var(--cw);font-size:var(--fs)}
.contact-hero--image p{max-width:min(620px,var(--cw));color:var(--ink);font-weight:700}
.contact-hero--image h1+p{margin-top:max(30px,calc(var(--fs) * .36))}
.contact-hero--image .contact-brand{color:var(--ink);font-weight:500;text-wrap:balance}
@media(max-width:899px){
  .editorial-hero.contact-hero--image{--fs:min(6.2rem,calc((100vw - var(--gutter) * 2) / 6.3));height:auto;min-height:0;padding:clamp(36px,6vw,56px) 0 0;background:#f0ebe4;display:flex;flex-direction:column;align-items:stretch}
  .editorial-hero.contact-hero--image h1{max-width:none}
  .contact-hero--image p{max-width:620px}
  .contact-hero__art{position:relative;inset:auto;order:2;aspect-ratio:16/10;margin:clamp(32px,6vw,48px) 0 0}
  .contact-hero__art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right bottom}
}
/* Phones follow the AI training page: the copy fills the first screen below the header, and the pigeon starts at the
   fold, cropped in so the panel shows image x 940 to 1672 (the bird, its pipe and the pipe's bend) at full width. */
@media(max-width:600px){
  .editorial-hero.contact-hero--image{padding:0}
  .contact-hero--image .editorial-wrap{min-height:calc(100svh - var(--bar-h));padding:32px 0;display:flex;flex-direction:column;justify-content:center}
  .contact-hero__art{aspect-ratio:732/941;margin:0}
  .editorial-hero.contact-hero--image p{font-size:clamp(1rem,2.3svh,1.2rem)}
  .contact-hero__art img{inset:0 0 auto auto;width:calc(100% * 1672 / 732);height:auto;object-fit:fill}
}
/* Phones: the headline is Figtree Black with the desktop's tight tracking and leading at full width; the intro is ExtraBold and
   the fine print SemiBold, so the copy carries the first screen. */
@media(max-width:640px){
  .editorial-hero.contact-hero--image{--fs:min(4.4rem,calc((100vw - var(--gutter) * 2) / 6.3),9.5svh)}
  .editorial-hero.contact-hero--image h1{font-weight:900;line-height:.79;letter-spacing:-.078em}
  .editorial-hero.contact-hero--image p{font-size:clamp(1.12rem,2.6svh,1.3rem);font-weight:800;line-height:1.36;letter-spacing:-.012em;text-wrap:pretty}
  .editorial-hero.contact-hero--image .contact-brand{font-size:clamp(1rem,2.2svh,1.1rem);font-weight:600;line-height:1.4}
}
.nowrap{white-space:nowrap}
.sq-h1{display:inline-block;width:.13em;height:.13em;margin-left:.1em;vertical-align:baseline;background:var(--red)}
.line,.line-inner{display:inline}
.contact-workspace{
  position:relative;
  padding:clamp(76px,9vw,132px) 0;
  background:
    linear-gradient(rgba(243,239,230,.026) 1px,transparent 1px),
    linear-gradient(90deg,rgba(243,239,230,.026) 1px,transparent 1px),
    #090a0a;
  background-size:64px 64px;
}
.contact-switcher{display:none}
.contact-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);border:1px solid rgba(243,239,230,.25)}
.contact-panel{min-width:0;padding:clamp(28px,4vw,58px)}
.contact-panel--form{background:var(--paper);color:var(--ink)}
.contact-panel--booking{border-left:1px solid rgba(243,239,230,.25);background:#0b0c0c;color:var(--paper)}
.contact-panel__head{min-height:188px;padding-bottom:34px;border-bottom:1px solid currentColor}
.contact-panel--form .contact-panel__head{border-color:rgba(16,16,15,.24)}
.contact-panel--booking .contact-panel__head{border-color:rgba(243,239,230,.2)}
.contact-panel__head>span{font-size:.64rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.contact-panel__head h2{max-width:12ch;margin:18px 0 12px;font-size:clamp(2.6rem,4.3vw,4.7rem);line-height:.86;letter-spacing:-.06em}
.contact-panel__head p{max-width:48ch;margin:0;font-size:1rem;font-weight:500;line-height:1.5;color:rgba(16,16,15,.7)}
.contact-panel--booking .contact-panel__head p{color:rgba(243,239,230,.68)}
.lead-form{margin-top:34px;display:grid;gap:24px}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.form-field{display:grid;gap:9px}
.form-field label{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.form-field label span{font-size:.6rem;color:rgba(16,16,15,.5)}
.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;padding:11px 0;border:0;border-bottom:1px solid rgba(16,16,15,.42);border-radius:0;background:transparent;color:var(--ink);font-size:1rem;line-height:1.45;outline:none}
.form-field textarea{resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-bottom:3px solid var(--red)}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.lead-form .button{justify-self:start;border-color:var(--ink);background:var(--ink);color:var(--paper)}
.lead-form .button:disabled{cursor:wait;opacity:.58}
.form-consent{max-width:62ch;margin:0;font-size:.76rem;line-height:1.5;color:rgba(16,16,15,.64)}
.form-consent a{text-decoration:underline;text-underline-offset:3px}
.form-status{min-height:1.4em;margin:0;font-size:.88rem;font-weight:700;color:#9e2821}
.form-status.is-ok{color:#28603d}
.booking-embed{margin-top:34px;overflow:hidden;border:1px solid rgba(243,239,230,.25);background:var(--paper)}
.booking-embed iframe{width:100%;height:640px;display:block;border:0;background:var(--paper)}
.booking-fallback{min-height:48px;margin-top:12px;display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.booking-fallback:hover,.booking-fallback:focus-visible{text-decoration:underline;text-underline-offset:5px;outline:none}
.direct-contact{margin-top:20px;padding:clamp(28px,4vw,52px);display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(38px,7vw,100px);align-items:end;border:1px solid rgba(16,16,15,.52);background:var(--yellow);color:var(--ink)}
.direct-contact h2{max-width:12ch;margin:20px 0 0;font-size:clamp(2rem,3.7vw,3.8rem);line-height:.92;letter-spacing:-.055em}
.direct-contact address{margin:0;display:grid;font-style:normal}
.direct-contact address a{min-height:62px;padding:10px 0;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:20px;border-bottom:1px solid rgba(16,16,15,.28);font-size:clamp(1rem,1.35vw,1.2rem);font-weight:700}
.direct-contact address a:first-child{border-top:1px solid rgba(16,16,15,.28)}
.direct-contact address a span{font-size:.65rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:rgba(16,16,15,.62)}
.direct-contact address a:hover,.direct-contact address a:focus-visible{padding-left:10px;background:var(--ink);color:var(--yellow);outline:none}
/* Blog index */
.blog-index-page .page-hero{min-height:72svh}
.blog-index-page .page-hero .container{position:relative;z-index:1}
.blog-index-page .page-h1{max-width:8ch}
.section.theme-ink{padding:clamp(76px,9vw,132px) 0;background:linear-gradient(rgba(243,239,230,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(243,239,230,.026) 1px,transparent 1px),#090a0a;background-size:64px 64px}
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(243,239,230,.25);border-left:1px solid rgba(243,239,230,.25)}
.post-card{min-width:0;padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;border-right:1px solid rgba(243,239,230,.25);border-bottom:1px solid rgba(243,239,230,.25);background:#0b0c0c;color:var(--paper);transition:background .34s cubic-bezier(.16,1,.3,1),color .34s cubic-bezier(.16,1,.3,1),transform .34s cubic-bezier(.16,1,.3,1)}
.post-card:hover,.post-card:focus-visible{position:relative;z-index:2;background:var(--paper);color:var(--ink);transform:translateY(-6px);outline:none}
.post-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.17fr) minmax(320px,.83fr);grid-template-rows:auto auto 1fr auto auto;column-gap:clamp(30px,5vw,70px)}
.post-card:first-child .post-card-thumb{grid-column:1;grid-row:1/6;margin:0}
.post-card:first-child .post-card-cat,.post-card:first-child .post-card-title,.post-card:first-child .post-card-excerpt,.post-card:first-child .post-card-meta,.post-card:first-child .post-card-more{grid-column:2}
.post-card-thumb{width:100%;aspect-ratio:16/9;margin-bottom:26px;object-fit:cover;border:1px solid rgba(243,239,230,.18);filter:saturate(.9);transition:filter .3s ease}
.post-card:hover .post-card-thumb,.post-card:focus-visible .post-card-thumb{filter:saturate(1.03)}
.post-card-cat{color:var(--red)}
.post-card-cat::before{display:none}
.post-card-title{margin:22px 0 16px;font-size:clamp(1.65rem,2.4vw,2.75rem);line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.post-card:first-child .post-card-title{font-size:clamp(2.4rem,4.3vw,4.6rem);line-height:.9}
.post-card-excerpt{margin:0;font-size:clamp(1rem,1.12vw,1.12rem);font-weight:500;line-height:1.55;color:rgba(243,239,230,.67)}
.post-card:hover .post-card-excerpt,.post-card:focus-visible .post-card-excerpt{color:rgba(16,16,15,.7)}
.post-card-meta{margin:30px 0 0;display:flex;align-items:center;gap:9px;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,239,230,.56)}
.post-card:hover .post-card-meta,.post-card:focus-visible .post-card-meta{color:rgba(16,16,15,.58)}
.post-card-meta .sq,.post-meta-row .sq{display:inline-block;width:7px;height:7px;background:var(--red)}
.post-card-more{margin-top:18px;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
/* Guides hub: no card art yet, so every card runs full width as a single column. */
.guides-index-page .post-grid{grid-template-columns:1fr}
.guides-index-page .post-card:first-child{display:flex;grid-template-columns:none}
.guides-index-page .post-card:first-child .post-card-title{font-size:clamp(1.65rem,2.4vw,2.75rem);line-height:.98}
.guides-index-page .post-card .post-card-title{max-width:28ch}
.guides-index-page .post-card .post-card-excerpt{max-width:70ch}
/* Article shell */
.blog-article-page .section.theme-ink{padding-top:clamp(70px,9vw,126px)}
.post-article{width:min(1120px,100%);margin-inline:auto}
.back-link{min-height:44px;margin-bottom:52px;display:inline-flex;align-items:center;font-size:.7rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--red)}
.back-link:hover,.back-link:focus-visible{text-decoration:underline;text-underline-offset:5px;outline:none}
.post-article>.kicker{color:var(--red)}
.post-article>.kicker::before{display:none}
.post-article>.page-h1{max-width:1100px;margin:24px 0 28px;font-size:clamp(3rem,7.2vw,7.4rem);line-height:.88}
.post-meta-row{margin:0 0 46px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:rgba(243,239,230,.56)}
.post-hero{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid rgba(243,239,230,.24)}
.post-body{width:min(760px,100%);margin:clamp(52px,7vw,92px) auto 0;font-size:clamp(1.05rem,1.2vw,1.16rem);line-height:1.78;color:rgba(243,239,230,.78)}
/* Articles: wider reading column (Mark, 30 Sep 2026) */
.article-page .post-body{width:min(960px,100%);margin:24px 0 0}
.post-body p{margin:0 0 1.55em}
.post-body .post-lead{margin-bottom:2.5em;font-size:clamp(1.3rem,1.75vw,1.58rem);line-height:1.55;color:var(--paper)}
.post-body h2{margin:2.4em 0 .72em;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.03;letter-spacing:-.045em;color:var(--paper)}
.post-body h3{margin:2em 0 .65em;font-size:clamp(1.25rem,1.7vw,1.55rem);line-height:1.18;color:var(--paper)}
.post-body a{color:var(--yellow);text-decoration:none}
.post-body a:hover{text-decoration:none}
.post-body a:focus-visible{text-decoration:none;outline:2px solid var(--yellow);outline-offset:3px}
.post-body ul,.post-body ol{margin:0 0 2em;padding-left:1.25em}
.post-body li{margin:.72em 0;padding-left:.35em}
.post-takeaways{padding:clamp(24px,4vw,40px)!important;border:1px solid rgba(255,224,51,.48);background:rgba(255,224,51,.06);color:var(--paper);list-style:none}
.post-takeaways li{position:relative;margin:0;padding:14px 0 14px 25px;border-bottom:1px solid rgba(243,239,230,.13)}
.post-takeaways li:last-child{border-bottom:0}
.post-takeaways li::before{content:'';position:absolute;top:1.55em;left:0;width:7px;height:7px;background:var(--red)}
.cta-row{width:min(760px,100%);margin:clamp(54px,7vw,90px) auto 0;padding-top:34px;display:flex;flex-wrap:wrap;gap:14px;border-top:1px solid rgba(243,239,230,.22)}
/* Privacy */
.legal-page .legal-content{padding:clamp(74px,9vw,126px) 0;background:var(--paper);color:var(--ink)}
.legal-page .post-body{color:rgba(16,16,15,.8)}
.legal-page .post-body h2,.legal-page .post-body h3{color:var(--ink)}
.legal-page .post-body a{color:#9e2821;text-decoration-color:rgba(158,40,33,.4)}
.legal-page .contact-details{width:min(760px,100%);margin:38px auto;padding:26px;display:grid;gap:8px;border:1px solid rgba(16,16,15,.28);background:var(--yellow);font-style:normal}
.legal-page .contact-details h3{margin:0 0 8px;font-size:1.45rem}
.legal-page .contact-details p,.legal-page .contact-details a{margin:0;font-size:1rem;line-height:1.5}
.signature{padding:clamp(64px,8vw,110px) 0 34px;background:#070706;color:var(--paper)}
.signature-mark{display:flex;align-items:baseline;justify-content:center;padding-top:clamp(30px,4vw,52px);border-top:1px solid rgba(243,239,230,.22);font-size:clamp(4.1rem,15.7vw,14rem);font-weight:900;line-height:.8;letter-spacing:.005em}
.signature-mark i{width:.17em;height:.17em;background:var(--red);flex:none}
.signature--light .signature-mark i{margin-left:.0025em}
.signature-line{text-align:center;margin:clamp(14px,2vw,24px) 0 0;font-size:clamp(1rem,1.5vw,1.45rem);color:rgba(243,239,230,.8)}
.footer-directory{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,.7fr) minmax(0,1.1fr);gap:clamp(24px,3.4vw,56px);margin-top:clamp(44px,6vw,74px);padding:clamp(32px,4vw,48px) 0;border-top:1px solid rgba(243,239,230,.18);border-bottom:1px solid rgba(243,239,230,.18)}
.footer-group{min-width:0;margin:0;display:grid;align-content:start;justify-items:start;gap:5px;font-style:normal}
.footer-label{margin-bottom:12px;font-size:.62rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--red)}
.footer-group>a,.footer-group>span:not(.footer-label){min-height:34px;display:inline-flex;align-items:center;font-size:clamp(.92rem,1.08vw,1.04rem);font-weight:600;line-height:1.3;color:rgba(243,239,230,.72)}
.footer-group>a{position:relative;transition:color .2s ease,transform .2s ease}
.footer-group>a:hover,.footer-group>a:focus-visible{color:var(--paper);transform:translateX(5px);outline:none}
.footer-group>a::after{content:'';position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--red);transition:right .24s cubic-bezier(.16,1,.3,1)}
.footer-group>a:hover::after,.footer-group>a:focus-visible::after{right:0}
.footer-social a{gap:11px}
.footer-social a>span[aria-hidden]{width:19px;height:19px;display:grid;place-items:center;border:1px solid currentColor;font-size:.68rem;font-weight:800;line-height:1}
.signature-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;margin-top:20px;font-size:.75rem;color:rgba(243,239,230,.56)}
.signature-foot a{min-height:44px;display:inline-flex;align-items:center}
.signature-foot .signature-brand{flex-basis:100%;order:-1;font-size:.86rem;font-weight:600;color:rgba(243,239,230,.72);text-wrap:balance}
@media(min-width:861px) and (max-width:1120px){
  .site-nav{gap:clamp(12px,1.5vw,22px)}
  .site-nav>a:not(.header-cta){font-size:.58rem;letter-spacing:.1em}
  .header-cta{padding:0 12px;font-size:.58rem;letter-spacing:.1em}
}
@media(max-width:1000px){
  .footer-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px clamp(24px,4vw,56px)}
}
@media(max-width:900px){
  .post-card:first-child{grid-template-columns:1fr}
  .post-card:first-child .post-card-thumb,.post-card:first-child .post-card-cat,.post-card:first-child .post-card-title,.post-card:first-child .post-card-excerpt,.post-card:first-child .post-card-meta,.post-card:first-child .post-card-more{grid-column:1;grid-row:auto}
  .post-card:first-child .post-card-thumb{margin-bottom:26px}
  .contact-grid{grid-template-columns:1fr}
  .contact-panel--booking{border-left:0;border-top:1px solid rgba(243,239,230,.25)}
  .direct-contact{grid-template-columns:1fr}
}
@media(max-width:860px){
  .site-header{background:#060707;backdrop-filter:none}
  .site-header__inner{width:calc(100% - 36px);grid-template-columns:auto auto;justify-content:space-between}
  .menu-toggle{width:auto;min-height:40px;padding:0 12px;display:flex;align-items:center;gap:10px;border:1px solid rgba(243,239,230,.38);border-radius:0;background:transparent;color:var(--paper);font-size:.62rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
  .menu-toggle i,.menu-toggle i::before,.menu-toggle i::after{display:block;width:14px;height:1px;background:currentColor;transition:transform .25s ease,opacity .25s ease}
  .menu-toggle i{position:relative}.menu-toggle i::before,.menu-toggle i::after{content:'';position:absolute;left:0}.menu-toggle i::before{top:-5px}.menu-toggle i::after{top:5px}
  .site-header.is-open .menu-toggle i{background:transparent}.site-header.is-open .menu-toggle i::before{top:0;transform:rotate(45deg)}.site-header.is-open .menu-toggle i::after{top:0;transform:rotate(-45deg)}
  .site-nav{position:fixed;top:var(--bar-h);left:0;right:auto;bottom:auto;z-index:70;width:100vw;height:calc(100svh - var(--bar-h));padding:30px var(--gutter) 38px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;justify-self:auto;gap:0;background:#060707;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .25s ease,visibility .25s ease,transform .25s ease}
  .site-header.is-open .site-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .site-nav>a:not(.header-cta){padding:22px 0;display:block;border-bottom:1px solid rgba(243,239,230,.17);font-size:clamp(1.65rem,8vw,3rem);line-height:.95;letter-spacing:-.045em;text-transform:none;color:var(--paper)}
  .site-nav>a:not(.header-cta)::after{left:auto;right:0;bottom:50%;width:8px;height:8px;transform:translateY(50%);opacity:0;transition:opacity .2s ease}
  .site-nav>a:not(.header-cta):hover::after,.site-nav>a:not(.header-cta):focus-visible::after,.site-nav>a:not(.header-cta)[aria-current]::after{opacity:1}
  .header-cta{min-height:54px;margin-top:28px;justify-content:center;font-size:.7rem}
}
@media(max-width:720px){
  :root{--bar-h:58px;--gutter:20px}
  .editorial-hero,.page-hero{min-height:540px;padding:88px 0 70px}
  .editorial-hero::after,.page-hero::after{inset:10px}
  .editorial-hero h1,.page-h1{font-size:clamp(3.8rem,18.2vw,6.2rem)}
  .contact-hero p,.hero-sub{font-size:1rem}
  .contact-workspace,.section.theme-ink{padding:66px 0 82px}
  .contact-switcher{position:sticky;top:var(--bar-h);z-index:12;margin-bottom:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid rgba(243,239,230,.28);background:#090a0a}
  .contact-switcher button{min-height:52px;padding:8px;border:0;border-right:1px solid rgba(243,239,230,.22);border-radius:0;background:transparent;color:rgba(243,239,230,.66);font-size:.65rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
  .contact-switcher button:last-child{border-right:0}
  .contact-switcher button[aria-selected="true"]{background:var(--yellow);color:var(--ink)}
  .contact-grid{display:block}
  .contact-panel{padding:28px 20px;scroll-margin-top:calc(var(--bar-h) + 64px)}
  .contact-panel[hidden]{display:none}
  .contact-panel--booking{border-top:0}
  .contact-panel__head{min-height:0;padding-bottom:26px}
  .contact-panel__head h2{font-size:2.7rem}
  .form-row{grid-template-columns:1fr}
  .lead-form .button{width:100%}
  .booking-embed iframe{height:600px}
  .direct-contact{padding:28px 20px}
  .direct-contact address a{grid-template-columns:1fr;gap:3px;padding:14px 0;overflow-wrap:anywhere}
  .post-grid{grid-template-columns:1fr}
  .post-card:first-child{grid-column:1}
  .post-card{padding:22px 18px}
  .post-card-title,.post-card:first-child .post-card-title,.guides-index-page .post-card:first-child .post-card-title{font-size:2rem}
  .post-article>.page-h1{font-size:clamp(2.7rem,13vw,4.7rem)}
  .post-meta-row{margin-bottom:30px}
  .post-body{font-size:1.04rem;line-height:1.72}
  .post-body .post-lead{font-size:1.22rem}
  .cta-row{flex-direction:column}.cta-row .btn{width:100%}
  .footer-directory{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:28px 18px;margin-top:42px;padding:32px 0;align-items:start}
  .footer-group>a,.footer-group>span:not(.footer-label){min-height:44px;max-width:100%;overflow-wrap:anywhere}
  address.footer-group{grid-column:1/-1}
  .footer-directory>[aria-label="Durban and Pretoria services"]{order:1}
  .footer-directory>address.footer-group{order:2}
  .footer-social{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}
  .footer-social .footer-label{grid-column:1/-1}
  .signature-foot{flex-direction:column;gap:4px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* --- P0 2026-09-12: light footer (service/GEO) + Follow row + H1 period gap --- */
.footer-label--legal{margin-top:18px}
.footer-follow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 28px;
  margin-top:clamp(22px,3vw,32px);
  padding-top:clamp(18px,2.5vw,28px);
  border-top:1px solid rgba(243,239,230,.18);
}
.footer-follow .footer-label{margin:0;margin-right:8px}
/* One rule between the directory and the follow row, not two (8 Oct 2026). */
.footer-directory+.footer-follow{margin-top:0;border-top:0}
.footer-follow a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.92rem;font-weight:600;color:inherit}
.footer-follow svg{width:17px;height:17px;flex:none;fill:currentColor}
.signature--light{
  background:#f3efe6;
  color:#10100f;
}
.signature--light .signature-mark{letter-spacing:.0025em;
  border-top:1px solid rgba(16,16,15,.14);
  color:#10100f;
}
.signature--light .signature-line{color:rgba(16,16,15,.72)}
.signature--light .footer-directory{
  border-top-color:rgba(16,16,15,.14);
  border-bottom-color:rgba(16,16,15,.14);
}
.signature--light .footer-follow{border-top-color:rgba(16,16,15,.14)}
.signature--light .footer-group>a,
.signature--light .footer-group>span:not(.footer-label),
.signature--light .footer-follow a{
  color:rgba(16,16,15,.82);
}
.signature--light .footer-group>a:hover,
.signature--light .footer-group>a:focus-visible,
.signature--light .footer-follow a:hover,
.signature--light .footer-follow a:focus-visible{
  color:#10100f;
}
.signature--light .footer-label{color:var(--red,#cb4a3a)}
.signature--light .signature-foot{color:rgba(16,16,15,.55)}
.signature--light .signature-foot .signature-brand{color:rgba(16,16,15,.7)}
.signature--light .signature-foot a{color:rgba(16,16,15,.7)}
/* Cancel letter-spacing gap before red period spans in H1s */
.seo-page .seo-hero h1 .h1-period,
.growth-page .growth-hero h1 .h1-period{
  margin-inline-start:-0.06em;
}
@media(max-width:720px){
  .footer-follow{gap:4px 16px}
}
/* Guides hub hero plate (13 Sep 2026). */
.guides-index-page .guides-hero{position:relative;isolation:isolate;overflow:hidden;min-height:max(560px,min(calc(100svh - 68px),820px));background:#060707}
.guides-hero__art{position:absolute;inset:0;z-index:0;pointer-events:none}
.guides-hero__art img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;transform:scale(1.04);animation:guides-drift 18s ease-in-out infinite alternate}
.guides-hero__art::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,7,7,.55),rgba(6,7,7,.15) 35%,rgba(6,7,7,.2) 70%,#060707 100%),linear-gradient(90deg,rgba(6,7,7,.72) 0%,rgba(6,7,7,.35) 40%,rgba(6,7,7,0) 70%)}
.guides-index-page .guides-hero::after{display:none}
.guides-index-page .guides-hero .container{position:relative;z-index:1}
@keyframes guides-drift{from{transform:scale(1.04) translateY(0)}to{transform:scale(1.08) translateY(-1.5%)}}
@media(max-width:720px){.guides-index-page .guides-hero{min-height:520px}.guides-hero__art img{object-position:62% 40%}}
@media(prefers-reduced-motion:reduce){.guides-hero__art img{animation:none}}
/* Guides depth hero (14 Sep 2026). */
.guides-index-page .depth-hero__canvas{position:absolute;inset:0;z-index:1;width:100%!important;height:100%!important;display:block;opacity:0;transition:opacity .6s ease}
.guides-hero__art.is-depth .depth-hero__canvas{opacity:1}
.guides-hero__art.is-depth img{visibility:hidden;animation:none}
.guides-hero__art.is-depth::after{display:none}
/* Guides index: the questions board. Copy sits on the clear gold wall left of the board (desktop) or above it
   (phone), sized from the image's own scale so it never reaches the board's lettering. --s and --sm are CSS px
   per image px. The Articles index shares .guides-hero, so everything here is scoped to .guides-hero--questions. */
.guides-index-page .guides-hero--questions{min-height:var(--hh);--hh:max(560px,calc(100svh - 68px));--s:max(100vw / 1672,var(--hh) / 941);--gl:max(20px,min(64px,4vw));--gw:calc(520 * var(--s) - max(16px,2.2vw) - var(--gl));--gf:calc(var(--gw) / 3)}
.guides-index-page .guides-hero--questions .guides-hero__art picture{display:contents}
.guides-index-page .guides-hero--questions .guides-hero__art img{animation:none;transform:none;object-position:0% 60%}
.guides-index-page .guides-hero--questions .guides-hero__art::after{background:linear-gradient(180deg,transparent 88%,#060707 100%)}
.guides-index-page .guides-hero--questions .container{position:absolute;top:0;left:var(--gl);width:auto;margin:0;height:calc((var(--hh) - 941 * var(--s)) * .6 + 668 * var(--s) - 24px);display:flex;flex-direction:column;justify-content:center}
.guides-index-page .guides-hero--questions .page-h1{margin:0;max-width:none;font-size:var(--gf);color:var(--ink)}
.guides-index-page .guides-hero--questions .hero-sub{max-width:var(--gw);margin:34px 0 0;padding-left:calc(3px + .06 * var(--gf));color:var(--ink);font-size:clamp(1.2rem,1.65vw,1.85rem);font-weight:700;line-height:1.28;letter-spacing:-.01em;text-wrap:balance}
@media(max-width:720px){
  .guides-index-page .guides-hero--questions{--sm:calc((100vw - 4px) / 920);--pl:calc(4px + 123 * var(--sm));--pr:calc(100vw - 4px - 880 * var(--sm));display:grid;min-height:0;padding:0}
  .guides-index-page .guides-hero--questions .guides-hero__art{position:relative;inset:auto;grid-area:1/1;height:calc(1448 * var(--sm));overflow:hidden}
  .guides-index-page .guides-hero--questions .guides-hero__art img{position:absolute;top:0;left:calc(4px - 55 * var(--sm));width:calc(1086 * var(--sm));height:auto;max-width:none}
  .guides-index-page .guides-hero--questions .guides-hero__art::after{background:linear-gradient(180deg,transparent 86%,#060707 100%)}
  .guides-index-page .guides-hero--questions .container{display:contents}
  .guides-index-page .guides-hero--questions .page-h1{grid-area:1/1;align-self:start;z-index:1;height:calc(335 * var(--sm));display:flex;align-items:center;padding:0 var(--pr) 0 var(--pl);font-size:calc(757 * var(--sm) / 3)}
  .guides-index-page .guides-hero--questions .hero-sub{grid-area:2/1;max-width:none;margin:0;padding:22px var(--pr) 36px var(--pl);background:#060707;color:var(--paper);font-size:calc(100vw / 20.5);line-height:1.32}
}
/* Narrower than 320px (a small phone, or a browser zoomed in): no fixed floor.
   Nothing in these two blocks applies at 320px and wider. */
@media(max-width:319px){
  body{min-width:0}
  .site-header__inner{gap:12px}
  .signature-mark{font-size:calc((100vw - 40px) / 4.25)}
  .footer-directory{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}
  .post-body a{overflow-wrap:anywhere}
}
@media(max-width:229px){
  .site-header__inner{gap:8px}
  .menu-toggle{padding:0 8px;gap:6px}
}
/* Ecommerce flagship: one scoped stylesheet, shared brand/shell only. */
.ecommerce-page{--wrap:1320px;--ec-space:clamp(64px,4.6vw,72px);background:var(--paper);color:var(--ink)}
.ecommerce-page .site-header,.ecommerce-page .signature{color:var(--paper)}
.ec-shell{width:min(var(--wrap),calc(100% - var(--gutter)*2));margin-inline:auto}
.ecommerce-page main{overflow-wrap:anywhere}
.ecommerce-page main :is(h1,h2,h3,p){margin:0}
.ecommerce-page main h2{font-size:clamp(2.75rem,4.4vw,4rem);line-height:.98;letter-spacing:-.055em;font-weight:800;text-wrap:balance}
.ecommerce-page main h3{font-size:clamp(1.6rem,2.2vw,2rem);line-height:1.08;letter-spacing:-.035em}
.ecommerce-page main p{font-size:1.0625rem;line-height:1.55}
.ecommerce-page .eyebrow{font-size:.75rem;line-height:1.4;letter-spacing:.13em;color:inherit}
.ecommerce-page .button{font-size:.75rem;letter-spacing:.11em;min-height:52px;max-width:100%;text-align:center;padding-block:14px}
.ecommerce-page .button:hover,.ecommerce-page .button:focus-visible{transform:none;background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.ec-section{padding-block:var(--ec-space);scroll-margin-top:68px}
.ec-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:32px}
.ec-head .eyebrow{margin-bottom:16px}
.ec-head h2{max-width:16ch}
.ec-head>p{max-width:34ch;color:#5d5c57}
.ec-hero{position:relative;isolation:isolate;overflow:hidden;min-height:640px;height:min(820px,calc(100svh - var(--bar-h)));color:var(--paper);background:#171514}
.ec-hero__art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:52% 52%}
.ec-hero::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(9,10,9,.72),rgba(9,10,9,.56) 32%,rgba(9,10,9,.18) 54%,rgba(9,10,9,.08)),linear-gradient(180deg,rgba(9,10,9,.28),transparent 34%,rgba(9,10,9,.28))}
.ec-hero__inner{height:100%;display:flex;flex-direction:column;padding-block:30px 32px;position:relative}
.ec-hero__top{display:flex;justify-content:space-between;gap:24px;align-items:center}
.ec-hero__top>span{font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#d4d0c7}
.ec-hero__title{margin-block:auto;width:min(660px,52%)}
.ec-hero__title>p{font-size:.75rem!important;letter-spacing:.15em;text-transform:uppercase;font-weight:800}
.ec-hero h1{font-weight:800;margin-top:16px!important}
/* Platforms row (hero and price card): bold labels on red squares, split by hairlines. */
.ec-platforms{display:flex;flex-wrap:wrap;gap:12px 0;margin:30px 0 0;padding:0;list-style:none}
.ec-platforms li{display:flex;align-items:center;gap:10px;padding:2px 22px;border-left:1px solid rgba(243,239,230,.38);font-size:1rem;font-weight:800;line-height:1.1;letter-spacing:.12em;text-transform:uppercase}
.ec-platforms li:first-child{padding-left:0;border-left:0}
.ec-platforms li::before{content:'';width:9px;height:9px;background:var(--red);flex:none}
/* Hero price and call to action, on every screen size. */
.ec-hero h1,.ec-hero .ec-platforms,.ec-hero__price{text-shadow:0 1px 18px rgba(6,7,7,.45)}
.ec-hero__offer{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px;margin-top:34px}
.ec-hero .ec-hero__price{display:flex;flex-direction:column;gap:8px;padding-left:18px;border-left:4px solid var(--red)}
.ec-hero__price strong{font-size:clamp(2.25rem,3.1vw,3rem);line-height:.95;letter-spacing:-.05em;font-weight:800}
.ec-hero__price span{font-size:.75rem;font-weight:800;line-height:1.3;letter-spacing:.13em;text-transform:uppercase;color:rgba(243,239,230,.84)}
.ec-hero__cta{min-height:52px;padding-inline:26px}
.ec-showcase{background:var(--paper);color:var(--ink)}
.ec-showcase__layout{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.65fr);gap:48px;align-items:center}
.ec-showcase__copy .eyebrow{margin-bottom:18px}
.ec-showcase__copy h2{max-width:10ch}
.ec-showcase__copy>p{margin-top:22px!important;color:#5d5c57;max-width:30ch}
.ec-tabs{display:flex;gap:0;border-bottom:1px solid #aaa69c;margin-bottom:18px}
.ec-tabs button{flex:1;min-width:0;min-height:44px;border:0;border-bottom:3px solid transparent;background:transparent;color:inherit;font-size:.875rem;font-weight:700;cursor:pointer;padding:10px 12px}
.ec-tabs button[aria-selected=true]{border-bottom-color:var(--red);background:var(--ink);color:var(--paper)}
.ec-tabs button:hover{background:var(--ink);color:var(--paper)}
.ec-tabs button:focus-visible,.ec-build-tabs button:focus-visible,.ec-faq summary:focus-visible{outline:3px solid var(--red);outline-offset:3px;position:relative;z-index:2}
.ec-concept{margin:0;min-width:0}
.ec-concept__stage{min-height:365px;height:auto;background:#d8d2c6;border:1px solid #b9b3a7;overflow:visible}
.ec-concept [hidden],.ec-build [hidden]{display:none!important}
.ec-concept__panel{min-height:365px}
.ec-store{min-height:365px;background:#ebe6dc;color:#292a23;padding:0 28px 24px}
.ec-store__nav{height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #b5b1a4;font-size:.6875rem;letter-spacing:.1em}
.ec-store__nav b{font-size:1.25rem;letter-spacing:-.035em;font-weight:500}
.ec-store__nav span{white-space:nowrap}
.ec-store__hero{min-height:292px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:24px}
.ec-store__hero img{width:100%;height:100%;min-height:292px;max-height:400px;object-fit:cover}
.ec-store__copy small{font-size:.6875rem;letter-spacing:.1em}
.ec-store__copy strong{display:block;font-family:Georgia,serif;font-size:clamp(1.8rem,3.1vw,2.9rem);line-height:1.05;font-weight:400;letter-spacing:-.045em;margin:16px 0}
.ec-store__copy>span{font-size:.75rem;border-bottom:1px solid;padding-bottom:5px}
.ec-product{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:365px;background:#ebe6dc;color:#292a23}
.ec-product>img{width:100%;height:100%;min-height:365px;max-height:480px;object-fit:cover}
.ec-product__copy{min-width:0;padding:32px;display:flex;flex-direction:column;justify-content:center;gap:16px}
.ec-product__copy small{font-size:.6875rem;letter-spacing:.1em}
.ec-product__copy strong{font-family:Georgia,serif;font-size:2.2rem;line-height:1.05;font-weight:400}
.ec-product__copy p{font-size:.875rem!important}
.ec-product__copy>span{font-size:.75rem;border-top:1px solid #b5b1a4;padding-top:14px}
.ec-product__cart{background:#303b2e;color:#fff;padding:12px;font-size:.75rem;text-align:center}
.ec-mobile-view{min-height:365px;display:flex;align-items:center;justify-content:center;gap:36px;padding:18px;background:#d8d2c6}
.ec-phone{min-height:300px;width:188px;background:#ebe6dc;border:5px solid #262922;overflow:visible;box-shadow:0 8px 24px #292a2320}
.ec-phone>div{padding:10px;font-size:1rem;font-weight:500;letter-spacing:-.03em}
.ec-phone img{width:100%;height:175px;object-fit:cover}
.ec-phone strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:1.5rem;line-height:1.1;margin:12px}
.ec-phone span{display:block;font-size:.6875rem;margin:12px;border-bottom:1px solid;padding-bottom:5px}
.ec-mobile-view>p{max-width:20ch;font-size:1rem!important;color:#4e5048}
.ec-concept figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:16px;color:#5d5c57;font-size:.8125rem;line-height:1.5}
.ec-concept figcaption span:first-child{font-weight:700;color:var(--ink)}
.ec-build{background:var(--black);color:var(--paper)}
.ec-build .ec-head>p{color:#b6b4ac}
.ec-build-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #4a4a43;margin-bottom:28px}
.ec-build-tabs button{display:grid;grid-template-columns:24px minmax(0,1fr) 14px;align-items:center;gap:16px;padding:20px 24px;background:transparent;border:0;color:var(--paper);font-size:1rem;font-weight:700;text-align:left;cursor:pointer;min-width:0;transition:background .18s,color .18s}
.ec-build-tabs button+button{border-left:1px solid #4a4a43}
.ec-build-tabs button span{font-size:.75rem;color:var(--red)}
.ec-build-tabs button[aria-selected=true],.ec-build-tabs button:hover{background:var(--paper);color:var(--ink)}
.ec-build-tabs button::after{content:'↘';opacity:0}
.ec-build-tabs button[aria-selected=true]::after{opacity:1}
.ec-build-tabs b{font-weight:inherit}
.ec-tab-short{display:none}
.ec-build__panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;min-height:242px}
.ec-build__text>p{margin:16px 0 20px!important;max-width:48ch;color:#b6b4ac}
.ec-build__text>p.ec-build__scope{font-size:.8125rem;line-height:1.5;margin:14px 0 0!important;max-width:64ch}
.ec-build__text ul{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;list-style:none;padding:0;margin:0}
.ec-build__text li{padding:10px 0;border-top:1px solid #393a34;font-size:.9375rem;line-height:1.4}
.ec-build__visual{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);background:#e8e2d7;color:#292a23;min-height:242px}
.ec-build__visual img{height:100%;min-height:242px;max-height:400px;width:100%;object-fit:cover}
.ec-build__visual>div{display:flex;flex-direction:column;justify-content:center;gap:18px;padding:28px}
.ec-build__visual strong{font-family:Georgia,serif;font-weight:400;font-size:1.8rem;line-height:1.1}
.ec-build__visual p{font-size:.875rem!important;color:#52564b}
.ec-build__visual small{font-size:.6875rem;letter-spacing:.08em}
.ec-build__visual--tech>div{background:#303b2e;color:#f3efe6}
.ec-build__visual--tech p{color:#e0e0d4}
.ec-build__visual--ops>div{background:#e8e2d7}
.ec-build__visual--ops strong{font-family:Figtree,sans-serif;font-size:1.5rem;font-weight:700}
.ec-start{background:var(--paper);color:var(--ink);padding-bottom:0}
.ec-start__head h2{max-width:none}
.ec-start__head>p{max-width:34ch;color:#5d5c57}
.ec-plans{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;margin-top:8px}
.ec-plan{display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0;padding:clamp(24px,2.4vw,34px);border:1px solid rgba(16,16,15,.26);border-top:4px solid var(--red)}
.ec-plan--build{background:var(--black);color:var(--paper);border-color:var(--black);border-top-color:var(--red)}
.ec-plan .ec-plan__label{font-size:.8125rem;line-height:1.35;letter-spacing:.13em;text-transform:uppercase;font-weight:800}
.ec-plan__price strong{display:block;font-size:clamp(2.75rem,4.4vw,4rem);line-height:.95;letter-spacing:-.055em;font-weight:800}
.ec-plan .ec-platforms{margin:0}
.ec-plan__list{align-self:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:0;padding:0;list-style:none}
.ec-plan__list li{padding:11px 0;border-top:1px solid rgba(16,16,15,.18);font-size:.9375rem;line-height:1.4}
.ec-plan--build .ec-plan__list li{border-top-color:rgba(243,239,230,.2)}
.ec-plan--care .ec-plan__list{grid-template-columns:minmax(0,1fr)}
.ec-plan .ec-plan__note{font-size:.9375rem;color:rgba(243,239,230,.74)}
.ec-plan .ec-plan__lead{font-size:1.125rem;font-weight:800;letter-spacing:-.01em}
.ec-plan .ec-plan__cta{margin-top:auto;background:var(--paper);border-color:var(--paper);color:var(--ink)}
.ec-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:32px 0;padding:24px 0 0;list-style:none;border-top:1px solid #bbb8ae}
.ec-process li{min-width:0}
.ec-process span{font-size:.75rem;color:var(--red);font-weight:800;margin-right:10px}
.ec-process strong{font-size:1.0625rem}
.ec-process p{font-size:.9375rem!important;color:#5d5c57;margin-top:12px!important}
.ec-growth{background:var(--yellow);color:var(--ink);padding-block:28px}
.ec-growth>.ec-shell{display:flex;align-items:center;justify-content:space-between;gap:28px}
.ec-growth strong{font-size:1.5rem;letter-spacing:-.03em}
.ec-growth p{font-size:.9375rem!important;margin-top:6px!important}
.ec-growth .button{flex:none;border-color:var(--ink);color:var(--ink)}
.ec-growth .button:hover{background:var(--ink);color:var(--yellow)}
.ec-faq{background:var(--paper);color:var(--ink)}
.ec-faq__layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:64px}
.ec-faq__intro .eyebrow{margin-bottom:16px}
.ec-faq__intro h2{max-width:9ch}
.ec-faq__intro>a{display:inline-block;margin-top:28px;text-decoration:underline;text-underline-offset:6px;font-weight:700}
.ec-faq__list{border-top:1px solid #aaa69c}
.ec-faq details{border-bottom:1px solid #aaa69c;padding:0 18px;transition:background .18s,color .18s}
.ec-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:17px 0;font-size:1rem;font-weight:700;line-height:1.35}
.ec-faq summary::-webkit-details-marker{display:none}
.ec-faq summary::after{content:'+';font-size:1.25rem;color:var(--red);flex:none}
.ec-faq details[open] summary::after{content:'−'}
.ec-faq details p{max-width:64ch;margin:0 0 22px!important;font-size:1rem!important;color:inherit}
.ec-faq details:hover,.ec-faq details:focus-within{background:var(--ink);color:var(--paper)}
.ec-terms{margin-top:32px;border-top:1px solid #bbb8ae;padding-top:20px;display:grid;grid-template-columns:.65fr 1.35fr;gap:64px;font-size:.8125rem;color:#5d5c57}
.ec-terms strong{font-size:.875rem;color:var(--ink)}
.ec-terms p{font-size:.8125rem!important;line-height:1.55!important}
.ecommerce-page .signature{padding-top:32px;padding-bottom:20px}
.ecommerce-page .footer-directory{padding-bottom:24px}
.ecommerce-page .signature-foot{margin-top:20px}
@media(min-width:861px){.ecommerce-page .site-nav{gap:clamp(14px,1.7vw,28px)}}
@media(max-width:1100px){.ec-hero__title{width:min(600px,60%)}.ec-showcase__layout{grid-template-columns:.7fr 1.3fr;gap:28px}.ec-store{padding-inline:18px}.ec-store__hero{gap:16px}.ec-build__panel{gap:28px}.ec-build__visual>div{padding:20px}.ec-faq__layout,.ec-terms{gap:40px}}
@media(max-width:980px){.ecommerce-page{--ec-space:48px}.ecommerce-page main h2{font-size:clamp(2.4rem,7vw,3.25rem)}.ec-section{scroll-margin-top:58px}.ec-head{display:block}.ec-head>p{margin-top:20px!important}.ec-hero{height:auto;min-height:min(calc(100svh - var(--bar-h)),660px)}.ec-hero::after{background:linear-gradient(180deg,rgba(9,10,9,.7),rgba(9,10,9,.58) 45%,rgba(9,10,9,.5) 62%,rgba(9,10,9,.42))}.ec-hero__inner{min-height:inherit;padding-block:26px 34px}.ec-hero__top{gap:14px}.ec-hero__top>span{font-size:.625rem;letter-spacing:.12em}.ec-hero__title{width:100%;max-width:640px}.ec-platforms li{font-size:.875rem;padding-inline:16px}.ec-hero__art{height:114%;object-position:56% 50%}.ec-showcase__layout{grid-template-columns:minmax(0,1fr);gap:28px}.ec-showcase__copy h2{max-width:16ch}.ec-showcase__copy>p{max-width:45ch;margin-top:16px!important}.ec-concept__stage{min-height:350px}.ec-build-tabs button{grid-template-columns:minmax(0,1fr) 12px;padding:16px 12px;font-size:.875rem;gap:8px}.ec-build-tabs button span{display:none}.ec-build__panel{grid-template-columns:minmax(0,1fr);gap:28px;min-height:0}.ec-build__visual{height:auto;min-height:220px}.ec-build__visual>img{min-height:220px;max-height:300px}.ec-plans{grid-template-columns:minmax(0,1fr);margin-top:0}.ec-process{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-block:32px}.ec-growth>.ec-shell{align-items:start;flex-direction:column;gap:20px}.ec-faq__layout{grid-template-columns:minmax(0,1fr);gap:28px}.ec-faq__intro h2{max-width:none}.ec-faq__intro>a{margin-top:20px}.ec-terms{grid-template-columns:minmax(0,1fr);gap:12px}.ec-concept figcaption{flex-direction:column;gap:4px}}
/* Phones: a portrait crop of the same scene, served by <picture>, so the hero stays full-bleed. */
@media(max-width:720px){.ec-hero{min-height:calc(100svh - var(--bar-h))}.ec-hero::after{background:linear-gradient(180deg,rgba(9,10,9,.74),rgba(9,10,9,.32) 30%,rgba(9,10,9,.4) 52%,rgba(9,10,9,.82))}.ec-hero__art{height:108%;top:-8%;object-position:50% 50%}.ec-hero__inner{padding-block:28px 46px}.ec-hero__title{margin-block:auto 0}.ec-platforms{margin-top:22px}.ec-hero__offer{margin-top:24px;gap:20px}.ec-hero__cta{min-height:50px}}
@media(max-width:440px){.ec-hero__top{display:block}.ec-hero__top>span{display:block;font-size:.5625rem;letter-spacing:.1em}.ec-hero__top>span+span{margin-top:6px;color:#a9a59d}.ec-hero__title>p{font-size:.625rem!important;letter-spacing:.11em}.ec-platforms{gap:10px 18px}.ec-platforms li{font-size:.75rem;letter-spacing:.1em;padding:0;border-left:0;gap:8px}.ec-platforms li::before{width:7px;height:7px}.ec-plan--build .ec-plan__list{grid-template-columns:minmax(0,1fr)}.ec-plan--care .ec-plan__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.ec-plan__price strong{font-size:2.375rem}.ec-concept__stage{height:auto;min-height:300px;overflow:visible}.ec-concept__panel{height:auto;min-height:300px}.ec-store{min-height:300px}.ec-store__hero{min-height:250px}.ec-store__hero img{min-height:250px}.ec-product{min-height:300px;height:auto}.ec-product>img{height:100%;min-height:300px}.ec-mobile-view{min-height:300px}.ec-store{padding:0 14px 14px}.ec-store__hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.ec-store__nav span{display:none}.ec-store__copy strong{font-size:1.7rem}.ec-store__copy small{font-size:.625rem}.ec-product__copy{padding:16px;gap:12px}.ec-product__copy strong{font-size:1.6rem}.ec-product__copy p{font-size:.75rem!important}.ec-mobile-view{gap:16px;padding:12px;flex-wrap:wrap}.ec-phone{width:164px;flex:none}.ec-phone img{height:112px}.ec-phone strong{font-size:1.2rem;margin:10px 12px}.ec-phone span{margin:8px 12px}.ec-mobile-view>p{font-size:.875rem!important;max-width:12ch}.ec-build__visual>div{padding:18px}.ec-build__visual strong{font-size:1.5rem}.ec-build__text ul{gap:0 16px}.ec-faq details{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.ecommerce-page *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:980px){.ec-build-tabs{display:flex;flex-wrap:wrap}.ec-build-tabs button{display:block;flex:1 1 6em;padding:16px 10px;text-align:center}.ec-build-tabs button::after,.ec-tab-full{display:none}.ec-tab-short{display:block}.ec-build-tabs button[aria-selected=true]{box-shadow:inset 0 -3px var(--red)}}
/* Step 2 concept build: approved long-form hero H1 and authority paragraphs (flagged for visual acceptance). */
.ec-hero h1{font-size:clamp(2.75rem,5vw,5.25rem);line-height:.94;letter-spacing:-.065em}
.ec-showcase__layout{grid-template-columns:minmax(300px,.8fr) minmax(0,1.5fr)}
/* Phones: one column, so the store mockup sits below the copy instead of being squeezed to nothing. */
@media(max-width:720px){.ec-showcase__layout{grid-template-columns:minmax(0,1fr)}}
.ec-showcase__copy h2{max-width:14ch;font-size:clamp(2.2rem,3.2vw,3.2rem);overflow-wrap:normal;word-break:normal;hyphens:manual}
.ec-showcase__copy>p{max-width:46ch}
.ec-head>p{max-width:60ch}
@media(max-width:980px){.ec-hero h1{font-size:clamp(2.6rem,8vw,4rem)}}
@media(max-width:440px){.ec-hero h1{font-size:clamp(2.3rem,10.4vw,3rem)}}
/* Signature mark above the footer directory (Mark, 11 Sep 2026). */
.ecommerce-page .signature{padding-top:clamp(56px,7vw,96px)}
.ecommerce-page .signature-mark{padding-top:0;border-top:0}
/* P0 light footer override */
.ecommerce-page .signature--light{color:#10100f;background:#f3efe6}
.ecommerce-page .signature--light .signature-mark{letter-spacing:.0025em;color:#10100f}
