/* ==========================================================================
   DESIGN 3 — WARM PROFESSIONAL
   Boutique-firm character. Cream paper, burnt-orange ink, unhurried serif.
   DM Serif Display (headings) + DM Sans (body).
   ========================================================================== */

:root{
  --ink:#2B2622;
  --ink-2:#3A332D;
  --ink-soft:#615850;
  --ink-mute:#8A8076;
  --accent:#C2703D;
  --accent-deep:#A75A28;
  --accent-tint:#F4DCC6;
  --sage:#7A8471;
  --sage-deep:#5C6957;
  --sage-tint:#E1E5DA;
  --paper:#FAF6F0;
  --paper-2:#FFFFFF;
  --paper-3:#F3EDE2;
  --line:#E2D6C4;
  --hairline:rgba(43,38,34,.12);

  --display:'DM Serif Display', 'Times New Roman', serif;
  --sans:'DM Sans', system-ui, -apple-system, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, Menlo, monospace;

  --max:1240px;
  --pad-x: clamp(22px, 5vw, 64px);
  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-xl:20px;
  --shadow-sm: 0 1px 2px rgba(43,38,34,.04), 0 1px 3px rgba(43,38,34,.04);
  --shadow-md: 0 8px 24px -8px rgba(43,38,34,.12), 0 4px 8px -4px rgba(43,38,34,.06);
  --shadow-lg: 0 28px 56px -16px rgba(43,38,34,.22), 0 12px 24px -10px rgba(43,38,34,.08);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink-2);
  font-family:var(--sans);font-size:16.5px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
  background-image:
    radial-gradient(circle at 12% -8%, rgba(194,112,61,.06), transparent 45%),
    radial-gradient(circle at 92% 4%, rgba(122,132,113,.06), transparent 45%);
}
img,svg{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}

.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--pad-x)}

.skip{position:absolute;left:-9999px;background:var(--ink);color:var(--paper);padding:10px 14px;z-index:200}
.skip:focus{left:8px;top:8px}

/* --------------------------------------------------------------------- */
/*  Notice                                                                */
/* --------------------------------------------------------------------- */
.notice{
  background:var(--ink);color:#E2D6C4;font-family:var(--sans);font-size:12px;
}
.notice .wrap{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:36px;flex-wrap:wrap;padding-block:6px}
.notice .left{display:flex;gap:18px;align-items:center}
.notice .left .orn{color:var(--accent);font-family:var(--display);font-size:14px;line-height:1}
.notice .left b{color:var(--accent-tint);font-weight:500}
.notice .right{display:flex;gap:16px;align-items:center;color:#B7A892}
.notice .right a:hover{color:#fff}
@media (max-width:560px){ .notice .hide-sm{display:none} }

/* --------------------------------------------------------------------- */
/*  Header                                                                */
/* --------------------------------------------------------------------- */
.head{
  position:sticky;top:0;z-index:50;background:rgba(250,246,240,.92);
  backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--hairline);
}
.head .wrap{display:flex;align-items:center;gap:18px;min-height:82px}

.brand{display:flex;align-items:center;gap:14px;color:var(--ink);flex:0 0 auto}
.brand-mark{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--accent);
  display:grid;place-items:center;color:var(--accent);font-family:var(--display);font-size:24px;line-height:1;
  background:radial-gradient(circle at 30% 30%, var(--accent-tint), transparent 70%);
}
.brand-mark::after{content:"L";margin-top:-2px}
.brand-name{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.brand-name .b1{font-family:var(--display);font-size:22px;letter-spacing:.01em;color:var(--ink);white-space:nowrap}
.brand-name .b2{font-size:11.5px;color:var(--ink-soft);letter-spacing:.18em;text-transform:uppercase;margin-top:4px;font-style:italic;white-space:nowrap}
@media (max-width:520px){
  .brand-name .b2{display:none}
}

.nav{display:none;flex:1;align-items:center;justify-content:center;gap:4px}
@media (min-width:1080px){.nav{display:flex}}
.nav > ul{display:flex;list-style:none;margin:0;padding:0;gap:2px;align-items:center}
.nav > ul > li{position:relative}
.nav > ul > li > a,
.nav > ul > li > button{
  display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:14.5px;color:var(--ink-2);
  position:relative;font-weight:500;white-space:nowrap;
}
.nav > ul > li > a::after,
.nav > ul > li > button::after{
  content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
}
.nav > ul > li > a:hover::after,
.nav > ul > li > button:hover::after,
.nav > ul > li.is-open > button::after{transform:scaleX(1)}
.nav .caret{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .2s}
.nav > ul > li:hover .caret,
.nav > ul > li.is-open .caret{transform:rotate(225deg) translate(-1px,-1px)}

.head .actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-weight:500;font-size:14.5px;padding:13px 22px;border-radius:999px;
  border:1.5px solid transparent;transition:all .25s ease;min-height:44px;letter-spacing:.005em;
}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px -8px rgba(194,112,61,.45)}
.btn-primary:hover{background:var(--accent-deep);transform:translateY(-1px)}
.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.btn-soft{background:var(--paper-2);border-color:var(--line);color:var(--ink)}
.btn-soft:hover{border-color:var(--accent);color:var(--accent)}
.btn-link{background:transparent;color:var(--ink);padding:13px 14px;border:0}
.btn-link:hover{color:var(--accent)}
.btn-login{display:none}
@media (min-width:920px){.btn-login{display:inline-flex}}

.hamb{
  display:inline-flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;
  width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:var(--paper-2);
  flex:0 0 44px;
}
.hamb span{width:18px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .25s, opacity .25s}
.hamb.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamb.is-open span:nth-child(2){opacity:0}
.hamb.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media (min-width:1080px){.hamb{display:none}}

/* Mega panel */
.mega{
  position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
  width:min(880px, calc(100vw - 48px));background:var(--paper-2);
  border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);
  padding:28px;display:none;
}
.mega::before{
  content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:14px;height:14px;background:var(--paper-2);border-top:1px solid var(--line);border-left:1px solid var(--line);
}
.nav > ul > li:hover .mega,
.nav > ul > li.is-open .mega{display:grid}
.mega{grid-template-columns:1fr 1fr 1fr;gap:24px}
.mega h4{
  font-family:var(--display);font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
  margin:0 0 12px;font-weight:400;display:flex;align-items:center;gap:10px;
}
.mega h4::before{content:"";width:18px;height:1px;background:var(--accent)}
.mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.mega ul li a{
  display:block;padding:8px 0;font-size:14.5px;color:var(--ink-2);border-bottom:1px dashed transparent;
  transition:color .2s, border-color .2s;
}
.mega ul li a:hover{color:var(--accent);border-bottom-color:var(--line)}
.mega .mega-feature{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;
  display:flex;flex-direction:column;gap:10px;position:relative;
}
.mega .mega-feature::before{
  content:"";position:absolute;top:14px;left:14px;width:8px;height:8px;background:var(--accent);border-radius:50%;
}
.mega .mega-feature .kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:500;padding-left:18px}
.mega .mega-feature h5{font-family:var(--display);font-size:22px;line-height:1.1;margin:0;color:var(--ink);letter-spacing:.005em}
.mega .mega-feature p{font-size:13px;color:var(--ink-soft);margin:0 0 6px;font-style:italic}
.mega .mega-feature .arrow{font-size:13px;color:var(--ink);font-weight:500;display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid var(--accent);padding-bottom:2px;align-self:flex-start}

/* Mobile drawer */
.drawer{position:fixed;inset:0;background:rgba(43,38,34,.4);z-index:60;opacity:0;pointer-events:none;transition:opacity .25s}
.drawer.is-open{opacity:1;pointer-events:auto}
.drawer-panel{
  position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--paper);
  transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow:auto;
}
.drawer.is-open .drawer-panel{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--hairline)}
.drawer-head .close{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;background:var(--paper-2)}
.drawer-nav{padding:8px 24px 24px;display:flex;flex-direction:column}
.drawer-nav > a{padding:14px 0;border-bottom:1px solid var(--hairline);font-family:var(--display);font-size:20px;color:var(--ink);display:flex;justify-content:space-between;align-items:center;min-height:44px}
.drawer-nav details > summary{
  list-style:none;cursor:pointer;padding:14px 0;border-bottom:1px solid var(--hairline);
  display:flex;justify-content:space-between;align-items:center;
  font-family:var(--display);font-size:20px;color:var(--ink);min-height:44px;
}
.drawer-nav details > summary::-webkit-details-marker{display:none}
.drawer-nav details > summary::after{content:"+";font-family:var(--sans);color:var(--accent);font-size:22px;line-height:1;transition:transform .2s}
.drawer-nav details[open] > summary::after{content:"–"}
.drawer-nav details > div{padding:12px 0 16px;display:flex;flex-direction:column;gap:2px}
.drawer-nav details > div h6{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:14px 0 6px;font-weight:600}
.drawer-nav details > div a{padding:10px 0;font-size:15px;color:var(--ink-soft);min-height:44px;display:flex;align-items:center}
.drawer-cta{margin-top:auto;padding:24px;border-top:1px solid var(--hairline);display:grid;gap:10px;grid-template-columns:1fr 1fr}

/* --------------------------------------------------------------------- */
/*  Hero                                                                  */
/* --------------------------------------------------------------------- */
.hero{
  padding-block:clamp(48px,6vw,96px) clamp(40px,5vw,80px);
  position:relative;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;left:50%;top:-40px;width:1px;height:140px;background:var(--accent);transform:translateX(-50%);opacity:.4;
  display:none;
}
@media (min-width:1024px){.hero::before{display:block}}
.hero .wrap{display:grid;gap:clamp(32px,4vw,56px);grid-template-columns:1fr;align-items:start}
@media (min-width:1024px){.hero .wrap{grid-template-columns:1.5fr 1fr;gap:clamp(40px,5vw,80px)}}

.hero .estd{
  display:inline-flex;align-items:center;gap:12px;color:var(--ink-soft);
  font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;
}
.hero .estd .star{color:var(--accent);font-family:var(--display);font-size:14px;line-height:1}
.hero .estd b{color:var(--ink);font-weight:600;letter-spacing:.16em}

.hero h1{
  font-family:var(--display);font-weight:400;font-size:clamp(31px,4.9vw,76px);line-height:1;
  letter-spacing:-.005em;color:var(--ink);margin:24px 0 24px;
}
.hero h1 em{font-style:italic;color:var(--accent);font-weight:400}
.hero h1 .amp{font-style:italic;color:var(--ink-mute);font-weight:400;font-size:.82em;display:inline-block;transform:translateY(.08em)}
.hero h1 .dot{display:inline-block;width:.18em;height:.18em;border-radius:50%;background:var(--accent);vertical-align:middle;margin:0 .12em}

.hero .deck{
  font-size:clamp(15.5px,1.4vw,18.5px);line-height:1.6;color:var(--ink-soft);max-width:52ch;margin:0 0 32px;
}
.hero .deck strong{color:var(--ink);font-weight:600}

.hero .ctas{display:flex;gap:12px;margin:0 0 36px;flex-wrap:wrap}
.hero .ctas .btn{padding:14px 24px;font-size:15px}

.hero .signed{
  display:flex;gap:18px;align-items:center;flex-wrap:wrap;color:var(--ink-soft);font-size:13.5px;
}
.hero .signed .sig{
  font-family:var(--display);font-style:italic;font-size:26px;color:var(--accent);line-height:1;
}
.hero .signed em{font-style:italic}

/* hero portrait/card */
.hero-card{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(20px,2.4vw,32px);
  box-shadow:var(--shadow-lg);position:relative;overflow:hidden;
}
.hero-card::before{
  content:"";position:absolute;inset:8px;border:1px solid var(--accent-tint);border-radius:calc(var(--r-xl) - 8px);
  pointer-events:none;
}
.hc-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px;position:relative}
.hc-head .stamp{
  font-family:var(--display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);
  display:flex;flex-direction:column;line-height:1.1;
}
.hc-head .stamp small{font-family:var(--sans);font-size:10.5px;color:var(--ink-mute);letter-spacing:.12em;margin-top:4px;text-transform:none;font-style:italic}
.hc-head .seal{
  width:60px;height:60px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);
  display:grid;place-items:center;font-family:var(--display);text-align:center;line-height:1;font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  position:relative;
}
.hc-head .seal::before{
  content:"";position:absolute;inset:4px;border:1px dashed var(--accent);border-radius:50%;opacity:.5;
}
.hc-head .seal span{display:block;font-size:18px;letter-spacing:0;margin-top:2px}

.hc-portrait{
  background:linear-gradient(160deg, var(--sage-tint), var(--paper-3));
  border-radius:var(--r-lg);padding:28px;margin-bottom:18px;position:relative;overflow:hidden;
}
.hc-portrait::after{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(45deg, rgba(43,38,34,.025) 0 1px, transparent 1px 8px);
}
.hc-portrait .qmark{
  font-family:var(--display);font-size:140px;line-height:.7;color:var(--accent);opacity:.3;position:relative;margin-bottom:-30px;
}
.hc-portrait blockquote{
  font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(18px,2vw,22px);line-height:1.35;
  color:var(--ink);margin:0;position:relative;
}
.hc-portrait cite{
  display:flex;gap:10px;margin-top:14px;align-items:center;font-style:normal;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);position:relative;
}
.hc-portrait cite::before{content:"";width:24px;height:1px;background:var(--ink-soft)}

.hc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.hc-stats .s{padding:16px 14px;text-align:center;background:var(--paper);border-right:1px solid var(--line);min-height:80px;display:flex;flex-direction:column;justify-content:center}
.hc-stats .s:last-child{border-right:0}
.hc-stats .v{font-family:var(--display);font-size:clamp(24px,3vw,30px);line-height:1;color:var(--ink);letter-spacing:-.005em;font-variant-numeric:tabular-nums}
.hc-stats .v em{font-style:italic;color:var(--accent);font-weight:400}
.hc-stats .l{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute);margin-top:6px;font-weight:500}

/* --------------------------------------------------------------------- */
/*  Trust strip                                                           */
/* --------------------------------------------------------------------- */
.trust{padding-block:clamp(28px,3.6vw,48px);background:var(--paper-3);border-block:1px solid var(--hairline)}
.trust .wrap{display:flex;gap:clamp(20px,3vw,40px);align-items:center;flex-wrap:wrap;justify-content:center}
.trust .label{font-size:12px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.22em;font-style:italic;font-family:var(--display)}
.trust .p{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2);font-weight:500;font-size:15px}
.trust .p .ico{width:32px;height:32px;border-radius:50%;background:var(--paper-2);border:1px solid var(--line);color:var(--accent);display:grid;place-items:center}
.trust .p .ico svg{width:16px;height:16px}
.trust .div{width:1px;height:20px;background:var(--hairline);display:none}
@media (min-width:760px){.trust .div{display:block}}

/* --------------------------------------------------------------------- */
/*  Sections                                                              */
/* --------------------------------------------------------------------- */
.section{padding-block:clamp(64px,8vw,128px)}
.section.tint{background:var(--paper-3)}
.section.dark{background:var(--ink);color:var(--paper)}

.section-head{display:grid;grid-template-columns:1fr;gap:18px;margin-bottom:clamp(40px,5vw,72px)}
@media (min-width:900px){.section-head{grid-template-columns:1.15fr .85fr;gap:56px;align-items:end}}
.section-head .chapter{
  display:inline-flex;align-items:center;gap:14px;color:var(--accent);
  font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;font-family:var(--display);font-weight:400;
}
.section-head .chapter::before{content:"";width:32px;height:1px;background:var(--accent)}
.section-head .chapter::after{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}
.section-head h2{
  font-family:var(--display);font-weight:400;font-size:clamp(36px,5.2vw,72px);line-height:.98;letter-spacing:-.005em;
  color:var(--ink);margin:18px 0 0;
}
.section-head h2 em{font-style:italic;color:var(--accent)}
.section.dark .section-head h2{color:var(--paper-2)}
.section.dark .section-head h2 em{color:var(--accent)}
.section-head .head-aside{color:var(--ink-soft);font-size:16.5px;line-height:1.65;max-width:42ch;align-self:end}
.section.dark .section-head .head-aside{color:#C5B6A3}

/* Ornamental rule */
.orn-rule{
  display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:clamp(40px,5vw,72px);
  color:var(--accent);font-family:var(--display);font-size:18px;
}
.orn-rule::before, .orn-rule::after{content:"";flex:1;height:1px;background:var(--accent);opacity:.4;max-width:120px}

/* --------------------------------------------------------------------- */
/*  Product duo                                                           */
/* --------------------------------------------------------------------- */
.duo{display:grid;grid-template-columns:1fr;gap:clamp(20px,2.4vw,32px)}
@media (min-width:900px){.duo{grid-template-columns:1fr 1fr}}
.product{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(28px,3vw,44px);position:relative;display:flex;flex-direction:column;gap:18px;
  box-shadow:var(--shadow-sm);transition:transform .3s, box-shadow .3s, border-color .3s;
}
.product:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent-tint)}
.product .corner{
  position:absolute;top:18px;right:18px;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center;
  font-family:var(--display);font-size:14px;line-height:1;
}
.product .ribbon{display:flex;justify-content:space-between;align-items:center;gap:14px}
.product .ribbon span{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-style:italic}
.product .ribbon b{font-family:var(--display);font-size:14px;color:var(--ink);letter-spacing:.05em}
.product h3{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.4vw,40px);line-height:1.05;letter-spacing:-.005em;color:var(--ink);margin:0;max-width:18ch}
.product h3 em{font-style:italic;color:var(--accent)}
.product p{margin:0;color:var(--ink-soft);font-size:15.5px;line-height:1.65}
.product ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--hairline);padding-top:18px}
.product ul li{display:flex;gap:14px;align-items:flex-start;font-size:14.5px;color:var(--ink-2)}
.product ul li::before{
  content:"";flex:0 0 16px;width:16px;height:16px;
  background:radial-gradient(circle, var(--accent) 0 30%, transparent 35%);
  margin-top:3px;
}
.product .ledger{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.product .ledger .lg{
  padding:12px 14px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
}
.product .ledger .lg .k{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-style:italic}
.product .ledger .lg .vv{font-family:var(--display);font-size:20px;color:var(--ink);margin-top:4px;letter-spacing:.005em}
.product .price-line{
  display:flex;justify-content:space-between;align-items:baseline;border-top:1px dashed var(--hairline);padding-top:18px;margin-top:auto;
}
.product .price-line .from{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-style:italic}
.product .price-line .amount{font-family:var(--display);font-size:42px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.005em}
.product .price-line .amount small{font-size:14px;color:var(--ink-soft);margin-left:6px;font-style:italic;letter-spacing:0}
.product .btn-row{display:flex;gap:10px;flex-wrap:wrap}

/* --------------------------------------------------------------------- */
/*  How it works                                                          */
/* --------------------------------------------------------------------- */
.process{
  display:grid;grid-template-columns:1fr;gap:clamp(24px,3vw,40px);position:relative;
}
@media (min-width:780px){.process{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.process{grid-template-columns:repeat(4,1fr)}}

.step{
  display:flex;flex-direction:column;gap:14px;padding-top:36px;position:relative;
}
.step::before{
  content:"";position:absolute;top:0;left:0;width:80%;max-width:160px;height:1px;background:var(--accent);
}
.step .n-wrap{display:flex;align-items:center;gap:14px}
.step .n{
  width:48px;height:48px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);
  display:grid;place-items:center;font-family:var(--display);font-size:22px;line-height:1;background:var(--paper-2);
  flex:0 0 48px;
}
.step .stamp{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-style:italic}
.step h4{font-family:var(--display);font-weight:400;font-size:24px;color:var(--ink);margin:0;letter-spacing:.005em}
.step h4 em{font-style:italic;color:var(--accent)}
.step p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.65}

/* --------------------------------------------------------------------- */
/*  Why us — triptych                                                     */
/* --------------------------------------------------------------------- */
.triptych{
  display:grid;gap:clamp(24px,3vw,36px);grid-template-columns:1fr;
}
@media (min-width:900px){.triptych{grid-template-columns:repeat(3,1fr)}}
.pillar{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:14px;position:relative;
  transition:transform .3s, box-shadow .3s;
}
.pillar:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.pillar::after{
  content:"";position:absolute;top:18px;right:18px;width:24px;height:24px;
  background:radial-gradient(circle, var(--accent-tint), transparent 70%);border-radius:50%;
}
.pillar .roman{font-family:var(--display);font-size:34px;line-height:1;color:var(--accent);font-style:italic}
.pillar h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,2.8vw,32px);line-height:1.05;color:var(--ink);margin:0;letter-spacing:.005em}
.pillar h3 em{font-style:italic;color:var(--accent)}
.pillar p{margin:0;color:var(--ink-soft);font-size:15px;line-height:1.65}
.pillar .receipt{
  margin-top:auto;border-top:1px dashed var(--hairline);padding-top:16px;display:flex;justify-content:space-between;align-items:baseline;
}
.pillar .receipt .num{font-family:var(--display);font-size:22px;color:var(--ink);letter-spacing:-.005em}
.pillar .receipt .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);font-style:italic}

/* --------------------------------------------------------------------- */
/*  Pricing                                                               */
/* --------------------------------------------------------------------- */
.tiers{display:grid;gap:clamp(20px,2.4vw,28px);grid-template-columns:1fr}
@media (min-width:900px){.tiers{grid-template-columns:repeat(3,1fr)}}
.tier{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(28px,2.8vw,36px);
  display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-sm);
  transition:transform .3s, box-shadow .3s;
}
.tier:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.tier.featured{border-color:var(--accent);box-shadow:0 28px 56px -16px rgba(194,112,61,.25);transform:translateY(-6px)}
.tier.featured::before{
  content:"House Pick";position:absolute;display:none;
}
.tier .pill{
  align-self:flex-start;display:inline-flex;gap:8px;align-items:center;
  padding:6px 12px;border-radius:999px;background:var(--accent-tint);color:var(--accent-deep);
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;font-family:var(--display);font-weight:400;
}
.tier .pill::before{content:"★";color:var(--accent);font-size:12px}
.tier .from{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);font-style:italic}
.tier h3{font-family:var(--display);font-weight:400;font-size:26px;color:var(--ink);margin:0}
.tier .price{font-family:var(--display);font-weight:400;font-size:58px;line-height:1;color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.tier .price small{font-size:15px;color:var(--ink-mute);margin-left:6px;font-style:italic;letter-spacing:0}
.tier .pitch{color:var(--ink-soft);font-size:14.5px;line-height:1.6;margin:0}
.tier ul{list-style:none;margin:0;padding:14px 0 0;border-top:1px dashed var(--hairline);display:flex;flex-direction:column;gap:8px}
.tier ul li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-2)}
.tier ul li svg{flex:0 0 18px;color:var(--accent);margin-top:2px}

/* --------------------------------------------------------------------- */
/*  Add-ons                                                               */
/* --------------------------------------------------------------------- */
.addons{
  display:grid;gap:clamp(28px,3vw,48px);grid-template-columns:1fr;
}
@media (min-width:900px){.addons{grid-template-columns:.85fr 1.15fr}}
.addons .left .chapter{
  display:inline-flex;align-items:center;gap:14px;color:var(--accent);
  font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-family:var(--display);font-weight:400;
}
.addons .left .chapter::before{content:"";width:32px;height:1px;background:var(--accent)}
.addons .left h3{font-family:var(--display);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.02;color:var(--ink);margin:18px 0 18px;letter-spacing:-.005em}
.addons .left h3 em{font-style:italic;color:var(--accent)}
.addons .left p{color:var(--ink-soft);font-size:16px;line-height:1.65;margin:0 0 24px;max-width:42ch}
.addons .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media (max-width:560px){.addons .grid{grid-template-columns:1fr}}
.addons .grid .a{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;
  display:flex;flex-direction:column;gap:12px;position:relative;transition:transform .3s, box-shadow .3s, border-color .3s;
}
.addons .grid .a:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent-tint)}
.addons .grid .a .t{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.addons .grid .a .t b{font-family:var(--display);font-weight:400;font-size:20px;color:var(--ink);line-height:1.1}
.addons .grid .a .t span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);white-space:nowrap;font-style:italic;font-family:var(--display);font-weight:400}
.addons .grid .a p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.6}

/* --------------------------------------------------------------------- */
/*  Security                                                              */
/* --------------------------------------------------------------------- */
.security{
  display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,56px);align-items:center;
}
@media (min-width:900px){.security{grid-template-columns:1fr 1fr}}
.security .copy h3{font-family:var(--display);font-weight:400;font-size:clamp(32px,4vw,52px);line-height:1.02;color:var(--ink);margin:18px 0 18px;letter-spacing:-.005em}
.security .copy h3 em{font-style:italic;color:var(--accent)}
.security .copy p{color:var(--ink-soft);font-size:16px;line-height:1.65;margin:0 0 14px}
.security .copy .checks{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.security .copy .checks{grid-template-columns:1fr}}
.security .copy .checks li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink-2)}
.security .copy .checks li svg{flex:0 0 18px;color:var(--accent);margin-top:2px}

.vault{
  background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-md);
  overflow:hidden;position:relative;
}
.vault::before{
  content:"";position:absolute;inset:8px;border:1px solid var(--accent-tint);border-radius:calc(var(--r-xl) - 8px);
  pointer-events:none;
}
.vault .vh{
  display:flex;justify-content:space-between;align-items:center;padding:18px 22px;
  border-bottom:1px solid var(--line);background:var(--paper);position:relative;
}
.vault .vh b{font-family:var(--display);font-size:18px;color:var(--ink)}
.vault .vh .tag{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px;font-style:italic}
.vault .vh .tag svg{color:var(--accent)}
.vault .vb{padding:22px;position:relative}
.vault .vb h4{font-family:var(--display);font-size:22px;color:var(--ink);margin:0 0 6px;font-weight:400}
.vault .vb h4 em{font-style:italic;color:var(--accent)}
.vault .vb p{font-size:13px;color:var(--ink-soft);margin:0 0 18px;font-style:italic}
.vault-stack{display:flex;flex-direction:column;gap:8px}
.vault .row{
  display:flex;justify-content:space-between;align-items:center;padding:12px 14px;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);
}
.vault .row .name{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}
.vault .row .name svg{color:var(--accent)}
.vault .row .stat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-style:italic}

/* --------------------------------------------------------------------- */
/*  FAQ                                                                   */
/* --------------------------------------------------------------------- */
.faq{display:flex;flex-direction:column}
.faq details{
  border-bottom:1px solid var(--hairline);transition:background .2s;
}
.faq details:first-child{border-top:1px solid var(--hairline)}
.faq details > summary{
  list-style:none;cursor:pointer;padding:26px 0;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:baseline;
}
.faq details > summary::-webkit-details-marker{display:none}
.faq details > summary .q-no{
  font-family:var(--display);font-style:italic;font-size:22px;color:var(--accent);line-height:1;min-width:42px;
}
.faq details > summary .q{
  font-family:var(--display);font-weight:400;font-size:clamp(19px,2vw,26px);color:var(--ink);line-height:1.25;letter-spacing:-.005em;
}
.faq details > summary .ico{
  width:32px;height:32px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;
  align-self:center;color:var(--ink);transition:background .2s, color .2s, transform .2s;
}
.faq details > summary .ico svg{transition:transform .25s}
.faq details[open] > summary .ico{background:var(--accent);color:#fff;border-color:var(--accent)}
.faq details[open] > summary .ico svg{transform:rotate(180deg)}
.faq details > div{padding:0 0 28px;display:grid;grid-template-columns:1fr;gap:14px;color:var(--ink-soft);font-size:15.5px;line-height:1.7;max-width:66ch}
@media (min-width:900px){.faq details > div{padding-left:62px}}

/* --------------------------------------------------------------------- */
/*  Final                                                                 */
/* --------------------------------------------------------------------- */
.final{
  background:var(--ink);color:var(--paper);padding-block:clamp(64px,8vw,128px);position:relative;overflow:hidden;
}
.final::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(700px 400px at 90% 0%, rgba(194,112,61,.22), transparent 60%),
    radial-gradient(500px 400px at 0% 100%, rgba(122,132,113,.12), transparent 60%);
}
.final::after{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(0deg, rgba(255,255,255,.02) 0 1px, transparent 1px 80px);
  pointer-events:none;
}
.final .wrap{position:relative;display:grid;gap:clamp(32px,4vw,56px);grid-template-columns:1fr}
@media (min-width:1024px){.final .wrap{grid-template-columns:1.1fr .9fr;align-items:center}}

.final .lead .chapter{
  display:inline-flex;align-items:center;gap:14px;color:var(--accent);
  font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-family:var(--display);font-weight:400;
}
.final .lead .chapter::before{content:"";width:32px;height:1px;background:var(--accent)}
.final .lead .chapter::after{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%}
.final .lead h2{font-family:var(--display);font-weight:400;font-size:clamp(38px,5.4vw,76px);line-height:1.02;letter-spacing:-.005em;color:var(--paper-2);margin:18px 0 22px}
.final .lead h2 em{font-style:italic;color:var(--accent)}
.final .lead p{font-size:16.5px;line-height:1.65;color:#C5B6A3;margin:0 0 30px;max-width:46ch}
.final .lead .ctas{display:flex;gap:12px;flex-wrap:wrap}
.final .lead .ctas .btn-primary{background:var(--accent);color:#fff}
.final .lead .ctas .btn-primary:hover{background:#fff;color:var(--ink)}
.final .lead .ctas .btn-ghost{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.final .lead .ctas .btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}

.countdown{display:grid;gap:18px}
.cd-card{
  border-radius:var(--r-xl);padding:24px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);position:relative;overflow:hidden;
}
.cd-card.accent{
  background:linear-gradient(160deg, rgba(194,112,61,.18), rgba(194,112,61,.04));
  border-color:rgba(194,112,61,.35);
}
.cd-card .cd-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.cd-card .cd-h .name{font-family:var(--display);font-size:22px;color:#fff;letter-spacing:.005em}
.cd-card .cd-h .form{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-style:italic}
.cd-card .cd-date{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#C5B6A3;margin-bottom:18px;font-style:italic}
.cd-card .cd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cd-card .cd-grid .cell{
  background:rgba(0,0,0,.18);border-radius:var(--r-md);padding:16px 6px;text-align:center;
  border:1px solid rgba(255,255,255,.06);
}
.cd-card.accent .cd-grid .cell{border-color:rgba(194,112,61,.25)}
.cd-card .cd-grid .cell .v{font-family:var(--display);font-size:clamp(28px,3.4vw,38px);color:#fff;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.005em}
.cd-card.accent .cd-grid .cell .v{color:var(--accent)}
.cd-card .cd-grid .cell .u{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#C5B6A3;margin-top:8px;font-style:italic}

/* --------------------------------------------------------------------- */
/*  Footer                                                                */
/* --------------------------------------------------------------------- */
.foot{background:#1F1B17;color:#C5B6A3;padding-block:clamp(48px,5vw,80px) 0}
.foot .top{display:grid;gap:clamp(28px,3vw,40px);grid-template-columns:1fr;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
@media (min-width:640px){.foot .top{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.foot .top{grid-template-columns:1.2fr repeat(4,1fr)}}

.foot .brand-block{display:flex;flex-direction:column;gap:18px;max-width:36ch}
.foot .brand-block .brand{color:#fff}
.foot .brand-block .brand-name .b2{color:var(--accent)}
.foot .brand-block p{margin:0;font-size:14.5px;color:#9D8E7B;line-height:1.65}
.foot .brand-block p em{font-style:italic;color:#B7A892}
.foot .brand-block .marks{display:flex;gap:14px;flex-wrap:wrap;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#9D8E7B;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}
.foot .brand-block .marks span b{color:var(--accent);display:block;font-family:var(--display);font-size:14px;letter-spacing:0;text-transform:none;margin-top:4px;font-weight:400}

.foot h5{font-family:var(--display);font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;font-weight:400}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot ul li a{font-size:14.5px;color:#C5B6A3;display:inline-block;padding:3px 0}
.foot ul li a:hover{color:#fff}

.foot .bottom{
  display:grid;grid-template-columns:1fr;gap:18px;padding:24px 0;align-items:center;
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:#80715F;
}
@media (min-width:900px){.foot .bottom{grid-template-columns:1.4fr 1fr auto}}
.foot .bottom .line{display:flex;gap:14px;flex-wrap:wrap}
.foot .bottom .line span b{color:var(--accent);font-weight:500}
.foot .bottom .social{display:flex;gap:10px}
.foot .bottom .social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.12);display:grid;place-items:center}
.foot .bottom .social a:hover{border-color:var(--accent);color:var(--accent)}

/* Utility */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* --------------------------------------------------------------------- */
/*  Magic UI–inspired effects (warm boutique flavor)                      */
/* --------------------------------------------------------------------- */

.fx-shimmer{position:relative;overflow:hidden;isolation:isolate}
.fx-shimmer::after{
  content:"";position:absolute;top:0;bottom:0;left:0;right:0;
  background:linear-gradient(115deg, transparent 35%, var(--fx-shimmer-color, rgba(255,255,255,.5)) 50%, transparent 65%);
  transform:translateX(-120%);
  animation:fx-shimmer-sweep 5s cubic-bezier(.55,.1,.45,.9) infinite;
  pointer-events:none;mix-blend-mode:overlay;
}
@keyframes fx-shimmer-sweep{
  0%, 14%{transform:translateX(-120%)}
  62%, 100%{transform:translateX(120%)}
}

@property --fx-shine-a{syntax:'<angle>';initial-value:0deg;inherits:false}
.fx-shine{position:relative;isolation:isolate;overflow:hidden}
.fx-shine::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;
  background:conic-gradient(from var(--fx-shine-a),
    transparent 0deg,
    var(--fx-shine-color, var(--accent)) 50deg,
    transparent 95deg,
    transparent 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:fx-shine-spin 6s linear infinite;
  pointer-events:none;z-index:3;
}
@keyframes fx-shine-spin{to{--fx-shine-a:360deg}}

.fx-magic{position:relative}
.fx-magic::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  background:radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%),
    var(--fx-magic-color, rgba(194,112,61,.16)),
    transparent 55%);
  opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1;
}
.fx-magic:hover::after{opacity:1}
.fx-magic > *{position:relative;z-index:2}

/* Per-element tuning */
.hero-card.fx-shine{--fx-shine-color: var(--accent)}
.btn-primary.fx-shimmer{--fx-shimmer-color: rgba(255,255,255,.5)}
.product.fx-magic{--fx-magic-color: rgba(194,112,61,.18)}
.pillar.fx-magic{--fx-magic-color: rgba(194,112,61,.14)}
.tier.featured.fx-shine{--fx-shine-color: var(--accent)}

@media (prefers-reduced-motion: reduce){
  .fx-shimmer::after, .fx-shine::before{animation:none}
  .fx-shimmer::after{display:none}
  .fx-magic:hover::after{opacity:0}
}
