/* ═══════════════════════════════════════════════════════════════════
   MASTER BOOK PUBLISHING — LIGHT-FIRST PREMIUM DESIGN v4.0
   Bright · Elegant · Editorial · Gold accents · Luxury publishing
   ═══════════════════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ──────────────────────────────────────────────── */
:root {
  /* Core palette */
  --ink:     #1A1A14;  --ink-d:  #0E0E0A;  --ink-m: #232318;
  --gold:    #C9A84C;  --gold-d: #A8822A;  --gold-l: #E8C97A;
  --gold-p:  #F5E9C8;  --gold-g: rgba(201,168,76,.28);
  --ivory:   #FAF7F0;  --parch:  #F5F0E6;  --parch-m: #EDE6D6;
  --white:   #FFFFFF;

  /* Typography colors */
  --text:    #1A1A14;  --muted:  #6B6B5E;  --light:  #9C9C8E;
  --dim:     rgba(250,247,240,.65);
  --dimmer:  rgba(250,247,240,.38);

  /* Borders */
  --bd:      rgba(26,26,20,.09);
  --bd-m:    rgba(26,26,20,.16);
  --bd-d:    rgba(26,26,20,.26);
  --bd-g:    rgba(201,168,76,.28);
  --bd-gs:   rgba(201,168,76,.55);

  /* Fonts */
  --fd: 'Playfair Display', Georgia, serif;
  --fe: 'Cormorant Garamond', Georgia, serif;
  --fb: 'DM Sans', system-ui, -apple-system, sans-serif;

  /* Layout */
  --gap:  88px;
  --gap-s: 60px;
  --cont: 1360px;
  --gut:  clamp(20px, 5vw, 64px);

  /* Easing */
  --eout: cubic-bezier(.16,1,.3,1);
  --f:  180ms;  --m: 400ms;  --s: 700ms;

  /* Shadows */
  --s1: 0 2px 12px rgba(0,0,0,.06);
  --s2: 0 8px 40px rgba(0,0,0,.10);
  --s3: 0 24px 72px rgba(0,0,0,.14);
  --sg: 0 12px 40px rgba(201,168,76,.25);

  --nh: 72px;
}

/* ── RESET ───────────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box;margin:0;padding:0 }
html { font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility }
body { font-family:var(--fb);line-height:1.7;color:var(--text);background:var(--ivory);overflow-x:hidden }
img,video,svg { display:block;max-width:100% }
a { color:inherit;text-decoration:none }
ul,ol { list-style:none }
button { font-family:inherit;border:none;background:none;cursor:pointer }
input,textarea,select { font-family:inherit }
::selection { background:var(--gold);color:var(--ink) }

/* ── LAYOUT ──────────────────────────────────────────────────────── */
.container { width:100%;max-width:var(--cont);margin-inline:auto;padding-inline:var(--gut) }
.section-light  { background:var(--ivory) }
.section-dark   { background:var(--ink)   }
.section-cream  { background:var(--parch) }
.section-white  { background:var(--white) }

/* ── TYPOGRAPHY HELPERS ──────────────────────────────────────────── */
h1,h2,h3,h4 { font-family:var(--fd);line-height:1.1;font-weight:700;letter-spacing:-.02em }

.section-num { display:inline-block;font-family:var(--fb);font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px }
.section-num-dark { display:inline-block;font-family:var(--fb);font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);margin-bottom:16px }
.section-link { font-family:var(--fb);font-size:.82rem;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:6px;transition:gap var(--f) var(--eout) }
.section-link:hover { gap:12px }
.section-link-dark { font-family:var(--fb);font-size:.82rem;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--gold-d);display:inline-flex;align-items:center;gap:6px;transition:gap var(--f) var(--eout) }
.section-link-dark:hover { gap:12px }

/* ── BUTTONS ─────────────────────────────────────────────────────── */
.btn-hero { display:inline-flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);font-family:var(--fb);font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:16px 34px;border-radius:2px;transition:all var(--m) var(--eout);box-shadow:var(--sg);position:relative;overflow:hidden }
.btn-hero::before { content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--gold-l),var(--gold));opacity:0;transition:opacity var(--m) }
.btn-hero:hover::before { opacity:1 }
.btn-hero:hover { box-shadow:0 16px 50px rgba(201,168,76,.42);transform:translateY(-2px) }
.btn-hero span,.btn-hero svg { position:relative }
.btn-hero svg { transition:transform var(--f) }
.btn-hero:hover svg { transform:translateX(4px) }

.btn-gold { display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--ink);font-family:var(--fb);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:14px 28px;border-radius:2px;transition:all var(--m) var(--eout) }
.btn-gold:hover { background:var(--gold-l);transform:translateY(-1px);box-shadow:var(--sg) }

.btn-outline-ivory { display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(250,247,240,.4);color:var(--ivory);font-family:var(--fb);font-size:.78rem;font-weight:500;letter-spacing:.10em;text-transform:uppercase;padding:14px 28px;border-radius:2px;transition:all var(--m) var(--eout) }
.btn-outline-ivory:hover { background:rgba(250,247,240,.1);border-color:rgba(250,247,240,.7) }

.btn-outline-dark { display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--ink);color:var(--ink);font-family:var(--fb);font-size:.78rem;font-weight:600;letter-spacing:.10em;text-transform:uppercase;padding:14px 28px;border-radius:2px;transition:all var(--m) var(--eout) }
.btn-outline-dark:hover { background:var(--ink);color:var(--ivory) }

/* ── PAGE VEIL ───────────────────────────────────────────────────── */
.page-veil { position:fixed;inset:0;background:var(--ink);z-index:9999;pointer-events:none;opacity:0;transition:opacity .5s var(--eout) }
.page-veil.active { opacity:1;pointer-events:all }

/* ════════════════════════════════════════════════════
   PREMIUM LOADER
   ════════════════════════════════════════════════════ */
.site-loader {
  position:fixed;inset:0;background:var(--ivory);z-index:99999;
  display:flex;align-items:center;justify-content:center;
  opacity:1;transition:opacity .65s var(--eout);pointer-events:all
}
.site-loader.done { opacity:0;pointer-events:none }

.sl-inner { display:flex;flex-direction:column;align-items:center;gap:18px }

.sl-badge {
  width:72px;height:72px;border:2px solid var(--gold);position:relative;
  display:flex;align-items:center;justify-content:center;
  animation:slBadge .55s var(--eout) .2s both
}
.sl-badge::before {
  content:'';position:absolute;inset:5px;border:1px solid rgba(201,168,76,.25)
}
.sl-badge-m {
  font-family:var(--fd);font-size:2.2rem;font-weight:800;color:var(--gold);line-height:1
}
@keyframes slBadge { from{opacity:0;transform:scale(.7)} to{opacity:1;transform:scale(1)} }

.sl-text { text-align:center;animation:slText .55s var(--eout) .52s both }
.sl-name { font-family:var(--fb);font-size:.56rem;font-weight:700;letter-spacing:.30em;text-transform:uppercase;color:var(--ink) }
.sl-sub  { font-family:var(--fe);font-style:italic;font-size:1.1rem;color:var(--ink);display:block;margin-top:2px }
@keyframes slText { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }

.sl-rule { height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);animation:slRule .65s var(--eout) .85s both }
@keyframes slRule { from{width:0;opacity:0} to{width:120px;opacity:1} }

/* ════════════════════════════════════════════════════
   NAVIGATION
   ════════════════════════════════════════════════════ */
.site-header { position:fixed;top:0;left:0;right:0;z-index:900;height:var(--nh);display:flex;align-items:center;transition:background var(--m) var(--eout),box-shadow var(--m) var(--eout) }
.site-header.scrolled,
.site-header.solid { background:rgba(250,247,240,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--bd),var(--s1) }
.page-home .site-header:not(.scrolled),
.page-index .site-header:not(.scrolled) { background:transparent;border-bottom:1px solid rgba(250,247,240,.1) }
.header-inner { display:flex;align-items:center;gap:40px;width:100%;max-width:var(--cont);margin-inline:auto;padding-inline:var(--gut) }

/* Editorial logo */
.site-logo { display:flex;align-items:center;gap:13px;flex-shrink:0 }
.logo-badge { width:44px;height:44px;border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;transition:background var(--f) }
.logo-badge::before { content:'';position:absolute;inset:4px;border:1px solid rgba(201,168,76,.2) }
.logo-badge-m { font-family:var(--fd);font-size:1.4rem;font-weight:800;color:var(--gold);line-height:1;position:relative;z-index:1 }
.logo-badge:hover { background:rgba(201,168,76,.07) }
.logo-wordstack { display:flex;flex-direction:column;line-height:1 }
.logo-w1 { font-family:var(--fb);font-size:.54rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--ink) }
.logo-w2 { font-family:var(--fe);font-style:italic;font-size:.92rem;color:var(--ink);display:block;margin-top:1px }
/* Dark hero: invert logo colors */
.page-home .site-header:not(.scrolled) .logo-w1,
.page-index .site-header:not(.scrolled) .logo-w1 { color:var(--ivory) }
.page-home .site-header:not(.scrolled) .logo-w2,
.page-index .site-header:not(.scrolled) .logo-w2 { color:rgba(250,247,240,.82) }
.page-home .site-header:not(.scrolled) .logo-badge,
.page-index .site-header:not(.scrolled) .logo-badge { border-color:rgba(250,247,240,.4) }
.page-home .site-header:not(.scrolled) .logo-badge::before,
.page-index .site-header:not(.scrolled) .logo-badge::before { border-color:rgba(250,247,240,.12) }

/* Nav links */
.primary-nav { display:flex;align-items:center;gap:4px;margin-left:auto }
.nav-item { font-family:var(--fb);font-size:.82rem;font-weight:500;letter-spacing:.04em;color:var(--text);padding:8px 14px;position:relative;transition:color var(--f);white-space:nowrap }
.nav-item::after { content:'';position:absolute;bottom:2px;left:14px;right:14px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--m) var(--eout) }
.nav-item:hover::after,.nav-item.active::after { transform:scaleX(1) }
.nav-item.active { color:var(--gold-d) }
.nav-item:hover  { color:var(--gold-d) }
.page-home .site-header:not(.scrolled) .nav-item,
.page-index .site-header:not(.scrolled) .nav-item { color:rgba(250,247,240,.82) }
.page-home .site-header:not(.scrolled) .nav-item:hover,
.page-index .site-header:not(.scrolled) .nav-item:hover { color:var(--ivory) }

/* Dropdown */
.nav-group { position:relative }
.nav-group-trigger { display:flex;align-items:center;gap:4px;font-family:var(--fb);font-size:.82rem;font-weight:500;color:var(--text);padding:8px 14px;transition:color var(--f);cursor:pointer;background:none;border:none;white-space:nowrap }
.nav-group-trigger:hover { color:var(--gold-d) }
.page-home .site-header:not(.scrolled) .nav-group-trigger,
.page-index .site-header:not(.scrolled) .nav-group-trigger { color:rgba(250,247,240,.82) }
.nav-chevron { width:14px;height:14px;transition:transform var(--f) }
.nav-group:hover .nav-chevron { transform:rotate(180deg) }
.nav-mega { position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-8px);width:680px;background:var(--white);border:1px solid var(--bd);box-shadow:var(--s3);opacity:0;visibility:hidden;transition:all var(--m) var(--eout);pointer-events:none }
.nav-group:hover .nav-mega { opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:all }
.mega-inner { padding:32px }
.mega-label { font-family:var(--fb);font-size:.67rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);margin-bottom:20px;border-bottom:1px solid var(--bd);padding-bottom:12px }
.mega-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:2px }
.mega-item { display:flex;flex-direction:column;gap:3px;padding:14px 16px;transition:background var(--f) }
.mega-item:hover { background:var(--parch) }
.mega-item-title { font-family:var(--fd);font-size:.95rem;font-weight:600;color:var(--ink);transition:color var(--f) }
.mega-item:hover .mega-item-title { color:var(--gold-d) }
.mega-item-desc { font-size:.75rem;color:var(--muted);line-height:1.4 }
.mega-footer { margin-top:20px;padding-top:16px;border-top:1px solid var(--bd) }
.mega-all-link { font-family:var(--fb);font-size:.78rem;font-weight:600;letter-spacing:.10em;text-transform:uppercase;color:var(--gold-d);transition:letter-spacing var(--f) }
.mega-all-link:hover { letter-spacing:.16em }

/* Header actions */
.header-actions { display:flex;align-items:center;gap:16px;margin-left:16px }
.header-phone { font-family:var(--fb);font-size:.8rem;font-weight:500;color:var(--muted);transition:color var(--f);white-space:nowrap }
.header-phone:hover { color:var(--gold-d) }
.page-home .site-header:not(.scrolled) .header-phone,
.page-index .site-header:not(.scrolled) .header-phone { color:var(--dimmer) }
.btn-nav-cta { font-family:var(--fb);font-size:.75rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);padding:10px 22px;border-radius:2px;transition:all var(--f);white-space:nowrap;box-shadow:var(--sg) }
.btn-nav-cta:hover { background:linear-gradient(135deg,var(--gold-l),var(--gold));transform:translateY(-1px) }

/* Mobile toggle */
.mobile-toggle { display:none;flex-direction:column;gap:5px;padding:8px;margin-left:8px }
.mobile-toggle span { display:block;width:22px;height:1.5px;background:var(--ink);border-radius:99px;transition:all var(--m) var(--eout) }
.page-home .site-header:not(.scrolled) .mobile-toggle span,
.page-index .site-header:not(.scrolled) .mobile-toggle span { background:var(--ivory) }
.mobile-toggle.open span:nth-child(1) { transform:rotate(45deg) translate(4.5px,4.5px) }
.mobile-toggle.open span:nth-child(2) { opacity:0;transform:scaleX(0) }
.mobile-toggle.open span:nth-child(3) { transform:rotate(-45deg) translate(4.5px,-4.5px) }

/* Mobile drawer */
.mobile-drawer { position:fixed;top:0;right:0;height:100vh;width:min(400px,100vw);background:var(--ink);z-index:950;transform:translateX(100%);transition:transform var(--s) var(--eout);overflow-y:auto }
.mobile-drawer.open { transform:translateX(0) }
.drawer-inner { padding:24px 32px 40px }
.drawer-header { display:flex;align-items:center;justify-content:space-between;padding-bottom:24px;border-bottom:1px solid rgba(250,247,240,.12);margin-bottom:32px }
.drawer-logo { font-family:var(--fd);font-size:1rem;color:var(--ivory) }
.drawer-close { font-size:1.2rem;color:var(--dim);padding:4px 8px;transition:color var(--f) }
.drawer-close:hover { color:var(--ivory) }
.drawer-nav { display:flex;flex-direction:column }
.drawer-link { font-family:var(--fd);font-size:1.5rem;font-weight:600;color:var(--ivory);padding:10px 0;border-bottom:1px solid rgba(250,247,240,.08);transition:color var(--f),padding-left var(--f) }
.drawer-link:hover { color:var(--gold);padding-left:6px }
.drawer-sub { display:flex;flex-direction:column;padding-left:16px;border-left:2px solid var(--bd-g);margin-block:4px }
.drawer-sub-link { font-family:var(--fb);font-size:.875rem;color:var(--dim);padding:6px 0;transition:color var(--f) }
.drawer-sub-link:hover { color:var(--gold) }
.drawer-footer { margin-top:40px;padding-top:32px;border-top:1px solid rgba(250,247,240,.12);display:flex;flex-direction:column;gap:16px }
.drawer-phone { font-family:var(--fb);font-size:.9rem;color:var(--dim);transition:color var(--f) }
.drawer-phone:hover { color:var(--gold) }
.btn-drawer-cta { display:inline-flex;justify-content:center;padding:16px;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);font-family:var(--fb);font-size:.85rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;border-radius:2px }
.mobile-overlay { position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:940;opacity:0;visibility:hidden;transition:all var(--m) }
.mobile-overlay.open { opacity:1;visibility:visible }


/* ════════════════════════════════════════════════════
   §1 HERO — Cinematic dark entry (warm library image)
   ════════════════════════════════════════════════════ */
.hero { position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;overflow:hidden;background:var(--ink-d) }
.hero-photo { position:absolute;inset:-80px;background:url('https://images.unsplash.com/photo-1521587760476-6c12a4b040da?w=1920&q=90&fit=crop') center/cover no-repeat;will-change:transform }
.hero-veil  { position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,rgba(9,7,4,.93) 0%,rgba(13,9,4,.88) 30%,rgba(16,11,5,.70) 60%,rgba(10,7,3,.84) 100%) } 
.hero-grain { position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.45;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E") }

.hero-stage { flex:1;display:flex;align-items:center;position:relative;z-index:3;padding:calc(var(--nh) + 60px) 0 100px }
.hero-text  { max-width:700px }

.hero-kicker-wrap { display:flex;align-items:center;gap:12px;margin-bottom:20px }
.hero-rule-short  { display:block;width:40px;height:1px;background:var(--gold);flex-shrink:0 }
.hero-kicker { font-family:var(--fb);font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold) }

/* CINEMATIC HEADLINE */
.hero-h1 { font-family:var(--fd);font-weight:800;line-height:.88;letter-spacing:-.045em;margin-bottom:32px }
.hh-small  { display:block;font-size:clamp(1.2rem,2.5vw,2.8rem);font-weight:400;font-family:var(--fb);letter-spacing:.32em;text-transform:uppercase;color:rgba(250,247,240,.32);margin-bottom:.18em;line-height:1;animation:hrev .85s var(--eout) .1s both }
.hh-large  { display:block;font-size:clamp(5rem,14vw,16rem);color:var(--ivory);line-height:.88;animation:hrev 1s var(--eout) .22s both }
.hh-italic { display:block;font-size:clamp(3.8rem,11vw,13rem);font-style:italic;font-weight:400;background:linear-gradient(135deg,var(--gold-l) 0%,var(--gold) 52%,var(--gold-d) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:.9;animation:hrev 1s var(--eout) .36s both }
.hh-sub    { display:block;font-size:clamp(1.8rem,4vw,5.5rem);font-weight:500;font-style:italic;color:rgba(250,247,240,.72);font-family:var(--fe);line-height:1.1;margin-top:.1em;animation:hrev 1s var(--eout) .5s both }
@keyframes hrev { from{opacity:0;transform:translateY(36px)} to{opacity:1;transform:translateY(0)} }

.hero-sub  { font-family:var(--fe);font-size:clamp(1rem,1.6vw,1.25rem);font-weight:300;color:var(--dim);line-height:1.65;max-width:480px;margin-bottom:36px;animation:hrev 1s var(--eout) .65s both }
.hero-actions { display:flex;align-items:center;gap:16px;margin-bottom:48px;flex-wrap:wrap;animation:hrev 1s var(--eout) .78s both }

/* Trust row */
.hero-trust { display:flex;align-items:center;flex-wrap:wrap;gap:0;border-top:1px solid rgba(250,247,240,.1);padding-top:24px;animation:hrev 1s var(--eout) .9s both } 
.ht-stat  { display:flex;flex-direction:column;gap:3px;padding:0 28px 0 0 }
.ht-stat:first-child { padding-left:0 }
.ht-stat strong { font-family:var(--fd);font-size:1.5rem;font-weight:800;color:var(--ivory);line-height:1;letter-spacing:-.03em }
.ht-stat span   { font-family:var(--fb);font-size:.64rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer) }
.ht-div  { width:1px;height:30px;background:rgba(250,247,240,.14);margin-right:28px;flex-shrink:0 }

/* 3D Book stage */
.hero-book-stage { position:absolute;right:0;top:50%;transform:translateY(-55%);z-index:3;padding:60px 80px 60px 40px;display:flex;align-items:center;justify-content:center;animation:hrev 1.2s var(--eout) .4s both }
.hbs-glow { position:absolute;width:320px;height:320px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(201,168,76,.14) 0%,transparent 70%);border-radius:50%;filter:blur(40px);pointer-events:none;animation:glowPulse 5s ease-in-out infinite }
@keyframes glowPulse { 0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)} 50%{opacity:1;transform:translate(-50%,-50%) scale(1.2)} }

/* 3D book */
.scene-3d { perspective:1600px;perspective-origin:50% 38% }
.book-3d  { position:relative;width:260px;height:360px;transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(5deg);animation:bookFloat 9s ease-in-out infinite;cursor:default }
@keyframes bookFloat { 0%{transform:rotateY(-24deg) rotateX(5deg) translateY(0)} 25%{transform:rotateY(-18deg) rotateX(3deg) translateY(-16px)} 55%{transform:rotateY(-28deg) rotateX(7deg) translateY(-9px)} 80%{transform:rotateY(-20deg) rotateX(4deg) translateY(-18px)} 100%{transform:rotateY(-24deg) rotateX(5deg) translateY(0)} }
.book-cover { position:absolute;width:260px;height:360px;transform:translateZ(22px);background:linear-gradient(155deg,#18180E 0%,#2E2916 28%,#1C1A0C 58%,#0E0E07 100%);border-radius:1px 5px 5px 1px;overflow:hidden;box-shadow:5px 10px 52px rgba(0,0,0,.72) }
.book-cover::before { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.15) 0%,transparent 50%),linear-gradient(to right,rgba(0,0,0,.4) 0%,transparent 18%);z-index:1;pointer-events:none }
.book-cover::after  { content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(to right,rgba(0,0,0,.7),transparent);z-index:2 }
.book-cover-inner { position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100%;padding:28px 20px;text-align:center }
.cover-rule-top,.cover-rule-bot { width:60%;height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.55),transparent) }
.cover-circle  { width:52px;height:52px;border:1.5px solid rgba(201,168,76,.45);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.4rem;font-weight:800;color:var(--gold) }
.cover-title-text  { font-family:var(--fd);font-size:1.2rem;font-weight:700;color:var(--ivory);line-height:1.2 }
.cover-italic-text { font-family:var(--fe);font-style:italic;font-size:.85rem;color:rgba(250,247,240,.5) }
.cover-author-name    { font-family:var(--fb);font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold) }
.cover-publisher-name { font-family:var(--fb);font-size:.48rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(201,168,76,.32) }
.book-spine { position:absolute;width:44px;height:360px;left:-22px;transform:rotateY(-90deg) translateZ(22px);background:linear-gradient(to right,#060604,#101009,#1C1A0C,#101009,#060604);display:flex;align-items:center;justify-content:center;overflow:hidden }
.spine-txt  { font-family:var(--fb);font-size:.42rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(201,168,76,.28);white-space:nowrap;transform:rotate(90deg) }
.book-back  { position:absolute;width:260px;height:360px;transform:rotateY(180deg) translateZ(22px);background:linear-gradient(135deg,#0A0A06,#161410) }
.book-pages { position:absolute;width:44px;height:356px;top:2px;transform:rotateY(90deg) translateZ(238px);transform-origin:left center;background:repeating-linear-gradient(to top,#F0E8D0 0px,#F0E8D0 2px,#E8E0C6 2px,#E8E0C6 3.5px) }
.book-top   { position:absolute;width:260px;height:44px;top:-2px;transform:rotateX(90deg) translateZ(2px);transform-origin:top;background:linear-gradient(to bottom,#F0E8D0,#E8E0C6) }
.book-bot   { position:absolute;width:260px;height:44px;bottom:-2px;transform:rotateX(-90deg) translateZ(2px);transform-origin:bottom;background:linear-gradient(to top,#F0E8D0,#E8E0C6) }
.book-shadow { position:absolute;width:200px;height:24px;bottom:-32px;left:50%;transform:translateX(-50%) rotateX(90deg);background:radial-gradient(ellipse,rgba(0,0,0,.6) 0%,transparent 72%);filter:blur(12px) }

/* Floating chips */
.book-float-chips { position:absolute;inset:0;pointer-events:none }
.bfc { position:absolute;background:rgba(250,247,240,.95);backdrop-filter:blur(10px);border:1px solid rgba(201,168,76,.3);border-radius:6px;font-family:var(--fb);font-size:.72rem;font-weight:700;color:var(--ink);padding:8px 14px;box-shadow:0 4px 20px rgba(0,0,0,.25) }
.bfc-1 { top:12%;left:-4%;display:flex;align-items:center;gap:6px;color:var(--gold-d);animation:bfc1 6s ease-in-out infinite }
.bfc-1 svg { width:10px;height:10px;color:var(--gold) }
.bfc-2 { bottom:16%;right:-8%;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;animation:bfc2 7s ease-in-out 1s infinite }
.bfc-2 strong { font-family:var(--fd);font-size:1.4rem;font-weight:800;color:var(--gold-d);line-height:1 }
.bfc-2 small  { font-size:.58rem;letter-spacing:.10em;text-transform:uppercase;color:var(--muted) }
.bfc-3 { top:52%;right:-12%;font-size:.88rem;color:var(--gold);letter-spacing:2px;animation:bfc1 5.5s ease-in-out .5s infinite }
@keyframes bfc1 { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-10px) rotate(1deg)} }
@keyframes bfc2 { 0%,100%{transform:translateY(0) rotate(2deg)} 50%{transform:translateY(-14px) rotate(-1deg)} }

/* Hero marquee */
.hero-marquee { position:relative;z-index:3;border-top:1px solid rgba(250,247,240,.07);padding:14px 0;overflow:hidden;background:rgba(0,0,0,.25) }
.marquee-track { display:flex;white-space:nowrap;animation:mscroll 26s linear infinite }
.marquee-track span { font-family:var(--fb);font-size:.67rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:rgba(250,247,240,.28) }
@keyframes mscroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ════════════════════════════════════════════════════
   §2 TRUST BAND — Bright white, platform names
   ════════════════════════════════════════════════════ */
.trust-band { background:var(--white);border-bottom:1px solid var(--bd);padding:24px 0 }
.trust-band .container { display:flex;align-items:center;gap:24px;flex-wrap:wrap }
.tb-label { font-family:var(--fb);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--light);white-space:nowrap;flex-shrink:0 }
.tb-logos { display:flex;align-items:center;gap:20px;flex-wrap:wrap }
.tb-logo  { font-family:var(--fb);font-size:.82rem;font-weight:600;color:var(--muted);transition:color var(--f) }
.tb-logo:hover { color:var(--gold-d) }
.tb-sep   { color:var(--bd-m);user-select:none }

/* ════════════════════════════════════════════════════
   §3 SERVICES CINEMA — LIGHT ivory background
   ════════════════════════════════════════════════════ */
.services-cinema { background:var(--ivory);padding-top:80px;overflow:hidden }
.sc-head  { padding-bottom:28px;border-bottom:1px solid var(--bd);margin-bottom:0 }
.sc-head-inner { display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px }
.sc-h2    { font-family:var(--fd);font-size:clamp(2.2rem,4.5vw,4.5rem);color:var(--ink);line-height:1.08;margin-top:10px }
.sc-controls { display:flex;gap:8px;flex-shrink:0 }
.sc-arrow { width:48px;height:48px;border:1.5px solid var(--bd-m);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:all var(--f);flex-shrink:0 }
.sc-arrow:hover { border-color:var(--gold);background:rgba(201,168,76,.08);color:var(--gold-d) }
.sc-arrow svg { width:18px;height:18px }
.sc-arrow:disabled { opacity:.3;cursor:not-allowed }

.sc-track { display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;gap:2px;cursor:grab;user-select:none;margin-top:2px }
.sc-track::-webkit-scrollbar { display:none }
.sc-track.grabbing { cursor:grabbing }

/* Service photography panels */
.sc-panel { min-width:390px;height:82vh;min-height:500px;max-height:740px;flex-shrink:0;position:relative;overflow:hidden;scroll-snap-align:start;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;transition:min-width .45s var(--eout) }
.sc-panel:hover { min-width:440px }
.scp-overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.90) 0%,rgba(0,0,0,.50) 45%,rgba(0,0,0,.18) 100%);transition:all .5s var(--eout) }
.sc-panel:hover .scp-overlay { background:linear-gradient(to top,rgba(0,0,0,.85) 0%,rgba(0,0,0,.40) 45%,rgba(0,0,0,.10) 100%) }
.sc-panel::after { content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:linear-gradient(to right,var(--gold),var(--gold-l));transition:width .55s var(--eout);z-index:10 }
.sc-panel:hover::after { width:100% }
.scp-num  { position:absolute;top:28px;left:28px;font-family:var(--fb);font-size:.68rem;font-weight:700;letter-spacing:.22em;color:rgba(201,168,76,.6);z-index:5 }
.scp-body { position:relative;z-index:5;padding:0 28px 32px }
.scp-name { font-family:var(--fd);font-size:clamp(1.6rem,2.8vw,2.5rem);font-weight:700;color:var(--ivory);line-height:1.15;margin-bottom:10px;transition:color var(--f) }
.sc-panel:hover .scp-name { color:var(--gold-l) }
.scp-desc { font-family:var(--fb);font-size:.82rem;color:rgba(250,247,240,.60);line-height:1.5;margin-bottom:16px;opacity:0;transform:translateY(10px);transition:all .4s var(--eout) }
.sc-panel:hover .scp-desc { opacity:1;transform:translateY(0) }
.scp-foot  { display:flex;align-items:center;justify-content:space-between }
.scp-price { font-family:var(--fb);font-size:.78rem;font-weight:500;color:rgba(250,247,240,.44) }
.scp-arrow { font-size:1.2rem;color:var(--gold);opacity:.6;transition:all var(--f) }
.sc-panel:hover .scp-arrow { opacity:1;transform:translateX(4px) }
.sc-footer-link { padding:20px var(--gut);border-top:1px solid var(--bd);background:var(--ivory) }

/* ════════════════════════════════════════════════════
   §4 MANIFESTO — Warm PARCHMENT, giant dark editorial type
   ════════════════════════════════════════════════════ */
.manifesto-section { background:var(--parch);padding:72px 0;position:relative;overflow:hidden }
.ms-inner  { max-width:960px;margin:0 auto;text-align:center;position:relative;z-index:2 }
.ms-ornament { font-family:var(--fe);font-size:clamp(7rem,16vw,14rem);line-height:.8;color:rgba(26,26,20,.05);display:block;margin-bottom:-0.12em;pointer-events:none;user-select:none;font-weight:700 }
.ms-quote  { font-family:var(--fe);font-size:clamp(2.2rem,5.5vw,7rem);font-weight:300;font-style:italic;color:var(--ink);line-height:1.12;letter-spacing:-.02em;margin-bottom:36px }
.ms-quote em { font-style:italic;background:linear-gradient(135deg,var(--gold-d),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:500 }
.ms-attr { display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:64px }
.ms-rule { width:48px;height:1px;background:var(--gold-d) }
.ms-attr span { font-family:var(--fb);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted) }
.ms-stats  { display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--bd-m);padding-top:48px }
.mss-item  { text-align:center;padding:0 20px }
.mss-item + .mss-item { border-left:1px solid var(--bd-m) }
.mss-item strong { display:block;font-family:var(--fd);font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:800;color:var(--gold-d);line-height:1;margin-bottom:8px;letter-spacing:-.03em }
.mss-item span   { font-family:var(--fb);font-size:.72rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--muted) }

/* ════════════════════════════════════════════════════
   §5 FEATURE CINEMA — Photo left, ivory right
   ════════════════════════════════════════════════════ */
.feature-cinema { display:grid;grid-template-columns:1fr 1fr;min-height:640px;overflow:hidden }
.fc-photo-side { position:relative;overflow:hidden;min-height:480px }
.fc-photo { position:absolute;inset:-40px;background-size:cover;background-position:center;transition:transform 8s var(--eout) }
.feature-cinema:hover .fc-photo { transform:scale(1.05) }
.fc-photo-veil { position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.2) 0%,transparent 50%,var(--ivory) 100%);z-index:1 }
.fc-photo-quote { position:absolute;bottom:40px;left:40px;z-index:2;max-width:300px }
.fcpq-rule { width:40px;height:2px;background:var(--gold);margin-bottom:14px }
.fc-photo-quote p    { font-family:var(--fe);font-style:italic;font-size:.95rem;color:rgba(250,247,240,.85);line-height:1.6;margin-bottom:8px }
.fc-photo-quote cite { font-family:var(--fb);font-size:.72rem;color:var(--gold-l);font-style:normal;letter-spacing:.08em }
.fc-text-side { background:var(--ivory);padding:80px 72px;display:flex;flex-direction:column;justify-content:center;gap:16px }
.fc-h2  { font-family:var(--fd);font-size:clamp(2.5rem,4.5vw,4.8rem);color:var(--ink);line-height:1.05;font-weight:800;margin-top:12px }
.fc-h2 em { font-style:italic;font-weight:400;color:var(--gold-d) }
.fc-body { font-family:var(--fb);font-size:.95rem;color:var(--muted);line-height:1.8;max-width:440px }
.fc-proof { display:flex;flex-direction:column;gap:10px;margin-top:4px }
.fc-proof li { display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--muted) }
.fc-proof li svg { width:16px;height:16px;color:var(--gold-d);flex-shrink:0;margin-top:2px }

/* ════════════════════════════════════════════════════
   §6 PROCESS — Parchment editorial
   ════════════════════════════════════════════════════ */
.process { padding:var(--gap-s) 0 }
.process-header { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:72px }
.process-headline   { font-family:var(--fd);font-size:clamp(2.5rem,5vw,5rem);color:var(--ink);line-height:1.1;margin-top:12px }
.process-intro-text { font-family:var(--fb);font-size:.95rem;color:var(--muted);line-height:1.8;max-width:440px;padding-top:40px }
.process-steps { display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--parch-m) }
.process-step { padding:36px 28px 36px 0;border-right:1px solid var(--parch-m) }
.process-step:last-child { border-right:none;padding-right:0 }
.process-step:not(:first-child) { padding-left:32px }
.process-step-num   { font-family:var(--fb);font-size:.68rem;font-weight:700;letter-spacing:.22em;color:var(--gold-d);margin-bottom:20px }
.process-step-title { font-family:var(--fd);font-size:1.5rem;color:var(--ink);margin-bottom:12px;font-weight:700 }
.process-step-text  { font-family:var(--fb);font-size:.85rem;color:var(--muted);line-height:1.65 }

/* ════════════════════════════════════════════════════
   §7 PRICING PREVIEW — White bg, 3 package cards
   ════════════════════════════════════════════════════ */
.pricing-preview { background:var(--white);padding:var(--gap) 0;border-top:1px solid var(--bd) }
.pp-header { display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:56px;flex-wrap:wrap }
.pp-h2  { font-family:var(--fd);font-size:clamp(2rem,4vw,3.8rem);color:var(--ink);line-height:1.1;margin-top:10px }
.pp-sub { font-family:var(--fb);font-size:.9rem;color:var(--muted);max-width:340px;line-height:1.6;padding-top:40px;text-align:right }

/* 3-column grid, all same height */
.pp-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;margin-bottom:40px }

.pp-card {
  background:var(--ivory);border:1px solid var(--bd-m);padding:40px 32px;
  position:relative;display:flex;flex-direction:column;
  transition:transform var(--m) var(--eout),box-shadow var(--m),border-color var(--m)
}
.pp-card:hover { transform:translateY(-6px);box-shadow:var(--s2);border-color:var(--bd-g) }
.pp-card-popular {
  background:var(--ink);border-color:var(--bd-g);
  box-shadow:var(--sg)
}
.pp-card-popular:hover { box-shadow:0 20px 60px rgba(201,168,76,.3);transform:translateY(-6px) }
.pp-badge { position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-family:var(--fb);font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 16px;border-radius:99px;white-space:nowrap }

.pp-card-top { margin-bottom:24px }
.pp-name  { font-family:var(--fd);font-size:1.4rem;font-weight:700;color:var(--ink);margin-bottom:8px }
.pp-card-popular .pp-name { color:var(--ivory) }
.pp-desc  { font-size:.82rem;color:var(--muted);line-height:1.5;margin-bottom:20px }
.pp-card-popular .pp-desc { color:var(--dim) }
.pp-price { margin-bottom:6px }
.pp-amount { font-family:var(--fd);font-size:3rem;font-weight:800;color:var(--ink);line-height:1;letter-spacing:-.03em }
.pp-card-popular .pp-amount { color:var(--gold) }
.pp-pages  { font-family:var(--fb);font-size:.76rem;color:var(--muted);display:block;margin-top:4px }
.pp-card-popular .pp-pages { color:var(--dim) }

.pp-features { display:flex;flex-direction:column;gap:9px;margin-bottom:28px;flex:1 }
.pp-feat { display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--muted) }
.pp-card-popular .pp-feat { color:var(--dim) }
.pp-feat svg { width:15px;height:15px;flex-shrink:0 }
.pp-feat.incl svg { color:var(--gold-d) }
.pp-feat.excl svg { color:var(--bd-d) }
.pp-feat.excl span { text-decoration:line-through;opacity:.6 }

.pp-cta { display:block;text-align:center;padding:14px;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);font-family:var(--fb);font-size:.78rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;border-radius:2px;transition:all var(--f);margin-top:auto }
.pp-cta:hover { background:linear-gradient(135deg,var(--gold-l),var(--gold));transform:translateY(-1px) }
.pp-all { text-align:center }

/* ════════════════════════════════════════════════════
   §8 TESTIMONIAL CINEMA — Dark, full viewport
   ════════════════════════════════════════════════════ */
.testimonial-cinema { position:relative;min-height:75vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:72px 0 }
.tc-bg   { position:absolute;inset:-80px;background-size:cover;background-position:center;filter:brightness(.2) saturate(.4);will-change:transform }
.tc-veil { position:absolute;inset:0;background:linear-gradient(135deg,rgba(10,10,6,.9),rgba(18,18,12,.78)) }
.tc-stage { position:relative;z-index:2;width:100%;max-width:900px;margin-inline:auto;padding-inline:var(--gut);text-align:center }
.tc-slider { min-height:300px;display:flex;align-items:center;position:relative }
.tc-slide  { position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transform:translateY(14px);transition:all .7s var(--eout);pointer-events:none }
.tc-slide.active { opacity:1;transform:translateY(0);pointer-events:all;position:relative }
.tc-stars  { font-size:1rem;color:var(--gold);letter-spacing:3px;display:block;margin-bottom:24px }
.tc-quote  { font-family:var(--fe);font-size:clamp(1.5rem,3.2vw,4rem);font-weight:300;font-style:italic;color:var(--ivory);line-height:1.3;margin-bottom:36px }
.tc-attr   { display:flex;align-items:center;justify-content:center;gap:14px }
.tc-avatar { width:50px;height:50px;border-radius:50%;border:1.5px solid var(--bd-gs);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:.9rem;font-weight:700;color:var(--gold);background:rgba(201,168,76,.08);flex-shrink:0 }
.tc-attr-text { text-align:left }
.tc-name   { font-family:var(--fb);font-size:.9rem;font-weight:700;color:var(--ivory);display:block }
.tc-role   { font-family:var(--fb);font-size:.76rem;color:var(--dim);display:block;margin-top:1px }
.tc-book   { font-family:var(--fe);font-style:italic;font-size:.78rem;color:var(--gold);display:block;margin-top:2px }
.tc-dots   { display:flex;gap:8px;justify-content:center;margin-top:40px }
.tc-dot    { width:24px;height:2px;background:rgba(250,247,240,.22);border-radius:99px;transition:all var(--m) var(--eout) }
.tc-dot.active { width:40px;background:var(--gold) }
.tc-dot:hover  { background:var(--gold-l) }

/* ════════════════════════════════════════════════════
   §9 INSIGHTS — Ivory magazine blog
   ════════════════════════════════════════════════════ */
.insights { padding:var(--gap) 0 }
.insights-header { display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px }
.insights-headline { font-family:var(--fd);font-size:clamp(2rem,4vw,3.5rem);color:var(--ink);margin-top:12px }
.insights-subline  { font-family:var(--fe);font-style:italic;font-size:1.05rem;color:var(--muted);margin-top:6px }
.insights-grid { display:grid;grid-template-columns:1fr 380px;gap:2px }
.insight-feature { background:var(--white);padding:48px;display:flex;flex-direction:column;border:1px solid var(--bd);transition:all var(--m);position:relative;overflow:hidden }
.insight-feature::after { content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--gold),var(--gold-l));transform:scaleX(0);transform-origin:left;transition:transform var(--s) var(--eout) }
.insight-feature:hover::after { transform:scaleX(1) }
.insight-feature:hover { box-shadow:var(--s2);transform:translateY(-2px) }
.insight-meta { display:flex;align-items:center;gap:12px;margin-bottom:20px }
.insight-category { font-family:var(--fb);font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d);background:var(--gold-p);padding:3px 10px;border-radius:99px }
.insight-date,.insight-read-time { font-family:var(--fb);font-size:.72rem;color:var(--muted) }
.post-emoji    { font-size:2.5rem;display:block;margin-bottom:16px }
.post-title    { font-family:var(--fd);font-size:clamp(1.3rem,2.5vw,2rem);color:var(--ink);line-height:1.2;margin-bottom:12px;font-weight:700;transition:color var(--f) }
.insight-feature:hover .post-title,.insight-secondary:hover .post-title { color:var(--gold-d) }
.post-excerpt  { font-family:var(--fb);font-size:.88rem;color:var(--muted);line-height:1.65;margin-bottom:20px;flex:1 }
.post-read-more { font-family:var(--fb);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin-top:auto;transition:letter-spacing var(--f) }
.insight-feature:hover .post-read-more,.insight-secondary:hover .post-read-more { letter-spacing:.18em }
.insights-secondary { display:flex;flex-direction:column;gap:2px }
.insight-secondary { background:var(--white);padding:28px 32px;flex:1;display:flex;flex-direction:column;border:1px solid var(--bd);transition:all var(--m) }
.insight-secondary:hover { box-shadow:var(--s1);border-color:var(--bd-g);transform:translateX(-2px) }
.insight-secondary .post-emoji { font-size:1.8rem;margin-bottom:10px }
.insight-secondary .post-title  { font-size:1.05rem }

/* ════════════════════════════════════════════════════
   §10 CTA CINEMA — Dark, full viewport
   ════════════════════════════════════════════════════ */
.cta-cinema  { position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden }
.ctac-photo  { position:absolute;inset:-80px;background-size:cover;background-position:center 30%;filter:brightness(.14) saturate(.4) }
.ctac-veil   { position:absolute;inset:0;background:linear-gradient(135deg,rgba(8,8,5,.94),rgba(14,14,9,.88)) }
.ctac-grain  { position:absolute;inset:0;pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E") }
.ctac-stage  { position:relative;z-index:2;padding:var(--gap) 0 }
.ctac-rule   { width:80px;height:1px;background:linear-gradient(to right,var(--gold),transparent);margin-block:40px }
.ctac-eyebrow { font-family:var(--fb);font-size:.68rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:16px }
.ctac-eyebrow::before,.ctac-eyebrow::after { content:'';display:block;width:32px;height:1px;background:rgba(201,168,76,.4) }
.ctac-h2   { font-family:var(--fd);font-size:clamp(4rem,12vw,14rem);font-weight:800;line-height:.88;letter-spacing:-.05em;color:var(--ivory);margin-bottom:28px }
.ctac-h2 em { font-style:italic;font-weight:400;background:linear-gradient(135deg,var(--gold-l),var(--gold),var(--gold-d));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text }
.ctac-sub  { font-family:var(--fe);font-size:clamp(1rem,2vw,1.3rem);color:var(--dim);margin-bottom:48px;font-style:italic;max-width:520px }
.ctac-actions { display:flex;align-items:center;gap:20px;flex-wrap:wrap }


/* ════════════════════════════════════════════════════
   FOOTER
   ════════════════════════════════════════════════════ */
.site-footer { background:#0E0E0A;color:var(--ivory) }
.footer-nl { background:#161612;border-bottom:1px solid rgba(201,168,76,.1) }
.footer-nl-inner { display:grid;grid-template-columns:1fr auto;align-items:center;gap:48px;max-width:var(--cont);margin-inline:auto;padding:48px var(--gut) }
.footer-nl-text h3 { font-family:var(--fd);font-size:1.5rem;color:var(--ivory);margin-bottom:4px }
.footer-nl-text p  { font-size:.85rem;color:var(--dim);line-height:1.5 }
.footer-nl-form { display:flex;min-width:400px }
.nl-input { flex:1;background:rgba(250,247,240,.06);border:1px solid rgba(250,247,240,.12);border-right:none;color:var(--ivory);font-family:var(--fb);font-size:.85rem;padding:14px 20px;border-radius:2px 0 0 2px;outline:none;transition:border-color var(--f) }
.nl-input::placeholder { color:var(--dimmer) }
.nl-input:focus { border-color:var(--bd-g) }
.btn-nl { background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);font-family:var(--fb);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:14px 24px;border-radius:0 2px 2px 0;cursor:pointer;transition:all var(--f);white-space:nowrap;flex-shrink:0;border:none }
.btn-nl:hover { background:linear-gradient(135deg,var(--gold-l),var(--gold)) }
.footer-body { max-width:var(--cont);margin-inline:auto;padding-inline:var(--gut);display:grid;grid-template-columns:280px 1fr;gap:64px;padding-top:64px;padding-bottom:64px }
.footer-logo { display:flex;align-items:center;gap:12px;margin-bottom:20px }
.footer-logo-mark { width:40px;height:40px;border:1.5px solid rgba(201,168,76,.5);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.3rem;font-weight:800;color:var(--gold);flex-shrink:0 }
.footer-logo-text { font-family:var(--fd);font-size:.9rem;line-height:1.2;color:var(--ivory) }
.footer-logo-text em { color:var(--gold);font-style:italic;display:block }
.footer-about { font-size:.82rem;color:var(--dim);line-height:1.7;margin-bottom:28px }
.footer-socials { display:flex;gap:10px }
.social-icon { width:36px;height:36px;border:1px solid rgba(250,247,240,.14);display:flex;align-items:center;justify-content:center;transition:all var(--f) }
.social-icon svg { width:16px;height:16px;color:var(--dim);transition:color var(--f) }
.social-icon:hover { border-color:var(--gold);background:rgba(201,168,76,.08) }
.social-icon:hover svg { color:var(--gold) }
.footer-cols { display:grid;grid-template-columns:repeat(3,1fr);gap:40px }
.footer-col h4 { font-family:var(--fb);font-size:.63rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:20px }
.footer-col ul { display:flex;flex-direction:column;gap:8px }
.footer-col a,.footer-col li { font-size:.82rem;color:var(--dim);transition:color var(--f);line-height:1.4 }
.footer-col a:hover { color:var(--gold-l) }
.footer-contact-list .footer-hours { margin-top:8px;color:var(--dimmer);font-size:.76rem }
.footer-base { border-top:1px solid rgba(250,247,240,.07) }
.footer-base-inner { max-width:var(--cont);margin-inline:auto;padding-inline:var(--gut);display:flex;align-items:center;justify-content:space-between;padding-top:24px;padding-bottom:24px;gap:24px;flex-wrap:wrap }
.footer-copy { font-size:.78rem;color:var(--dimmer) }
.footer-legal { display:flex;gap:20px }
.footer-legal a { font-size:.78rem;color:var(--dimmer);transition:color var(--f) }
.footer-legal a:hover { color:var(--gold) }
.footer-payments { display:flex;gap:6px }
.pay-badge { font-family:var(--fb);font-size:.58rem;font-weight:700;letter-spacing:.08em;color:var(--dimmer);border:1px solid rgba(250,247,240,.1);padding:3px 7px }

/* ════════════════════════════════════════════════════
   PAGE BANNER (inner pages)
   ════════════════════════════════════════════════════ */
.page-banner { background:var(--ink-d);padding:calc(var(--nh) + 80px) 0 72px;position:relative;overflow:hidden }
.page-banner::before { content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,transparent,var(--gold),transparent) }
.banner-eyebrow { font-family:var(--fb);font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:12px }
.banner-eyebrow::before { content:'';display:inline-block;width:32px;height:1px;background:var(--gold) }
.banner-title { font-family:var(--fd);font-size:clamp(2.8rem,6vw,7rem);font-weight:800;line-height:1.0;letter-spacing:-.03em;color:var(--ivory) }
.banner-title em { font-style:italic;font-weight:400;background:linear-gradient(135deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text }
.banner-sub { font-family:var(--fe);font-style:italic;font-size:clamp(1rem,2vw,1.3rem);color:var(--dim);margin-top:20px;max-width:580px }

/* ════════════════════════════════════════════════════
   SERVICES FULL PAGE
   ════════════════════════════════════════════════════ */
.services-full-list { padding:var(--gap) 0 }
.svc-full-item { display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:40px;padding:48px 0;border-bottom:1px solid var(--bd);position:relative;transition:all var(--m) var(--eout);cursor:pointer }
.svc-full-item::before { content:'';position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--gold);transition:width var(--s) var(--eout) }
.svc-full-item:hover::before { width:100% }
.svc-full-item:hover { padding-left:8px }
.svc-full-num  { font-family:var(--fb);font-size:.68rem;font-weight:700;letter-spacing:.20em;color:var(--gold);align-self:flex-start;padding-top:4px }
.svc-full-name { font-family:var(--fd);font-size:clamp(1.6rem,3vw,2.5rem);color:var(--ink);margin-bottom:12px;font-weight:700;transition:color var(--f) }
.svc-full-item:hover .svc-full-name { color:var(--gold-d) }
.svc-full-desc { font-family:var(--fb);font-size:.9rem;color:var(--muted);line-height:1.7;max-width:640px;margin-bottom:20px }
.svc-full-features { display:flex;flex-wrap:wrap;gap:6px }
.svc-feature-tag { font-family:var(--fb);font-size:.7rem;font-weight:500;color:var(--muted);border:1px solid var(--bd-m);padding:4px 10px;border-radius:99px;transition:all var(--f) }
.svc-full-item:hover .svc-feature-tag { border-color:var(--bd-g);color:var(--gold-d) }
.svc-full-meta { display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;padding-left:24px;border-left:1px solid var(--bd);align-self:center }
.svc-full-price      { font-family:var(--fd);font-size:1.6rem;font-weight:700;color:var(--ink) }
.svc-full-turnaround { font-size:.75rem;color:var(--muted) }

/* ════════════════════════════════════════════════════
   SERVICE DETAIL
   ════════════════════════════════════════════════════ */
.svc-detail-body       { display:grid;grid-template-columns:1fr 340px;gap:80px;align-items:start }
.svc-detail-description { font-family:var(--fe);font-size:clamp(1.1rem,2vw,1.35rem);color:var(--text);line-height:1.75;margin-bottom:48px }
.features-heading      { font-family:var(--fd);font-size:1.5rem;color:var(--ink);margin-bottom:24px;font-weight:700 }
.features-list-detail  { display:flex;flex-direction:column;gap:12px }
.feature-item-detail   { display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--parch);border-radius:2px;border-left:2px solid var(--gold);font-family:var(--fb);font-size:.9rem;color:var(--text);line-height:1.5 }
.feature-check         { color:var(--gold-d);font-weight:700;flex-shrink:0;margin-top:1px }
.svc-sidebar-card      { background:var(--ink);padding:40px 32px;position:sticky;top:calc(var(--nh) + 24px) }
.sidebar-price         { font-family:var(--fd);font-size:3rem;font-weight:800;color:var(--gold);line-height:1;margin-bottom:4px }
.sidebar-price-label   { font-family:var(--fb);font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid rgba(250,247,240,.1) }
.sidebar-stat          { display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(250,247,240,.06) }
.sidebar-stat-label    { font-size:.78rem;color:var(--dim) }
.sidebar-stat-value    { font-family:var(--fd);font-size:.95rem;color:var(--ivory);font-weight:600 }

/* ════════════════════════════════════════════════════
   PRICING PAGE (full) — FIXED GRID
   ════════════════════════════════════════════════════ */
.pricing-tabs { display:flex;gap:4px;border-bottom:2px solid var(--bd-m);margin-bottom:48px }
.pricing-tab-btn { font-family:var(--fb);font-size:.82rem;font-weight:500;color:var(--muted);padding:14px 24px;cursor:pointer;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--f) }
.pricing-tab-btn.active { color:var(--gold-d);border-bottom-color:var(--gold) }
.pricing-tab-btn:hover:not(.active) { color:var(--text) }
.pricing-tab-content { display:none }
.pricing-tab-content.active { display:block }

/* Fixed 3-column grid for pricing page */
.pricing-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch
}
.pricing-pkg { background:var(--ivory);border:1px solid var(--bd-m);padding:40px 32px;position:relative;display:flex;flex-direction:column;transition:transform var(--m) var(--eout),box-shadow var(--m),border-color var(--m) }
.pricing-pkg:hover { transform:translateY(-4px);box-shadow:var(--s2);border-color:var(--bd-g) }
.pkg-popular { background:var(--ink);border-color:var(--bd-g);box-shadow:var(--sg) }
.pkg-popular:hover { box-shadow:0 20px 60px rgba(201,168,76,.3) }
.pkg-popular-badge { position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--ink);font-family:var(--fb);font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 16px;border-radius:99px;white-space:nowrap }
.pkg-name  { font-family:var(--fd);font-size:1.4rem;color:var(--ink);margin-bottom:8px;font-weight:700 }
.pkg-popular .pkg-name  { color:var(--ivory) }
.pkg-desc  { font-size:.82rem;color:var(--muted);line-height:1.5;margin-bottom:20px }
.pkg-popular .pkg-desc  { color:var(--dim) }
.pkg-price { font-family:var(--fd);font-size:2.8rem;font-weight:800;color:var(--ink);line-height:1;margin-bottom:4px;letter-spacing:-.03em }
.pkg-popular .pkg-price { color:var(--gold) }
.pkg-pages { display:block;font-size:.75rem;color:var(--muted);margin-bottom:20px }
.pkg-popular .pkg-pages { color:var(--dim) }
.pkg-divider { height:1px;background:var(--bd-m);margin-block:20px }
.pkg-popular .pkg-divider { background:rgba(250,247,240,.1) }
.pkg-features { display:flex;flex-direction:column;gap:8px;margin-bottom:28px;flex:1 }
.pkg-feature  { display:flex;align-items:center;gap:10px;font-size:.82rem }
.pkg-feature-icon { width:16px;height:16px;flex-shrink:0 }
.pkg-feature.included .pkg-feature-icon { color:var(--gold-d) }
.pkg-feature.excluded .pkg-feature-icon { color:var(--bd-d) }
.pkg-feature-label { color:var(--muted) }
.pkg-popular .pkg-feature-label { color:var(--dim) }
.pkg-feature.excluded .pkg-feature-label { color:var(--light);text-decoration:line-through }
.pkg-cta { display:block;text-align:center;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);font-family:var(--fb);font-size:.78rem;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:14px;border-radius:2px;transition:all var(--f);margin-top:auto }
.pkg-cta:hover { background:linear-gradient(135deg,var(--gold-l),var(--gold));transform:translateY(-1px) }

/* ════════════════════════════════════════════════════
   ABOUT, PORTFOLIO, TESTIMONIALS (inner pages)
   ════════════════════════════════════════════════════ */
.about-split  { display:grid;grid-template-columns:1fr 440px;gap:80px;align-items:start;padding:var(--gap) 0 }
.about-headline { font-family:var(--fd);font-size:clamp(2rem,3.5vw,3.2rem);color:var(--ink);line-height:1.2;margin-bottom:32px;font-weight:700 }
.about-text   { font-family:var(--fb);font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:20px }
.about-visual { background:var(--ink);padding:40px;position:sticky;top:calc(var(--nh) + 32px);overflow:hidden }
.about-visual::before { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.05) 0%,transparent 60%) }
.about-visual-text  { font-family:var(--fd);font-size:8rem;font-weight:800;color:rgba(250,247,240,.03);line-height:1;position:absolute;top:20px;left:20px;pointer-events:none;user-select:none }
.about-visual-quote { position:relative;z-index:2;font-family:var(--fe);font-style:italic;font-size:1.1rem;color:var(--dim);line-height:1.6;padding-top:80px }
.about-visual-quote cite { display:block;font-style:normal;font-family:var(--fb);font-size:.75rem;color:var(--gold);margin-top:16px;font-weight:600;letter-spacing:.06em }
.about-values { padding:var(--gap) 0 }
.values-list  { display:grid;grid-template-columns:repeat(3,1fr);gap:0 }
.value-item   { padding:40px 32px;border-right:1px solid rgba(250,247,240,.08);border-bottom:1px solid rgba(250,247,240,.08);transition:background var(--m) }
.value-item:nth-child(3n) { border-right:none }
.value-item:hover { background:rgba(201,168,76,.04) }
.value-num   { display:block;font-family:var(--fb);font-size:.65rem;font-weight:700;letter-spacing:.22em;color:var(--gold);margin-bottom:16px }
.value-title { font-family:var(--fd);font-size:1.25rem;color:var(--ivory);margin-bottom:12px;font-weight:700 }
.value-text  { font-size:.82rem;color:var(--dim);line-height:1.65 }

.portfolio-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:var(--gap) 0 }
.portfolio-item { background:var(--white);padding:40px 32px;border:1px solid var(--bd);position:relative;transition:all var(--m) var(--eout);overflow:hidden }
.portfolio-item::before { content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(to right,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform var(--m) var(--eout) }
.portfolio-item:hover::before { transform:scaleX(1) }
.portfolio-item:hover { transform:translateY(-2px);box-shadow:var(--s2) }
.portfolio-emoji   { font-size:3rem;display:block;margin-bottom:20px }
.portfolio-genre   { font-family:var(--fb);font-size:.65rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);margin-bottom:8px;display:block }
.portfolio-title   { font-family:var(--fd);font-size:1.3rem;color:var(--ink);font-weight:700;margin-bottom:6px;line-height:1.3 }
.portfolio-author  { font-family:var(--fe);font-style:italic;font-size:.9rem;color:var(--muted);margin-bottom:16px }
.portfolio-services { display:flex;flex-wrap:wrap;gap:4px }
.portfolio-service-tag { font-size:.67rem;color:var(--muted);background:var(--parch);padding:3px 8px;border-radius:99px;border:1px solid var(--bd) }

.testimonials-editorial-list { display:flex;flex-direction:column;padding:var(--gap) 0 }
.testimonial-editorial { display:grid;grid-template-columns:64px 1fr;gap:40px;padding:48px 0;border-bottom:1px solid var(--bd);align-items:start }
.testimonial-num  { font-family:var(--fb);font-size:.68rem;font-weight:700;letter-spacing:.22em;color:var(--gold-d);padding-top:8px }
.testimonial-stars { color:var(--gold);font-size:1rem;display:block;margin-bottom:16px;letter-spacing:2px }
.testimonial-quote-text { font-family:var(--fe);font-style:italic;font-size:clamp(1.1rem,2vw,1.5rem);color:var(--ink);line-height:1.6;margin-bottom:24px }
.testimonial-meta  { display:flex;align-items:center;gap:14px }
.testimonial-avatar { width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:.85rem;font-weight:700;color:var(--ivory);flex-shrink:0 }
.testimonial-name  { font-weight:700;font-size:.9rem;color:var(--ink) }
.testimonial-title-role { font-size:.78rem;color:var(--muted);margin-top:2px }
.testimonial-book  { font-family:var(--fe);font-style:italic;font-size:.78rem;color:var(--gold-d);margin-top:2px }

/* ════════════════════════════════════════════════════
   BLOG, CONTACT, FAQ, 404
   ════════════════════════════════════════════════════ */
.blog-body { padding:var(--gap) 0 }
.blog-feature { display:grid;grid-template-columns:1fr 1fr;background:var(--ink);margin-bottom:2px;border:1px solid rgba(250,247,240,.06);transition:border-color var(--m) }
.blog-feature:hover { border-color:var(--bd-g) }
.blog-feature-visual { padding:56px 48px;display:flex;flex-direction:column;justify-content:flex-end;min-height:380px;background:linear-gradient(145deg,#1F1F16,#2A2A1A);position:relative;overflow:hidden }
.blog-feature-visual::before { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.05) 0%,transparent 60%) }
.blog-feature-emoji  { font-size:4rem;display:block;position:absolute;top:40px;right:40px;opacity:.7 }
.blog-feature-title  { font-family:var(--fd);font-size:clamp(1.5rem,3vw,2.5rem);color:var(--ivory);line-height:1.2;font-weight:700;position:relative;z-index:1 }
.blog-feature-body   { padding:56px 48px;display:flex;flex-direction:column;justify-content:center }
.blog-feature-meta   { display:flex;align-items:center;gap:12px;margin-bottom:20px }
.blog-feature-cat    { font-family:var(--fb);font-size:.65rem;font-weight:700;letter-spacing:.20em;text-transform:uppercase;color:var(--gold) }
.blog-feature-date   { font-size:.75rem;color:var(--dim) }
.blog-feature-excerpt { font-family:var(--fe);font-size:clamp(1rem,1.8vw,1.2rem);color:var(--dim);line-height:1.65;margin-bottom:28px }
.blog-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px }
.blog-card { background:var(--white);padding:36px 32px;border:1px solid var(--bd);display:flex;flex-direction:column;transition:all var(--m) }
.blog-card:hover { box-shadow:var(--s2);transform:translateY(-2px);border-color:var(--bd-g) }
.blog-card-emoji { font-size:2rem;display:block;margin-bottom:16px }
.blog-card-meta  { display:flex;align-items:center;gap:10px;margin-bottom:12px }
.blog-card-cat   { font-family:var(--fb);font-size:.63rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d) }
.blog-card-date  { font-size:.72rem;color:var(--muted) }
.blog-card-title { font-family:var(--fd);font-size:1.25rem;color:var(--ink);line-height:1.3;margin-bottom:10px;font-weight:700;transition:color var(--f) }
.blog-card:hover .blog-card-title { color:var(--gold-d) }
.blog-card-excerpt   { font-size:.82rem;color:var(--muted);line-height:1.6;flex:1;margin-bottom:16px }
.blog-card-read-more { font-family:var(--fb);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-d);margin-top:auto;transition:letter-spacing var(--f) }
.blog-card:hover .blog-card-read-more { letter-spacing:.18em }
.post-layout    { display:grid;grid-template-columns:1fr 320px;gap:64px;align-items:start }
.post-article-header  { margin-bottom:32px }
.post-emoji-large     { font-size:4rem;display:block;margin-bottom:20px }
.post-article-excerpt { font-family:var(--fe);font-style:italic;font-size:clamp(1.1rem,2vw,1.4rem);color:var(--muted);line-height:1.65 }
.post-divider  { height:1px;background:var(--bd-m);margin-block:36px }
.post-article-content { font-family:var(--fb);font-size:1rem;line-height:1.85;color:var(--text) }
.post-article-content p  { margin-bottom:20px }
.post-article-content h2 { font-family:var(--fd);font-size:1.6rem;color:var(--ink);margin-block:36px 16px;font-weight:700 }
.post-article-content h3 { font-family:var(--fd);font-size:1.2rem;color:var(--ink);margin-block:28px 12px;font-weight:600 }
.post-article-content ul { list-style:disc;padding-left:24px;margin-bottom:20px }
.post-article-content li { margin-bottom:8px;color:var(--muted) }
.post-article-content strong { font-weight:600;color:var(--ink) }
.post-article-content blockquote { border-left:3px solid var(--gold);padding:16px 24px;margin:32px 0;background:var(--parch);font-family:var(--fe);font-style:italic;font-size:1.15rem;color:var(--muted) }
.post-sidebar { position:sticky;top:calc(var(--nh) + 24px) }
.post-sidebar-card { background:var(--ink);padding:28px;margin-bottom:16px }
.psc-title { font-family:var(--fd);font-size:1.2rem;color:var(--ivory);margin-bottom:10px;font-weight:700 }
.psc-text  { font-size:.82rem;color:var(--dim);line-height:1.6;margin-bottom:20px }
.psc-cta   { display:block;text-align:center;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);font-family:var(--fb);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:12px;border-radius:2px;transition:all var(--f) }
.psc-cta:hover { background:linear-gradient(135deg,var(--gold-l),var(--gold)) }

.faq-body { padding:var(--gap) 0 }
.faq-layout { display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:start }
.faq-sidebar-text { position:sticky;top:calc(var(--nh) + 32px) }
.faq-sidebar-headline { font-family:var(--fd);font-size:1.8rem;color:var(--ink);margin-bottom:16px;font-weight:700 }
.faq-sidebar-sub { font-size:.85rem;color:var(--muted);line-height:1.7;margin-bottom:24px }
.faq-item { border-bottom:1px solid var(--bd-m) }
.faq-question { width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 0;cursor:pointer;text-align:left;background:none;border:none }
.faq-question span:first-child { font-family:var(--fd);font-size:1.1rem;color:var(--ink);font-weight:600;line-height:1.4;transition:color var(--f) }
.faq-question:hover span:first-child,.faq-item.open .faq-question span:first-child { color:var(--gold-d) }
.faq-q-icon  { font-size:1.4rem;color:var(--gold);flex-shrink:0;transition:transform var(--m) var(--eout);margin-top:2px;display:block }
.faq-item.open .faq-q-icon { transform:rotate(45deg) }
.faq-answer  { max-height:0;overflow:hidden;transition:max-height var(--s) var(--eout) }
.faq-answer-text { font-family:var(--fb);font-size:.9rem;color:var(--muted);line-height:1.75;padding-bottom:24px }

.contact-body { padding:var(--gap) 0 }
.contact-layout { display:grid;grid-template-columns:1fr 560px;gap:80px;align-items:start }
.contact-info-head { font-family:var(--fd);font-size:clamp(1.8rem,3.5vw,3rem);color:var(--ink);line-height:1.2;margin-bottom:16px;font-weight:700 }
.contact-info-sub  { font-family:var(--fb);font-size:.95rem;color:var(--muted);line-height:1.75;margin-bottom:40px;max-width:420px }
.contact-details   { display:flex;flex-direction:column;gap:24px }
.contact-detail-item { display:flex;gap:16px;align-items:flex-start }
.cd-icon  { width:40px;height:40px;background:var(--parch);border:1px solid var(--bd-m);display:flex;align-items:center;justify-content:center;flex-shrink:0 }
.cd-icon svg { width:18px;height:18px;color:var(--gold-d) }
.cd-label { display:block;font-family:var(--fb);font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:4px }
.cd-value { font-size:.9rem;color:var(--text);line-height:1.4 }
.cd-value a { transition:color var(--f) }
.cd-value a:hover { color:var(--gold-d) }
.contact-form-card    { background:var(--white);border:1px solid var(--bd-m);padding:48px 40px;box-shadow:var(--s2) }
.contact-form-title   { font-family:var(--fd);font-size:1.8rem;color:var(--ink);margin-bottom:6px;font-weight:700 }
.contact-form-sub     { font-size:.82rem;color:var(--muted);margin-bottom:32px }
.form-row   { display:grid;grid-template-columns:1fr 1fr }
.form-group { display:flex;flex-direction:column;gap:5px;margin-bottom:16px }
.form-label { display:block;font-family:var(--fb);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px }
.form-control { width:100%;background:var(--ivory);border:1px solid var(--bd-m);color:var(--text);font-family:var(--fb);font-size:.9rem;padding:12px 16px;border-radius:2px;outline:none;transition:border-color var(--f),box-shadow var(--f);appearance:none }
.form-control::placeholder { color:var(--light) }
.form-control:focus { border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.12) }
.form-control.error { border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1) }
textarea.form-control { resize:vertical;min-height:120px;line-height:1.6 }
select.form-control { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B6B5E' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-right:40px;cursor:pointer }
.form-submit { width:100%;background:linear-gradient(135deg,var(--gold),var(--gold-d));color:var(--ink);font-family:var(--fb);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:16px;border-radius:2px;cursor:pointer;border:none;transition:all var(--m) var(--eout);box-shadow:var(--sg) }
.form-submit:hover { background:linear-gradient(135deg,var(--gold-l),var(--gold));transform:translateY(-1px) }
.form-submit:disabled { opacity:.6;cursor:not-allowed;transform:none }
.form-message { margin-top:16px;font-size:.82rem;padding:12px 16px;border-radius:2px;display:none }
.form-message.success { display:block;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#065f46 }
.form-message.error   { display:block;background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.2);color:#991b1b }

.page-404 { min-height:calc(100vh - var(--nh));background:var(--ink-d);display:flex;align-items:center;justify-content:center;padding-top:var(--nh);text-align:center;position:relative }
.err-num  { display:block;font-family:var(--fd);font-size:clamp(6rem,15vw,14rem);font-weight:800;letter-spacing:-.04em;background:linear-gradient(135deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1 }
.err-headline { font-family:var(--fd);font-size:clamp(1.5rem,3vw,2.5rem);color:var(--ivory);margin-bottom:16px;font-weight:400;font-style:italic }
.err-sub { font-family:var(--fe);font-style:italic;font-size:1.1rem;color:var(--dim);margin-bottom:40px }

/* Toast */
.toast-container { position:fixed;bottom:24px;right:24px;z-index:9990;display:flex;flex-direction:column;gap:10px;pointer-events:none }
.toast { background:var(--ink);color:var(--ivory);font-family:var(--fb);font-size:.85rem;padding:14px 20px;border-left:3px solid var(--gold);box-shadow:var(--s3);max-width:360px;animation:toastIn .35s var(--eout) both;pointer-events:all }
.toast.success { border-left-color:#10b981 }
.toast.error   { border-left-color:#ef4444 }
.toast.fadeout { animation:toastOut .3s var(--eout) both }
@keyframes toastIn  { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes toastOut { from{opacity:1;transform:translateY(0)}     to{opacity:0;transform:translateY(8px)} }

/* Reveals */
.reveal      { opacity:0;transform:translateY(28px);transition:opacity .7s var(--eout),transform .7s var(--eout) }
.reveal.visible { opacity:1;transform:translateY(0) }
.reveal-left { opacity:0;transform:translateX(-28px);transition:opacity .7s var(--eout),transform .7s var(--eout) }
.reveal-left.visible { opacity:1;transform:translateX(0) }
[data-stagger]>*               { opacity:0;transform:translateY(20px);transition:opacity .6s var(--eout),transform .6s var(--eout) }
[data-stagger].visible>*       { opacity:1;transform:translateY(0) }
[data-stagger].visible>*:nth-child(1){ transition-delay:.00s }
[data-stagger].visible>*:nth-child(2){ transition-delay:.10s }
[data-stagger].visible>*:nth-child(3){ transition-delay:.20s }
[data-stagger].visible>*:nth-child(4){ transition-delay:.30s }
[data-stagger].visible>*:nth-child(5){ transition-delay:.40s }
[data-stagger].visible>*:nth-child(6){ transition-delay:.50s }

/* ════════════════════════════════════════════════════
   RESPONSIVE — FULLY CORRECTED
   ════════════════════════════════════════════════════ */
@media(max-width:1280px){
  .hero-book-stage { padding:40px 60px 40px 20px }
  .pp-grid { gap:16px }
}
@media(max-width:1100px){
  /* Keep book visible until smaller breakpoint */
  .insights-grid { grid-template-columns:1fr }
  .insights-secondary { flex-direction:row }
  .process-steps { grid-template-columns:repeat(2,1fr) }
  .process-step:nth-child(2){ border-right:none }
  .process-step:nth-child(3){ border-top:1px solid var(--parch-m) }
  .process-step:nth-child(4){ border-top:1px solid var(--parch-m);border-right:none }
  /* Pricing: 2 columns on medium screens */
  .pricing-grid { grid-template-columns:repeat(2,1fr) }
  .pp-grid      { grid-template-columns:repeat(2,1fr) }
  .pp-card:last-child { grid-column:1/-1;max-width:480px;margin:0 auto }
}
@media(max-width:1024px){
  /* Navigation */
  .primary-nav,.header-phone,.btn-nav-cta { display:none }
  .mobile-toggle { display:flex }
  /* Hero: hide book */
  .hero-book-stage { display:none }
  .hero-text { max-width:100% }
  /* Feature cinema: stack */
  .feature-cinema { grid-template-columns:1fr }
  .fc-photo-side  { min-height:380px }
  .fc-photo-veil  { background:linear-gradient(to bottom,transparent 50%,var(--ivory)) }
  .fc-text-side   { padding:56px var(--gut) }
  /* Split layouts */
  .about-split    { grid-template-columns:1fr }
  .about-visual   { position:relative;top:0 }
  .svc-detail-body { grid-template-columns:1fr }
  .svc-sidebar-card { position:relative;top:0 }
  .contact-layout  { grid-template-columns:1fr }
  .faq-layout      { grid-template-columns:1fr }
  .faq-sidebar-text{ position:relative;top:0 }
  /* Pricing: single column on tablet (already handled above) */
  .blog-feature    { grid-template-columns:1fr }
  .blog-feature-visual { min-height:240px }
  .post-layout     { grid-template-columns:1fr }
  .post-sidebar    { position:relative;top:0 }
  /* Footer */
  .footer-nl-inner { grid-template-columns:1fr;gap:24px }
  .footer-nl-form  { min-width:0 }
  .footer-body     { grid-template-columns:1fr }
  .footer-cols     { grid-template-columns:repeat(2,1fr) }
  /* Process */
  .process-header  { grid-template-columns:1fr;gap:24px }
  /* About values */
  .values-list { grid-template-columns:repeat(2,1fr) }
  .value-item:nth-child(2n){ border-right:none }
  /* Portfolio */
  .portfolio-grid  { grid-template-columns:repeat(2,1fr) }
  /* Services scroller */
  .sc-panel { min-width:320px;height:70vh }
  .sc-panel:hover { min-width:360px }
  /* Stats */
  .ms-stats { grid-template-columns:repeat(2,1fr) }
  .mss-item:nth-child(n+3){ border-top:1px solid var(--bd-m) }
  .mss-item:nth-child(2n)  { border-left:none }
  .mss-item:nth-child(2n)  { border-left:0 }
  /* Pricing: 1 column at tablet for clarity */
  .pricing-grid { grid-template-columns:1fr;gap:16px }
  .pricing-pkg  { max-width:560px;margin:0 auto;width:100% }
  .pp-grid { grid-template-columns:1fr;gap:16px }
  .pp-card { max-width:560px;margin:0 auto;width:100% }
  .pp-card:last-child { grid-column:auto;max-width:560px }
}
@media(max-width:768px){
  :root { --gap:64px;--gap-s:44px }
  /* Hero type */
  .hh-large  { font-size:clamp(4.5rem,18vw,8rem) }
  .hh-italic { font-size:clamp(3.5rem,14vw,6rem) }
  .hero-actions { flex-direction:column;align-items:flex-start }
  .hero-trust { flex-wrap:wrap }
  .ht-div { display:none }
  .ht-stat { padding:0 12px 0 0 }
  /* Service scroller */
  .sc-panel { min-width:calc(100vw - 40px);height:62vh }
  .sc-panel:hover { min-width:calc(100vw - 40px) }
  .sc-head-inner { flex-direction:column;align-items:flex-start;gap:12px }
  /* Process */
  .process-steps { grid-template-columns:1fr }
  .process-step  { border-right:none;border-bottom:1px solid var(--parch-m);padding:32px 0 }
  .process-step:not(:first-child){ padding-left:0 }
  .process-step:last-child { border-bottom:none }
  /* Manifesto */
  .ms-ornament { font-size:clamp(6rem,20vw,12rem) }
  .ms-quote    { font-size:clamp(2rem,8vw,4rem) }
  .ms-stats    { grid-template-columns:1fr 1fr }
  /* Footer */
  .footer-cols  { grid-template-columns:1fr }
  .footer-base-inner { flex-direction:column;text-align:center }
  .footer-legal { flex-direction:column;align-items:center;gap:8px }
  /* Blog */
  .blog-grid { grid-template-columns:1fr }
  /* Services full page */
  .svc-full-item { grid-template-columns:48px 1fr }
  .svc-full-meta { display:none }
  /* About */
  .about-split { padding:48px 0 }
  .values-list { grid-template-columns:1fr }
  .value-item  { border-right:none !important }
  /* Contact form */
  .form-row    { grid-template-columns:1fr }
  .contact-form-card { padding:24px }
  /* Portfolio */
  .portfolio-grid { grid-template-columns:1fr }
  /* CTA */
  .ctac-h2    { font-size:clamp(3.5rem,14vw,7rem) }
  .ctac-actions { flex-direction:column;align-items:flex-start }
  /* Insights secondary */
  .insights-secondary { flex-direction:column }
  /* Pricing preview */
  .pp-header { flex-direction:column }
  .pp-sub { padding-top:0;text-align:left }
  /* Trust band */
  .trust-band .container { flex-direction:column;align-items:flex-start;gap:12px }
}
@media(max-width:480px){
  .btn-hero,.btn-outline-ivory { width:100%;justify-content:center }
  .hero-actions { flex-direction:column }
  .bfc { display:none }
  .footer-payments { justify-content:center }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after { animation-duration:.01ms!important;transition-duration:.01ms!important }
  .reveal,.reveal-left,[data-stagger]>* { opacity:1!important;transform:none!important }
  .marquee-track,.book-3d,.bfc,.hbs-glow { animation:none!important }
  .site-loader { display:none!important }
}
:focus-visible { outline:2px solid var(--gold);outline-offset:3px }

/* ════════════════════════════════════════════════════
   SERVICES GRID — Premium card grid (replaces scroller)
   ════════════════════════════════════════════════════ */
.sg-section { background:var(--ivory);padding:var(--gap) 0 }
.sg-head { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--bd);flex-wrap:wrap }
.sg-h2 { font-family:var(--fd);font-size:clamp(2rem,4vw,3.8rem);color:var(--ink);line-height:1.1;margin-top:10px }

/* 3×3 premium card grid */
.sg-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--bd);
  box-shadow:var(--s1)
}
.sg-card {
  padding:36px 28px 28px;
  border-right:1px solid var(--bd);
  border-bottom:1px solid var(--bd);
  position:relative;overflow:hidden;
  background:var(--white);
  transition:background .35s var(--eout),box-shadow .3s;
  display:flex;flex-direction:column;min-height:220px;
  text-decoration:none
}
/* Remove right border from last in each row */
.sg-card:nth-child(3n)   { border-right:none }
/* Remove bottom border from last row (items 7-9 of 9) */
.sg-card:nth-child(7),.sg-card:nth-child(8),.sg-card:nth-child(9) { border-bottom:none }
/* Hover: ink dark with light text */
.sg-card:hover { background:var(--ink);box-shadow:0 8px 32px rgba(0,0,0,.18) }
/* Gold horizontal line sweeps from left on hover */
.sg-card::after {
  content:'';position:absolute;bottom:0;left:0;
  width:0;height:2px;
  background:linear-gradient(to right,var(--gold),var(--gold-l));
  transition:width .5s var(--eout)
}
.sg-card:hover::after { width:100% }

.sg-num  { font-family:var(--fb);font-size:.65rem;font-weight:700;letter-spacing:.22em;color:var(--gold-d);margin-bottom:16px;transition:color .25s }
.sg-card:hover .sg-num { color:var(--gold) }

.sg-name { font-family:var(--fd);font-size:clamp(1.25rem,2vw,1.7rem);font-weight:700;color:var(--ink);margin-bottom:10px;line-height:1.2;transition:color .25s }
.sg-card:hover .sg-name { color:var(--ivory) }

.sg-desc { font-family:var(--fb);font-size:.82rem;color:var(--muted);line-height:1.55;flex:1;margin-bottom:20px;transition:color .25s }
.sg-card:hover .sg-desc { color:rgba(250,247,240,.58) }

.sg-foot { display:flex;align-items:center;justify-content:space-between;margin-top:auto }
.sg-price { font-family:var(--fb);font-size:.78rem;font-weight:600;color:var(--light);transition:color .25s }
.sg-card:hover .sg-price { color:var(--gold) }
.sg-arrow { font-size:1.1rem;color:var(--bd-d);opacity:.5;transition:all .25s }
.sg-card:hover .sg-arrow { color:var(--gold);opacity:1;transform:translateX(4px) }

/* ════════════════════════════════════════════════════
   CSS 3D BOOK MOCKUPS — Portfolio presentation
   ════════════════════════════════════════════════════ */
.pb-scene {
  perspective:900px;perspective-origin:50% 42%;
  display:flex;align-items:center;justify-content:center;
  padding:36px 20px 20px
}
.pb-book {
  position:relative;width:140px;height:196px;
  transform-style:preserve-3d;
  transform:rotateY(-22deg) rotateX(4deg);
  transition:transform .55s var(--eout)
}
.pb-book:hover { transform:rotateY(-12deg) rotateX(2deg) translateY(-6px) }

/* Front cover */
.pb-front {
  position:absolute;width:140px;height:196px;
  transform:translateZ(14px);border-radius:1px 4px 4px 1px;
  overflow:hidden;box-shadow:3px 7px 28px rgba(0,0,0,.58)
}
.pb-front::before {
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(201,168,76,.14) 0%,transparent 55%),
             linear-gradient(to right,rgba(0,0,0,.38) 0%,transparent 16%)
}

/* Spine */
.pb-spine {
  position:absolute;width:28px;height:196px;left:-14px;
  transform:rotateY(-90deg) translateZ(14px)
}
/* Pages */
.pb-pages {
  position:absolute;width:28px;height:193px;top:1.5px;
  transform:rotateY(90deg) translateZ(126px);transform-origin:left center;
  background:repeating-linear-gradient(to top,#EAE2CC 0,#EAE2CC 2px,#E0D8C4 2px,#E0D8C4 3px)
}
/* Top edge */
.pb-top {
  position:absolute;width:140px;height:28px;top:-1.5px;
  transform:rotateX(90deg) translateZ(1.5px);transform-origin:top;
  background:linear-gradient(to bottom,#EAE2CC,#E0D8C4)
}

/* Six luxurious color schemes */
.pb-s1 .pb-front { background:linear-gradient(155deg,#18180E 0%,#2C2714 28%,#1C1A0C 60%,#0E0E07 100%) }
.pb-s1 .pb-spine  { background:linear-gradient(to right,#060604,#0E0E08,#181610,#0E0E08,#060604) }
.pb-s2 .pb-front  { background:linear-gradient(155deg,#2A0D10 0%,#3E1618 28%,#2A0E10 60%,#180808 100%) }
.pb-s2 .pb-spine  { background:linear-gradient(to right,#100404,#1C0808,#2A1010,#1C0808,#100404) }
.pb-s3 .pb-front  { background:linear-gradient(155deg,#081020 0%,#0E1C32 28%,#081020 60%,#040A14 100%) }
.pb-s3 .pb-spine  { background:linear-gradient(to right,#02060E,#060C18,#0A1422,#060C18,#02060E) }
.pb-s4 .pb-front  { background:linear-gradient(155deg,#0A1A0C 0%,#142A16 28%,#0A1A0C 60%,#060E06 100%) }
.pb-s4 .pb-spine  { background:linear-gradient(to right,#030A04,#07120A,#0E1E0E,#07120A,#030A04) }
.pb-s5 .pb-front  { background:linear-gradient(155deg,#1E1008 0%,#301A0A 28%,#1E1008 60%,#120804 100%) }
.pb-s5 .pb-spine  { background:linear-gradient(to right,#0A0402,#140806,#1E1008,#140806,#0A0402) }
.pb-s6 .pb-front  { background:linear-gradient(155deg,#180E26 0%,#261838 28%,#180E26 60%,#100818 100%) }
.pb-s6 .pb-spine  { background:linear-gradient(to right,#080412,#10081E,#18102C,#10081E,#080412) }

/* Cover interior content */
.pb-front-inner {
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  padding:18px 12px;text-align:center
}
.pb-rule { width:50%;height:1px;background:linear-gradient(to right,transparent,rgba(201,168,76,.5),transparent) }
.pb-star { font-size:.65rem;color:rgba(201,168,76,.55);letter-spacing:4px }
.pb-title-txt { font-family:var(--fd);font-size:.72rem;font-weight:700;color:var(--ivory);line-height:1.3 }
.pb-author-txt { font-family:var(--fb);font-size:.46rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold) }
.pb-genre-txt  { font-family:var(--fb);font-size:.4rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,168,76,.4) }

/* ════════════════════════════════════════════════════
   PORTFOLIO HOME SHOWCASE
   ════════════════════════════════════════════════════ */
.portfolio-home { background:var(--parch);padding:var(--gap) 0;border-top:1px solid var(--bd) }
.ph-head { display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px;flex-wrap:wrap }
.ph-h2   { font-family:var(--fd);font-size:clamp(2rem,4vw,3.8rem);color:var(--ink);line-height:1.1;margin-top:10px }
.ph-h2 em { font-style:italic;font-weight:400;color:var(--gold-d) }

.ph-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:2px }

.ph-item {
  background:var(--white);display:flex;flex-direction:column;
  border:1px solid var(--bd);overflow:hidden;
  transition:transform .4s var(--eout),box-shadow .4s
}
.ph-item:hover { transform:translateY(-4px);box-shadow:var(--s2) }

.ph-genre { font-family:var(--fb);font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);display:block;margin:20px 24px 0 }
.ph-book-title { font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--ink);padding:8px 24px 4px;line-height:1.25 }
.ph-author { font-family:var(--fe);font-style:italic;font-size:.82rem;color:var(--muted);padding:0 24px 16px }
.ph-tags   { display:flex;flex-wrap:wrap;gap:4px;padding:0 24px 20px }
.ph-tag    { font-size:.65rem;color:var(--muted);background:var(--parch);padding:3px 8px;border-radius:99px;border:1px solid var(--bd) }

/* ════════════════════════════════════════════════════
   PORTFOLIO PAGE — 3D book card grid
   ════════════════════════════════════════════════════ */
.port-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:var(--gap) 0 }
.port-card {
  background:var(--white);border:1px solid var(--bd);
  overflow:hidden;display:flex;flex-direction:column;
  transition:box-shadow .4s,transform .4s var(--eout)
}
.port-card:hover { box-shadow:var(--s2);transform:translateY(-3px) }
.port-card-book { background:var(--parch);display:flex;align-items:center;justify-content:center;min-height:260px;position:relative;overflow:hidden }
.port-card-book::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 70% at 50% 50%,rgba(201,168,76,.05) 0%,transparent 70%) }
.port-card-info { padding:24px;flex:1;display:flex;flex-direction:column;gap:6px }
.port-genre { font-family:var(--fb);font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d) }
.port-title { font-family:var(--fd);font-size:1.15rem;font-weight:700;color:var(--ink);line-height:1.3 }
.port-author { font-family:var(--fe);font-style:italic;font-size:.85rem;color:var(--muted) }
.port-desc  { font-size:.82rem;color:var(--muted);line-height:1.6;margin-top:4px }
.port-tags  { display:flex;flex-wrap:wrap;gap:4px;margin-top:10px }
.port-tag   { font-size:.65rem;color:var(--muted);background:var(--parch);padding:3px 8px;border-radius:99px;border:1px solid var(--bd) }

/* ════════════════════════════════════════════════════
   GLASSMORPHISM UTILITY
   ════════════════════════════════════════════════════ */
.glass {
  background:rgba(255,255,255,0.07);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.12)
}
.glass-gold {
  background:rgba(201,168,76,0.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(201,168,76,0.22)
}

/* Hero trust stats — glassmorphism */
.hero-trust {
  background:rgba(0,0,0,0.28) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:3px;
  padding:16px 28px !important;
  border:1px solid rgba(250,247,240,0.10);
  margin-top:8px
}

/* Decorative golden horizontal rule for sections */
.gold-rule { display:block;width:48px;height:2px;background:linear-gradient(to right,var(--gold),var(--gold-l));margin-bottom:20px }

/* ════════════════════════════════════════════════════
   RESPONSIVE ADDITIONS — Services grid + portfolio
   ════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .sg-grid { grid-template-columns:repeat(2,1fr) }
  .sg-card:nth-child(3n){ border-right:1px solid var(--bd) }
  .sg-card:nth-child(2n){ border-right:none }
  .sg-card:nth-last-child(-n+3){ border-bottom:1px solid var(--bd) }
  .sg-card:nth-last-child(-n+2){ border-bottom:none }
  .ph-grid { grid-template-columns:repeat(2,1fr) }
  .port-grid { grid-template-columns:repeat(2,1fr) }
}
@media(max-width:768px){
  .sg-grid { grid-template-columns:1fr }
  .sg-card { border-right:none !important;min-height:auto }
  .sg-card:nth-last-child(1){ border-bottom:none }
  .ph-grid  { grid-template-columns:1fr }
  .port-grid { grid-template-columns:1fr }
  .sg-head  { flex-direction:column;align-items:flex-start }
  .ph-head  { flex-direction:column;align-items:flex-start }
}
