/* ============================================================
   dop · Personal Brand Studio — monthly subscriptions + calculator
   Built on the dop design system (warm cream + emerald).
   ============================================================ */
:root{
  --paper:#F6F1E8; --paper-2:#FBF8F2; --sand:#EADFCB; --stone:#D6C7AC; --clay:#B6A584;
  --green:#15634A; --green-700:#0F4536; --signal:#1F8A63; --signal-tint:#E4EFE9;
  --ink:#1C1A14; --ink-soft:#5C574C; --ink-faint:#928B7C;
  --line:rgba(28,26,20,.13); --line-2:rgba(28,26,20,.08);
  --ui:"Quicksand", system-ui, sans-serif;
  --serif:"Playfair Display", Georgia, serif;
  --edit:"Cormorant Garamond", Georgia, serif;
  --hand:"Caveat", cursive;
  --ease:cubic-bezier(.22,.84,.24,1);
  --maxw:1180px;
  --gutter:clamp(20px,5vw,80px);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:96px;}
html,body{margin:0;}
body{font-family:var(--ui); color:var(--ink); background:var(--paper);}
button{font-family:inherit; cursor:pointer;}
a{text-decoration:none; color:inherit;}
::selection{background:var(--signal-tint);}
.wrap{max-width:var(--maxw); margin:0 auto;}

/* ============ HEADER · capsule ============ */
.sm-header{position:fixed; top:0; left:0; right:0; z-index:90; color:var(--ink);}
.smA-bar{
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  height:78px; padding:0 var(--gutter); transition:all .6s var(--ease);
}
.is-scrolled .smA-bar{
  width:min(880px, calc(100% - 28px)); height:56px; margin:12px auto 0;
  padding:0 12px 0 24px; border-radius:999px; border:1px solid var(--line);
  background:rgba(246,241,232,.78); -webkit-backdrop-filter:blur(16px) saturate(1.15);
  backdrop-filter:blur(16px) saturate(1.15); box-shadow:0 18px 44px -22px rgba(28,26,20,.35);
}
.sm-wordmark{display:block; height:28px; width:auto; transition:height .5s var(--ease); color:var(--ink);}
.is-scrolled .sm-wordmark{height:21px;}
.smA-nav{display:flex; align-items:center; gap:clamp(18px,2.6vw,32px);}
.smA-nav a{
  position:relative; font:600 12.5px/1 var(--ui); letter-spacing:.14em; text-transform:uppercase;
  padding:6px 2px; color:var(--ink-soft); transition:color .25s;
}
.smA-nav a::after{content:""; position:absolute; left:2px; right:2px; bottom:0; height:1.5px;
  background:var(--green); border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);}
.smA-nav a:hover{color:var(--ink);} .smA-nav a:hover::after{transform:scaleX(1);}
.sm-cta{
  display:inline-flex; align-items:center; gap:8px; font:600 12.5px/1 var(--ui);
  letter-spacing:.1em; text-transform:uppercase; padding:11px 20px; border-radius:999px; white-space:nowrap;
  border:1px solid var(--green); background:var(--green); color:var(--paper); transition:background .3s, transform .2s;
}
.sm-cta:hover{background:var(--green-700);} .sm-cta svg{transition:transform .3s var(--ease);}
.sm-cta:hover svg{transform:translate(2px,-2px);}
.is-scrolled .sm-cta{padding:9px 16px;}
@media (max-width:760px){ .smA-nav{display:none;} .smA-bar{height:64px;} }

/* ============ HERO ============ */
.pb-hero{position:relative; padding:calc(78px + clamp(40px,8vw,86px)) var(--gutter) clamp(40px,6vw,68px);
  background:radial-gradient(125% 90% at 78% 0%, var(--paper-2), var(--paper) 56%);}
.pb-hero-inner{max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(34px,5vw,72px); align-items:center;}
.pb-eyebrow{display:inline-flex; align-items:center; gap:11px; margin:0 0 22px;
  font:600 12px/1 var(--ui); letter-spacing:.24em; text-transform:uppercase; color:var(--green);}
.pb-eyebrow::before{content:""; width:28px; height:1.5px; background:var(--green);}
.pb-title{margin:0; font-family:var(--serif); font-weight:500; letter-spacing:-.018em;
  font-size:clamp(38px,5.4vw,68px); line-height:1.03; text-wrap:balance;}
.pb-title em{font-style:italic; color:var(--green); position:relative; white-space:nowrap;}
.pb-title em .u{position:absolute; left:-1%; right:-1%; bottom:-.04em; width:102%; height:.12em; color:var(--ink);}
.pb-sub{margin:24px 0 0; font-family:var(--edit); font-style:italic; font-weight:500;
  font-size:clamp(18px,2.1vw,23px); line-height:1.46; color:var(--ink-soft); max-width:34ch;}
.pb-sub b{font-style:normal; font-family:var(--ui); font-weight:700; font-size:.78em; letter-spacing:.02em; color:var(--green);}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:32px;}
.btn-pri{display:inline-flex; align-items:center; gap:9px; font:700 13px/1 var(--ui); letter-spacing:.06em;
  background:var(--green); color:var(--paper); border:1.5px solid var(--green); padding:15px 28px; border-radius:999px;
  transition:background .25s, transform .2s;}
.btn-pri:hover{background:var(--green-700); transform:translateY(-1px);}
.btn-pri svg{transition:transform .25s var(--ease);} .btn-pri:hover svg{transform:translateX(3px);}
.btn-ghost{display:inline-flex; align-items:center; gap:9px; font:700 13px/1 var(--ui); letter-spacing:.06em;
  background:transparent; color:var(--ink); border:1.5px solid var(--line); padding:15px 26px; border-radius:999px; transition:border-color .25s, background .25s;}
.btn-ghost:hover{border-color:var(--ink-soft); background:var(--paper-2);}
.hero-meta{display:flex; gap:clamp(22px,3vw,40px); margin-top:38px;}
.hm{display:flex; flex-direction:column; gap:5px;}
.hm b{font-family:var(--serif); font-weight:600; font-size:clamp(24px,2.6vw,30px); color:var(--green-700); letter-spacing:-.01em;}
.hm span{font:600 10.5px/1.3 var(--ui); letter-spacing:.13em; text-transform:uppercase; color:var(--ink-faint);}

/* hero media collage */
.pb-media{position:relative; height:clamp(340px,42vw,500px);}
.pb-card{position:absolute; border-radius:18px; overflow:hidden; border:1px solid var(--line);
  box-shadow:0 26px 60px -34px rgba(28,26,20,.6); background:var(--stone);}
.pb-card image-slot{width:100%; height:100%; display:block;}
.pb-1{left:0; top:6%; width:54%; height:74%; z-index:2;}
.pb-2{right:2%; top:0; width:40%; height:48%; z-index:3;}
.pb-3{right:0; bottom:2%; width:46%; height:44%; z-index:1;}
.pb-badge{position:absolute; z-index:5; left:46%; bottom:8%; display:flex; align-items:center; gap:9px;
  background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:9px 15px 9px 11px;
  box-shadow:0 14px 34px -16px rgba(28,26,20,.5); font:700 11px/1 var(--ui); letter-spacing:.04em; color:var(--ink);}
.pb-badge .dot{width:8px; height:8px; border-radius:50%; background:var(--signal); box-shadow:0 0 0 4px rgba(31,138,99,.22);}
.play-o{width:34px; height:34px; flex:0 0 auto;}
@media (max-width:920px){
  .pb-hero-inner{grid-template-columns:1fr; gap:clamp(28px,5vw,40px);}
  .pb-sub{max-width:48ch;}
  /* mobile: real gaps between media placeholders instead of an overlapping collage */
  .pb-media{position:relative; height:auto; order:-1; display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .pb-card{position:static; inset:auto; left:auto; right:auto; top:auto; bottom:auto; width:auto; height:auto; aspect-ratio:1/1;}
  .pb-1{grid-column:1 / -1; aspect-ratio:16/10;}
  .pb-badge{left:auto; right:12px; bottom:12px;}
}

/* ============ SECTION SHELL ============ */
.section{padding:clamp(56px,8vw,104px) var(--gutter);}
.section.alt{background:linear-gradient(180deg, var(--paper) 0%, var(--sand) 130%);}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:clamp(34px,5vw,52px); flex-wrap:wrap;}
.sec-head-l{position:relative;}
.eyebrow{display:inline-flex; align-items:center; gap:11px; margin:0 0 16px;
  font:600 12px/1 var(--ui); letter-spacing:.22em; text-transform:uppercase; color:var(--green);}
.eyebrow::before{content:""; width:26px; height:1.5px; background:var(--green);}
.sec-title{margin:0; font-family:var(--serif); font-weight:500; letter-spacing:-.012em;
  font-size:clamp(28px,4.2vw,50px); line-height:1.07; max-width:16ch; text-wrap:balance;}
.sec-title em{font-style:italic; color:var(--green);}
.sec-lede{font-family:var(--edit); font-size:clamp(17px,1.9vw,21px); line-height:1.45; color:var(--ink-soft); max-width:33ch; margin:0; padding-bottom:4px;}

/* ============ SUBSCRIPTION TIERS · depth cards ============ */
.tiers{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.tier{
  position:relative; border-radius:16px; padding:26px 24px 24px; min-height:360px;
  display:flex; flex-direction:column; cursor:pointer; border:1px solid transparent;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.tier:hover{transform:translateY(-4px); box-shadow:0 26px 50px -30px rgba(28,26,20,.5);}
/* one colour (green), light gradient left→right by price */
.tier-1{background:linear-gradient(118deg,#EDF4EF,#E3EFE8);}
.tier-2{background:linear-gradient(118deg,#DAEBE1,#CBE2D4);}
.tier-3{background:linear-gradient(118deg,#C0DCCD,#ADD2BF);}
.tier-4{background:linear-gradient(118deg,#177253,#0F4536); color:var(--paper);}
.tier-4 .t-name,.tier-4 .t-price .v{color:var(--paper);}
.tier.sel{outline:2.5px solid var(--green); outline-offset:2px;}
.tier-4.sel{outline-color:var(--sand);}
.t-tag{position:absolute; top:-11px; right:22px; font-family:var(--hand); font-size:20px; font-weight:700;
  color:var(--green-700); transform:rotate(-3deg);}
.tier-4 .t-tag{color:var(--sand);}
.t-top{display:flex; align-items:baseline; justify-content:space-between; gap:10px;}
.t-no{font:700 10px/1 var(--ui); letter-spacing:.18em; color:var(--green-700);}
.tier-4 .t-no{color:rgba(246,241,232,.6);}
.t-pieces{font:700 10px/1 var(--ui); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);}
.tier-4 .t-pieces{color:rgba(246,241,232,.7);}
/* hero: number of pieces / month — the headline of each card */
.t-hero{display:flex; align-items:baseline; gap:11px; margin:6px 0 2px;}
.t-num{font-family:var(--serif); font-weight:700; font-size:66px; line-height:.82; letter-spacing:-.03em; color:var(--green-700); font-variant-numeric:tabular-nums;}
.t-unit{display:flex; flex-direction:column; gap:2px; padding-bottom:5px;}
.t-unit b{font:800 14px/1 var(--ui); letter-spacing:.02em; text-transform:uppercase; color:var(--green-700);}
.t-unit span{font:600 11px/1 var(--ui); letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint);}
.tier-4 .t-num{color:var(--paper);}
.tier-4 .t-unit b{color:var(--sand);}
.tier-4 .t-unit span{color:rgba(246,241,232,.6);}
.t-name{margin:16px 0 0; font-family:var(--serif); font-weight:600; font-size:25px; letter-spacing:-.01em; color:var(--ink);}
.t-count{margin:6px 0 0; font-family:var(--edit); font-style:italic; font-size:17px; color:var(--ink-soft);}
.tier-4 .t-count{color:rgba(246,241,232,.78);}
.t-price{display:flex; align-items:baseline; gap:3px; margin:18px 0 2px;}
.t-price .c{font:700 17px/1 var(--ui); color:var(--green-700);}
.tier-4 .t-price .c{color:var(--sand);}
.t-price .v{font-family:var(--serif); font-weight:600; font-size:38px; letter-spacing:-.02em; color:var(--ink); line-height:.95; font-variant-numeric:tabular-nums;}
.t-price .per{font:600 12px/1 var(--ui); color:var(--ink-faint); margin-left:3px;}
.tier-4 .t-price .per{color:rgba(246,241,232,.55);}
.t-rate{margin:8px 0 0; font:600 11.5px/1.3 var(--ui); color:var(--green-700);}
.tier-4 .t-rate{color:var(--sand);}
.t-feats{list-style:none; margin:18px 0 26px; padding:16px 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px;}
.tier-4 .t-feats{border-color:rgba(246,241,232,.18);}
.t-feats li{display:flex; align-items:flex-start; gap:9px; font:600 12.5px/1.4 var(--ui); color:var(--ink-soft);}
.tier-4 .t-feats li{color:rgba(246,241,232,.82);}
.t-feats li svg{width:14px; height:14px; flex:0 0 auto; margin-top:1px; color:var(--green);}
.tier-4 .t-feats li svg{color:var(--sand);}
.t-pick{margin-top:auto; align-self:stretch; justify-content:center; padding:13px 16px; border-radius:100px;
  font:700 11px/1 var(--ui); letter-spacing:.14em; text-transform:uppercase;
  color:var(--green-700); display:inline-flex; align-items:center; gap:7px;
  border:1.5px solid var(--green-700); background:transparent; transition:gap .2s var(--ease), background .2s, color .2s;}
.tier-4 .t-pick{color:var(--sand); border-color:rgba(234,223,203,.55);}
.tier:hover .t-pick{gap:11px; background:var(--green-700); color:var(--paper);}
.tier-4:hover .t-pick{background:var(--sand); color:var(--green-700); border-color:var(--sand);}
@media (max-width:980px){ .tiers{grid-template-columns:1fr 1fr;} }
@media (max-width:520px){ .tiers{grid-template-columns:1fr;} .tier{min-height:0;} }

/* ============ CALCULATOR ============ */
.calc{display:grid; grid-template-columns:1.55fr .95fr; gap:clamp(18px,2.4vw,30px); align-items:start;}
.calc-build{display:flex; flex-direction:column; gap:13px;}
.svc{
  display:grid; grid-template-columns:46px 1fr auto auto; align-items:center; gap:16px;
  background:var(--paper-2); border:1px solid var(--line); border-radius:16px; padding:17px 20px;
  transition:border-color .2s, box-shadow .2s;
}
.svc.active{border-color:var(--green); box-shadow:0 0 0 1px var(--green) inset, 0 16px 38px -30px rgba(28,26,20,.5);}
.svc-ic{width:46px; height:46px; border-radius:12px; background:var(--sand); display:grid; place-items:center; color:var(--green-700);}
.svc.active .svc-ic{background:var(--signal-tint); color:var(--green);}
.svc-ic svg{width:23px; height:23px;}
.svc-info{min-width:0;}
.svc-name{display:flex; align-items:center; gap:9px; font-family:var(--serif); font-weight:600; font-size:19px; letter-spacing:-.005em; color:var(--ink);}
.svc-name .ar{font:700 9px/1 var(--ui); letter-spacing:.12em; text-transform:uppercase; color:var(--paper); background:var(--clay); border-radius:5px; padding:4px 6px;}
.svc-name .ar.edit{background:var(--green);}
.svc-desc{margin:5px 0 0; font-family:var(--edit); font-style:italic; font-size:15.5px; color:var(--ink-faint); line-height:1.3;}
.svc-unit{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap;}
.svc-unit b{display:block; font:700 15px/1 var(--ui); color:var(--green-700);}
.svc-unit span{display:block; margin-top:4px; font:600 10px/1 var(--ui); letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint);}
.stepper{display:flex; align-items:center; gap:2px; background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:4px;}
.stepper button{width:34px; height:34px; border-radius:50%; border:0; background:transparent; color:var(--ink);
  font-size:19px; line-height:1; display:grid; place-items:center; transition:background .18s, color .18s;}
.stepper button:hover{background:var(--sand);}
.stepper button.minus:disabled{opacity:.3; cursor:not-allowed;}
.stepper .qty{min-width:30px; text-align:center; font:700 16px/1 var(--ui); color:var(--ink); font-variant-numeric:tabular-nums;}
.svc.active .stepper{border-color:var(--green); background:var(--signal-tint);}

.calc-note{display:flex; align-items:center; gap:10px; margin-top:4px; padding:13px 18px; border-radius:12px;
  background:var(--signal-tint); border:1px dashed rgba(21,99,74,.35); font:600 12.5px/1.4 var(--ui); color:var(--green-700);}
.calc-note.warn{background:#F6ECE0; border-color:rgba(182,140,80,.5); color:#8a5a26;}
.calc-note svg{width:17px; height:17px; flex:0 0 auto;}

/* summary panel (sticky) */
.calc-sum{position:sticky; top:96px; border-radius:20px; overflow:hidden;
  background:var(--ink); color:var(--paper); box-shadow:0 30px 70px -36px rgba(28,26,20,.7);}
.cs-top{padding:26px 26px 22px; position:relative; border-bottom:1px solid rgba(246,241,232,.12);}
.cs-rings{position:absolute; right:-24px; top:-30px; width:160px; color:var(--paper); opacity:.06; pointer-events:none;}
.cs-kicker{margin:0; font:600 11px/1 var(--ui); letter-spacing:.2em; text-transform:uppercase; color:rgba(246,241,232,.5);}
.cs-plan{margin:13px 0 0; font-family:var(--serif); font-weight:600; font-size:26px; letter-spacing:-.01em; color:var(--paper); display:flex; align-items:center; gap:10px;}
.cs-plan .pieces{font:700 10px/1 var(--ui); letter-spacing:.1em; text-transform:uppercase; color:var(--green-700); background:var(--sand); border-radius:999px; padding:6px 11px;}
.cs-body{padding:20px 26px 8px; display:flex; flex-direction:column; gap:11px;}
.cs-line{display:flex; align-items:center; justify-content:space-between; gap:12px; font:600 13.5px/1.3 var(--ui); color:rgba(246,241,232,.78);}
.cs-line .lbl{display:flex; align-items:center; gap:8px;}
.cs-line .lbl i{font-style:normal; width:7px; height:7px; border-radius:2px; background:var(--clay);}
.cs-line .val{font-variant-numeric:tabular-nums; color:var(--paper); font-weight:700;}
.cs-line.disc .val{color:#7FD0A8;}
.cs-line.muted{color:rgba(246,241,232,.5); font-size:12.5px;}
.cs-empty{padding:6px 0 4px; font-family:var(--edit); font-style:italic; font-size:16px; color:rgba(246,241,232,.5);}
.cs-div{height:1px; background:rgba(246,241,232,.12); margin:6px 0;}
.cs-total{padding:18px 26px 6px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px;}
.cs-total .tl{font:600 11px/1 var(--ui); letter-spacing:.16em; text-transform:uppercase; color:rgba(246,241,232,.55);}
.cs-total .tv{display:flex; align-items:baseline; gap:3px;}
.cs-total .tv .c{font:700 20px/1 var(--ui); color:var(--sand);}
.cs-total .tv .v{font-family:var(--serif); font-weight:600; font-size:46px; letter-spacing:-.02em; color:var(--paper); line-height:.9; font-variant-numeric:tabular-nums;}
.cs-total .tv .per{font:600 12px/1 var(--ui); color:rgba(246,241,232,.5); margin-left:3px;}
.cs-eff{padding:2px 26px 0; font:600 12px/1.4 var(--ui); color:#7FD0A8;}
.cs-eff span{color:rgba(246,241,232,.5);}
.cs-cta{margin:20px 26px 26px; width:calc(100% - 52px); display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font:700 13.5px/1 var(--ui); letter-spacing:.06em; background:var(--paper); color:var(--green-700);
  border:1.5px solid var(--paper); padding:16px; border-radius:999px; transition:background .25s, transform .2s;}
.cs-cta:hover{background:var(--sand); transform:translateY(-1px);}
.cs-cta:disabled{opacity:.45; cursor:not-allowed; transform:none;}
.cs-fine{margin:0 26px 24px; font:500 12px/1.4 var(--edit); font-style:italic; color:rgba(246,241,232,.45); text-align:center;}

@media (max-width:920px){
  .calc{grid-template-columns:1fr;}
  .calc-sum{position:static;}
  .svc{grid-template-columns:46px 1fr; row-gap:14px;}
  .svc-unit{grid-column:1 / 2; grid-row:2; text-align:left; padding-left:62px;}
  .stepper{grid-column:2 / 3; grid-row:2; justify-self:end;}
}
@media (max-width:480px){
  .svc{grid-template-columns:1fr; gap:12px;}
  .svc-ic{display:none;}
  .svc-unit{grid-column:1; grid-row:auto; padding-left:0;}
  .stepper{grid-column:1; grid-row:auto; justify-self:start;}
}

/* ============ YOUTUBE · full-service promo ============ */
.yt-promo{display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(28px,5vw,64px); align-items:center;}
.yt-copy{min-width:0;}
.yt-text{margin:16px 0 0; font-family:var(--edit); font-size:clamp(17px,1.9vw,21px); line-height:1.5; color:var(--ink-soft); max-width:44ch;}
.yt-list{list-style:none; margin:22px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:11px 22px;}
.yt-list li{position:relative; padding-left:26px; font:600 13.5px/1.4 var(--ui); color:var(--ink-soft);}
.yt-list li::before{content:""; position:absolute; left:0; top:0; width:18px; height:18px; border-radius:50%; background:var(--signal-tint);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2315634A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
  background-size:11px; background-repeat:no-repeat; background-position:center;}
.yt-media{position:relative; border-radius:20px; overflow:hidden; aspect-ratio:4/3; border:1px solid var(--line);
  box-shadow:0 26px 60px -34px rgba(28,26,20,.6); background:var(--stone);}
.yt-media image-slot{display:block; width:100% !important; height:100% !important;}
.yt-badge{position:absolute; z-index:3; left:14px; bottom:14px; display:inline-flex; align-items:center; gap:9px;
  background:var(--paper); border:1px solid var(--line); border-radius:999px; padding:9px 15px 9px 11px;
  box-shadow:0 14px 34px -16px rgba(28,26,20,.5); font:700 11px/1 var(--ui); letter-spacing:.04em; color:var(--ink);}
.yt-badge .dot{width:8px; height:8px; border-radius:50%; background:var(--signal); box-shadow:0 0 0 4px rgba(31,138,99,.22);}
@media (max-width:860px){
  .yt-promo{grid-template-columns:1fr; gap:26px;}
  .yt-media{order:-1; aspect-ratio:16/10;}
  .yt-list{grid-template-columns:1fr;}
}

/* ============ HOW IT WORKS strip ============ */
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,30px); margin-top:clamp(36px,5vw,54px);}
.step{padding:24px 22px; border-radius:16px; background:var(--paper-2); border:1px solid var(--line);}
.step b{display:block; font-family:var(--hand); font-size:30px; font-weight:700; color:var(--green); line-height:1;}
.step h4{margin:14px 0 7px; font-family:var(--serif); font-weight:600; font-size:19px; letter-spacing:-.01em;}
.step p{margin:0; font-family:var(--edit); font-size:16px; line-height:1.4; color:var(--ink-soft);}
@media (max-width:760px){ .steps{grid-template-columns:1fr;} }

/* ============ FOOTER ============ */
.foot{background:var(--ink); color:var(--paper); padding:clamp(46px,7vw,72px) var(--gutter) clamp(28px,4vw,40px);}
.foot-inner{max-width:var(--maxw); margin:0 auto;}
.foot-top{display:grid; grid-template-columns:1.3fr 1fr; gap:clamp(28px,5vw,60px); align-items:center;
  padding-bottom:clamp(30px,4.5vw,46px); border-bottom:1px solid rgba(246,241,232,.12);}
.foot-kicker{margin:0 0 12px; font:600 11px/1 var(--ui); letter-spacing:.22em; text-transform:uppercase; color:rgba(246,241,232,.45);}
.foot-title{margin:0; font-family:var(--serif); font-weight:500; font-size:clamp(22px,2.6vw,32px); line-height:1.16; letter-spacing:-.01em; color:var(--paper); text-wrap:balance;}
.foot-title em{font-style:italic; color:var(--sand);}
.foot-cta{justify-self:end; display:inline-flex; align-items:center; gap:10px; font:700 13.5px/1 var(--ui); letter-spacing:.05em;
  background:var(--paper); color:var(--ink); border-radius:999px; padding:16px 28px; transition:background .25s, transform .2s;}
.foot-cta:hover{background:var(--sand); transform:translateY(-1px);}
.foot-bottom{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  padding-top:clamp(20px,3vw,28px); font:500 12px/1 var(--ui); color:rgba(246,241,232,.4);}
.foot-bottom nav{display:flex; flex-wrap:wrap; gap:8px 24px;}
.foot-bottom a{color:rgba(246,241,232,.55); letter-spacing:.04em; transition:color .2s;}
.foot-bottom a:hover{color:var(--paper);}
.foot-mark{display:flex; align-items:center; gap:12px;}
.foot-mark svg{height:22px; width:auto; color:var(--paper);}
@media (max-width:680px){ .foot-top{grid-template-columns:1fr; gap:22px;} .foot-cta{justify-self:start;} }

/* ============ reveal ============ */
.rv{opacity:0; transform:translateY(24px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.rv.in{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1; transform:none; transition:none;}
  *,*::before,*::after{transition-duration:.01ms !important; animation:none !important;}
}
