/* ebookghostwriting.com: all site styles (obsidian, paper and gold). */

/* ebookghostwriting.com — obsidian, paper and brass */
:root {
  --bg: #15181b;             /* alternate section */
  --white: #0f1113;          /* obsidian base */
  --card: #1a1d21;           /* raised surface */
  --ink: #f4efe4;            /* paper text */
  --ink-2: #d9d2c4;
  --muted: #a8a194;
  --line: #2a2e33;
  --coral: #c59b27;          /* brass: shapes, rules, icons */
  --coral-btn: #c59b27;      /* brass button fill (obsidian text) */
  --coral-dk: #e2bd57;       /* brass text on dark */
  --coral-soft: rgba(197, 155, 39, 0.14);
  --on-accent: #111315;
  --navy: #17140e;           /* bronze-black feature sections */
  --navy-2: #221d13;
  --gold: #e2bd57;
  --paper: #f9f8f6;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Plus Jakarta Sans", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;
  --caps: "Cinzel", "Trajan Pro", Georgia, serif;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --wrap: 1200px;
  --gutter: clamp(20px, 4vw, 40px);
  --radius: 18px;
}
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: clip; }
body { background: var(--white); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
body::after { content: ""; position: fixed; inset: 0; z-index: 90; pointer-events: none; opacity: .05;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27160%27 height=%27160%27%3E%3Cfilter id=%27n%27%3E%3CfeTurbulence type=%27fractalNoise%27 baseFrequency=%27.9%27 numOctaves=%272%27 stitchTiles=%27stitch%27/%3E%3C/filter%3E%3Crect width=%27100%25%27 height=%27100%25%27 filter=%27url(%23n)%27/%3E%3C/svg%3E"); }
a { color: inherit; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
[hidden] { display: none !important; }
section[id] { scroll-margin-top: 90px; }
main { overflow-x: clip; }
::selection { background: var(--coral); color: var(--on-accent); }
:focus-visible { outline: 2px solid var(--coral-btn); outline-offset: 3px; border-radius: 4px; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -0.02em; line-height: 1.2; text-wrap: balance; }
h2 { font-size: clamp(2rem, 3.8vw, 3rem); }
h2 em, h1 em { font-style: italic; color: var(--gold); }
h3 { font-size: 1.375rem; line-height: 1.3; }
.center { text-align: center; }
.sub { color: var(--muted); font-size: 1.0625rem; max-width: 40rem; }
.center .sub { margin-left: auto; margin-right: auto; }
.head { margin-bottom: clamp(40px, 6vw, 64px); }
.head .sub { margin-top: 14px; }
.hl { color: var(--coral-btn); }
/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  padding: 15px 32px; border-radius: 999px; font-weight: 600; font-size: 0.9375rem; text-decoration: none;
  background: var(--coral-btn); color: var(--on-accent); border: 1.5px solid var(--coral-btn);
  box-shadow: 0 12px 24px -12px rgba(0, 0, 0, 0.7);
  transition: transform 0.35s var(--ease), translate 0.35s var(--ease), box-shadow 0.35s var(--ease), background 0.25s;
}
.btn:hover { transform: translateY(-2px); background: #d6ad3a; border-color: #d6ad3a; box-shadow: 0 18px 30px -14px rgba(0, 0, 0, 0.75); }
.btn--line { background: transparent; color: var(--ink); border-color: rgba(244, 239, 228, 0.35); box-shadow: none; }
.btn--line:hover { background: var(--coral-soft); box-shadow: none; }
.btn--light { background: var(--paper); color: var(--on-accent); border-color: var(--paper); box-shadow: 0 12px 24px -12px rgba(0,0,0,.6); }
.btn--light:hover { background: #fff; border-color: #fff; }
.btn--sm { padding: 11px 24px; font-size: 0.875rem; }
/* Reveal on scroll (content visible without JS) */
.js [data-rv] { opacity: 0; transform: translateY(28px); transition: opacity 0.9s var(--ease), transform 0.9s var(--ease); transition-delay: calc(var(--d, 0) * 0.1s); }
.js [data-rv].in { opacity: 1; transform: none; }
.js [data-rv='left'] { transform: translateX(-36px); }
.js [data-rv='right'] { transform: translateX(36px); }
.js [data-rv='zoom'] { transform: scale(0.94); }
.js [data-rv].in { transform: none; }
@media (prefers-reduced-motion: reduce) {
*, *::before, *::after { animation: none !important; transition-duration: 0.01ms !important; }
.js [data-rv] { opacity: 1; transform: none; }
html { scroll-behavior: auto; }
}
/* ---------- Ink icons: strokes draw in, washes fill after ---------- */
.ink { overflow: visible; flex: none; color: var(--gold); }
.ink__w { fill: currentColor; opacity: .16; transition: opacity .9s ease .7s; }
.ink__s { stroke-dasharray: 1 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1.3s cubic-bezier(.65,0,.35,1) calc(var(--k, 0) * .14s); }
.js .ink:not(.drawn) .ink__s { stroke-dashoffset: 1; }
.js .ink:not(.drawn) .ink__w { opacity: 0; }
:is(a, article, li, div):hover > .ink, :is(a, article, li, div):hover > * > .ink { animation: inknudge .7s var(--ease); }
@keyframes inknudge { 30% { transform: rotate(-8deg) scale(1.08); } 65% { transform: rotate(4deg); } }
/* ---------- Headline words rise one by one ---------- */
.js .split .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.js .split .w > span { display: inline-block; transform: translateY(108%); transition: transform 1s var(--ease); transition-delay: calc(var(--wi) * 45ms); }
.js .split.in .w > span, .js .split.split-in .w > span { transform: none; }
/* ---------- Brass spotlight that follows the cursor on cards ---------- */
[data-glow] { position: relative; isolation: isolate; }
[data-glow]::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0; opacity: 0; transition: opacity .4s;
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgba(226,189,87,.13), transparent 60%); }
[data-glow]:hover::after { opacity: 1; }
[data-glow] > * { position: relative; z-index: 1; }
/* ---------- Reading progress line under the header ---------- */
.progress { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 70; transform-origin: left; transform: scaleX(var(--p, 0));
  background: linear-gradient(90deg, #9a7412, #e7c66a 50%, #c59b27); pointer-events: none; }
/* ---------- Gold foil text for accents ---------- */
.hl, h2 em { color: #ecc96a; }
@keyframes foil { 50% { background-position: 100% 0; } }
@media (prefers-reduced-motion: reduce) {
.js .ink:not(.drawn) .ink__s { stroke-dashoffset: 0; }
.js .ink:not(.drawn) .ink__w { opacity: .16; }
.js .split .w > span { transform: none; }
}
.lg{display:block;flex:none;overflow:visible}
.lg__pg{transform-box:view-box;transform-origin:60px 96px;transform:rotate(var(--a));transition:transform .9s cubic-bezier(.16,1,.3,1)}
.lg--anim .lg__pg{animation:lgopen 1.4s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(.15s + var(--i) * 45ms)}
@keyframes lgopen{from{transform:rotate(calc(var(--a) * .6))}}
a:hover>.lg .lg__pg,.lg:hover .lg__pg{transform:rotate(calc(var(--a) * 1.12))}
@media (prefers-reduced-motion: reduce) {
.lg__pg{animation:none!important;transition:none}
}
.nav{position:sticky;top:0;z-index:60;background:rgba(15,17,19,0.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:background .35s,box-shadow .35s}
.nav.is-scrolled{background:rgba(15,17,19,0.96);box-shadow:0 14px 30px -24px rgba(0,0,0,.8)}
.nav__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;height:76px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand .brand__logo{transition:width .4s var(--ease),height .4s var(--ease)}
.brand__name{font-family:var(--serif);font-size:1.4rem;font-weight:500;letter-spacing:-0.02em;color:var(--ink);white-space:nowrap}
.brand__name i{color:#e2bd57}
.nav__main{justify-self:center}
.nav__links{display:flex;align-items:center;gap:6px;list-style:none}
.nav__link{position:relative;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-family:var(--caps);font-size:.8125rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;transition:color .3s}
.nav__link::before{content:"◆";position:absolute;left:50%;top:-4px;font-size:7px;color:var(--gold);transform:translateX(-50%) scale(0);transition:transform .35s var(--ease)}
.nav__link:hover,.nav__link[aria-expanded=true],.nav__link.is-active{color:#e2bd57}
.nav__link:hover::before,.nav__link.is-active::before{transform:translateX(-50%) scale(1)}
.nav__link svg{transition:transform .35s var(--ease)}
.nav__link[aria-expanded=true] svg{transform:rotate(180deg)}
.has-menu{position:relative}
.menu{position:absolute;left:50%;top:calc(100% + 14px);width:380px;margin-left:-190px;padding:12px;border-radius:20px;background:var(--card);box-shadow:0 30px 60px -24px rgba(0,0,0,0.6),0 0 0 1px var(--line);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .4s var(--ease),visibility .3s}
.has-menu.is-open .menu,.has-menu:focus-within .menu{opacity:1;visibility:visible;transform:none}
@media (hover: hover) {
.has-menu:hover .menu{opacity:1;visibility:visible;transform:none}
}
.menu::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.menu ul{list-style:none}
.menu li a{display:block;padding:12px 14px;border-radius:14px;text-decoration:none;transition:background .25s,padding .35s var(--ease)}
.menu li a:hover{padding-left:20px}
.menu li a:hover,.menu li a.is-current{background:var(--bg)}
.menu b{display:block;font-size:.9375rem}
.menu small{color:var(--muted);font-size:.8125rem}
.menu__all{display:block;margin-top:6px;padding:12px;border-top:1px solid var(--line);font-size:.875rem;font-weight:600;color:#e2bd57;text-decoration:none}
.start{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-style:italic;font-size:1.125rem;color:#e2bd57;white-space:nowrap}
.start__ring{width:42px;height:42px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font-style:normal;font-family:var(--sans);transition:background .3s,color .3s,transform .45s var(--ease)}
.start:hover .start__ring{background:var(--gold);color:var(--on-accent);transform:rotate(-45deg)}
.nav__burger{display:none;width:44px;height:44px;position:relative;border-radius:12px;background:var(--card)}
.nav__burger i{position:absolute;left:12px;right:12px;height:2px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease),opacity .2s}
.nav__burger i:nth-of-type(1){top:15px}
.nav__burger i:nth-of-type(2){top:21px}
.nav__burger i:nth-of-type(3){top:27px}
.nav__burger[aria-expanded=true] i:nth-of-type(1){transform:translateY(6px) rotate(45deg)}
.nav__burger[aria-expanded=true] i:nth-of-type(2){opacity:0}
.nav__burger[aria-expanded=true] i:nth-of-type(3){transform:translateY(-6px) rotate(-45deg)}
.mnav{background:var(--card);border-top:1px solid var(--line);padding:8px var(--gutter) 24px;max-height:calc(100vh - 100px);overflow-y:auto}
.mnav__h{font-family:var(--mono);font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:18px 0 4px}
.mnav ul{list-style:none}
.mnav li a{display:block;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:500}
.mnav__cta{width:100%;margin-top:20px}
@media (max-width: 1180px) {
.nav__link{padding:10px 10px;letter-spacing:.12em}
.nav__in{gap:18px}
}
@media (max-width: 1020px) {
.nav__main,.start{display:none}
.nav__in{grid-template-columns:minmax(0,1fr) auto;height:64px}
.nav__burger{display:block}
}
@media (max-width: 420px) {
.brand__name{font-size:1.2rem}
.brand .brand__logo,.nav.is-scrolled .brand .brand__logo{width:32px;height:32px}
}
.cv{position:relative;display:block;flex:none;overflow:hidden;text-decoration:none;width:var(--w, 210px);height:calc(var(--w, 210px) * 1.5);border-radius:2px 6px 6px 2px;background:#22262a;box-shadow:0 30px 50px -22px rgba(0,0,0,0.7),0 8px 16px -8px rgba(0,0,0,0.5)}
.cv img{width:100%;height:100%;object-fit:cover;display:block}
.cv__spine{position:absolute;top:0;bottom:0;left:0;width:6%;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.2) 45%,rgba(0,0,0,.12) 70%,rgba(0,0,0,0))}
.cv__shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%);transform:translateX(-120%);pointer-events:none}
.cv:hover .cv__shine{transform:translateX(120%);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.faq{padding:clamp(80px,10vw,120px) 0}
.faq__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(32px,6vw,80px);align-items:start}
.faq__intro{position:sticky;top:110px}
.faq__intro .sub{margin:16px 0 28px}
.acc__item{border:1px solid var(--line);border-radius:16px;margin-bottom:14px;background:var(--card);transition:border-color .3s,box-shadow .4s var(--ease)}
.acc__item:has([aria-expanded="true"]){border-color:var(--coral);box-shadow:0 18px 34px -26px rgba(197,155,39,.55)}
.acc h3{font-family:var(--sans);font-size:1rem;font-weight:600;letter-spacing:0}
.acc button{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px;text-align:left}
.acc i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--coral-soft);position:relative;transition:background .3s,transform .45s var(--ease)}
.acc i::before,.acc i::after{content:"";position:absolute;left:9px;right:9px;top:50%;height:2px;margin-top:-1px;background:var(--coral-btn);border-radius:2px;transition:transform .45s var(--ease),background .3s}
.acc i::after{transform:rotate(90deg)}
.acc button[aria-expanded=true] i{background:var(--coral-btn);transform:rotate(180deg)}
.acc button[aria-expanded=true] i::before,.acc button[aria-expanded=true] i::after{background:var(--card)}
.acc button[aria-expanded=true] i::after{transform:rotate(0)}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.acc__panel.is-open{grid-template-rows:1fr}
.acc__panel>div{overflow:hidden}
.acc__panel p{padding:0 22px 22px;color:var(--muted);font-size:0.9375rem}
.cta{position:relative;padding:clamp(90px,12vw,140px) 0;color:#fff;overflow:hidden;text-align:center}
.cta__bg{position:absolute;inset:0}
.cta__bg img{width:100%;height:120%;object-fit:cover;transform:translateY(var(--cta-y, -8%))}
.cta__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.9))}
.cta__in{position:relative}
.cta h2{font-size:clamp(2rem,4vw,3.25rem);max-width:22ch;margin:0 auto}
.cta h2 span{color:#e2bd57}
.cta p{color:#e4ddcf;margin:18px auto 34px;max-width:36rem;font-size:1.0625rem}
.cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .btn,.cta .btn:hover{box-shadow:0 14px 26px -14px rgba(0,0,0,0.6)}
@media (max-width: 900px) {
.faq__grid {grid-template-columns:1fr}
.faq__intro{position:static}
}
.trust{position:relative;z-index:2;padding:34px 0 10px;background:var(--white)}
.trust__in{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-bottom:1px solid var(--line);padding-bottom:34px}
.trust__item{display:flex;gap:14px;align-items:center}
.trust__ic{flex:none;display:grid;place-items:center;color:var(--gold)}
.trust__item b{display:block;font-size:0.9375rem}
.trust__item span{font-size:0.875rem;color:var(--muted)}
.svc{padding:clamp(80px,10vw,120px) 0}
.svc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.svc__card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.svc__card:hover{transform:translateY(-8px);box-shadow:0 30px 50px -28px rgba(0,0,0,.35)}
.svc__media{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;overflow:hidden;perspective:1000px}
.svc__media--book{background:radial-gradient(circle at 30% 20%,#3d3420 0,#1b1a16 62%,#121314 100%)}
.svc__media--tablet{background:radial-gradient(circle at 70% 25%,#3a3122 0,#1d1a14 62%,#121314 100%)}
.svc__media--stack{background:radial-gradient(circle at 50% 15%,#302d38 0,#19181d 62%,#121214 100%)}
.svc__media .mk-cover{--w: 132px}
.mk-book{position:relative;transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(6deg);transition:transform 0.9s var(--ease)}
.mk-book__pages{position:absolute;top:3px;bottom:3px;right:-12px;width:12px;background:repeating-linear-gradient(90deg,#f6f2e9 0 1px,#ddd5c4 1px 2px);transform:rotateY(90deg);transform-origin:left;box-shadow:inset 0 0 6px rgba(0,0,0,.15)}
.svc__card:hover .mk-book{transform:rotateY(-6deg) rotateX(2deg) translateY(-6px)}
.mk-tab{position:relative;padding:12px;border-radius:22px;background:#1b1f2b;box-shadow:0 30px 40px -24px rgba(0,0,0,.6),inset 0 0 0 2px #2c3242;transform:rotate(-5deg);transition:transform 0.9s var(--ease)}
.mk-tab__screen{display:block;border-radius:8px;overflow:hidden}
.mk-tab__screen .mk-cover{--w: 124px;border-radius:0;box-shadow:none}
.svc__card:hover .mk-tab{transform:rotate(0deg) translateY(-6px)}
.mk-stack{position:relative;display:grid;place-items:center;width:240px;height:210px}
.mk-stack .mk-cover{--w: 132px;transform:rotate(-4deg);transition:transform 0.9s var(--ease)}
.svc__card:hover .mk-stack .mk-s2{transform:rotate(0deg) translateY(-8px)}
.mk-chip{position:absolute;z-index:4;background:var(--card);color:var(--ink);font-size:0.6875rem;font-weight:600;padding:6px 10px;border-radius:999px;box-shadow:0 10px 20px -10px rgba(0,0,0,.45);white-space:nowrap;animation:chipbob 5s ease-in-out infinite}
.mk-chip--a{right:-64px;top:18%}
.mk-chip--b{left:-60px;bottom:16%;animation-delay:-2.5s}
.mk-chip--c{right:0;bottom:2px;color:var(--coral-dk)}
@keyframes chipbob{50%{transform:translateY(-6px)}}
.svc__tag{position:absolute;left:16px;top:16px;background:rgba(22,25,28,.92);color:var(--ink);font-size:0.75rem;font-weight:600;padding:6px 12px;border-radius:999px}
.svc__body{padding:26px 26px 24px;display:flex;flex-direction:column;flex:1}
.svc__body h3 a{text-decoration:none}
.svc__body h3 a:hover{color:var(--coral-btn)}
.svc__body p{color:var(--muted);margin:12px 0 20px;font-size:0.9375rem}
.svc__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--line);font-weight:600;font-size:0.9375rem}
.svc__go{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);color:var(--gold);transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.svc__card:hover .svc__go{border-color:var(--gold);transform:translateX(4px)}
@media (max-width: 960px) {
.trust__in{grid-template-columns:1fr 1fr}
.svc__grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
}
@media (max-width: 520px) {
.trust__in{grid-template-columns:1fr}
}
.show{padding:clamp(80px,10vw,120px) 0 clamp(60px,8vw,90px);background:linear-gradient(180deg,var(--white),var(--bg));overflow:hidden}
.show__rail{position:relative;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.show__track{list-style:none;display:flex;gap:34px;width:max-content;padding:30px 0 10px;animation:rail 60s linear infinite}
.show__rail:hover .show__track{animation-play-state:paused}
@keyframes rail{to{transform:translateX(calc(-50% - 17px))}}
.show__track li{display:flex;flex-direction:column;align-items:center;gap:14px}
.show__track li:nth-child(even){margin-top:36px}
.show__track .show__cover{--w: 190px;transition:transform 0.6s var(--ease),box-shadow 0.6s var(--ease)}
.show__track li:hover .show__cover{transform:translateY(-14px) rotate(-1.5deg);box-shadow:0 40px 60px -26px rgba(0,0,0,.6)}
.show__genre{font-size:0.8125rem;font-weight:600;color:var(--ink-2);background:var(--card);border:1px solid var(--line);padding:5px 12px;border-radius:999px}
.show__note{text-align:center;margin-top:26px;font-size:0.8125rem;color:var(--muted)}
@media (max-width: 700px) {
.show__track .show__cover{--w: 150px}
.show__track{gap:22px}
@keyframes rail{to{transform:translateX(calc(-50% - 11px))}}
}
@media (prefers-reduced-motion: reduce) {
.show__track{animation:none}
.show__rail{overflow-x:auto}
}
.proc{padding:clamp(80px,10vw,120px) 0;background:var(--bg);overflow:hidden}
.proc__grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(40px,6vw,88px);align-items:center}
.proc__media{position:relative;padding:0 12% 18% 0}
.proc__main{border-radius:24px;overflow:hidden;aspect-ratio:4 / 5;box-shadow:0 40px 60px -36px rgba(0,0,0,.5)}
.proc__main img,.proc__sub img{width:100%;height:100%;object-fit:cover}
.proc__sub{position:absolute;right:0;bottom:0;width:52%;aspect-ratio:1;border-radius:20px;overflow:hidden;border:8px solid var(--bg);box-shadow:0 30px 50px -30px rgba(0,0,0,.5);animation:floaty 7s ease-in-out infinite}
.proc__badge{position:absolute;left:-18px;top:12%;background:var(--card);border-radius:16px;padding:16px 20px;box-shadow:0 24px 40px -24px rgba(0,0,0,.4);display:flex;gap:12px;align-items:center;animation:floaty 6s ease-in-out infinite reverse}
.proc__badge b{font-family:var(--serif);font-size:1.75rem;color:var(--coral-btn);line-height:1}
.proc__badge span{font-size:0.8125rem;line-height:1.35;color:var(--ink-2)}
@keyframes floaty{50%{transform:translateY(-12px)}}
.steps{position:relative}
.steps__list{list-style:none}
.steps__line{position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:var(--line);border-radius:2px}
.steps__fill{position:absolute;inset:0;background:var(--coral);transform-origin:top;transform:scaleY(var(--fill, 0));border-radius:2px}
.step{position:relative;display:flex;gap:22px;padding-bottom:30px}
.step:last-child{padding-bottom:0}
.step__n{position:relative;z-index:1;flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--card);color:var(--coral-btn);border:2px solid var(--line);transition:background .4s,color .4s,border-color .4s,transform .5s var(--ease)}
.step.is-on .step__n{background:var(--coral-btn);color:var(--on-accent);border-color:var(--coral-btn);transform:scale(1.06)}
.step__wk{font-size:0.8125rem;font-weight:600;color:var(--coral-dk);text-transform:uppercase;letter-spacing:0.08em}
.step h3{margin:2px 0 6px}
.step p{color:var(--muted);font-size:0.9375rem;max-width:34rem}
@media (max-width: 900px) {
.proc__grid{grid-template-columns:1fr}
.proc__media{max-width:480px;margin:0 auto}
.proc__badge{left:0}
}
.smp{padding:clamp(80px,10vw,120px) 0}
.smp__grid{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:36px;align-items:start}
.smp__grid>{min-width:0}
.smp__tabs{display:flex;flex-direction:column;gap:12px}
.smp__tabs button{text-align:left;padding:18px 22px;border-radius:16px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;transition:border-color .3s,box-shadow .4s var(--ease),transform .4s var(--ease)}
.smp__tabs button b{font-family:var(--serif);font-size:1.0625rem}
.smp__tabs button span{font-size:0.8125rem;color:var(--muted)}
.smp__tabs button:hover{transform:translateX(4px)}
.smp__tabs button[aria-selected=true]{border-color:var(--coral);box-shadow:0 18px 30px -22px rgba(197,155,39,.6);background:var(--card)}
.smp__photo{margin-top:20px;border-radius:20px;overflow:hidden;aspect-ratio:16 / 11}
.smp__photo img{width:100%;height:100%;object-fit:cover}
.smp__book{--ink: #111315;--ink-2: #2a2f3a;--muted: #625c51;--line: #e4ddcf;position:relative;background:#f9f8f6;color:#111315;border-radius:6px 20px 20px 6px;padding:clamp(32px,5vw,56px);box-shadow:0 40px 60px -40px rgba(0,0,0,.45),0 0 0 1px var(--line)}
.smp__book::before{content:"";position:absolute;top:0;bottom:0;left:0;width:22px;border-radius:6px 0 0 6px;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,0))}
.smp__page.is-entering{animation:pageIn .6s var(--ease) both}
@keyframes pageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.smp__run{display:flex;justify-content:space-between;font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line)}
.smp__page h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:22px 0 20px}
.smp__text p{font-family:var(--serif);font-size:1.0625rem;line-height:1.85;color:#2a2f3a}
.smp__text p+p{margin-top:1em;text-indent:1.5em}
.smp__text p:first-child::first-letter{float:left;font-size:3.4em;line-height:.85;margin:.06em .1em 0 0;color:var(--coral-btn);font-weight:700}
.smp__note{margin-top:26px;font-size:0.8125rem;color:var(--muted)}
@media (max-width: 900px) {
.smp__grid{grid-template-columns:minmax(0,1fr)}
.smp__tabs{flex-direction:row;overflow-x:auto}
.smp__tabs button{flex:1 0 200px}
.smp__photo{display:none}
}
.why{padding:clamp(80px,10vw,120px) 0;background:var(--bg)}
.why__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,88px);align-items:center}
.why__media{position:relative;padding:24px}
.why__media figure{border-radius:28px;overflow:hidden;aspect-ratio:5 / 6;box-shadow:0 40px 60px -36px rgba(0,0,0,.5)}
.why__media img{width:100%;height:100%;object-fit:cover}
.chip{position:absolute;display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;padding:14px 18px;box-shadow:0 24px 40px -22px rgba(0,0,0,.45);font-size:0.8125rem;line-height:1.35;color:var(--ink-2)}
.chip b{font-family:var(--serif);font-size:1.75rem;color:var(--coral-btn);line-height:1}
.chip--a{left:-8px;top:14%;animation:bob 6s ease-in-out infinite}
.chip--b{right:-14px;top:46%;animation:bob 7s ease-in-out infinite reverse}
.chip--c{left:10%;bottom:-4px;color:var(--ink);font-weight:600;animation:bob 8s ease-in-out infinite}
.chip--c svg{color:var(--coral-btn)}
@keyframes bob{50%{transform:translateY(-10px)}}
.cmp{background:var(--card);border-radius:20px;border:1px solid var(--line);overflow:hidden}
.cmp__row{display:grid;grid-template-columns:1fr 110px 110px;align-items:center;border-top:1px solid var(--line)}
.cmp__row:first-child{border-top:0}
.cmp__row>{padding:15px 18px}
.cmp__row>:not(:first-child){display:grid;place-items:center}
.cmp__row--h{font-size:0.8125rem;font-weight:600;color:var(--muted);background:var(--card)}
.cmp__row--h>:last-child{color:var(--coral-dk)}
.cmp__row [role=rowheader]{font-size:0.9375rem;font-weight:500}
.ok{color:#e2bd57}
.nope{color:#5c5850}
.us{background:var(--coral-soft);color:var(--coral-dk)}
.cmp__row--h>:last-child{background:var(--coral-soft)}
@media (max-width: 900px) {
.why__grid{grid-template-columns:1fr}
.why__media{max-width:460px;margin:0 auto}
.chip--b{right:0}
}
@media (max-width: 520px) {
.cmp__row{grid-template-columns:1fr 70px 70px}
.cmp__row>{padding:12px 10px}
}
.intro{padding:clamp(80px,10vw,120px) 0}
.intro__grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:clamp(40px,6vw,88px);align-items:start}
.intro h2{font-size:clamp(1.875rem,3.2vw,2.625rem)}
.intro__answer{margin:24px 0 26px;padding:22px 24px 22px 26px;background:var(--bg);border-radius:16px;position:relative;font-size:1.0625rem;color:var(--ink)}
.intro__answer{border:1px solid rgba(197,155,39,.35);background:var(--card)}
.intro__answer strong{color:var(--coral-dk)}
.intro__p{color:var(--ink-2);margin-top:16px}
.intro__quote{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.intro__quote p{font-family:var(--serif);font-style:italic;font-size:1.375rem;line-height:1.45;color:var(--ink)}
.intro__media{position:sticky;top:110px}
.intro__media figure{border-radius:26px;overflow:hidden;aspect-ratio:4 / 5;box-shadow:0 40px 60px -36px rgba(0,0,0,.5)}
.intro__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.intro__media:hover img{transform:scale(1.05)}
.intro__stat{position:absolute;left:-26px;bottom:54px;background:var(--card);border-radius:18px;padding:16px 20px;box-shadow:0 24px 40px -22px rgba(0,0,0,.45);display:flex;gap:12px;align-items:center;animation:introbob 6s ease-in-out infinite}
.intro__stat b{font-family:var(--serif);font-size:1.75rem;color:var(--coral-btn);line-height:1}
.intro__stat span{font-size:.8125rem;line-height:1.35;color:var(--ink-2)}
.intro__tags{position:absolute;right:-14px;top:26px;display:flex;flex-direction:column;gap:8px}
.intro__tags span{background:rgba(22,25,28,.92);border-radius:999px;padding:7px 14px;font-size:.75rem;font-weight:600;box-shadow:0 10px 20px -12px rgba(0,0,0,.4);animation:tagin .8s var(--ease) both}
.intro__tags span:nth-child(2){animation-delay:.15s;margin-left:14px}
.intro__tags span:nth-child(3){animation-delay:.3s}
.intro__tags span:nth-child(4){animation-delay:.45s;margin-left:14px}
@keyframes tagin{from{opacity:0;transform:translateX(16px)}}
@keyframes introbob{50%{transform:translateY(-10px)}}
@media (max-width: 900px) {
.intro__grid{grid-template-columns:1fr}
.intro__media{position:relative;top:0;max-width:460px;margin:0 auto}
.intro__stat{left:0}
.intro__tags{right:0}
}
.ben{padding:clamp(80px,10vw,120px) 0;background:var(--bg)}
.ben__head{max-width:760px;margin:0 auto clamp(40px,6vw,64px);text-align:center}
.ben__head p{color:var(--muted);font-size:1.0625rem;margin-top:14px}
.ben__grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(32px,6vw,80px);align-items:center}
.ben__img{border-radius:26px;overflow:hidden;aspect-ratio:4 / 5;box-shadow:0 40px 60px -36px rgba(0,0,0,.5)}
.ben__img img{width:100%;height:100%;object-fit:cover;animation:benzoom 22s ease-in-out infinite alternate}
@keyframes benzoom{to{transform:scale(1.08)}}
.ben__list{list-style:none;position:relative;padding-left:34px}
.ben__list::before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--coral),rgba(197,155,39,.1))}
.ben__list li{position:relative;padding:4px 0 30px}
.ben__list li:last-child{padding-bottom:0}
.ben__dot{position:absolute;left:-34px;top:8px;width:18px;height:18px;border-radius:50%;background:var(--card);border:3px solid var(--coral);box-shadow:0 0 0 6px var(--bg)}
.ben__list li.in .ben__dot{animation:bendot .8s var(--ease) both;animation-delay:calc(var(--d, 0) * .12s + .2s)}
@keyframes bendot{from{transform:scale(0)}60%{transform:scale(1.25)}to{transform:scale(1)}}
.ben__list h3{margin-bottom:8px}
.ben__list p{color:var(--ink-2);max-width:52ch}
@media (max-width: 900px) {
.ben__grid{grid-template-columns:1fr}
.ben__img{max-width:460px;margin:0 auto;aspect-ratio:16 / 10}
}
@media (prefers-reduced-motion: reduce) {
.ben__img img{animation:none}
}
.aud{position:relative;padding:clamp(80px,10vw,120px) 0;background:var(--navy);color:#fff;overflow:hidden}
.aud::before{content:"";position:absolute;width:640px;height:640px;right:-220px;top:-260px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 80px rgba(255,255,255,.02),0 0 0 160px rgba(255,255,255,.015);animation:audspin 60s linear infinite}
@keyframes audspin{to{transform:rotate(360deg)}}
.aud__head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:56px;position:relative}
.aud__head p{color:#e4ddcf;font-size:1.0625rem}
.aud__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
.aud__card{position:relative;padding:30px 28px;border-radius:20px;background:var(--navy-2);border:1px solid rgba(255,255,255,.08);overflow:hidden;transition:transform .5s var(--ease),border-color .4s}
.aud__card:hover{transform:translateY(-6px);border-color:rgba(255,255,255,.18)}
.aud__card{background-image:radial-gradient(circle at 100% 0%,rgba(197,155,39,.0),rgba(197,155,39,0));transition:transform .5s var(--ease),border-color .4s,background-color .4s}
.aud__card:hover{background-color:#2e2616}
.aud__card h3{color:#fff;margin-bottom:10px;display:flex;align-items:center;gap:12px}
.aud__card h3 svg{flex:none;color:#e2bd57;transition:transform .5s var(--ease)}
.aud__card:hover h3 svg{transform:rotate(-10deg) scale(1.1)}
.aud__card p{color:#e4ddcf;font-size:.9375rem}
@media (max-width: 900px) {
.aud__head,.aud__grid{grid-template-columns:1fr}
}
@media (min-width: 600px) and (max-width: 900px) {
.aud__grid{grid-template-columns:1fr 1fr}
}
.inc{padding:clamp(80px,10vw,120px) 0}
.inc__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(200px,auto);gap:18px}
.inc__tile{position:relative;padding:28px 26px;border-radius:22px;background:var(--bg);border:1px solid var(--line);overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.inc__tile:hover{transform:translateY(-6px);box-shadow:0 26px 44px -28px rgba(0,0,0,.4)}
.inc__tile--0{grid-column:span 2;background:var(--coral-soft);border-color:rgba(197,155,39,.35)}
.inc__tile--5{grid-column:span 2;background:var(--navy);color:#fff;border-color:var(--navy)}
.inc__tile.inc__tile--5 p{color:#e4ddcf}
.inc__tile--5 h3 svg{color:#e2bd57}
.inc__tile--0 h3,.inc__tile--5 h3{font-size:1.5rem}
.inc__tile h3{margin-bottom:10px;display:flex;align-items:center;gap:10px}
.inc__tile h3 svg{flex:none;color:var(--coral-dk)}
.inc__tile p{color:var(--muted);font-size:.9375rem;max-width:36ch}
.inc__tile::after{content:"";position:absolute;width:160px;height:160px;right:-60px;bottom:-60px;border-radius:50%;background:radial-gradient(circle,rgba(197,155,39,.14),transparent 70%);transition:transform .8s var(--ease)}
.inc__tile:hover::after{transform:scale(1.6)}
@media (max-width: 960px) {
.inc__grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 560px) {
.inc__grid{grid-template-columns:1fr}
.inc__tile--0,.inc__tile--5{grid-column:auto}
}
.cost{padding:clamp(80px,10vw,120px) 0;background:linear-gradient(180deg,var(--bg),var(--white))}
.cost__top{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start;margin-bottom:64px}
.cost__top h2{font-size:clamp(1.875rem,3.2vw,2.5rem)}
.cost__top .sub{margin-top:18px}
.cost__factors{list-style:none;display:grid;gap:14px}
.cost__factors li{display:flex;gap:18px;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:16px;transition:transform .45s var(--ease),border-color .3s}
.cost__factors li:hover{transform:translateX(6px);border-color:var(--coral)}
.cost__n{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--coral-soft);color:var(--coral-dk);font-weight:700;font-size:.875rem}
.cost__factors h3{font-size:1.0625rem}
.cost__factors p{font-size:.875rem;color:var(--muted);margin-top:2px}
.cost__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.plan{position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:34px 30px 30px;display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.plan:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(0,0,0,.35)}
.plan--hot{background:var(--navy);color:#fff;border-color:var(--navy);transform:scale(1.03);box-shadow:0 40px 60px -32px rgba(0,0,0,.6)}
.plan--hot:hover{transform:scale(1.03) translateY(-6px)}
.plan__ribbon{position:absolute;top:-14px;left:30px;background:var(--coral-btn);color:var(--on-accent);font-size:.75rem;font-weight:600;padding:6px 14px;border-radius:999px}
.plan__meta{font-size:.875rem;color:var(--muted);margin-top:4px}
.plan--hot .plan__meta,.plan--hot .plan__price span{color:#e4ddcf}
.plan__price{margin:22px 0;padding-bottom:22px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:8px}
.plan--hot .plan__price{border-color:rgba(255,255,255,.14)}
.plan__price span{font-size:.875rem;color:var(--muted)}
.plan__price b{font-family:var(--serif);font-size:2.5rem;line-height:1}
.plan ul{list-style:none;margin-bottom:28px;flex:1}
.plan li{display:flex;gap:12px;align-items:center;padding:7px 0;font-size:.9375rem}
.plan li svg{color:var(--coral-btn);flex:none}
.plan--hot li svg{color:#e2bd57}
.plan .btn{width:100%}
.cost__fine{text-align:center;margin-top:30px;color:var(--muted);font-size:.9375rem}
.cost__fine a{color:var(--coral-dk);font-weight:600}
@media (max-width: 960px) {
.cost__top{grid-template-columns:1fr}
.cost__grid{grid-template-columns:1fr;max-width:440px;margin:0 auto}
.plan--hot,.plan--hot:hover{transform:none}
}
.typ{padding:clamp(80px,10vw,120px) 0}
.typ__head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:48px}
.typ__head p{color:var(--muted);font-size:1.0625rem}
.typ__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.typ__card{position:relative;padding:32px 26px 40px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate;transition:color .4s}
.typ__card::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--navy);transform:translateY(101%);transition:transform .6s var(--ease)}
.typ__card:hover::before{transform:none}
.typ__card:hover{color:#fff}
.typ__card:hover p{color:#e4ddcf}
.typ__bar{display:block;width:34px;height:3px;border-radius:3px;background:var(--coral);margin-bottom:22px;transition:width .6s var(--ease)}
.typ__card:hover .typ__bar{width:64px}
.typ__card h3{margin-bottom:10px}
.typ__card p{color:var(--muted);font-size:.9375rem;transition:color .4s}
.typ__arrow{position:absolute;right:22px;top:28px;color:var(--coral);opacity:0;transform:translate(-6px,6px);transition:opacity .4s,transform .5s var(--ease)}
.typ__card:hover .typ__arrow{opacity:1;transform:none;color:#e2bd57}
@media (max-width: 960px) {
.typ__head{grid-template-columns:1fr}
.typ__grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 520px) {
.typ__grid{grid-template-columns:1fr}
}
.hire{padding:clamp(80px,10vw,120px) 0;background:var(--bg)}
.hire__grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(40px,6vw,88px);align-items:start}
.hire__side{position:sticky;top:110px}
.hire__side h2{font-size:clamp(1.875rem,3.2vw,2.5rem)}
.hire__side .sub{margin:18px 0 28px}
.hire__side figure{border-radius:24px;overflow:hidden;aspect-ratio:16 / 11}
.hire__side img{width:100%;height:100%;object-fit:cover}
.hire__list{list-style:none;display:grid;gap:14px}
.hire__list li{display:flex;gap:18px;padding:24px;background:var(--card);border-radius:18px;border:1px solid var(--line);transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
.hire__list li:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px rgba(0,0,0,.4)}
.hire__check{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#e2bd57;transition:transform .5s var(--ease)}
.hire__list li:hover .hire__check{transform:scale(1.12) rotate(-6deg)}
.hire__list h3{font-size:1.0625rem;margin-bottom:4px}
.hire__list p{color:var(--muted);font-size:.9375rem}
.hire__list .hire__cta{flex-direction:column;align-items:flex-start;gap:14px;background:var(--navy);border-color:var(--navy);color:#fff}
.hire__list .hire__cta p{color:#fff;font-family:var(--serif);font-size:1.25rem}
@media (max-width: 900px) {
.hire__grid{grid-template-columns:1fr}
.hire__side{position:static}
}
.sh{position:relative;background:var(--navy);color:#fff;padding:clamp(40px,6vw,72px) 0 clamp(70px,9vw,110px);overflow:hidden}
.sh__bg{position:absolute;inset:0}
.sh__bg img{width:100%;height:100%;object-fit:cover;opacity:.12;filter:grayscale(.4)}
.sh__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 75% 45%,rgba(197,155,39,.16),transparent 70%),linear-gradient(90deg,rgba(15,17,19,.97) 30%,rgba(15,17,19,.72))}
.sh__grid{position:relative;display:grid;grid-template-columns:1.1fr 0.9fr;gap:clamp(32px,6vw,80px);align-items:center}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.8125rem;color:#e4ddcf;margin-bottom:22px}
.crumbs a{color:#e2bd57;text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.sh h1{font-size:clamp(2rem,4vw,3.25rem);color:#fff}
.sh__lead{margin:20px 0 30px;max-width:36rem;color:#e4ddcf;font-size:1.0625rem}
.sh__ctas{display:flex;gap:14px;flex-wrap:wrap}
.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);box-shadow:none}
.btn--ghost:hover{background:rgba(255,255,255,.1)}
.sh__trust{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.sh__trust li{font-size:.8125rem;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#e4ddcf}
.sh__trust li:last-child{background:var(--coral-btn);border-color:var(--coral-btn);color:var(--on-accent)}
.deck{display:grid;justify-items:center;gap:26px}
.deck__stack{position:relative;width:clamp(220px,22vw,300px);aspect-ratio:2 / 3;cursor:pointer}
.deck__card{position:absolute;inset:0;margin:0;border-radius:4px 10px 10px 4px;overflow:hidden;background:#2e2616;box-shadow:0 30px 50px -22px rgba(0,0,0,.6);transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .6s ease;will-change:transform}
.deck__card img{width:100%;height:100%;object-fit:cover;display:block}
.deck__spine{position:absolute;top:0;bottom:0;left:0;width:7%;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.18) 55%,rgba(0,0,0,0))}
.deck__card[data-pos="0"]{transform:translateX(0) rotate(0) scale(1);z-index:5}
.deck__card[data-pos="1"]{transform:translateX(26%) rotate(7deg) scale(.92);z-index:4}
.deck__card[data-pos="2"]{transform:translateX(46%) rotate(13deg) scale(.85);z-index:3;opacity:.85}
.deck__card[data-pos="3"]{transform:translateX(62%) rotate(18deg) scale(.78);z-index:2;opacity:.6}
.deck__card[data-pos="4"]{transform:translateX(-120%) rotate(-16deg) scale(.9);z-index:6;opacity:0}
.deck__stack:hover .deck__card[data-pos="0"]{transform:translateY(-8px) rotate(-1.5deg)}
.deck__dots{display:flex;gap:8px}
.deck__dots button{width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.3);transition:width .4s var(--ease),background .3s}
.deck__dots button[aria-selected=true]{width:28px;background:#e2bd57}
.sa{padding:clamp(70px,9vw,110px) 0 0}
.sa__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:48px;align-items:start}
.sa p{color:var(--ink-2);margin-bottom:16px;max-width:64ch}
.sa .sa__lead{font-size:1.125rem;color:var(--ink);background:var(--card);border:1px solid rgba(197,155,39,.35);border-radius:16px;padding:18px 22px}
.sf{padding:clamp(70px,9vw,110px) 0}
.sf__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:48px;align-items:start}
.sf ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sf li{display:flex;gap:12px;align-items:flex-start;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--card);font-weight:500;transition:border-color .3s,transform .45s var(--ease)}
.sf li:hover{border-color:var(--coral);transform:translateY(-3px)}
.sf li svg{flex:none;color:var(--coral-btn);margin-top:2px}
.sp{padding:clamp(70px,9vw,110px) 0;background:var(--bg)}
.sp h2{margin-bottom:44px}
.sp__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.sp article{padding:28px 24px;background:var(--card);border-radius:20px;border:1px solid var(--line);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sp article:hover{transform:translateY(-6px);box-shadow:0 24px 40px -28px rgba(0,0,0,.4)}
.sp__line{display:block;height:3px;width:100%;border-radius:3px;background:var(--line);margin-bottom:22px;position:relative;overflow:hidden}
.sp__line::after{content:"";position:absolute;inset:0;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease);transition-delay:calc(var(--d, 0) * .15s + .2s)}
.sp article.in .sp__line::after{transform:scaleX(1)}
.sp h3{margin-bottom:8px}
.sp p{color:var(--muted);font-size:.9375rem}
.st{padding:clamp(70px,9vw,110px) 0;overflow:hidden}
.st h2{margin-bottom:36px}
.st__rows{display:grid;gap:14px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.st__row{overflow:hidden}
.st__track{list-style:none;display:flex;gap:12px;width:max-content;animation:stmove 40s linear infinite}
.st__row--rev .st__track{animation-direction:reverse;animation-duration:46s}
.st__rows:hover .st__track{animation-play-state:paused}
@keyframes stmove{to{transform:translateX(calc(-50% - 6px))}}
.st__track li{white-space:nowrap;padding:14px 24px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:500;font-size:.9375rem;transition:background .3s,color .3s,border-color .3s}
.st__track li:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.so{padding:clamp(70px,9vw,110px) 0;background:var(--navy);color:#fff}
.so h2{margin-bottom:48px;color:#fff}
.so__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.so article{padding:28px 24px;border-radius:20px;background:var(--navy-2);border:1px solid rgba(255,255,255,.08);transition:transform .5s var(--ease),background-color .4s}
.so article:hover{transform:translateY(-6px);background-color:#2e2616}
.so h3{color:#fff;margin-bottom:8px}
.so p{color:#e4ddcf;font-size:.9375rem}
.ss{padding:clamp(70px,9vw,110px) 0}
.ss__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:start}
.ss__side{position:sticky;top:110px}
.ss__side .sub{margin-top:14px}
.ss__list{--fill: 0;position:relative;list-style:none;display:grid;gap:10px;padding-left:64px}
.ss__list::before,.ss__list::after{content:"";position:absolute;left:21px;top:24px;bottom:24px;width:2px;border-radius:2px;background:var(--line)}
.ss__list::after{background:linear-gradient(#f0d27a,#c59b27);transform-origin:top;transform:scaleY(var(--fill))}
.ss__list li{position:relative;padding:18px 22px;border-radius:18px;border:1px solid transparent;transition:background .4s,border-color .4s,transform .45s var(--ease)}
.ss__list li.is-on{background:var(--card);border-color:var(--line)}
.ss__n{position:absolute;left:-64px;top:16px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;z-index:1;font-family:var(--mono);font-size:.8125rem;background:var(--white);color:var(--muted);border:1.5px solid var(--line);transition:background .4s,color .4s,border-color .4s,transform .5s var(--ease)}
.ss__list li.is-on .ss__n{background:var(--coral-btn);color:var(--on-accent);border-color:var(--coral-btn);transform:scale(1.06)}
.ss__list small{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ss__list h3{margin-top:4px}
.ss__list p{color:var(--muted);font-size:.9375rem;margin-top:4px}
.sn{padding:clamp(50px,6vw,72px) 0 0}
.sn__grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sn__item{padding:30px 24px;border-left:1px solid var(--line)}
.sn__item:first-child{border-left:0;padding-left:0}
.sn__item b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1;letter-spacing:-.02em;color:#ecc96a}
.sn__item span{display:block;margin-top:10px;color:var(--muted);font-size:.9375rem;max-width:22ch}
.sx{padding:clamp(70px,9vw,110px) 0;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(197,155,39,.08),transparent 70%),var(--bg)}
.sx__head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:52px}
.sx__grid{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:44px 28px}
.sx__card{display:flex;flex-direction:column;align-items:flex-start}
.sx__book{display:block;transition:transform .6s var(--ease);transform-style:preserve-3d;will-change:transform}
.sx__card .sx__cover{--w: 100%;width:100%;height:auto;aspect-ratio:2 / 3}
.sx__card{min-width:0}
.sx__book{width:100%}
.sx__card b{margin-top:18px;font-family:var(--serif);font-weight:500;font-size:1.0625rem;line-height:1.3}
.sx__card small{margin-top:4px;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.sq{padding:clamp(70px,9vw,110px) 0}
.sq h2{margin-bottom:44px}
.sq__table{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card)}
.sq__row{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.15fr;border-top:1px solid var(--line)}
.sq__row:first-child{border-top:0}
.sq__row>{padding:18px 22px;font-size:.9375rem;display:flex;align-items:center;gap:10px}
.sq__row [role=rowheader]{font-weight:600}
.sq__row [role=cell]{color:var(--muted)}
.sq__row--h>{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sq__row>.sq__us{background:rgba(197,155,39,.09);color:var(--ink);font-weight:600}
.sq__row--h>.sq__us{color:var(--gold)}
.sq__row:hover>{background-color:rgba(255,255,255,.02)}
.sd{padding:clamp(70px,9vw,110px) 0;background:var(--bg)}
.sd__grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:56px;align-items:start}
.sd__side{position:sticky;top:110px}
.sd__side .sub{margin-top:14px}
.sd__list{list-style:none}
.sd__row{display:grid;grid-template-columns:76px 1fr;gap:10px;padding:26px 18px;border-top:1px solid var(--line);border-radius:14px;transition:background .4s}
.sd__row:last-child{border-bottom:1px solid var(--line)}
.sd__n{font-family:var(--serif);font-style:italic;font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(226,189,87,.6);transition:color .4s,-webkit-text-stroke-color .4s}
.sd__row:hover .sd__n{color:var(--gold)}
.sd__row p{color:var(--muted);font-size:.9375rem;margin-top:6px}
.sc{position:relative;padding:clamp(70px,9vw,110px) 0;color:#fff;text-align:center;overflow:hidden}
.sc__bg{position:absolute;inset:0}
.sc__bg img{width:100%;height:100%;object-fit:cover}
.sc__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(40,32,16,.93),rgba(0,0,0,.92))}
.sc__in{position:relative}
.sc h2{color:#fff;max-width:22ch;margin:0 auto}
.sc p{color:#e4ddcf;margin:16px auto 28px;max-width:36rem}
.sk{padding:clamp(70px,9vw,110px) 0}
.sk__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center}
.sk .sub{margin-top:16px}
.sk__table{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--card)}
.sk__row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;border-top:1px solid var(--line);transition:background .3s}
.sk__row:first-child{border-top:0}
.sk__row:hover{background:var(--bg)}
.sk__row b{display:block}
.sk__row small{color:var(--muted);font-size:.875rem}
.sk__price{font-family:var(--serif);font-weight:700;color:var(--coral-dk);white-space:nowrap}
.si{padding:0 0 clamp(70px,9vw,110px)}
.si__box{display:grid;grid-template-columns:0.8fr 1.2fr;gap:48px;padding:clamp(32px,5vw,56px);border-radius:28px;background:linear-gradient(135deg,var(--navy),#2e2616);color:#fff}
.si h2{color:#fff}
.si__price{font-family:var(--serif);font-size:2.5rem;font-weight:700;color:#e2bd57;margin:14px 0 6px}
.si__note{color:#e4ddcf;margin-bottom:24px;font-size:.9375rem}
.si ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-content:start}
.si li{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;color:#e4ddcf}
.si li svg{flex:none;color:#e2bd57;margin-top:3px}
.sr{padding:clamp(70px,9vw,110px) 0;background:var(--bg)}
.sr h2{margin-bottom:40px}
.sr__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.sr__card{display:flex;gap:24px;align-items:center;padding:22px;border-radius:22px;background:var(--card);border:1px solid var(--line);text-decoration:none;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.sr__card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(0,0,0,.4)}
.sr__card .sr__cover{--w: 96px}
.sr__card b{display:block;font-family:var(--serif);font-size:1.125rem;line-height:1.35}
.sr__card small{display:block;margin-top:8px;color:var(--coral-dk);font-weight:600;font-size:.875rem}
@media (max-width: 960px) {
.sh__grid,.sa__grid,.sf__grid,.ss__grid,.si__box,.sk__grid,.sd__grid,.sx__head{grid-template-columns:minmax(0,1fr)}
.sx__grid,.sn__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sn__item:nth-child(3){border-left:0;padding-left:0}
.sd__side{position:static}
.sp__grid,.so__grid{grid-template-columns:1fr 1fr}
.sr__grid{grid-template-columns:1fr}
.ss__side{position:static}
.deck__stack{width:min(52vw,260px)}
}
@media (max-width: 700px) {
.sq__row{grid-template-columns:repeat(3,minmax(0,1fr))}
.sq__row [role=rowheader]{grid-column:1 / -1;padding-bottom:2px}
.sq__row--h>:first-child{display:none}
.sq__row>{padding:12px 10px;font-size:.8125rem}
.sq__row--h>{font-size:.62rem}
.sq__row .ink{display:none}
}
@media (max-width: 560px) {
.sf ul,.si ul,.sp__grid,.so__grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce) {
.st__track{animation:none}
.st__row{overflow-x:auto}
.deck__card{transition:none}
}
/* ================= Homepage hero: the Infinite Library ================= */
.lib { --W: 1240px; --H: 980px; --S: 1320px; --L: calc(var(--S) * 3);
  position: relative; isolation: isolate; overflow: hidden; background: #07080a;
  height: 100vh; height: 100svh; min-height: 660px; margin-top: calc(-1 * var(--hdr-h, 77px)); padding-top: var(--hdr-h, 77px);
  display: grid; place-items: center; }
.lib__stage { position: absolute; inset: 0; z-index: 0; perspective: 760px; perspective-origin: 50% 50%; }
.lib__cam { position: absolute; left: 50%; top: calc(50% + var(--hdr-h, 77px) / 2); width: 0; height: 0; transform-style: preserve-3d; transform: rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform 1.6s cubic-bezier(.16,1,.3,1); }
.lib__world { position: absolute; transform-style: preserve-3d; will-change: transform; animation: libtravel 7.5s linear infinite; }
@keyframes libtravel { from { transform: translateZ(0); } to { transform: translateZ(var(--S)); } }
.lib.is-off .lib__world, .lib.is-paused .lib__world { animation-play-state: paused; }
.lib__wall { position: absolute; top: 0; left: 0; width: var(--L); height: var(--H); transform-origin: 0 0; display: grid; grid-auto-rows: 1fr; background: linear-gradient(180deg, #120f0b, #1a140d 50%, #110d09); }
.lib__wall--l { transform: translate3d(calc(var(--W) / -2), calc(var(--H) / -2), var(--S)) rotateY(90deg); }
.lib__wall--r { transform-origin: 100% 0; transform: translate3d(calc(var(--W) / 2 - var(--L)), calc(var(--H) / -2), var(--S)) rotateY(-90deg); }
.lib__row { position: relative; display: flex; align-items: flex-end; padding-bottom: 24px; border-bottom: 1px solid #000; background: linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,0,0,0) 38%); }
.lib__row::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 24px; background: linear-gradient(180deg, #e2bd57 0, #8a6410 2px, #3a2a12 3px, #241a0d 60%, #120d07); }
.lib__slot { flex: none; width: calc(var(--S) / 6); height: 100%; display: flex; align-items: flex-end; justify-content: center; }
.lib__book { position: relative; width: 62%; aspect-ratio: 2/3; transform-origin: 50% 100%; overflow: hidden; border-radius: 1px 3px 3px 1px; box-shadow: 0 16px 20px -10px rgba(0,0,0,.9); }
.lib__book img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lib__book::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 7%; background: linear-gradient(90deg, rgba(0,0,0,.45), rgba(255,255,255,.2) 55%, transparent); }
.lib__book.lean { transform: rotate(-7deg); }
.lib__book.lean2 { transform: rotate(5deg); }
.lib__book.small { width: 52%; }
.lib__stack { width: 70%; display: grid; gap: 2px; }
.lib__stack i { display: block; height: 14px; border-radius: 2px; border-top: 1px solid rgba(226,189,87,.5); box-shadow: 0 2px 4px rgba(0,0,0,.6); }
.lib__floor, .lib__ceil { position: absolute; left: 0; top: 0; width: var(--W); height: var(--L); transform-origin: 0 0; }
.lib__floor { transform: translate3d(calc(var(--W) / -2), calc(var(--H) / 2), var(--S)) rotateX(90deg);
  background: repeating-linear-gradient(0deg, rgba(255,214,130,0) 0 calc(var(--S) / 2 - 140px), rgba(255,214,130,.14) calc(var(--S) / 2 - 40px), rgba(255,214,130,0) calc(var(--S) / 2)), repeating-linear-gradient(90deg, #1a120a 0 120px, #20160c 120px 122px), #160f08; }
.lib__ceil { transform: translate3d(calc(var(--W) / -2), calc(var(--H) / -2), var(--S)) rotateX(90deg);
  background: repeating-linear-gradient(0deg, #0b0907 0 calc(var(--S) / 2 - 18px), #e9c770 calc(var(--S) / 2 - 18px), #fff3c4 calc(var(--S) / 2 - 9px), #0b0907 calc(var(--S) / 2)), #0b0907; }
.lib__far { position: absolute; z-index: 1; left: 50%; top: calc(50% + var(--hdr-h, 77px) / 2); width: 60vmin; height: 60vmin; transform: translate(-50%, -50%); pointer-events: none;
  background: radial-gradient(circle, rgba(255,232,170,.7), rgba(226,170,80,.22) 30%, transparent 65%); filter: blur(6px); animation: libbreathe 6s ease-in-out infinite; }
@keyframes libbreathe { 50% { opacity: .75; } }
.lib__dust { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
/* strong, soft shadow behind the words so every line stays readable over the moving shelves */
.lib__veil { position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background: radial-gradient(ellipse 50% 48% at 50% calc(50% + var(--hdr-h, 77px) / 2), rgba(7,8,10,.94), rgba(7,8,10,.7) 50%, rgba(7,8,10,0) 82%), radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,.7)); }
.lib__copy { position: relative; z-index: 5; width: min(900px, calc(100vw - 2 * var(--gutter))); display: grid; justify-items: center; gap: clamp(14px, 2.4vh, 24px); text-align: center; padding-block: 24px 64px; }
.lib__kick { font-family: var(--mono); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: #ecc96a; text-shadow: 0 2px 12px rgba(0,0,0,.9); }
.lib__h { font-family: var(--serif); font-weight: 500; letter-spacing: -.03em; line-height: 1; font-size: clamp(38px, min(6.4vw, 10.5vh), 100px); color: #fbf7ee; text-shadow: 0 4px 30px rgba(0,0,0,.95), 0 1px 2px rgba(0,0,0,.8); text-wrap: balance; }
.lib__foil { display: inline-block; padding: 0 .06em; font-style: italic; color: #f5d27a; background: none; -webkit-text-fill-color: #f5d27a;
  text-shadow: 0 2px 0 rgba(90,60,10,.55), 0 6px 26px rgba(0,0,0,.85); }
.lib__lede { max-width: 40rem; font-size: clamp(15.5px, 1.25vw, 18px); line-height: 1.6; color: #e6dfd1; text-shadow: 0 2px 14px rgba(0,0,0,.95); }
.lib__ctas { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; }
.lib__ghost { background: rgba(20,22,26,.45); color: #fbf7ee; border-color: rgba(244,239,228,.4); box-shadow: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.lib__ghost:hover { background: rgba(244,239,228,.12); }
.lib__facts { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 0; }
.lib__facts li { padding: 8px 14px; border-radius: 999px; font-size: .8125rem; color: #e6dfd1; background: rgba(20,22,26,.5); border: 1px solid rgba(244,239,228,.14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.lib__facts b { color: #ecc96a; font-weight: 600; }
.lib__copy > * { animation: librise .8s cubic-bezier(.16,1,.3,1) both; }
.lib__copy > :nth-child(2) { animation-delay: .06s; }
.lib__copy > :nth-child(3) { animation-delay: .12s; }
.lib__copy > :nth-child(4) { animation-delay: .18s; }
.lib__copy > :nth-child(5) { animation-delay: .24s; }
@keyframes librise { from { transform: translateY(16px); } }
.lib__pause { position: absolute; z-index: 6; right: var(--gutter); bottom: 22px; font-family: var(--mono); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: #d9d2c4; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(244,239,228,.2); background: rgba(20,22,26,.5); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.lib__pause[aria-pressed="true"] { background: var(--gold); color: var(--on-accent); border-color: var(--gold); }
@media (max-width: 860px) {
.lib { --W: 620px; --H: 1500px; --S: 900px; min-height: 600px; }
.lib__stage { perspective: 460px; }
.lib__facts li { padding: 6px 11px; font-size: .75rem; }
.lib__pause { left: 50%; right: auto; transform: translateX(-50%); bottom: 14px; }
.lib__copy { padding-bottom: 70px; }
}
@media (max-height: 720px) and (min-width: 861px) {
.lib__copy { gap: 12px; padding-bottom: 40px; }
.lib__lede { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
.lib__world, .lib__far, .lib__copy > * { animation: none !important; }
}
/* ================= Glass header ================= */
header.nav { background: linear-gradient(180deg, rgba(16,17,20,.58), rgba(16,17,20,.38)); backdrop-filter: blur(20px) saturate(170%); -webkit-backdrop-filter: blur(20px) saturate(170%);
  border-bottom: 1px solid rgba(244,239,228,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 12px 32px -22px rgba(0,0,0,.9); }
header.nav.is-scrolled { background: linear-gradient(180deg, rgba(16,17,20,.72), rgba(16,17,20,.6)); }
header.nav .nav__link, header.nav .brand__name, header.nav .start { text-shadow: 0 1px 10px rgba(0,0,0,.7); }
header.nav .nav__link { color: #efe9dc; }
header.nav .mnav { background: rgba(16,17,20,.94); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
header.nav .menu { background: rgba(26,29,33,.92); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
/* first-screen content appears instantly (no fade) */
.js .instant, .js .instant .w > span { transition: none !important; }
/* header stays one fixed size while scrolling (no resize = no page jump, no shake);
   its own compositing layer keeps the glass blur steady over the moving library */
header.nav { transform: translateZ(0); backface-visibility: hidden; transition: background .35s ease, box-shadow .35s ease; }
/* ================= Blog & Article Layout System ================= */
.blog-hub { padding: clamp(60px, 8vw, 100px) 0 clamp(80px, 10vw, 120px); }
.blog-hub__head { text-align: center; max-width: 48rem; margin: 0 auto clamp(40px, 6vw, 64px); }
.blog-hub__head h1 { font-size: clamp(2.4rem, 4.5vw, 3.6rem); margin-bottom: 16px; }
.blog-hub__head p { color: var(--muted); font-size: 1.125rem; }
.blog-filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 48px; }
.blog-filter { padding: 8px 18px; border-radius: 999px; font-size: 0.8125rem; font-weight: 600; font-family: var(--mono); letter-spacing: 0.05em; background: var(--card); border: 1px solid var(--line); color: var(--muted); text-decoration: none; transition: all .3s; }
.blog-filter:hover, .blog-filter.is-active { background: var(--coral-soft); color: var(--gold); border-color: var(--gold); }
.blog-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 32px; }
.blog-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: transform .4s var(--ease), border-color .3s, box-shadow .4s var(--ease); }
.blog-card:hover { transform: translateY(-6px); border-color: rgba(226, 189, 87, 0.4); box-shadow: 0 24px 44px -20px rgba(0,0,0,0.5); }
.blog-card__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: linear-gradient(135deg, #1c1813, #111315); display: flex; align-items: center; justify-content: center; }
.blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.blog-card:hover .blog-card__media img { transform: scale(1.04); }
.blog-card__tag { position: absolute; top: 16px; left: 16px; background: rgba(15, 17, 19, 0.9); backdrop-filter: blur(8px); color: var(--gold); font-family: var(--mono); font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(226, 189, 87, 0.25); }
.blog-card__body { padding: 26px; display: flex; flex-direction: column; flex: 1; }
.blog-card__meta { display: flex; align-items: center; gap: 12px; font-family: var(--mono); font-size: 0.75rem; color: var(--muted); margin-bottom: 12px; }
.blog-card__meta span::after { content: "•"; margin-left: 12px; opacity: 0.5; }
.blog-card__meta span:last-child::after { content: ""; margin-left: 0; }
.blog-card__title { font-size: 1.35rem; line-height: 1.3; font-weight: 500; font-family: var(--serif); color: var(--ink); margin-bottom: 12px; transition: color .3s; }
.blog-card:hover .blog-card__title { color: var(--gold); }
.blog-card__excerpt { font-size: 0.9375rem; color: var(--muted); line-height: 1.6; margin-bottom: 20px; flex: 1; }
.blog-card__foot { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--line); font-size: 0.875rem; font-weight: 600; color: var(--gold); }
.blog-card__foot svg { transition: transform .3s var(--ease); }
.blog-card:hover .blog-card__foot svg { transform: translateX(4px); }
/* Article Individual Layout */
.art { padding: clamp(50px, 7vw, 90px) 0 clamp(80px, 10vw, 120px); }
.art__wrap { max-width: 820px; margin: 0 auto; }
.art__header { margin-bottom: clamp(36px, 5vw, 56px); }
.art__crumbs { display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 0.78rem; color: var(--muted); margin-bottom: 24px; text-transform: uppercase; letter-spacing: 0.05em; }
.art__crumbs a { color: var(--ink); text-decoration: none; transition: color .2s; }
.art__crumbs a:hover { color: var(--gold); }
.art__title { font-size: clamp(2.3rem, 4.4vw, 3.5rem); line-height: 1.15; margin-bottom: 20px; font-family: var(--serif); font-weight: 500; letter-spacing: -0.02em; }
.art__lede { font-size: clamp(1.125rem, 1.4vw, 1.25rem); color: var(--ink-2); line-height: 1.6; margin-bottom: 28px; }
.art__byline { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.art__author { display: flex; align-items: center; gap: 14px; }
.art__avatar { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid var(--gold); object-fit: cover; }
.art__author-name { font-weight: 600; font-size: 0.9375rem; color: var(--ink); }
.art__author-role { font-size: 0.8125rem; color: var(--muted); font-family: var(--mono); }
.art__stats { display: flex; align-items: center; gap: 16px; font-family: var(--mono); font-size: 0.78rem; color: var(--muted); }
/* AEO Direct-Answer Block */
.aeo-box { margin: 32px 0 44px; padding: 26px 30px; background: linear-gradient(135deg, rgba(34, 29, 19, 0.75), rgba(22, 25, 28, 0.85)); border-left: 3px solid var(--gold); border-radius: 0 16px 16px 0; border-top: 1px solid rgba(226, 189, 87, 0.15); border-right: 1px solid rgba(226, 189, 87, 0.15); border-bottom: 1px solid rgba(226, 189, 87, 0.15); }
.aeo-box__badge { display: inline-flex; align-items: center; gap: 6px; font-family: var(--mono); font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold); margin-bottom: 12px; }
.aeo-box__badge svg { width: 14px; height: 14px; }
.aeo-box p { font-size: 1.0625rem; line-height: 1.7; color: var(--ink); margin: 0; font-family: var(--sans); }
.aeo-box p strong { color: var(--gold); font-weight: 600; }
/* Article Body Typography (Prose) */
.prose { font-size: 1.125rem; line-height: 1.8; color: var(--ink-2); }
.prose > * + * { margin-top: 1.6em; }
.prose h2 { font-size: clamp(1.75rem, 2.6vw, 2.25rem); color: var(--ink); margin-top: 2.2em; margin-bottom: 0.6em; font-family: var(--serif); font-weight: 500; line-height: 1.25; letter-spacing: -0.01em; }
.prose h3 { font-size: clamp(1.3rem, 1.8vw, 1.55rem); color: var(--ink); margin-top: 1.8em; margin-bottom: 0.5em; font-family: var(--serif); font-weight: 500; line-height: 1.3; }
.prose p { margin: 0; }
.prose strong { color: var(--ink); font-weight: 600; }
.prose a { color: var(--gold); text-decoration: underline; text-underline-offset: 4px; transition: color .2s; }
.prose a:hover { color: #fff; }
.prose ul, .prose ol { padding-left: 24px; margin: 1.2em 0; }
.prose li { margin-bottom: 0.6em; line-height: 1.7; }
.prose li::marker { color: var(--gold); }
.prose blockquote { margin: 2em 0; padding: 20px 26px; border-left: 3px solid var(--gold); background: var(--card); border-radius: 0 12px 12px 0; font-family: var(--serif); font-style: italic; font-size: 1.25rem; line-height: 1.6; color: var(--ink); }
.prose blockquote cite { display: block; font-style: normal; font-family: var(--mono); font-size: 0.8125rem; color: var(--gold); margin-top: 10px; }
/* In-Article Comparison Tables */
.art-table-wrap { overflow-x: auto; margin: 2.4em 0; border: 1px solid var(--line); border-radius: var(--radius); background: var(--card); }
.art-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 0.9375rem; }
.art-table th { background: rgba(22, 25, 28, 0.9); padding: 16px 20px; font-family: var(--mono); font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); border-bottom: 1px solid var(--line); white-space: nowrap; }
.art-table td { padding: 16px 20px; border-bottom: 1px solid var(--line); color: var(--ink-2); vertical-align: top; }
.art-table tr:last-child td { border-bottom: none; }
.art-table tr:hover td { background: rgba(255, 255, 255, 0.02); }
.art-table .highlight-col { background: rgba(197, 155, 39, 0.08); font-weight: 600; color: var(--ink); }
/* In-Article Callout Box */
.art-callout { margin: 2em 0; padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.art-callout h4 { font-family: var(--serif); font-size: 1.25rem; color: var(--gold); margin-bottom: 10px; }
.art-callout p { font-size: 1rem; color: var(--ink-2); margin: 0; line-height: 1.6; }
/* Article Footer Bio & Conversion CTA */
.art-footer { margin-top: clamp(48px, 7vw, 72px); padding-top: 36px; border-top: 1px solid var(--line); }
.art-bio { display: grid; grid-template-columns: 80px 1fr; gap: 24px; padding: 28px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 40px; align-items: start; }
.art-bio img { width: 80px; height: 80px; border-radius: 50%; border: 2px solid var(--gold); object-fit: cover; }
.art-bio h4 { font-family: var(--serif); font-size: 1.25rem; margin-bottom: 4px; color: var(--ink); }
.art-bio small { display: block; font-family: var(--mono); font-size: 0.78rem; color: var(--gold); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 10px; }
.art-bio p { font-size: 0.9375rem; color: var(--muted); line-height: 1.6; margin: 0; }
.art-cta-box { padding: clamp(32px, 5vw, 48px); background: linear-gradient(135deg, var(--navy-2), #141618); border: 1px solid rgba(226, 189, 87, 0.3); border-radius: 24px; text-align: center; }
.art-cta-box h3 { font-size: clamp(1.6rem, 2.8vw, 2.1rem); color: #fff; margin-bottom: 14px; }
.art-cta-box p { color: #e4ddcf; font-size: 1.0625rem; max-width: 34rem; margin: 0 auto 24px; line-height: 1.6; }
/* Contact Form Specific Styling */
.contact-hero { padding: clamp(60px, 8vw, 90px) 0 40px; text-align: center; }
.contact-hero h1 { font-size: clamp(2.4rem, 4.5vw, 3.6rem); margin-bottom: 16px; }
.contact-hero p { color: var(--muted); font-size: 1.125rem; max-width: 38rem; margin: 0 auto; }
.contact-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: clamp(32px, 6vw, 64px); padding: 20px 0 clamp(80px, 10vw, 120px); align-items: start; }
.contact-info { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(28px, 4vw, 40px); }
.contact-info h3 { font-size: 1.5rem; margin-bottom: 14px; color: var(--ink); }
.contact-info p { color: var(--muted); font-size: 0.96rem; line-height: 1.6; margin-bottom: 24px; }
.contact-perks { list-style: none; margin: 28px 0; padding: 0; }
.contact-perks li { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; font-size: 0.9375rem; color: var(--ink-2); }
.contact-perks svg { flex: none; width: 20px; height: 20px; color: var(--gold); margin-top: 3px; }
.contact-form-wrap { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(28px, 4vw, 44px); }
.form-group { margin-bottom: 22px; }
.form-label { display: block; font-family: var(--mono); font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--ink); margin-bottom: 8px; font-weight: 500; }
.form-input, .form-select, .form-textarea { width: 100%; padding: 14px 18px; border-radius: 12px; border: 1px solid var(--line); background: var(--white); color: var(--ink); font-family: var(--sans); font-size: 0.9375rem; transition: border-color .3s; }
.form-input:focus, .form-select:focus, .form-textarea:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(226, 189, 87, 0.15); }
.form-textarea { min-height: 110px; resize: vertical; }
.form-checkbox-label { display: flex; align-items: flex-start; gap: 12px; font-size: 0.875rem; color: var(--muted); line-height: 1.5; cursor: pointer; }
.form-checkbox-label input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--gold); }
@media (max-width: 860px) {
.contact-layout { grid-template-columns: 1fr; }
.art-bio { grid-template-columns: 1fr; text-align: center; justify-items: center; }
.art__byline { flex-direction: column; align-items: flex-start; gap: 12px; }
.blog-grid { grid-template-columns: 1fr; }
}
/* =====================================================================
   Editorial pass: no cards. Sections read like a well-set book interior:
   hairline rules, serif heads, generous space, no boxes or radii.
   ===================================================================== */
:root { --rule: rgba(244,239,228,.13); --rule-gold: rgba(226,189,87,.45); }
/* solid gold accents instead of gradient text */
.hl, h2 em, .sn__item b { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: #ecc96a !important; -webkit-text-fill-color: #ecc96a !important; animation: none !important; }
h2 em { font-style: italic; }
/* the cursor spotlight belonged to cards; plain rows don't need it */
[data-glow]::after { display: none !important; }
/* ---------- Services: three columns divided by rules ---------- */
.svc__grid { gap: 0; }
.svc__card { background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; padding: 0 clamp(18px, 2.4vw, 34px); border-left: 1px solid var(--rule); }
.svc__card:first-child { border-left: 0; padding-left: 0; }
.svc__card:last-child { padding-right: 0; }
.svc__card:hover { transform: none; box-shadow: none; }
.svc__media, .svc__media--book, .svc__media--tablet, .svc__media--stack { background: none !important; aspect-ratio: auto; height: clamp(250px, 24vw, 320px); }
.mk-chip { display: none !important; }
.svc__tag { position: static; display: block; padding: 0; margin: 0 0 10px; background: none; color: #ecc96a; font-family: var(--serif); font-style: italic; font-size: 1rem; border-radius: 0; }
.svc__body { padding: 22px 0 0; }
.svc__body h3 { font-size: 1.6rem; }
.svc__body h3 a { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .5s var(--ease); }
.svc__card:hover .svc__body h3 a { background-size: 100% 1px; color: inherit; }
.svc__foot { border-top-color: var(--rule); }
/* ---------- Audience: two-column ruled list ---------- */
.aud__grid { gap: 0 clamp(32px, 5vw, 72px) !important; }
.aud__card { background: none !important; border: 0; border-top: 1px solid rgba(244,239,228,.16); border-radius: 0; padding: 28px 0 30px; box-shadow: none; }
.aud__card:hover { transform: none; background: none !important; }
.aud__card h3 { font-size: 1.4rem; }
/* ---------- Included: a contents page (title left, detail right) ---------- */
.inc__grid { display: block !important; border-bottom: 1px solid var(--rule); }
.inc__tile { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 12px 48px; align-items: baseline; background: none !important; border: 0 !important; border-top: 1px solid var(--rule) !important; border-radius: 0 !important; padding: 26px 0 !important; box-shadow: none !important; color: inherit !important; grid-column: auto !important; }
.inc__tile::after { display: none !important; }
.inc__tile:hover { transform: none !important; box-shadow: none !important; }
.inc__tile h3 { margin: 0 !important; font-size: 1.35rem; }
.inc__tile p, .inc__tile.inc__tile--5 p { color: var(--muted) !important; margin: 0; }
.inc__tile h3 svg, .inc__tile--5 h3 svg { color: #ecc96a !important; }
/* ---------- Cost factors: ruled rows with serif numerals ---------- */
.cost__factors li { background: none; border: 0; border-top: 1px solid var(--rule); border-radius: 0; padding: 22px 0; box-shadow: none; }
.cost__factors li:last-child { border-bottom: 1px solid var(--rule); }
.cost__factors li:hover { transform: none; }
.cost__n { background: none !important; border: 0 !important; width: auto !important; height: auto !important; font-family: var(--serif); font-style: italic; font-size: 2.2rem; line-height: 1; color: #ecc96a !important; min-width: 44px; }
/* ---------- Pricing: a price list in ruled columns ---------- */
.cost__grid { gap: 0 !important; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); align-items: stretch; }
.plan { background: none !important; border: 0 !important; border-left: 1px solid var(--rule) !important; border-radius: 0 !important; box-shadow: none !important; transform: none !important; padding: 34px clamp(18px, 2.6vw, 36px) 32px !important; color: inherit !important; }
.plan:first-child { border-left: 0 !important; }
.plan:hover { transform: none !important; box-shadow: none !important; }
.plan--hot { box-shadow: inset 0 2px 0 #e2bd57 !important; }
.plan__ribbon { position: static !important; display: block; margin: 0 0 14px; padding: 0 !important; background: none !important; color: #ecc96a !important; font-family: var(--serif); font-style: italic; font-size: 1rem; font-weight: 400; border-radius: 0 !important; }
.plan h3 { font-size: 1.55rem; }
.plan__price { border-color: var(--rule) !important; }
.plan__price b { font-family: var(--serif); font-weight: 500; font-size: 2.8rem; color: #fbf7ee; }
.plan--hot .plan__meta, .plan--hot .plan__price span { color: var(--muted) !important; }
.plan li svg, .plan--hot li svg { color: #ecc96a !important; }
/* ---------- Types: ruled index, no hover fill ---------- */
.typ__grid { border: 0 !important; gap: 0 clamp(24px, 3vw, 44px); }
.typ__card { border: 0 !important; border-top: 1px solid var(--rule) !important; padding: 26px 0 30px !important; }
.typ__card::before { display: none !important; }
.typ__card:hover { color: inherit; }
.typ__card:hover p { color: var(--muted); }
.typ__bar { display: none; }
.typ__card h3 { font-style: italic; font-size: 1.45rem; }
/* ---------- Hiring tips: ruled checklist ---------- */
.hire__list { gap: 0 !important; }
.hire__list li { background: none !important; border: 0 !important; border-top: 1px solid var(--rule) !important; border-radius: 0 !important; padding: 22px 0 !important; box-shadow: none !important; }
.hire__list li:hover { transform: none; box-shadow: none !important; }
.hire__list .hire__cta { background: none !important; border-top: 1px solid var(--rule-gold) !important; color: inherit; }
.hire__check { background: none !important; width: auto !important; height: auto !important; }
/* ---------- Comparison table: plain hairlines ---------- */
.cmp { background: none !important; border: 0 !important; border-radius: 0 !important; border-top: 1px solid var(--rule) !important; border-bottom: 1px solid var(--rule) !important; }
.cmp__row--h { background: none !important; }
.us, .cmp__row--h > :last-child { background: rgba(226,189,87,.07) !important; }
/* ---------- FAQ: separators only ---------- */
.acc__item { background: none !important; border: 0 !important; border-bottom: 1px solid var(--rule) !important; border-radius: 0 !important; margin: 0 !important; box-shadow: none !important; }
.acc__item:first-child { border-top: 1px solid var(--rule) !important; }
.acc__item:has([aria-expanded='true']) { border-color: var(--rule) !important; box-shadow: none !important; }
.acc button { padding-left: 0 !important; padding-right: 0 !important; }
.acc__panel, .acc .acc__a { padding-left: 0 !important; }
/* ---------- Floating badges and pill chips become quiet captions ---------- */
.intro__answer { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 0 0 0 !important; font-family: var(--serif); font-size: 1.25rem !important; line-height: 1.55; color: #f1ece1 !important; }
.intro__tags { display: none !important; }
.intro__stat, .proc__badge { position: static !important; display: flex !important; margin-top: 16px; padding: 0 !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; animation: none !important; color: var(--muted); }
.show__genre { background: none !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; font-family: var(--serif); font-style: italic; color: var(--muted) !important; }
/* ---------- Service pages ---------- */
.sa .sa__lead { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; font-family: var(--serif); font-size: 1.3rem !important; line-height: 1.55; color: #f1ece1 !important; }
.sf ul { gap: 0 clamp(28px, 4vw, 56px) !important; }
.sf li { background: none !important; border: 0 !important; border-top: 1px solid var(--rule) !important; border-radius: 0 !important; padding: 20px 0 !important; }
.sf li:hover { transform: none !important; }
.sp__grid, .so__grid { gap: 0 !important; }
.sp article, .so article { background: none !important; border: 0 !important; border-left: 1px solid var(--rule) !important; border-radius: 0 !important; box-shadow: none !important; padding: 4px clamp(16px, 2vw, 28px) 8px !important; }
.sp article:first-child, .so article:first-child { border-left: 0 !important; padding-left: 0 !important; }
.sp article:hover, .so article:hover { transform: none !important; box-shadow: none !important; background: none !important; }
.so article { border-left-color: rgba(244,239,228,.16) !important; }
.ss__list li, .ss__list li.is-on { background: none !important; border: 0 !important; border-radius: 0 !important; }
.sd__row:hover { background: none !important; }
.si__box { background: none !important; border-radius: 0 !important; border-top: 1px solid var(--rule-gold); border-bottom: 1px solid var(--rule-gold); padding-inline: 0 !important; }
.sr__card { background: none !important; border: 0 !important; border-top: 1px solid var(--rule) !important; border-radius: 0 !important; padding: 22px 0 !important; box-shadow: none !important; }
.sr__card:hover { transform: none !important; box-shadow: none !important; }
.sr__card:hover b { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.st__track li { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 10px 0 !important; font-family: var(--serif); font-size: 1.35rem !important; font-style: italic; }
.st__track li::after { content: "◆"; font-style: normal; font-size: .55rem; color: #c59b27; margin-left: 26px; vertical-align: middle; }
.sq__table, .sk__table { background: none !important; border: 0 !important; border-radius: 0 !important; border-top: 1px solid var(--rule) !important; border-bottom: 1px solid var(--rule) !important; }
.sk__row:hover { background: none !important; }
@media (max-width: 960px) {
.svc__card, .plan, .sp article, .so article { border-left: 0 !important; padding-left: 0 !important; padding-right: 0 !important; border-top: 1px solid var(--rule) !important; }
.svc__card:first-child, .plan:first-child { border-top: 0 !important; }
.svc__card { padding-top: 26px; padding-bottom: 30px; }
.inc__tile { grid-template-columns: minmax(0, 1fr); }
}
/* ---------- Hero: a reading overlay behind the words ---------- */
.lib__veil { background:
  linear-gradient(180deg, rgba(7,8,10,.35), rgba(7,8,10,.35)),
  radial-gradient(ellipse 52% 50% at 50% calc(50% + var(--hdr-h, 77px) / 2), rgba(7,8,10,.96), rgba(7,8,10,.82) 42%, rgba(7,8,10,.25) 78%, rgba(7,8,10,0) 92%),
  radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,.72)) !important; }
.lib__copy::before { content: ""; position: absolute; z-index: -1; inset: -6% -10%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(7,8,10,.82), rgba(7,8,10,.55) 60%, rgba(7,8,10,0));
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  -webkit-mask-image: radial-gradient(closest-side, #000 55%, transparent); mask-image: radial-gradient(closest-side, #000 55%, transparent); pointer-events: none; }
.svc__media, .svc__media:hover { text-decoration: none; }
.inc__tile h3 svg { width: 30px; height: 30px; flex: none; }
/* ================= Quote pop-up (lead form) ================= */
.lead { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; padding: max(16px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px)); }
.lead[hidden] { display: none !important; }
.lead__scrim { position: absolute; inset: 0; background: rgba(5,6,8,.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: leadfade .35s ease both; }
.lead__panel { position: relative; width: min(900px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  background: #121417; border: 1px solid rgba(244,239,228,.12); border-top: 2px solid #c59b27; border-radius: 6px; box-shadow: 0 40px 90px -30px rgba(0,0,0,.95); animation: leadrise .55s cubic-bezier(.16,1,.3,1) both; overscroll-behavior: contain; }
@keyframes leadfade { from { background: rgba(5,6,8,.5); } }
@keyframes leadrise { from { transform: translateY(18px) scale(.985); } }
.lead__art { position: relative; padding: 40px 34px; background: radial-gradient(ellipse 90% 60% at 50% 30%, rgba(197,155,39,.16), transparent 70%), #0d0e10; border-right: 1px solid rgba(244,239,228,.08); display: grid; align-content: space-between; gap: 30px; }
.lead__book { width: 62%; max-width: 190px; aspect-ratio: 2/3; justify-self: center; transform: perspective(900px) rotateY(-14deg); box-shadow: 18px 26px 40px -16px rgba(0,0,0,.9); border-radius: 2px 5px 5px 2px; overflow: hidden; }
.lead__book img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lead__points { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.lead__points li { display: flex; gap: 12px; align-items: baseline; font-size: .9rem; color: #d9d2c4; line-height: 1.45; }
.lead__points b { font-family: var(--serif); font-weight: 500; color: #ecc96a; font-size: 1.05rem; white-space: nowrap; min-width: 62px; }
.lead__body { padding: 40px 40px 34px; }
.lead__title { font-family: var(--serif); font-weight: 500; font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.08; letter-spacing: -.02em; color: #fbf7ee; margin: 0 0 10px; text-wrap: balance; }
.lead__intro { color: var(--muted); font-size: .95rem; line-height: 1.6; margin: 0 0 24px; max-width: 42ch; }
.lead__x { position: absolute; top: 12px; right: 12px; z-index: 2; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #d9d2c4; transition: background .25s, color .25s; }
.lead__x:hover { background: rgba(244,239,228,.08); color: #fff; }
.lf { display: grid; gap: 16px; }
.lf__field { display: grid; gap: 7px; }
.lf__field label { font-size: .82rem; font-weight: 600; letter-spacing: .01em; color: #e6dfd1; }
.lf__field label span { font-weight: 400; color: var(--muted); }
.lf__field input, .lf__field select { width: 100%; height: 50px; padding: 0 16px; border-radius: 8px; border: 1px solid rgba(244,239,228,.18); background: #0b0c0e; color: #fbf7ee; font: 500 1rem var(--sans); outline: none; transition: border-color .2s, box-shadow .2s, background .2s; }
.lf__field select { appearance: none; -webkit-appearance: none; cursor: pointer; background-image: linear-gradient(45deg, transparent 50%, #ecc96a 50%), linear-gradient(135deg, #ecc96a 50%, transparent 50%); background-position: calc(100% - 22px) 52%, calc(100% - 16px) 52%; background-size: 6px 6px; background-repeat: no-repeat; }
.lf__field input::placeholder { color: #8f887c; }
.lf__field input:hover, .lf__field select:hover { border-color: rgba(244,239,228,.32); }
.lf__field input:focus, .lf__field select:focus { border-color: #c59b27; box-shadow: 0 0 0 4px rgba(197,155,39,.18); background: #0f1012; }
.lf__field.is-bad input { border-color: #e0846a; box-shadow: 0 0 0 4px rgba(224,132,106,.14); }
.lf__err { min-height: 0; font-size: .8rem; color: #f0a48e; }
.lf__err:empty { display: none; }
.lf__hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.lf__submit { position: relative; width: 100%; height: 54px; margin-top: 4px; border-radius: 999px; border: 0; background: #c59b27; color: #111315; font: 700 1rem var(--sans); cursor: pointer; transition: background .25s, transform .35s cubic-bezier(.16,1,.3,1); }
.lf__submit:hover { background: #d6ad3a; transform: translateY(-1px); }
.lf__submit:disabled { cursor: progress; opacity: .85; transform: none; }
.lf__submit.is-busy span { visibility: hidden; }
.lf__submit.is-busy::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; border-radius: 50%; border: 2px solid rgba(17,19,21,.3); border-top-color: #111315; animation: lfspin .7s linear infinite; }
@keyframes lfspin { to { transform: rotate(360deg); } }
.lf__note { font-size: .78rem; line-height: 1.5; color: var(--muted); margin: 2px 0 0; }
.lf__note a { color: #ecc96a; text-decoration: underline; text-underline-offset: 3px; }
.lf__status { font-size: .88rem; line-height: 1.5; padding: 12px 14px; border-radius: 8px; background: rgba(224,132,106,.1); color: #f6c3b4; border: 1px solid rgba(224,132,106,.3); }
.lf__status:empty { display: none; }
.lf__status a { color: #ecc96a; }
.lead__done { display: grid; gap: 14px; align-content: center; min-height: 100%; }
.lead__done[hidden] { display: none; }
.lead__done svg { width: 54px; height: 54px; color: #ecc96a; }
.lead__done p { color: var(--muted); line-height: 1.6; margin: 0; }
.lead__done .lf__submit { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
html.lead-open { overflow: hidden; }
@media (max-width: 760px) {
.lead { place-items: end center; padding: 0; }
.lead__panel { grid-template-columns: minmax(0, 1fr); width: 100%; max-height: 92dvh; border-radius: 16px 16px 0 0; border-left: 0; border-right: 0; border-bottom: 0; animation-name: leadsheet; }
@keyframes leadsheet { from { transform: translateY(100%); } }
.lead__art { display: none; }
.lead__body { padding: 30px 22px calc(24px + env(safe-area-inset-bottom, 0px)); }
}
/* inline version of the same form (contact page) */
.lf--inline { max-width: 560px; }
/* ================= WhatsApp button ================= */
.wa { position: fixed; z-index: 150; right: max(20px, env(safe-area-inset-right, 0px)); bottom: max(20px, env(safe-area-inset-bottom, 0px)); width: 58px; height: 58px; border-radius: 50%; display: grid; place-items: center;
  background: #111315; color: #ecc96a; border: 1px solid rgba(226,189,87,.55); box-shadow: 0 14px 30px -12px rgba(0,0,0,.85); text-decoration: none; transition: transform .35s cubic-bezier(.16,1,.3,1), background .3s, color .3s; }
.wa svg { width: 28px; height: 28px; }
.wa::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 1px solid rgba(226,189,87,.35); animation: wapulse 3.2s ease-out infinite; pointer-events: none; }
@keyframes wapulse { 0% { transform: scale(.9); opacity: .9; } 70%, 100% { transform: scale(1.25); opacity: 0; } }
.wa:hover { background: #c59b27; color: #111315; transform: translateY(-2px); }
.wa__tip { position: absolute; right: calc(100% + 12px); top: 50%; transform: translate(6px, -50%); opacity: 0; pointer-events: none; white-space: nowrap; padding: 9px 14px; border-radius: 8px;
  background: #111315; border: 1px solid rgba(244,239,228,.14); color: #f1ece1; font-size: .85rem; font-weight: 500; transition: opacity .25s, transform .35s cubic-bezier(.16,1,.3,1); }
.wa:hover .wa__tip, .wa:focus-visible .wa__tip { opacity: 1; transform: translate(0, -50%); }
@media (max-width: 760px) {
.wa { width: 52px; height: 52px; }
.wa__tip { display: none; }
}
@media (prefers-reduced-motion: reduce) {
.wa::before, .lead__scrim, .lead__panel { animation: none !important; }
}
/* keep the hero's Pause control clear of the WhatsApp button */
@media (min-width: 861px) { .lib__pause { right: auto; left: var(--gutter); } }
/* ================= Utility pages (about, contact, legal) ================= */
.pg__hero { position: relative; padding: calc(var(--hdr-h, 77px) + clamp(48px, 7vw, 96px)) 0 clamp(40px, 5vw, 64px); margin-top: calc(-1 * var(--hdr-h, 77px));
  background: radial-gradient(ellipse 70% 120% at 80% 0%, rgba(197,155,39,.12), transparent 60%), #0d0e10; border-bottom: 1px solid var(--rule); }
.pg__hero-in { display: grid; gap: 18px; max-width: 880px; }
.pg__crumbs { display: flex; gap: 8px; flex-wrap: wrap; font-size: .82rem; color: var(--muted); }
.pg__crumbs a { color: #ecc96a; text-decoration: none; }
.pg__crumbs a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pg__h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(2.6rem, 6vw, 4.6rem); line-height: 1; letter-spacing: -.03em; color: #fbf7ee; text-wrap: balance; }
.pg__h1 em { font-style: italic; color: #ecc96a; }
.pg__lede { font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.6; color: #d9d2c4; max-width: 46rem; }
.pg__body { padding: clamp(48px, 7vw, 96px) 0; }
.pg__split { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: start; margin-bottom: clamp(40px, 6vw, 80px); }
.pg__aside { position: sticky; top: calc(var(--hdr-h, 77px) + 24px); border-top: 2px solid #c59b27; padding-top: 22px; }
.facts-list { display: grid; gap: 0; margin: 0; }
.facts-list > div { display: grid; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
.facts-list dt { font-family: var(--serif); font-style: italic; color: #ecc96a; font-size: 1rem; }
.facts-list dd { margin: 0; color: #e6dfd1; line-height: 1.5; }
.facts-list a { color: #fbf7ee; text-decoration: underline; text-decoration-color: rgba(226,189,87,.5); text-underline-offset: 4px; }
.facts-list a:hover { text-decoration-color: #ecc96a; }
.prose { max-width: 68ch; }
.prose h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(1.5rem, 2.4vw, 1.9rem); color: #fbf7ee; margin: 2.2em 0 .6em; letter-spacing: -.015em; }
.prose h2:first-child { margin-top: 0; }
.prose p { color: #d9d2c4; line-height: 1.75; margin: 0 0 1.1em; }
.prose a { color: #ecc96a; text-decoration: underline; text-underline-offset: 3px; }
.prose__updated { margin-top: 2.6em !important; padding-top: 18px; border-top: 1px solid var(--rule); font-size: .85rem; color: var(--muted) !important; }
.pg__h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(1.7rem, 3vw, 2.4rem); color: #fbf7ee; margin: 0 0 18px; }
.ruled { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 5vw, 72px); }
.ruled li { border-top: 1px solid var(--rule); padding: 26px 0 28px; }
.ruled h3, .ruled .nf__h { font-family: var(--serif); font-weight: 500; font-size: 1.4rem; color: #fbf7ee; margin: 0 0 8px; }
.ruled h3 a, .ruled .nf__h a { color: inherit; text-decoration: none; background-image: linear-gradient(#ecc96a, #ecc96a); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: background-size .5s cubic-bezier(.16,1,.3,1); }
.ruled h3 a:hover, .ruled .nf__h a:hover { background-size: 100% 1px; }
.ruled p { color: var(--muted); line-height: 1.65; margin: 0; }
.ruled p a { color: #ecc96a; }
.pg__cta { margin-top: clamp(40px, 6vw, 72px); padding-top: clamp(32px, 4vw, 48px); border-top: 1px solid rgba(226,189,87,.45); display: grid; justify-items: start; gap: 14px; }
.pg__cta h2 { font-family: var(--serif); font-weight: 500; font-size: clamp(1.7rem, 3vw, 2.4rem); color: #fbf7ee; margin: 0; }
.pg__cta p { color: var(--muted); margin: 0; }
.contact__form { max-width: 600px; }
@media (max-width: 860px) {
.pg__split, .ruled { grid-template-columns: minmax(0, 1fr); }
.pg__aside { position: static; }
}


/* ================= Footer ================= */
.ft { position: relative; background: #0b0c0e; color: #d9d2c4; border-top: 1px solid rgba(226,189,87,.35); padding: clamp(56px, 7vw, 88px) 0 28px; }
.ft::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 160px; pointer-events: none; background: radial-gradient(ellipse 50% 100% at 20% 0%, rgba(197,155,39,.08), transparent 70%); }
.ft .wrap { position: relative; }
.ft__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 48px; flex-wrap: wrap; padding-bottom: clamp(28px, 4vw, 44px); border-bottom: 1px solid rgba(244,239,228,.1); }
.ft__brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.3rem); letter-spacing: -.02em; color: #fbf7ee; }
.ft__brand i { color: #ecc96a; }
.ft__mark { flex: none; }
.ft__tag { max-width: 40ch; margin: 0; color: #a8a194; font-size: .98rem; line-height: 1.6; }
.ft__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr)); gap: 32px clamp(24px, 4vw, 56px); padding: clamp(32px, 4vw, 48px) 0; }
.ft__h { margin: 0 0 16px; font-family: var(--serif); font-style: italic; font-size: 1.05rem; color: #ecc96a; }
.ft__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
.ft__col a { color: #d9d2c4; text-decoration: none; font-size: .94rem; line-height: 1.4; background-image: linear-gradient(#ecc96a, #ecc96a); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 100%; transition: color .25s, background-size .45s cubic-bezier(.16,1,.3,1); }
.ft__col a:hover { color: #fbf7ee; background-size: 100% 1px; }
.ft__quote { margin-top: 20px; display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; border-radius: 999px; border: 1px solid rgba(226,189,87,.55); background: transparent; color: #ecc96a; font: 600 .9rem var(--sans); cursor: pointer; transition: background .3s, color .3s, border-color .3s; }
.ft__quote:hover { background: #c59b27; border-color: #c59b27; color: #111315; }
.ft__base { display: flex; justify-content: space-between; gap: 10px 24px; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid rgba(244,239,228,.1); font-size: .82rem; color: #8d877b; }
@media (max-width: 960px) { .ft__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .ft__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } .ft__top { align-items: flex-start; } }


/* ---------- Footer: social profiles ---------- */
.ft__side { display: grid; gap: 18px; justify-items: start; }
.ft__social { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; }
.soc { --c: #ecc96a; position: relative; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%;
  color: var(--c); border: 1px solid rgba(226,189,87,.42); isolation: isolate; text-decoration: none;
  transition: border-color .35s, color .35s .05s, transform .45s cubic-bezier(.16,1,.3,1); }
/* gold fill that rises from the bottom like ink filling the circle */
.soc__fill { position: absolute; inset: 0; z-index: -1; border-radius: 50%; background: #c59b27;
  clip-path: inset(100% 0 0 0); transition: clip-path .5s cubic-bezier(.16,1,.3,1); }
.soc__ico { transition: transform .5s cubic-bezier(.34,1.56,.64,1); }
.soc__tip { position: absolute; left: 50%; top: calc(100% + 10px); transform: translate(-50%, -6px); opacity: 0; pointer-events: none;
  padding: 5px 9px; border-radius: 4px; background: #fbf7ee; color: #111315; font-size: .74rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap;
  transition: opacity .25s, transform .35s cubic-bezier(.16,1,.3,1); }
.ft__social li { position: relative; }
.ft__social li:has(.soc:hover) .soc__tip, .ft__social li:has(.soc:focus-visible) .soc__tip { opacity: 1; transform: translate(-50%, 0); }
.soc:hover, .soc:focus-visible { color: #111315; border-color: #c59b27; transform: translateY(-3px); }
.soc:hover .soc__fill, .soc:focus-visible .soc__fill { clip-path: inset(0 0 0 0); }
.soc--yt:hover .soc__ico, .soc--yt:focus-visible .soc__ico { transform: scale(1.12); }
.soc--fb:hover .soc__ico, .soc--fb:focus-visible .soc__ico { transform: translateY(-1px) rotate(-8deg) scale(1.08); }
.soc--ig:hover .soc__ico, .soc--ig:focus-visible .soc__ico { transform: rotate(14deg) scale(1.1); }
.soc:focus-visible { outline: 2px solid #ecc96a; outline-offset: 3px; }
.soc:active { transform: translateY(-1px) scale(.96); }
/* one quiet entrance when the footer comes into view */
.ft__social li { animation: socin .7s cubic-bezier(.16,1,.3,1) both; animation-timeline: view(); animation-range: entry 10% cover 30%; }
.ft__social li:nth-child(2) { animation-delay: .08s; }
.ft__social li:nth-child(3) { animation-delay: .16s; }
@keyframes socin { from { transform: translateY(10px) scale(.9); } }
@media (prefers-reduced-motion: reduce) {
  .soc, .soc__fill, .soc__ico, .soc__tip { transition: none !important; }
  .ft__social li { animation: none !important; }
}
