/* Homepage sections (the approved Editr theme) */
.home .top{position:sticky;top:0;background:var(--bg);border-bottom:0;-webkit-backdrop-filter:none;backdrop-filter:none}
.hero::before{content:'';position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(to bottom,var(--bg) 0%,rgba(251,238,222,.7) 40%,rgba(251,238,222,0) 100%);z-index:1;pointer-events:none}
.hero .wrap{position:relative;z-index:2}

/* hero */
.hero{position:relative;height:57.3vw;min-height:660px;display:flex;align-items:flex-start;background:var(--bg) url(/img/hero-v3.webp) left top/cover no-repeat}
.hero-copy{margin-left:auto;width:min(34%,470px);padding:160px 0 0;min-height:513px;margin-right:-8px}
.hero h1{font-size:clamp(40px,3.9vw,64px);line-height:1.04;letter-spacing:-.015em;margin-bottom:22px;font-weight:700}
.hero h1 .l1{display:block;font-weight:400;font-size:40px;line-height:1;height:23px;margin-bottom:22px}
.hero h1 .l2{display:block;font-weight:400;font-size:46px;line-height:1;letter-spacing:-.66px;width:446px;max-width:100%;margin-bottom:0}
.hero h1 em{font-style:normal;color:var(--warm)}
.sub{font-size:16px;color:var(--deep);max-width:480px;margin:22px 0 34px}
.sub .ln{display:block}
.hero .sub{width:413px;max-width:100%;text-wrap:pretty}
.sub .ln+.ln{margin-top:14px}
.sub.tagline{margin:0;font-size:10px;padding-top:12px;font-weight:400;font-style:italic}
.actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding-top:18px}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px}
.pillar{line-height:1;text-align:start}
.pillar b{font-family:var(--font-head);font-weight:400;font-size:10pt;line-height:1.3;letter-spacing:.04em;text-transform:uppercase;color:var(--head)}

/* ticker, centred */
.ticker{position:relative;z-index:2;box-shadow:0 14px 34px -14px rgba(28,9,4,.55);background:var(--head);color:var(--bg);padding:20px 24px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 0;text-align:center}
.ticker span{font-family:var(--font-head);font-size:18px;padding:0 24px}
.ticker i{font-style:normal;color:var(--sand)}

/* sections */
.s{padding:120px 0;position:relative;overflow:hidden}
.s .wrap{position:relative;z-index:1}
.blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0}
.b1{width:440px;height:440px;background:rgba(118,70,44,.26);left:-140px;top:140px}
.b2{width:380px;height:380px;background:rgba(201,154,118,.42);right:-90px;top:340px}
.b3{width:420px;height:420px;background:rgba(67,27,12,.18);left:36%;bottom:-140px}
.b4{width:400px;height:400px;background:rgba(201,154,118,.38);left:-120px;top:60px}
.b5{width:380px;height:380px;background:rgba(118,70,44,.22);right:-110px;bottom:-60px}
.kicker{display:block;text-align:center;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--warm);margin-bottom:16px}
.s h2{font-size:clamp(34px,4.4vw,56px);line-height:1.08;letter-spacing:-.01em;font-weight:400;text-align:center}
.s h2 span{color:var(--warm)}
.orn{display:flex;align-items:center;justify-content:center;gap:14px;margin:26px 0 64px;color:var(--warm)}
.orn i{display:block;width:90px;height:1px;background:rgba(118,70,44,.4)}

/* services: ruled ledger, 2 x 2 */
.panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(118,70,44,.32);border:1px solid rgba(118,70,44,.32);box-shadow:0 0 0 8px var(--bg),0 0 0 9px rgba(118,70,44,.22),0 44px 90px -34px rgba(67,27,12,.5)}
.cell{position:relative;transition:transform .45s cubic-bezier(.22,.7,.2,1),box-shadow .45s ease;background:linear-gradient(160deg,#FCF2E6 0%,#F5E2CB 100%);padding:52px 52px 44px;display:flex;flex-direction:column}
.cell.dark,.cell:hover{background:linear-gradient(160deg,#52230F 0%,#341409 100%);color:var(--bg)}
.cell-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:26px;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--warm)}
.cell.dark .cell-top,.cell:hover .cell-top{color:var(--sand)}
.ico{display:block;width:42px;height:42px;margin-bottom:22px;background-color:var(--warm);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:left center;mask-position:left center}
.cell.dark .ico,.cell:hover .ico{background-color:var(--bg)}
.i-resume{-webkit-mask-image:url(/icons/resume.svg);mask-image:url(/icons/resume.svg)}
.i-deck{-webkit-mask-image:url(/icons/deck.svg);mask-image:url(/icons/deck.svg)}
.i-news{-webkit-mask-image:url(/icons/newsletter.svg);mask-image:url(/icons/newsletter.svg)}
.i-ret{-webkit-mask-image:url(/icons/retainer.svg);mask-image:url(/icons/retainer.svg)}
.cell h3{font-size:36px;font-weight:400;line-height:1.1;margin-bottom:14px}
.cell.dark h3,.cell:hover h3{color:var(--bg)}
.desc{font-size:15px;color:var(--deep);margin:0 0 22px;max-width:480px}
.cell.dark .desc,.cell:hover .desc{color:rgba(251,238,222,.85)}
.feat{list-style:none;margin:0 0 30px;padding:0;display:grid;gap:9px}
.feat li{font-size:14px;color:var(--deep);padding-left:24px;position:relative}
.feat li::before{content:'✦';position:absolute;left:0;top:.35em;font-size:10px;line-height:1;color:var(--warm)}
.cell.dark .feat li,.cell:hover .feat li{color:rgba(251,238,222,.88)}
.cell.dark .feat li::before,.cell:hover .feat li::before{color:var(--sand)}
.foot{margin-top:auto;padding-top:24px;border-top:1px solid rgba(118,70,44,.28);display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.cell.dark .foot,.cell:hover .foot{border-top-color:rgba(251,238,222,.25)}
.price{font-family:var(--font-head);font-weight:400;font-size:26px;line-height:1;color:var(--brand)}
.cell.dark .price,.cell:hover .price{color:var(--bg)}
.per{display:block;font-family:var(--font-body);font-weight:400;font-size:10px;color:var(--warm);margin-top:8px}
.cell.dark .per,.cell:hover .per{color:var(--sand)}
.go{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);border-bottom:1px solid var(--brand);padding-bottom:4px;white-space:nowrap}
.cell.dark .go,.cell:hover .go{color:var(--bg);border-bottom-color:var(--bg)}

/* how it works */
.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(118,70,44,.32);border:1px solid rgba(118,70,44,.32);box-shadow:0 0 0 8px var(--bg),0 0 0 9px rgba(118,70,44,.22),0 36px 70px -34px rgba(67,27,12,.45)}
.step{background:linear-gradient(160deg,#FCF2E6 0%,#F5E2CB 100%);padding:46px 40px 40px}
.step .n{font-family:var(--font-head);font-size:54px;line-height:1;color:rgba(118,70,44,.35);margin-bottom:18px}
.step h3{font-size:26px;font-weight:400;margin-bottom:10px}
.step p{font-size:15px;color:var(--deep);margin:0 0 18px}
.step .t{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--warm)}

/* before and after */
.tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:48px}
.tab{font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:12px 24px;border-radius:2px;border:1px solid rgba(118,70,44,.4);background:none;color:var(--head);cursor:pointer}
.tab.on{background:var(--brand);color:var(--bg);border-color:var(--brand)}
.stage{display:grid;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);align-items:stretch}
.pane{padding:44px 44px 36px;display:flex;flex-direction:column;min-height:330px}
.pane.before{background:linear-gradient(160deg,rgba(118,70,44,.06),rgba(118,70,44,.14));border:1px solid rgba(118,70,44,.25);box-shadow:0 26px 50px -30px rgba(67,27,12,.4)}
.pane.after{background:linear-gradient(160deg,#52230F 0%,#341409 100%);color:var(--bg);box-shadow:0 34px 64px -30px rgba(28,9,4,.75)}
.tag{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.pane.before .tag{color:#8a3b2a}
.pane.after .tag{color:var(--sand)}
.pane.before p{margin:0;font-size:17px;color:rgba(28,9,4,.62);text-decoration:line-through;text-decoration-color:rgba(138,59,42,.65);text-decoration-thickness:2px}
.pane.after p{margin:0;font-family:var(--font-head);font-weight:400;font-size:28px;line-height:1.3}
.meter{margin-top:auto;padding-top:30px}
.track{height:6px;background:rgba(118,70,44,.18)}
.pane.after .track{background:rgba(251,238,222,.18)}
.fill{height:6px;transition:width .35s}
.pane.before .fill{background:#8a3b2a}
.pane.after .fill{background:var(--sand)}
.words{display:block;margin-top:10px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.pane.before .words{color:#8a3b2a}
.pane.after .words{color:var(--sand)}
.mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative}
.chip{position:relative;padding:14px 10px;text-align:center;font-family:var(--font-head);font-weight:700;font-size:34px;color:var(--brand);line-height:1.25}
.chip small{display:block;margin-top:6px;font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--warm)}
.note{text-align:center;font-size:12px;color:rgba(28,9,4,.6);margin:40px 0 0}

/* reviews (sample feedback) */
.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.quote{background:linear-gradient(160deg,#FCF2E6 0%,#F5E2CB 100%);border:1px solid rgba(118,70,44,.28);padding:34px 30px;box-shadow:0 26px 50px -34px rgba(67,27,12,.45)}
.quote p{font-family:var(--font-head);font-size:19px;line-height:1.5;color:var(--head);margin:0 0 22px}
.quote .who{font-size:13px;font-weight:600;color:var(--brand)}
.quote .role{font-size:12px;color:var(--warm)}
.sub-note{text-align:center;font-size:14px;color:rgba(28,9,4,.6);margin:-34px 0 54px}

/* questions */
.ask{max-width:760px;margin:0 auto;text-align:center;padding:64px 48px 60px;border:1px solid rgba(118,70,44,.32);background:linear-gradient(160deg,#FCF2E6 0%,#F3DEC5 100%);box-shadow:0 0 0 8px var(--bg),0 0 0 9px rgba(118,70,44,.22),0 40px 80px -36px rgba(67,27,12,.45)}
.ask h2{margin-bottom:20px}
.ask-p{font-size:18px;color:var(--deep);margin:0 0 32px}
.ask-p a{color:var(--brand);font-weight:600;border-bottom:1px solid var(--warm)}

/* closing section with background image, fades into the footer */
.cta{position:relative;aspect-ratio:630/482;min-height:620px;background:var(--ink) url(/img/cta-hd.webp) center top/cover no-repeat;color:var(--bg);text-align:center;display:flex;align-items:flex-end;justify-content:center;padding:0 0 6.5%}
.cta .wrap{width:100%}
.cta h2{color:var(--bg);margin-bottom:16px;font-size:clamp(34px,4vw,48px);line-height:1.08;font-weight:400}
.cta h2 span{color:var(--sand)}
.cta p{color:rgba(251,238,222,.72);font-size:18px;margin:0 0 34px}
.cta .btn{background:var(--bg);color:var(--brand)}
.cta .btn:hover{background:#fff}

@media(max-width:900px){
  .hero{display:block;height:auto;min-height:0;background-image:url(/img/hero-m.webp);background-size:100% auto;background-position:center top;background-repeat:no-repeat;padding-top:62.5vw}
  .hero .sub.tagline{font-size:10px;margin:0;padding-top:10px}
  .hero h1 .l1{font-size:30px;height:auto;margin-bottom:6px}
  .hero h1 .l2{font-size:34px;width:auto;letter-spacing:-.4px}
  .hero h1{margin-bottom:0}
  .hero .sub{width:auto;font-size:14px;margin:8px 0 0}
  .hero .actions{padding-top:16px}
  .hero .sub .ln+.ln{margin-top:8px}
  .hero-copy{width:auto;margin:-11vw -22px 0;padding:calc(11vw + 8px) 22px 40px;min-height:0;background:linear-gradient(to bottom,rgba(251,238,222,0),var(--bg) 11vw)}
  .pillars{grid-template-columns:1fr;gap:16px}
  .panel,.steps3,.quotes{grid-template-columns:1fr}
  .cell{padding:40px 28px 34px}
  .stage{grid-template-columns:1fr}
  .mid{flex-direction:row;padding:16px 0}
  .pane{padding:32px 26px 28px;min-height:0}
  .ask{padding:44px 24px 40px}
  .cta{aspect-ratio:auto;min-height:540px;padding:0 0 56px;background-position:center top}
  .cta h2{font-size:32px}
  .cta p{font-size:16px;margin-bottom:26px}
  .ticker{display:block;padding:24px 22px;line-height:1.9;text-align:center}
  .ticker span{display:inline-block;font-size:16px;padding:0;white-space:nowrap}
  .ticker i{display:inline-block;padding:0 .6em;font-size:11px}
}

.cell:hover{transform:translateY(-6px);z-index:2;box-shadow:0 34px 56px -30px rgba(67,27,12,.6)}

.btn.go{border:0;padding:0 24px;font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:none;color:var(--bg);background:var(--brand);box-shadow:0 12px 22px -12px rgba(67,27,12,.7)}
.btn.go:hover{background:var(--warm)}
.cell:hover .btn.go{background:var(--bg);color:var(--brand)}
.cell:hover .btn.go:hover{background:#fff}
