/* =====================================================
   BloomWingsEdu — Editorial Luxury Design System
   Inspired by: Aesop, The New Yorker, Folio Society,
   Stripe marketing, Linear, and well-bound books.
   ===================================================== */

/* ───── Tokens ───── */
:root{
  /* Ink scale — never pure black */
  --ink:           #0E1820;
  --ink-deep:      #0A1116;
  --ink-soft:      #3A4751;
  --ink-mute:      #6B7783;
  --ink-faint:     #98A1AB;

  /* Parchment scale — never pure white */
  --paper:         #F4EFE6;
  --paper-warm:    #EDE5D5;
  --paper-cool:    #F8F4EC;
  --paper-edge:    #E2D8C2;

  /* Antique metals */
  --gold:          #A8854A;
  --gold-deep:     #8C6E3A;
  --gold-pale:     #D4B57A;
  --gold-wash:     #EFE2C2;

  /* Accent emotions */
  --burgundy:      #7C2D2D;
  --sage:          #6B8068;
  --rust:          #B85730;

  /* Lines */
  --rule:          rgba(14,24,32,.14);
  --rule-strong:   rgba(14,24,32,.28);
  --rule-paper:    rgba(244,239,230,.18);

  /* Type */
  --serif-display: "Fraunces", "Times New Roman", serif;
  --serif-body:    "Newsreader", Georgia, serif;
  --sans-ui:       "Inter Tight", system-ui, sans-serif;

  /* Rhythm */
  --r-sm: 6px;
  --r:    12px;
  --r-lg: 20px;

  /* Shadows */
  --shadow-paper: 0 1px 3px rgba(14,24,32,.04), 0 16px 40px -20px rgba(14,24,32,.18);
  --shadow-lift:  0 30px 80px -30px rgba(14,24,32,.32);

  /* Easing */
  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --ease-in:  cubic-bezier(.7, 0, .84, 0);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--paper)}
body{
  font-family:var(--serif-body);
  font-size:17px;line-height:1.6;
  color:var(--ink);background:var(--paper);
  font-weight:380;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"liga","kern","onum";
  overflow-x:hidden;
  padding-bottom:50px;
  opacity:0;animation:body-fade 1.2s var(--ease-out) forwards;
}
@keyframes body-fade{from{opacity:0}to{opacity:1}}

/* Paper grain overlay */
body::before{
  content:"";position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .35 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.4;pointer-events:none;z-index:9999;mix-blend-mode:multiply;
}

img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
ul{list-style:none}

.wrap{width:100%;max-width:1320px;margin:0 auto;padding:0 36px}
.wrap-narrow{max-width:920px;margin:0 auto;padding:0 36px}
.wrap-text{max-width:680px;margin:0 auto;padding:0 36px}

/* ───── Type ───── */
.display{
  font-family:var(--serif-display);font-weight:300;
  font-variation-settings:"opsz" 144,"SOFT" 30;
  line-height:.96;letter-spacing:-.025em;color:var(--ink-deep);
}
.display em{
  font-style:italic;font-weight:300;
  font-variation-settings:"opsz" 144,"SOFT" 100;
  color:var(--burgundy);
}
.display .gold-em{
  font-style:italic;color:var(--gold-deep);
  font-variation-settings:"opsz" 144,"SOFT" 100;
}

.eyebrow{
  font-family:var(--sans-ui);
  font-size:11px;font-weight:500;letter-spacing:.32em;
  text-transform:uppercase;color:var(--gold-deep);
  display:inline-flex;align-items:center;gap:14px;
}
.eyebrow::before{content:"";width:32px;height:1px;background:currentColor;display:inline-block}

.chapter{
  font-family:var(--serif-display);font-style:italic;font-weight:300;
  font-size:18px;color:var(--gold-deep);letter-spacing:.04em;
  display:inline-block;margin-bottom:18px;
  font-variation-settings:"opsz" 144,"SOFT" 80;
}
.chapter::after{
  content:"";display:block;width:24px;height:1px;
  background:var(--gold);margin-top:6px;
}

.lede{
  font-size:21px;line-height:1.55;color:var(--ink-soft);
  font-weight:380;font-feature-settings:"liga","kern";
}

strong{font-weight:600;color:var(--ink-deep)}
em{font-style:italic}

/* ───── Buttons ───── */
.btn{
  font-family:var(--sans-ui);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 26px;font-size:13.5px;font-weight:500;letter-spacing:.05em;
  border-radius:999px;border:1px solid transparent;white-space:nowrap;
  text-transform:uppercase;
  transition:all .4s var(--ease-out);
}
.btn .arrow{font-size:14px;transition:transform .35s var(--ease-out);display:inline-block}
.btn:hover .arrow{transform:translateX(4px)}
.btn-ink{background:var(--ink-deep);color:var(--paper)}
.btn-ink:hover{background:var(--burgundy);transform:translateY(-1px);box-shadow:0 14px 30px -14px rgba(14,24,32,.5)}
.btn-gold{background:var(--gold);color:var(--paper-cool)}
.btn-gold:hover{background:var(--gold-deep);transform:translateY(-1px);box-shadow:0 14px 30px -14px rgba(168,133,74,.6)}
.btn-paper{background:var(--paper-cool);color:var(--ink);border-color:var(--paper-edge)}
.btn-paper:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}
.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.btn-ghost-paper{background:transparent;color:var(--paper);border-color:rgba(244,239,230,.3)}
.btn-ghost-paper:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-sm{padding:9px 18px;font-size:11.5px}
.btn-lg{padding:18px 32px;font-size:14px}
.btn-block{width:100%}

.link-edit{
  position:relative;display:inline-block;
  color:var(--ink-deep);font-style:italic;padding-bottom:2px;
}
.link-edit::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--gold);transform-origin:right;transform:scaleX(1);
  transition:transform .5s var(--ease-out);
}
.link-edit:hover::after{transform:scaleX(0);transform-origin:left}

/* ───── Whisper bar ───── */
.whisper{
  background:var(--ink-deep);color:var(--paper);
  font-family:var(--sans-ui);
  font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;
  padding:11px 16px;text-align:center;font-weight:400;
}
.whisper span{margin:0 16px;color:var(--gold-pale);opacity:.6}
.whisper em{color:var(--gold-pale);font-style:italic;text-transform:none;letter-spacing:.02em}

/* ───── Nav ───── */
.nav{
  position:sticky;top:0;z-index:80;
  background:rgba(244,239,230,.92);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid var(--rule);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 0}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:48px;width:auto;display:block;filter:saturate(.92) contrast(1.02)}
.brand-text{
  font-family:var(--serif-display);font-weight:400;font-size:22px;
  color:var(--ink-deep);letter-spacing:-.015em;line-height:1;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.brand-text small{
  display:block;font-family:var(--sans-ui);
  font-size:9px;font-weight:500;letter-spacing:.28em;
  color:var(--gold-deep);margin-top:5px;text-transform:uppercase;
}
.nav-links{
  display:flex;align-items:center;gap:36px;
  font-family:var(--sans-ui);font-size:13px;font-weight:500;letter-spacing:.02em;
}
.nav-links a{color:var(--ink-soft);position:relative;transition:color .3s var(--ease-out)}
.nav-links a:hover,.nav-links a.active{color:var(--ink-deep)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:1px;background:var(--gold)}
.nav-actions{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;width:40px;height:40px;position:relative;border:1px solid var(--rule-strong);border-radius:8px}
.nav-toggle span{position:absolute;left:11px;right:11px;height:1px;background:var(--ink-deep);transition:all .35s var(--ease-out)}
.nav-toggle span:nth-child(1){top:14px}
.nav-toggle span:nth-child(2){top:20px}
.nav-toggle span:nth-child(3){top:26px}
.nav-toggle.open span:nth-child(1){top:20px;transform:rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){top:20px;transform:rotate(-45deg)}

/* ───── Hero ───── */
.hero{position:relative;padding:80px 0 100px;background:var(--paper);overflow:hidden}
.hero::after{
  content:"";position:absolute;top:30%;right:-5%;
  width:280px;height:1px;background:var(--gold);
  transform:rotate(-22deg);opacity:.4;
}
.hero-grid{
  display:grid;grid-template-columns:1.4fr 1fr;
  gap:100px;align-items:start;position:relative;
}
.hero-copy{position:relative;z-index:2;padding-top:40px}
.hero h1{
  font-size:clamp(56px, 8.5vw, 132px);
  margin-bottom:48px;letter-spacing:-.035em;line-height:.92;font-weight:280;
}

.hero-timestamp{
  font-family:var(--serif-display);font-style:italic;
  font-size:18px;color:var(--gold-deep);
  margin-bottom:36px;display:flex;align-items:center;gap:14px;
  font-variation-settings:"opsz" 144,"SOFT" 80;font-weight:400;
}
.hero-timestamp .blink{
  width:7px;height:7px;border-radius:50%;background:var(--burgundy);
  animation:gentle-blink 2.4s ease-in-out infinite;
}
@keyframes gentle-blink{0%,100%{opacity:1}50%{opacity:.3}}

.hero-sub{
  font-size:20px;line-height:1.6;color:var(--ink-soft);
  max-width:540px;margin-bottom:48px;font-weight:380;
}
.hero-sub em{color:var(--ink-deep);font-style:italic}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

.hero-aside{
  border-left:1px solid var(--gold);padding:0 0 0 36px;margin-top:90px;position:relative;
}
.hero-aside .marginalia{
  font-family:var(--serif-display);font-style:italic;
  font-size:13px;color:var(--gold-deep);
  letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:18px;display:block;
  font-variation-settings:"opsz" 144,"SOFT" 80;
}
.hero-aside blockquote{
  font-family:var(--serif-display);font-style:italic;font-weight:300;
  font-size:24px;line-height:1.4;color:var(--ink-deep);
  margin-bottom:20px;letter-spacing:-.01em;
  font-variation-settings:"opsz" 144,"SOFT" 90;
}
.hero-aside cite{
  font-style:normal;font-family:var(--sans-ui);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);font-weight:500;
}
.hero-aside cite strong{color:var(--ink-deep);font-weight:600}

.hero-counter{
  margin-top:80px;padding-top:32px;border-top:1px solid var(--rule);
  display:grid;grid-template-columns:repeat(3,1fr);gap:36px;max-width:540px;
}
.hc-item .num{
  font-family:var(--serif-display);font-size:42px;font-weight:300;
  color:var(--ink-deep);line-height:1;letter-spacing:-.025em;
  font-variation-settings:"opsz" 144,"SOFT" 30;
  font-feature-settings:"lnum";display:block;
}
.hc-item .lbl{
  font-family:var(--sans-ui);
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);margin-top:10px;font-weight:500;
}

/* ───── Manifesto ───── */
.manifesto{background:var(--ink-deep);color:var(--paper);padding:140px 0;position:relative;overflow:hidden}
.manifesto::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle at 70% 30%, rgba(168,133,74,.08), transparent 50%);
}
.manifesto-inner{position:relative;max-width:1100px;margin:0 auto;padding:0 36px}
.manifesto .chapter{color:var(--gold-pale)}
.manifesto .chapter::after{background:var(--gold-pale)}
.manifesto h2{
  font-family:var(--serif-display);font-weight:300;
  font-size:clamp(40px, 5.6vw, 88px);line-height:1.04;letter-spacing:-.025em;
  color:var(--paper);margin-bottom:60px;
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.manifesto h2 em{font-style:italic;color:var(--gold-pale);font-variation-settings:"opsz" 144,"SOFT" 100}
.manifesto h2 .strike{
  text-decoration:line-through;text-decoration-color:var(--burgundy);text-decoration-thickness:3px;
  color:var(--ink-mute);font-weight:300;
}
.manifesto-creds{
  display:grid;grid-template-columns:repeat(3,1fr);gap:48px;
  padding-top:56px;border-top:1px solid var(--rule-paper);
}
.creed h4{
  font-family:var(--serif-display);font-style:italic;font-weight:400;
  font-size:24px;color:var(--gold-pale);margin-bottom:14px;
  font-variation-settings:"opsz" 144,"SOFT" 90;letter-spacing:-.01em;
}
.creed p{
  font-family:var(--serif-body);font-size:15px;line-height:1.65;
  color:rgba(244,239,230,.74);font-weight:380;
}

/* ───── Sections ───── */
section{padding:140px 0;position:relative}
.section-tight{padding:90px 0}
.section-warm{background:var(--paper-warm)}
.section-ink{background:var(--ink-deep);color:var(--paper)}

.section-head{margin-bottom:80px;max-width:880px}
.section-head .chapter{margin-bottom:24px}
.section-head h2{
  font-family:var(--serif-display);font-weight:300;
  font-size:clamp(36px, 5vw, 64px);line-height:1;letter-spacing:-.025em;
  margin-bottom:28px;color:var(--ink-deep);
  font-variation-settings:"opsz" 144,"SOFT" 40;
}
.section-head h2 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.section-head .lede{max-width:680px}
.section-ink .section-head h2{color:var(--paper)}
.section-ink .section-head h2 em{color:var(--gold-pale)}
.section-ink .section-head .lede{color:rgba(244,239,230,.7)}

/* ───── Process ───── */
.process{background:var(--paper)}
.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px 100px}
.process-step{position:relative;padding-top:32px;border-top:1px solid var(--gold)}
.process-step .ps-num{
  font-family:var(--serif-display);font-style:italic;font-weight:300;
  font-size:14px;color:var(--gold-deep);
  letter-spacing:.06em;text-transform:uppercase;
  margin-bottom:14px;display:block;
  font-variation-settings:"opsz" 144,"SOFT" 80;
}
.process-step h3{
  font-family:var(--serif-display);font-weight:400;font-size:34px;
  line-height:1.05;margin-bottom:18px;color:var(--ink-deep);
  letter-spacing:-.015em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.process-step h3 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.process-step p{font-size:16.5px;line-height:1.65;color:var(--ink-soft)}

/* ───── Catalog ───── */
.catalog{background:var(--paper)}
.svc-list{border-top:1px solid var(--rule-strong)}
.svc-row{
  display:grid;grid-template-columns:60px 1.4fr 2fr 1fr auto;
  gap:40px;align-items:center;padding:36px 0;
  border-bottom:1px solid var(--rule);
  transition:padding .4s var(--ease-out);position:relative;cursor:pointer;
}
.svc-row:hover{padding-left:16px}
.svc-row::before{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:3px;background:var(--gold);transform:scaleY(0);transform-origin:top;
  transition:transform .5s var(--ease-out);
}
.svc-row:hover::before{transform:scaleY(1)}
.svc-row .num{
  font-family:var(--serif-display);font-style:italic;font-size:15px;
  color:var(--gold-deep);letter-spacing:.04em;font-weight:400;
  font-variation-settings:"opsz" 144,"SOFT" 90;
}
.svc-row h3{
  font-family:var(--serif-display);font-weight:400;font-size:28px;
  color:var(--ink-deep);letter-spacing:-.015em;line-height:1.05;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.svc-row h3 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.svc-row .desc{font-size:15.5px;line-height:1.55;color:var(--ink-soft)}
.svc-row .price{
  font-family:var(--serif-display);font-size:22px;
  color:var(--ink-deep);font-weight:300;letter-spacing:-.01em;
}
.svc-row .price small{
  font-family:var(--sans-ui);font-size:11px;color:var(--ink-mute);
  letter-spacing:.06em;display:block;margin-top:2px;font-weight:500;
}
.svc-row .arrow-link{
  color:var(--ink-deep);font-size:18px;
  transition:transform .4s var(--ease-out);display:inline-block;
}
.svc-row:hover .arrow-link{transform:translateX(8px)}

/* ───── Experts ───── */
.experts{background:var(--paper-warm)}
.experts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.expert-card{
  background:var(--paper-cool);border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);padding:36px 32px;
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out);
  position:relative;
}
.expert-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-paper)}
.ec-portrait{
  width:84px;height:84px;border-radius:50%;
  background:var(--ink-deep);color:var(--gold-pale);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif-display);font-style:italic;font-size:32px;font-weight:300;
  margin-bottom:24px;font-variation-settings:"opsz" 144,"SOFT" 100;position:relative;
}
.ec-portrait::after{
  content:"";position:absolute;inset:-4px;
  border:1px solid var(--gold);border-radius:50%;
}
.expert-card h4{
  font-family:var(--serif-display);font-weight:400;font-size:22px;
  color:var(--ink-deep);margin-bottom:4px;letter-spacing:-.01em;
}
.expert-card .credential{
  font-family:var(--serif-body);font-style:italic;
  font-size:14px;color:var(--gold-deep);margin-bottom:18px;
}
.expert-card .field{
  display:flex;justify-content:space-between;
  font-family:var(--sans-ui);font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-mute);padding:10px 0;
  border-top:1px solid var(--rule);font-weight:500;
}
.expert-card .field:last-of-type{border-bottom:1px solid var(--rule)}
.expert-card .field strong{color:var(--ink-deep);font-weight:600}
.expert-card blockquote{
  font-family:var(--serif-display);font-style:italic;
  font-size:15px;line-height:1.5;color:var(--ink-soft);margin-top:22px;
  font-weight:380;font-variation-settings:"opsz" 144,"SOFT" 80;
}
.expert-card blockquote::before{
  content:"\201C";font-size:36px;line-height:0;
  position:relative;top:6px;color:var(--gold);margin-right:2px;
}

/* ───── Pull quote ───── */
.pullquote{padding:120px 0;background:var(--paper);text-align:center;position:relative}
.pullquote-inner{max-width:1080px;margin:0 auto;padding:0 36px}
.pullquote blockquote{
  font-family:var(--serif-display);font-weight:300;font-style:italic;
  font-size:clamp(32px, 4.6vw, 60px);line-height:1.18;
  color:var(--ink-deep);letter-spacing:-.02em;
  font-variation-settings:"opsz" 144,"SOFT" 100;margin-bottom:36px;
}
.pullquote blockquote .high{
  background:linear-gradient(180deg, transparent 60%, var(--gold-wash) 60%);
  padding:0 4px;
}
.pullquote cite{
  font-style:normal;font-family:var(--sans-ui);
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--ink-mute);font-weight:500;
}
.pullquote cite::before{
  content:"";display:inline-block;width:32px;height:1px;
  background:var(--gold);vertical-align:middle;margin-right:14px;
}

/* ───── Pricing ───── */
.pricing{background:var(--paper)}
.price-table{border-top:1px solid var(--rule-strong)}
.price-row{
  display:grid;grid-template-columns:200px 1fr 200px 200px;gap:40px;align-items:center;
  padding:30px 0;border-bottom:1px solid var(--rule);
}
.price-row.head{
  font-family:var(--sans-ui);
  font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-mute);padding:18px 0;font-weight:600;
}
.price-row .tier{
  font-family:var(--serif-display);font-style:italic;font-size:24px;
  color:var(--ink-deep);font-weight:300;letter-spacing:-.01em;
  font-variation-settings:"opsz" 144,"SOFT" 100;
}
.price-row .feat-list{font-size:14.5px;color:var(--ink-soft);line-height:1.55}
.price-row .from{
  font-family:var(--serif-display);font-size:32px;
  color:var(--ink-deep);font-weight:300;letter-spacing:-.01em;
}
.price-row .from small{
  font-family:var(--sans-ui);font-size:11px;color:var(--ink-mute);
  letter-spacing:.06em;text-transform:uppercase;font-weight:500;
}

/* ───── Subjects ───── */
.subjects-list{
  columns:3;column-gap:60px;
  font-family:var(--serif-body);font-size:16px;line-height:2;color:var(--ink-soft);
  max-width:1080px;margin:0 auto;
}
.subjects-list li{
  break-inside:avoid;position:relative;padding-left:18px;
  transition:color .3s var(--ease-out);
}
.subjects-list li::before{
  content:"\2022";position:absolute;left:0;top:-1px;color:var(--gold);font-size:14px;
}
.subjects-list li:hover{color:var(--ink-deep)}
.subjects-list li.featured{color:var(--ink-deep);font-style:italic}

/* ───── Final CTA ───── */
.cta-letter{padding:160px 0;background:var(--paper-warm);text-align:center;position:relative;overflow:hidden}
.cta-letter::before{
  content:"\2767";position:absolute;
  font-family:var(--serif-display);font-size:300px;color:var(--gold);opacity:.06;
  top:50%;left:50%;transform:translate(-50%, -50%);line-height:1;
}
.cta-letter-inner{position:relative;max-width:880px;margin:0 auto;padding:0 36px}
.cta-letter h2{
  font-family:var(--serif-display);font-weight:300;
  font-size:clamp(44px, 6.5vw, 88px);line-height:1.02;letter-spacing:-.03em;
  margin-bottom:32px;color:var(--ink-deep);
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.cta-letter h2 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.cta-letter p{font-size:19px;line-height:1.55;color:var(--ink-soft);max-width:620px;margin:0 auto 44px}
.cta-letter .ctas{display:inline-flex;gap:14px;flex-wrap:wrap;justify-content:center}

/* ───── Footer ───── */
footer{
  background:var(--ink-deep);color:rgba(244,239,230,.65);
  padding:80px 0 28px;font-size:14px;font-family:var(--serif-body);
}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}
.foot-brand .brand img{filter:invert(1) saturate(.8) brightness(1.1)}
.foot-brand .brand-text{color:var(--paper)}
.foot-brand .brand-text small{color:var(--gold-pale)}
.foot-brand p{margin-top:22px;line-height:1.65;max-width:340px;font-style:italic;font-size:15px}
.foot-col h5{
  font-family:var(--sans-ui);font-weight:600;font-size:11px;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-pale);margin-bottom:22px;
}
.foot-col li{margin-bottom:11px}
.foot-col a{color:rgba(244,239,230,.65);transition:color .3s var(--ease-out)}
.foot-col a:hover{color:var(--paper)}
.foot-bottom{
  border-top:1px solid var(--rule-paper);padding-top:28px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
  font-size:12px;color:rgba(244,239,230,.45);
  font-family:var(--sans-ui);letter-spacing:.04em;
}
.foot-bottom em{font-family:var(--serif-display);font-style:italic;letter-spacing:0;color:var(--gold-pale)}
.foot-bottom a:hover{color:var(--paper)}
.foot-legal{display:flex;gap:28px;flex-wrap:wrap}
.foot-payments{display:flex;gap:8px;align-items:center}
.foot-payments .pay-pill{
  background:rgba(244,239,230,.06);padding:5px 11px;border-radius:4px;
  font-size:10px;font-weight:600;color:rgba(244,239,230,.65);letter-spacing:.1em;
}

/* ───── Live ticker ───── */
.ticker{
  position:fixed;bottom:0;left:0;right:0;z-index:70;
  background:var(--paper-cool);border-top:1px solid var(--gold);
  padding:14px 0;overflow:hidden;
  display:flex;align-items:center;
  font-family:var(--sans-ui);font-size:12px;color:var(--ink-soft);
  font-weight:500;letter-spacing:.04em;
}
.ticker-label{
  flex-shrink:0;padding:0 24px 0 36px;color:var(--gold-deep);
  font-family:var(--serif-display);font-style:italic;font-size:13px;
  font-weight:400;letter-spacing:.04em;
  border-right:1px solid var(--rule);margin-right:24px;
  display:flex;align-items:center;gap:10px;
}
.ticker-label .dot{
  width:6px;height:6px;border-radius:50%;background:var(--burgundy);
  animation:gentle-blink 2.4s ease-in-out infinite;
}
.ticker-track{display:flex;gap:64px;animation:tick 60s linear infinite;white-space:nowrap;flex-shrink:0}
.ticker-item{display:inline-flex;align-items:center;gap:10px}
.ticker-item .who{color:var(--ink-deep);font-weight:600}
.ticker-item .what{color:var(--ink-soft)}
.ticker-item .when{color:var(--gold-deep);font-style:italic;font-family:var(--serif-display);font-weight:400}
.ticker-item::before{content:"\2767";color:var(--gold);margin-right:14px;font-size:10px}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ───── Reveals ───── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.2s var(--ease-out), transform 1.2s var(--ease-out);will-change:opacity, transform}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.12s}
.reveal[data-d="2"]{transition-delay:.24s}
.reveal[data-d="3"]{transition-delay:.36s}
.reveal[data-d="4"]{transition-delay:.48s}
.reveal[data-d="5"]{transition-delay:.6s}

/* =====================================================
   Order page
   ===================================================== */
.order-wrap{padding:48px 0 80px;background:var(--paper);min-height:100vh}
.order-grid{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:flex-start}

.progress{
  background:var(--paper-cool);border-radius:var(--r-lg);
  padding:24px 32px;border:1px solid var(--paper-edge);margin-bottom:28px;
}
.progress-bar{display:flex;align-items:center;justify-content:space-between;position:relative}
.progress-bar::before{
  content:"";position:absolute;top:18px;left:18px;right:18px;height:1px;
  background:var(--rule-strong);z-index:0;
}
.progress-bar::after{
  content:"";position:absolute;top:18px;left:18px;height:1px;
  background:var(--gold);z-index:1;width:0;transition:width .6s var(--ease-out);
}
.progress[data-step="1"] .progress-bar::after{width:0%}
.progress[data-step="2"] .progress-bar::after{width:33%}
.progress[data-step="3"] .progress-bar::after{width:66%}
.progress[data-step="4"] .progress-bar::after{width:calc(100% - 36px)}
.pstep{position:relative;z-index:2;text-align:center;flex:1}
.pstep .dot{
  width:36px;height:36px;border-radius:50%;
  background:var(--paper-cool);border:1px solid var(--rule-strong);color:var(--ink-mute);
  font-family:var(--serif-display);font-style:italic;font-size:15px;font-weight:400;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 12px;transition:all .35s var(--ease-out);
}
.pstep.active .dot{background:var(--ink-deep);color:var(--paper);border-color:var(--ink-deep)}
.pstep.done .dot{background:var(--gold);color:var(--paper-cool);border-color:var(--gold)}
.pstep .lbl{
  font-family:var(--sans-ui);
  font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-mute);font-weight:500;
}
.pstep.active .lbl,.pstep.done .lbl{color:var(--ink-deep);font-weight:600}

.fcard{
  background:var(--paper-cool);border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);padding:48px;
}
.fcard h2{
  font-family:var(--serif-display);font-weight:400;font-size:32px;
  color:var(--ink-deep);margin-bottom:8px;letter-spacing:-.02em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.fcard .fcard-sub{color:var(--ink-soft);font-size:15.5px;margin-bottom:36px;font-style:italic}
.fstep{display:none}
.fstep.active{display:block;animation:fade-in .5s var(--ease-out)}
@keyframes fade-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.field{margin-bottom:24px}
.field label{
  font-family:var(--sans-ui);
  display:block;font-size:11px;font-weight:600;color:var(--ink-deep);
  margin-bottom:10px;letter-spacing:.14em;text-transform:uppercase;
}
.field label .req{color:var(--burgundy);font-weight:700}
.field-help{font-size:13px;color:var(--ink-mute);margin-top:8px;font-style:italic}
.input,.select,.textarea{
  font-family:var(--serif-body);width:100%;padding:14px 18px;
  border:1px solid var(--paper-edge);border-radius:8px;background:var(--paper);
  font-size:16px;color:var(--ink-deep);
  transition:border-color .3s var(--ease-out), box-shadow .3s var(--ease-out);
}
.input:focus,.select:focus,.textarea:focus{
  outline:none;border-color:var(--ink-deep);box-shadow:0 0 0 3px var(--gold-wash);
}
.textarea{resize:vertical;min-height:130px;line-height:1.55}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{
  position:relative;padding:20px 16px;text-align:center;
  border:1px solid var(--paper-edge);border-radius:10px;cursor:pointer;
  background:var(--paper);transition:all .3s var(--ease-out);
}
.tile:hover{border-color:var(--gold);transform:translateY(-2px)}
.tile input{position:absolute;opacity:0;pointer-events:none}
.tile:has(input:checked){border-color:var(--ink-deep);background:var(--paper-warm);box-shadow:0 0 0 1px var(--ink-deep)}
.tile-content svg{width:24px;height:24px;margin:0 auto 10px;color:var(--ink-soft);stroke-width:1.4}
.tile:has(input:checked) .tile-content svg{color:var(--burgundy)}
.tile-content .t-name{
  font-family:var(--serif-display);font-weight:400;font-size:15px;
  color:var(--ink-deep);display:block;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.tile-content .t-desc{
  font-family:var(--sans-ui);font-size:10.5px;color:var(--ink-mute);
  margin-top:4px;display:block;letter-spacing:.04em;
}

.upload-zone{
  border:1.5px dashed var(--rule-strong);border-radius:var(--r);
  padding:42px 20px;text-align:center;cursor:pointer;
  transition:all .3s var(--ease-out);background:var(--paper);
}
.upload-zone:hover{border-color:var(--gold);background:var(--gold-wash)}
.upload-zone input{display:none}
.upload-zone svg{width:42px;height:42px;color:var(--gold-deep);margin:0 auto 12px;stroke-width:1.2}
.upload-zone .up-title{
  font-family:var(--serif-display);font-size:18px;color:var(--ink-deep);
  margin-bottom:6px;font-weight:400;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.upload-zone .up-hint{font-size:13px;color:var(--ink-mute);font-style:italic}
.uploaded-files{margin-top:16px}
.uploaded-files .f-item{
  display:flex;align-items:center;gap:10px;
  padding:11px 14px;background:var(--paper-warm);border-radius:6px;
  margin-bottom:6px;font-size:13.5px;
}
.uploaded-files .f-item .f-name{flex:1;color:var(--ink-deep);font-weight:500}
.uploaded-files .f-item .f-size{color:var(--ink-mute);font-size:11.5px;font-style:italic}
.uploaded-files .f-item button{color:var(--burgundy);font-size:20px;line-height:1;font-weight:300}

.fnav{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:36px;padding-top:28px;border-top:1px solid var(--rule);
}
.fnav .secure-note{
  font-family:var(--sans-ui);font-size:11px;color:var(--ink-mute);
  display:flex;align-items:center;gap:6px;
  letter-spacing:.08em;text-transform:uppercase;font-weight:500;
}
.fnav .secure-note svg{width:13px;height:13px;color:var(--sage)}

.summary{
  position:sticky;top:96px;
  background:var(--paper-cool);border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);padding:32px;
}
.summary h3{
  font-family:var(--serif-display);font-weight:400;font-size:22px;
  color:var(--ink-deep);margin-bottom:22px;
  padding-bottom:18px;border-bottom:1px solid var(--rule);letter-spacing:-.01em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.sum-row{display:flex;justify-content:space-between;align-items:center;padding:9px 0;font-size:14px}
.sum-row .lbl{
  font-family:var(--sans-ui);color:var(--ink-mute);
  font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;
}
.sum-row .val{color:var(--ink-deep);font-weight:500;text-align:right;font-family:var(--serif-body)}
.sum-row .val.empty{color:var(--ink-mute);font-style:italic;font-weight:400}
.sum-divider{height:1px;background:var(--rule);margin:14px 0}
.sum-total{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:18px 0;border-top:1px solid var(--ink-deep);margin-top:8px;
}
.sum-total .lbl{
  font-family:var(--sans-ui);font-size:11px;font-weight:600;
  color:var(--ink-deep);text-transform:uppercase;letter-spacing:.16em;
}
.sum-total .val{
  font-family:var(--serif-display);font-size:42px;font-weight:300;
  color:var(--ink-deep);line-height:1;letter-spacing:-.025em;
}
.sum-trust{margin-top:24px;font-size:12.5px;color:var(--ink-soft);display:grid;gap:9px}
.sum-trust .t-row{
  display:flex;align-items:center;gap:9px;
  font-family:var(--sans-ui);font-size:11.5px;letter-spacing:.04em;font-weight:500;
}
.sum-trust svg{width:13px;height:13px;color:var(--sage);flex-shrink:0}

.urgency-flag{
  margin-top:16px;padding:14px 16px;
  background:var(--gold-wash);border:1px solid var(--gold-pale);
  border-radius:8px;font-size:12.5px;color:var(--gold-deep);
  display:flex;gap:9px;align-items:flex-start;font-style:italic;
}
.urgency-flag.danger{background:#F8E5E5;border-color:#E8C0C0;color:var(--burgundy)}
.urgency-flag svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}
.urgency-flag strong{font-style:normal;font-weight:600}

.review-block{
  background:var(--paper);border:1px solid var(--paper-edge);
  border-radius:var(--r);padding:24px;margin-bottom:20px;
}
.review-block h4{
  font-family:var(--sans-ui);font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.16em;color:var(--gold-deep);margin-bottom:16px;
}
.review-block .r-row{display:flex;justify-content:space-between;padding:7px 0;font-size:14px}
.review-block .r-row .lbl{color:var(--ink-mute)}
.review-block .r-row .val{color:var(--ink-deep);font-weight:500;text-align:right;max-width:60%}

/* =====================================================
   Dashboard
   ===================================================== */
.dash-shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:var(--paper)}
.dash-side{
  background:var(--ink-deep);color:var(--paper);padding:32px 22px;
  position:sticky;top:0;height:100vh;overflow-y:auto;
}
.dash-side .brand img{height:42px;filter:invert(1) saturate(.8) brightness(1.1)}
.dash-side .brand-text{color:var(--paper);font-size:19px}
.dash-side .brand-text small{color:var(--gold-pale)}
.side-section{margin-top:36px}
.side-section .s-label{
  font-family:var(--sans-ui);
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-pale);font-weight:600;margin-bottom:10px;padding:0 14px;opacity:.7;
}
.side-link{
  display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:8px;
  font-family:var(--serif-body);color:rgba(244,239,230,.7);font-size:14.5px;
  transition:all .3s var(--ease-out);margin-bottom:2px;
}
.side-link:hover{background:rgba(244,239,230,.06);color:var(--paper)}
.side-link.active{background:var(--gold-deep);color:var(--paper-cool);font-weight:500}
.side-link svg{width:17px;height:17px;stroke-width:1.5;flex-shrink:0}
.side-link .badge{
  margin-left:auto;background:var(--burgundy);color:var(--paper);
  font-family:var(--sans-ui);font-size:10px;font-weight:600;
  padding:2px 8px;border-radius:999px;letter-spacing:.05em;
}
.side-user{
  position:absolute;bottom:22px;left:22px;right:22px;
  background:rgba(244,239,230,.06);border:1px solid var(--rule-paper);
  border-radius:10px;padding:14px;display:flex;align-items:center;gap:12px;
}
.side-user .avatar{
  width:40px;height:40px;border-radius:50%;
  background:var(--gold-deep);color:var(--paper-cool);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif-display);font-style:italic;font-size:16px;font-weight:400;
}
.side-user .meta strong{
  display:block;font-family:var(--serif-display);
  font-size:15px;color:var(--paper);font-weight:500;
}
.side-user .meta span{font-size:11.5px;color:rgba(244,239,230,.5);font-style:italic}

.dash-main{padding:36px 44px}
.dash-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;gap:20px;flex-wrap:wrap}
.dash-head h1{
  font-family:var(--serif-display);font-size:38px;font-weight:300;
  color:var(--ink-deep);letter-spacing:-.02em;margin-bottom:6px;
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.dash-head p{color:var(--ink-soft);font-size:15.5px;font-style:italic}

.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:36px}
.stat-card{
  background:var(--paper-cool);border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);padding:26px;
  position:relative;overflow:hidden;
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
}
.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-paper)}
.stat-card .ic{
  width:40px;height:40px;border-radius:10px;
  background:var(--paper-warm);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;
}
.stat-card.gold .ic{background:var(--gold-wash);color:var(--burgundy)}
.stat-card .ic svg{width:18px;height:18px;stroke-width:1.6}
.stat-card .n{
  font-family:var(--serif-display);font-size:36px;font-weight:300;
  color:var(--ink-deep);line-height:1;letter-spacing:-.02em;
}
.stat-card .l{
  font-family:var(--sans-ui);
  font-size:11px;color:var(--ink-mute);margin-top:8px;
  text-transform:uppercase;letter-spacing:.12em;font-weight:500;
}
.stat-card .delta{font-size:12px;color:var(--sage);font-weight:600;margin-top:6px;font-style:italic;font-family:var(--serif-body)}

.dash-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}
.panel{
  background:var(--paper-cool);border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);padding:28px;
}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.panel-head h3{
  font-family:var(--serif-display);font-size:22px;font-weight:400;
  color:var(--ink-deep);letter-spacing:-.01em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.panel-head .btn-link{
  font-family:var(--sans-ui);font-size:11px;font-weight:600;
  color:var(--gold-deep);letter-spacing:.12em;text-transform:uppercase;
  background:none;padding:0;
}
.panel-head .btn-link:hover{color:var(--ink-deep)}

.order-row{
  padding:20px 0;border-top:1px solid var(--rule);
  display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;
}
.order-row:first-of-type{border-top:none;padding-top:0}
.order-row .o-info h4{
  font-family:var(--serif-display);font-size:17px;font-weight:500;
  color:var(--ink-deep);margin-bottom:4px;letter-spacing:-.005em;
}
.order-row .o-info .meta{
  font-family:var(--sans-ui);font-size:11.5px;color:var(--ink-mute);
  display:flex;gap:14px;flex-wrap:wrap;letter-spacing:.04em;
}
.order-row .o-info .meta span::before{content:"\2022";margin-right:10px;color:var(--gold)}
.order-row .o-info .meta span:first-child::before{display:none;margin:0}
.status{
  font-family:var(--sans-ui);
  font-size:10.5px;font-weight:600;padding:5px 11px;border-radius:999px;
  letter-spacing:.1em;text-transform:uppercase;
}
.status.in-progress{background:var(--gold-wash);color:var(--gold-deep)}
.status.completed{background:#E2EAE0;color:var(--sage)}
.status.review{background:var(--paper-warm);color:var(--ink-soft)}
.progress-line{margin-top:11px;height:3px;background:var(--paper-warm);border-radius:99px;overflow:hidden;width:200px}
.progress-line .fill{height:100%;background:var(--gold);border-radius:99px}

.notif{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--rule)}
.notif:last-child{border-bottom:none}
.notif .ic{
  width:34px;height:34px;border-radius:8px;flex-shrink:0;
  background:var(--paper-warm);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
}
.notif .ic svg{width:15px;height:15px;stroke-width:1.6}
.notif .body{flex:1;font-size:14px;color:var(--ink);line-height:1.5}
.notif .body strong{color:var(--ink-deep);font-weight:600}
.notif .body .t{
  font-family:var(--sans-ui);
  display:block;font-size:10.5px;color:var(--ink-mute);margin-top:4px;
  letter-spacing:.08em;text-transform:uppercase;font-weight:500;
}

/* =====================================================
   Auth pages
   ===================================================== */
.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--paper)}
.auth-aside{
  background:var(--ink-deep);color:var(--paper);padding:64px 56px;
  display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden;
}
.auth-aside::before{
  content:"";position:absolute;top:30%;right:-20%;width:500px;height:500px;
  background:radial-gradient(circle, rgba(168,133,74,.18), transparent 65%);border-radius:50%;
}
.auth-aside .brand img{filter:invert(1) saturate(.8) brightness(1.1)}
.auth-aside .brand-text{color:var(--paper);font-size:22px}
.auth-aside .brand-text small{color:var(--gold-pale)}

.aside-content{position:relative;max-width:500px}
.aside-chapter{
  font-family:var(--serif-display);font-style:italic;font-size:14px;
  color:var(--gold-pale);letter-spacing:.12em;text-transform:uppercase;
  margin-bottom:28px;display:block;font-weight:400;
  font-variation-settings:"opsz" 144,"SOFT" 80;
}
.aside-content h2{
  font-family:var(--serif-display);font-weight:300;
  font-size:48px;line-height:1.05;margin-bottom:24px;letter-spacing:-.025em;
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.aside-content h2 em{font-style:italic;color:var(--gold-pale);font-variation-settings:"opsz" 144,"SOFT" 100}
.aside-content p{color:rgba(244,239,230,.78);font-size:17px;line-height:1.6;font-style:italic;font-weight:380}
.aside-quote{position:relative;border-top:1px solid var(--rule-paper);padding-top:32px;margin-top:48px}
.aside-quote blockquote{
  font-family:var(--serif-display);font-style:italic;
  font-size:20px;line-height:1.45;color:var(--paper);
  margin-bottom:14px;font-weight:300;
  font-variation-settings:"opsz" 144,"SOFT" 90;
}
.aside-quote cite{
  font-family:var(--sans-ui);font-style:normal;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-pale);font-weight:500;
}

.auth-main{display:flex;align-items:center;justify-content:center;padding:48px 32px}
.auth-card{width:100%;max-width:440px}
.auth-card .top-link{
  font-family:var(--sans-ui);
  font-size:11px;color:var(--ink-mute);margin-bottom:36px;
  text-transform:uppercase;letter-spacing:.12em;font-weight:500;
}
.auth-card .top-link a{color:var(--ink-deep);font-weight:600}
.auth-card h1{
  font-family:var(--serif-display);font-weight:300;font-size:44px;
  color:var(--ink-deep);letter-spacing:-.025em;margin-bottom:10px;line-height:1;
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.auth-card h1 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.auth-card .sub{color:var(--ink-soft);font-size:16px;margin-bottom:36px;font-style:italic}
.auth-form .field{margin-bottom:20px}
.auth-form label{
  font-family:var(--sans-ui);
  display:block;font-size:11px;font-weight:600;color:var(--ink-deep);
  margin-bottom:8px;letter-spacing:.14em;text-transform:uppercase;
}
.auth-error{
  padding:13px 15px;background:#F8E5E5;border:1px solid #E8C0C0;
  border-radius:8px;color:var(--burgundy);font-size:13.5px;
  margin-bottom:20px;display:none;font-style:italic;
}
.auth-error.show{display:block}
.auth-foot{margin-top:28px;font-size:14px;color:var(--ink-soft);text-align:center;font-style:italic}
.auth-foot a{color:var(--ink-deep);font-weight:600;font-style:normal}

/* =====================================================
   FAQ
   ===================================================== */
.faq{max-width:820px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{
  list-style:none;padding:24px 0;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:var(--serif-display);font-size:19px;font-weight:400;
  color:var(--ink-deep);transition:color .3s var(--ease-out);letter-spacing:-.005em;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";font-family:var(--serif-display);font-size:28px;
  color:var(--gold-deep);font-weight:300;
  transition:transform .35s var(--ease-out);line-height:1;
}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item summary:hover{color:var(--burgundy)}
.faq-item .a{padding:0 0 24px;color:var(--ink-soft);font-size:16px;line-height:1.7;max-width:90%}

/* =====================================================
   Hero with inline order form (Locus-style)
   ===================================================== */
.hero-locus{
  position:relative;padding:64px 0 90px;background:var(--paper);overflow:hidden;
}
.hero-locus::before{
  content:"";position:absolute;top:-10%;right:-10%;
  width:60%;height:80%;
  background:radial-gradient(closest-side, var(--gold-wash), transparent 70%);
  opacity:.6;pointer-events:none;
}
.hero-locus::after{
  content:"";position:absolute;bottom:-20%;left:-10%;
  width:50%;height:60%;
  background:radial-gradient(closest-side, var(--paper-warm), transparent 70%);
  pointer-events:none;
}
.hero-locus-grid{
  display:grid;grid-template-columns:1.1fr .9fr;gap:64px;
  align-items:center;position:relative;z-index:2;
}
.hero-locus h1{
  font-family:var(--serif-display);font-weight:300;
  font-size:clamp(40px, 5.6vw, 68px);
  line-height:1.02;letter-spacing:-.025em;color:var(--ink-deep);
  margin-bottom:24px;
  font-variation-settings:"opsz" 144,"SOFT" 40;
}
.hero-locus h1 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.hero-locus h1 .gold-em{font-style:italic;color:var(--gold-deep);font-variation-settings:"opsz" 144,"SOFT" 100}
.hero-locus .lede{font-size:18px;color:var(--ink-soft);margin-bottom:28px;max-width:560px}
.hero-locus .lede strong{color:var(--ink-deep)}

.hero-locus-trust{
  display:flex;gap:18px;flex-wrap:wrap;align-items:center;
  margin-top:32px;padding-top:28px;border-top:1px solid var(--rule);
}
.trust-pill{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;background:var(--paper-cool);
  border:1px solid var(--paper-edge);border-radius:10px;
}
.trust-pill .stars{color:var(--gold);font-size:14px;letter-spacing:1px}
.trust-pill .meta{
  font-family:var(--sans-ui);font-size:11px;letter-spacing:.06em;
  color:var(--ink-deep);font-weight:600;line-height:1.2;
}
.trust-pill .meta small{
  display:block;color:var(--ink-mute);font-weight:500;
  letter-spacing:.04em;margin-top:2px;
}

/* Inline brief form — the hero card */
.brief-card{
  background:var(--paper-cool);
  border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);
  padding:36px;
  box-shadow:var(--shadow-paper);
  position:relative;
}
.brief-card::before{
  content:"\2767";position:absolute;
  font-family:var(--serif-display);font-size:22px;color:var(--gold);
  top:18px;right:24px;line-height:1;
}
.brief-card h3{
  font-family:var(--serif-display);font-weight:400;
  font-size:22px;color:var(--ink-deep);
  margin-bottom:6px;letter-spacing:-.01em;line-height:1.15;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.brief-card h3 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.brief-card .brief-sub{
  font-size:13.5px;color:var(--ink-mute);
  margin-bottom:24px;font-style:italic;
}
.brief-card .field{margin-bottom:14px}
.brief-card .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.brief-card .field label{
  font-family:var(--sans-ui);
  font-size:10.5px;font-weight:600;color:var(--ink-deep);
  display:block;margin-bottom:6px;
  letter-spacing:.14em;text-transform:uppercase;
}
.brief-card .field label .req{color:var(--burgundy);font-weight:700}
.brief-card .input,.brief-card .select,.brief-card .textarea{
  font-family:var(--serif-body);width:100%;padding:11px 14px;
  border:1px solid var(--paper-edge);border-radius:7px;background:var(--paper);
  font-size:14.5px;color:var(--ink-deep);
  transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.brief-card .input:focus,.brief-card .select:focus,.brief-card .textarea:focus{
  outline:none;border-color:var(--ink-deep);box-shadow:0 0 0 3px var(--gold-wash);
}
.brief-card .textarea{resize:vertical;min-height:80px;line-height:1.45}
.brief-card .submit-row{margin-top:18px}
.brief-card .submit-row .btn{width:100%}
.brief-card .micro{
  text-align:center;font-size:11px;color:var(--ink-mute);
  margin-top:14px;line-height:1.5;font-style:italic;
}

/* =====================================================
   Features grid (Locus "Features Of Our Online Help")
   ===================================================== */
.features{background:var(--paper)}
.features-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.feature-card{
  background:var(--paper-cool);
  border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);
  padding:32px 28px;
  position:relative;
  transition:transform .5s var(--ease-out), box-shadow .5s var(--ease-out), border-color .5s var(--ease-out);
}
.feature-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow-paper);
  border-color:var(--gold-pale);
}
.feature-card .ic{
  width:56px;height:56px;border-radius:14px;
  background:var(--gold-wash);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;border:1px solid var(--gold-pale);
}
.feature-card .ic svg{width:26px;height:26px;stroke-width:1.5}
.feature-card h3{
  font-family:var(--serif-display);font-weight:400;font-size:22px;
  color:var(--ink-deep);margin-bottom:10px;letter-spacing:-.01em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.feature-card h3 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.feature-card p{font-size:14.5px;line-height:1.6;color:var(--ink-soft)}

/* =====================================================
   Pricing — two columns (Included / Additional)
   ===================================================== */
.pricing-locus{background:var(--paper-warm)}
.pricing-locus .head-center{text-align:center;max-width:720px;margin:0 auto 60px}
.pricing-locus .head-center h2{
  font-family:var(--serif-display);font-weight:300;
  font-size:clamp(36px, 4.8vw, 56px);
  color:var(--ink-deep);letter-spacing:-.025em;margin-bottom:16px;line-height:1.05;
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.pricing-locus .head-center h2 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.pricing-locus .head-center .price-from-label{
  font-family:var(--serif-body);font-size:17px;color:var(--ink-soft);font-style:italic;
}
.pricing-locus .head-center .price-from-label strong{color:var(--burgundy);font-style:normal;font-weight:600}

.price-cols{
  display:grid;grid-template-columns:1fr 1fr;gap:28px;
  max-width:1080px;margin:0 auto;
}
.price-col{
  background:var(--paper-cool);border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);padding:36px 32px;
}
.price-col h3{
  font-family:var(--serif-display);font-weight:400;font-size:24px;
  color:var(--ink-deep);margin-bottom:6px;letter-spacing:-.01em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.price-col h3 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.price-col .col-sub{
  font-family:var(--serif-body);font-size:13.5px;
  color:var(--ink-mute);margin-bottom:22px;font-style:italic;
}
.price-list{display:grid;gap:2px}
.price-item{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--rule);
}
.price-item:last-child{border-bottom:none}
.price-item .name{
  display:flex;align-items:center;gap:10px;
  font-family:var(--serif-body);font-size:15px;color:var(--ink-deep);font-weight:500;
}
.price-item .check{
  width:18px;height:18px;color:var(--sage);flex-shrink:0;
}
.price-item .check svg{width:18px;height:18px;stroke-width:2.5}
.price-item .amt{
  font-family:var(--sans-ui);font-size:13px;
  display:flex;align-items:baseline;gap:8px;
}
.price-item .amt .strike{
  text-decoration:line-through;color:var(--ink-mute);font-size:12px;
}
.price-item .amt .free{
  color:var(--sage);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:11.5px;
}
.price-item .amt .extra{
  color:var(--gold-deep);font-weight:600;font-size:13px;font-style:italic;font-family:var(--serif-body);
}

/* =====================================================
   Popular services (Locus carousel-style cards)
   ===================================================== */
.popular{background:var(--paper)}
.popular-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:20px;
}
.pop-card{
  background:var(--paper-cool);
  border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);
  padding:28px 24px;text-align:center;
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
  display:flex;flex-direction:column;
}
.pop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-paper)}
.pop-icon{
  width:80px;height:80px;border-radius:50%;
  background:var(--gold-wash);color:var(--gold-deep);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;border:1px solid var(--gold-pale);
  position:relative;
}
.pop-icon::after{
  content:"";position:absolute;inset:-5px;
  border:1px solid var(--gold-pale);border-radius:50%;opacity:.4;
}
.pop-icon svg{width:34px;height:34px;stroke-width:1.4}
.pop-card h4{
  font-family:var(--serif-display);font-weight:400;font-size:20px;
  color:var(--ink-deep);margin-bottom:10px;letter-spacing:-.005em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.pop-card p{font-size:13.5px;line-height:1.55;color:var(--ink-soft);flex-grow:1;margin-bottom:16px}
.pop-card .pop-link{
  font-family:var(--sans-ui);
  font-size:11px;font-weight:600;
  color:var(--gold-deep);letter-spacing:.14em;text-transform:uppercase;
  border-top:1px solid var(--rule);padding-top:14px;
  display:inline-block;
}
.pop-card .pop-link:hover{color:var(--burgundy)}

/* =====================================================
   Stats band (Numbers Reflect Our Commitment)
   ===================================================== */
.stats-band{
  background:var(--ink-deep);color:var(--paper);
  padding:80px 0;position:relative;overflow:hidden;
}
.stats-band::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 20% 50%, rgba(168,133,74,.1), transparent 50%),
             radial-gradient(circle at 80% 50%, rgba(168,133,74,.08), transparent 50%);
}
.stats-band-inner{position:relative;text-align:center}
.stats-band h2{
  font-family:var(--serif-display);font-weight:300;
  font-size:clamp(28px, 3.6vw, 42px);letter-spacing:-.02em;
  color:var(--paper);margin-bottom:48px;line-height:1.1;
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.stats-band h2 em{font-style:italic;color:var(--gold-pale);font-variation-settings:"opsz" 144,"SOFT" 100}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:32px;
  max-width:1080px;margin:0 auto;
}
.stat-cell{position:relative}
.stat-cell:not(:last-child)::after{
  content:"";position:absolute;right:-16px;top:20%;height:60%;width:1px;
  background:var(--rule-paper);
}
.stat-cell .figure{
  font-family:var(--serif-display);font-size:clamp(36px, 4vw, 56px);
  font-weight:300;color:var(--gold-pale);
  letter-spacing:-.025em;line-height:1;
  font-variation-settings:"opsz" 144,"SOFT" 30;
}
.stat-cell .label{
  font-family:var(--sans-ui);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(244,239,230,.6);
  margin-top:12px;font-weight:500;
}

/* =====================================================
   Study resources (sample work cards)
   ===================================================== */
.resources{background:var(--paper)}
.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.resource-card{
  background:var(--paper-cool);
  border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);
  overflow:hidden;
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
}
.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-paper)}
.resource-thumb{
  height:170px;background:var(--paper-warm);
  position:relative;display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.resource-thumb::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(
    0deg,
    var(--paper-edge) 0 1.5px,
    transparent 1.5px 8px
  );
  opacity:.5;
}
.resource-thumb-stack{
  position:relative;z-index:1;
  font-family:var(--serif-display);font-style:italic;
  font-size:64px;color:var(--gold-deep);opacity:.4;line-height:1;
  font-variation-settings:"opsz" 144,"SOFT" 100;
}
.resource-body{padding:24px}
.resource-body .head-row{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:6px;
}
.resource-body h4{
  font-family:var(--serif-display);font-weight:500;font-size:19px;
  color:var(--ink-deep);letter-spacing:-.005em;
}
.resource-body .badge{
  font-family:var(--sans-ui);font-size:10.5px;
  background:var(--gold-wash);color:var(--gold-deep);
  padding:4px 10px;border-radius:6px;font-weight:600;
  letter-spacing:.06em;display:inline-flex;align-items:center;gap:5px;
}
.resource-body .badge svg{width:11px;height:11px;stroke-width:2}
.resource-body p{
  font-size:13.5px;color:var(--ink-soft);line-height:1.55;
  margin-bottom:18px;font-style:italic;
}
.resource-body .btn{width:100%;justify-content:center}

/* =====================================================
   How It Works — numbered horizontal
   ===================================================== */
.howitworks{background:var(--paper-warm)}
.how-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  position:relative;
}
.how-grid::before{
  content:"";position:absolute;top:48px;left:8%;right:8%;height:1px;
  background:repeating-linear-gradient(90deg, var(--gold) 0 6px, transparent 6px 14px);
  z-index:0;
}
.how-card{
  text-align:center;position:relative;z-index:1;
  background:var(--paper-cool);
  border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);
  padding:36px 24px;
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
}
.how-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-paper)}
.how-num{
  width:64px;height:64px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--gold);
  color:var(--ink-deep);
  font-family:var(--serif-display);font-style:italic;font-size:22px;font-weight:400;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
  font-variation-settings:"opsz" 144,"SOFT" 100;position:relative;
}
.how-num::after{
  content:"";position:absolute;inset:-5px;
  border:1px solid var(--gold-pale);border-radius:50%;
}
.how-card h4{
  font-family:var(--serif-display);font-weight:400;font-size:19px;
  color:var(--ink-deep);margin-bottom:10px;letter-spacing:-.005em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.how-card p{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}

/* =====================================================
   Testimonials carousel
   ===================================================== */
.testimonials-locus{background:var(--paper)}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.test-card{
  background:var(--paper-cool);
  border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);
  padding:30px 28px;
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
  position:relative;
}
.test-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-paper)}
.test-card .stars{color:var(--gold);font-size:15px;letter-spacing:2px;margin-bottom:14px}
.test-card blockquote{
  font-family:var(--serif-display);font-style:italic;font-weight:380;
  font-size:16.5px;line-height:1.55;color:var(--ink-deep);
  margin-bottom:22px;letter-spacing:-.005em;
  font-variation-settings:"opsz" 144,"SOFT" 90;
}
.test-card blockquote::before{
  content:"\201C";font-size:36px;line-height:0;
  position:relative;top:6px;color:var(--gold);margin-right:2px;
}
.test-card cite{
  font-style:normal;display:flex;align-items:center;gap:12px;
  padding-top:18px;border-top:1px solid var(--rule);
}
.test-card cite .av{
  width:38px;height:38px;border-radius:50%;
  background:var(--ink-deep);color:var(--gold-pale);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif-display);font-style:italic;font-size:14px;font-weight:400;
}
.test-card cite .who{
  font-family:var(--serif-body);font-size:14px;
  color:var(--ink-deep);font-weight:500;
}
.test-card cite .who .place{
  font-family:var(--sans-ui);
  display:block;font-size:11px;color:var(--ink-mute);
  letter-spacing:.06em;margin-top:2px;
}

/* =====================================================
   University trust band
   ===================================================== */
.universities{
  background:var(--paper-warm);padding:60px 0;
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
}
.uni-band{
  display:flex;align-items:center;justify-content:center;gap:48px;
  flex-wrap:wrap;
}
.uni-label{
  font-family:var(--serif-display);font-style:italic;font-weight:400;
  font-size:18px;color:var(--gold-deep);
  font-variation-settings:"opsz" 144,"SOFT" 90;letter-spacing:-.005em;
  text-align:center;max-width:200px;line-height:1.3;
}
.uni-label small{
  display:block;font-family:var(--sans-ui);font-size:10.5px;
  color:var(--ink-mute);letter-spacing:.16em;text-transform:uppercase;
  font-style:normal;margin-top:6px;font-weight:500;
}
.uni-list{
  display:flex;align-items:center;gap:36px;flex-wrap:wrap;
}
.uni-name{
  font-family:var(--serif-display);font-weight:400;font-size:17px;
  color:var(--ink-soft);letter-spacing:-.005em;
  transition:color .3s var(--ease-out);
  font-variation-settings:"opsz" 144,"SOFT" 50;
  padding:8px 14px;border:1px solid transparent;border-radius:6px;
}
.uni-name:hover{color:var(--ink-deep);border-color:var(--paper-edge)}

/* =====================================================
   Callback / contact band
   ===================================================== */
.callback{background:var(--paper)}
.callback-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.callback-info h3{
  font-family:var(--serif-display);font-weight:300;
  font-size:clamp(32px, 4vw, 48px);
  color:var(--ink-deep);margin-bottom:18px;letter-spacing:-.025em;line-height:1.05;
  font-variation-settings:"opsz" 144,"SOFT" 50;
}
.callback-info h3 em{font-style:italic;color:var(--burgundy);font-variation-settings:"opsz" 144,"SOFT" 100}
.callback-info p{font-size:16px;color:var(--ink-soft);margin-bottom:24px;line-height:1.6}
.callback-contact{display:grid;gap:14px;font-size:14.5px}
.callback-contact .row{
  display:flex;align-items:center;gap:14px;
  color:var(--ink-soft);
}
.callback-contact .row svg{
  width:18px;height:18px;color:var(--gold-deep);flex-shrink:0;stroke-width:1.6;
}
.callback-contact .row strong{color:var(--ink-deep);font-weight:600}
.callback-contact .row a:hover{color:var(--burgundy)}

.callback-form{
  background:var(--paper-cool);border:1px solid var(--paper-edge);
  border-radius:var(--r-lg);padding:36px;
}
.callback-form h4{
  font-family:var(--serif-display);font-weight:400;font-size:22px;
  color:var(--ink-deep);margin-bottom:6px;letter-spacing:-.01em;
  font-variation-settings:"opsz" 144,"SOFT" 60;
}
.callback-form .sub{font-size:13.5px;color:var(--ink-mute);margin-bottom:22px;font-style:italic}

/* =====================================================
   FAQ tab (sidebar tab — Locus has one on left edge)
   ===================================================== */
.faq-tab{
  position:fixed;top:38%;left:0;z-index:60;
  background:var(--burgundy);color:var(--paper);
  font-family:var(--sans-ui);font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  padding:14px 8px;border-radius:0 6px 6px 0;
  writing-mode:vertical-rl;text-orientation:mixed;
  cursor:pointer;
  transition:padding .3s var(--ease-out);
}
.faq-tab:hover{padding:14px 12px;background:var(--ink-deep)}

/* =====================================================
   Responsive
   ===================================================== */
@media (max-width: 980px){
  .hero-locus{padding:40px 0 60px}
  .hero-locus-grid{grid-template-columns:1fr;gap:36px}
  .features-grid{grid-template-columns:1fr;gap:18px}
  .price-cols{grid-template-columns:1fr;gap:18px}
  .popular-grid{grid-template-columns:1fr 1fr;gap:14px}
  .stats-grid{grid-template-columns:1fr 1fr;gap:32px}
  .stat-cell:not(:last-child)::after{display:none}
  .resources-grid{grid-template-columns:1fr;gap:18px}
  .how-grid{grid-template-columns:1fr 1fr;gap:18px}
  .how-grid::before{display:none}
  .test-grid{grid-template-columns:1fr;gap:18px}
  .uni-band{gap:24px;flex-direction:column}
  .uni-list{justify-content:center;gap:16px}
  .callback-grid{grid-template-columns:1fr;gap:36px}
  .brief-card{padding:28px 22px}
  .brief-card .field-row{grid-template-columns:1fr}
  .faq-tab{display:none}
  .nav-links{
    position:fixed;top:64px;left:0;right:0;bottom:0;z-index:88;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);padding:28px 36px;
    transform:translateY(-110%);transition:transform .4s var(--ease-out);
    border-top:1px solid var(--rule);overflow-y:auto;
  }
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:18px 0;border-bottom:1px solid var(--rule);font-family:var(--serif-display);font-size:24px;color:var(--ink-deep)}
  .nav-links a.active::after{display:none}
  .nav-toggle{display:block}
  .hero{padding:60px 0 90px}
  .hero-grid{grid-template-columns:1fr;gap:60px}
  .hero-aside{margin-top:0;padding-left:24px}
  .hero-counter{grid-template-columns:1fr 1fr 1fr;gap:18px}
  .hc-item .num{font-size:32px}
  section{padding:90px 0}
  .section-head{margin-bottom:50px}
  .manifesto{padding:90px 0}
  .manifesto-creds{grid-template-columns:1fr;gap:32px}
  .process-grid{grid-template-columns:1fr;gap:50px}
  .svc-row{grid-template-columns:1fr;gap:12px;padding:28px 0}
  .svc-row .num{display:none}
  .svc-row .arrow-link{display:none}
  .svc-row:hover{padding-left:0}
  .experts-grid{grid-template-columns:1fr;gap:24px}
  .price-row{grid-template-columns:1fr;gap:8px;padding:24px 0}
  .price-row.head{display:none}
  .subjects-list{columns:2;column-gap:36px;font-size:15px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:36px}
  .foot-bottom{flex-direction:column;text-align:center;align-items:center}
  .order-grid{grid-template-columns:1fr;gap:28px}
  .summary{position:static}
  .field-row,.field-row-3{grid-template-columns:1fr}
  .tiles{grid-template-columns:1fr 1fr}
  .fcard{padding:32px 24px}
  .dash-shell{grid-template-columns:1fr}
  .dash-side{position:relative;height:auto;padding:22px}
  .dash-side .side-user{position:relative;left:auto;right:auto;bottom:auto;margin-top:22px}
  .dash-main{padding:28px 22px}
  .stats-row{grid-template-columns:1fr 1fr}
  .dash-grid{grid-template-columns:1fr}
  .auth-shell{grid-template-columns:1fr}
  .auth-aside{padding:48px 32px;min-height:auto}
  .auth-aside .aside-quote{display:none}
  .aside-content h2{font-size:34px}
  .ticker-label{padding:0 16px 0 24px;font-size:11px}
  .ticker{font-size:11px}
}
@media (max-width: 540px){
  .popular-grid{grid-template-columns:1fr}
  .how-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .stats-row{grid-template-columns:1fr}
  .pstep .lbl{font-size:9.5px}
  .order-row{grid-template-columns:1fr;gap:10px}
  .progress-line{width:100%}
  .subjects-list{columns:1}
}
