/* Layout: one calm column on warm paper; sand bands separate chapters; deep bronze marks only actions and prices.
   Deliberately single-theme: Moran's warm, light brand palette stays fixed in every viewer theme.
   Spacing follows an 8px scale. Primary actions use the deep bronze so white text passes AA contrast. */
:root{
  --paper:#fbf6ee;
  --paper-2:#f1e4ce;
  --surface:#fffdf9;
  --ink:#3b2e21;
  --ink-soft:#5a4a37;
  --bronze:#b5793f;
  --bronze-deep:#8c5a2e;
  --gold-mist:#ead2a6;
  --stone:#e1d3b8;
  --clay:#c98a55;
  --font-display:'Frank Ruhl Libre','David',serif;
  --font-body:'Rubik',system-ui,sans-serif;
  --radius:16px;
  --shadow:0 18px 40px -28px rgba(59,46,33,.55);
}
*{box-sizing:border-box;}
html,body{margin:0;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-size:17px;line-height:1.7;
  direction:rtl;text-align:right;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0;text-wrap:balance;line-height:1.25;color:var(--ink);}
p{margin:0;line-height:1.7;text-wrap:pretty;}
a{color:inherit;}
a:focus-visible,summary:focus-visible{outline:2px solid var(--bronze-deep);outline-offset:3px;border-radius:6px;}
.wrap{max-width:1040px;margin-inline:auto;padding-inline:24px;}
/* narrow sections keep the same right edge as every other section; only the text column is capped */
.narrow > *{max-width:720px;}
.eyebrow{font-size:13px;letter-spacing:.12em;color:var(--bronze-deep);font-weight:700;margin:0;}
.center{text-align:center;}

/* top bar */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:rgba(251,246,238,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--stone);}
.topbar-inner{max-width:1040px;margin-inline:auto;padding:8px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.brand-chip{display:flex;align-items:center;gap:12px;text-decoration:none;}
.brand-chip img{height:60px;width:auto;}
.brand-text{display:flex;flex-direction:column;line-height:1.25;}
.brand-name{font-family:var(--font-display);color:var(--ink);font-size:17px;font-weight:700;}
.brand-sub{font-size:15px;color:var(--bronze-deep);font-weight:600;}
.top-cta{display:inline-flex;align-items:center;min-height:44px;font-size:14.5px;font-weight:700;color:#fff;background:var(--bronze-deep);border-radius:999px;padding:8px 20px;white-space:nowrap;text-decoration:none;}
.top-cta:hover{background:var(--ink);}
@media (max-width:480px){.brand-chip{gap:8px;}.brand-chip img{height:44px;}.brand-name{font-size:16px;}.brand-sub{font-size:14px;}.topbar-inner{padding-inline:16px;}.top-cta{padding-inline:14px;font-size:14px;}}

/* hero */
.hero{padding-block:72px 64px;background:linear-gradient(180deg,var(--paper-2),var(--paper));}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:center;}
.hero-grid > *{min-width:0;}
.hero h1{font-size:clamp(30px,4.4vw,46px);line-height:1.2;margin-top:12px;}
.hero h1 .accent{display:block;margin-top:14px;font-family:var(--font-body);font-size:.52em;line-height:1.45;font-weight:700;color:var(--bronze-deep);}
.hero .sub{margin-top:18px;font-size:clamp(16.5px,1.9vw,18.5px);color:var(--ink-soft);max-width:48ch;}
.hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);border:1px solid var(--stone);box-shadow:var(--shadow);}
.hero.simple{text-align:center;}
.hero.simple .sub{margin-inline:auto;}
@media (max-width:760px){.hero-grid{grid-template-columns:1fr;gap:32px;}.hero-photo{max-width:320px;margin-inline:auto;}.hero{padding-block:40px 40px;}}

/* buttons: one primary action per view, ghost for the rest */
.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border-radius:999px;font-weight:700;text-decoration:none;text-align:center;line-height:1.3;transition:background .15s,color .15s,border-color .15s;}
.btn-primary{margin-top:28px;padding:13px 32px;background:var(--bronze-deep);color:#fff;font-size:16.5px;box-shadow:0 12px 26px -14px rgba(140,90,46,.8);}
.btn-primary:hover{background:var(--ink);}
.btn-ghost{margin-top:16px;padding:11px 24px;border:1.5px solid var(--bronze-deep);color:var(--bronze-deep);font-size:15px;background:transparent;}
.btn-ghost:hover{background:var(--bronze-deep);color:#fff;}
.btn-note{margin-top:12px;font-size:14.5px;color:var(--ink-soft);}
.price-hint{margin-top:16px;font-size:15.5px;color:var(--bronze-deep);font-weight:700;}

/* sections */
section{padding-block:clamp(56px,8vw,88px);}
section.band{background:var(--paper-2);}
.section-head{max-width:680px;margin-bottom:36px;}
.section-head.center{margin-inline:auto;}
.section-head h2{font-size:clamp(25px,3.3vw,34px);margin-top:8px;}
.section-head p:not(.eyebrow){margin-top:12px;color:var(--ink-soft);font-size:17px;}
.section-head .launch{margin-top:18px;}
.lead p{font-size:clamp(17px,2vw,19px);color:var(--ink-soft);max-width:60ch;}
.lead p + p{margin-top:16px;}
.lead .lede{font-family:var(--font-body);font-weight:700;font-size:clamp(18px,2.2vw,21px);line-height:1.55;margin-top:28px;color:var(--bronze-deep);}

/* option cards: three map tiers, the target tier stands out */
.options{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.option{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--stone);border-radius:var(--radius);padding:28px 24px 24px;min-width:0;}
.option.focus{border:2px solid var(--bronze-deep);box-shadow:var(--shadow);}
.option .flag{position:absolute;top:-14px;right:50%;transform:translateX(50%);background:var(--bronze-deep);color:#fff;font-size:13px;font-weight:700;border-radius:999px;padding:4px 16px;white-space:nowrap;}
.who{font-size:13.5px;font-weight:700;color:var(--bronze-deep);letter-spacing:.02em;margin:0 0 6px;}
.option h3{font-size:24px;}
.option .one{margin-top:8px;font-size:15.5px;color:var(--ink-soft);min-height:3.2em;}
.option .price{margin-top:12px;padding-top:16px;border-top:1px solid var(--stone);font-family:var(--font-display);font-size:40px;line-height:1.1;color:var(--bronze-deep);font-variant-numeric:tabular-nums;}
.option .price small{display:block;font-family:var(--font-body);font-size:14.5px;line-height:1.5;color:var(--ink-soft);font-weight:500;margin-top:4px;}
.option ul{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;flex:1;}
.option li{display:flex;gap:10px;font-size:15.5px;color:var(--ink-soft);line-height:1.5;}
.option li::before{content:'✓';flex:none;color:var(--bronze-deep);font-weight:700;}
.option .btn-primary,.option .btn-ghost{margin-top:24px;width:100%;padding-inline:16px;font-size:15px;}
.options-note{margin:20px auto 0;max-width:640px;text-align:center;font-size:15px;color:var(--ink-soft);}
@media (max-width:860px){.options{grid-template-columns:1fr;gap:28px;max-width:460px;margin-inline:auto;}.option .one{min-height:0;}}

/* the in-home session: a separate, premium card */
.session-card{margin-top:40px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;background:var(--ink);color:var(--paper);border-radius:var(--radius);padding:32px 32px;}
.session-card > *{min-width:0;}
.session-card .who{color:var(--gold-mist);}
.session-card h3{color:#fff;font-size:26px;}
.session-card .one{margin-top:10px;font-size:16px;color:#e9dcc8;max-width:58ch;}
.session-perk{margin-top:14px;font-size:14.5px;color:var(--gold-mist);font-weight:600;}
.session-side{text-align:center;}
.session-side .price{font-family:var(--font-display);font-size:40px;line-height:1.1;color:var(--gold-mist);font-variant-numeric:tabular-nums;}
.session-side .btn-primary{margin-top:16px;background:var(--gold-mist);color:var(--ink);box-shadow:none;white-space:nowrap;}
.session-side .btn-primary:hover{background:#fff;}
@media (max-width:760px){.session-card{grid-template-columns:1fr;padding:28px 24px;text-align:center;}.session-card .one{margin-inline:auto;}}

/* comparison table */
.table-scroll{overflow-x:auto;border:1px solid var(--stone);border-radius:var(--radius);background:var(--surface);}
table.compare{width:100%;table-layout:fixed;border-collapse:collapse;font-size:15.5px;}
.compare th,.compare td{padding:14px 12px;border-bottom:1px solid var(--stone);text-align:center;color:var(--ink-soft);}
.compare th{background:var(--paper-2);color:var(--ink);font-weight:700;font-size:14.5px;}
.compare td:first-child,.compare th:first-child{text-align:right;color:var(--ink);font-weight:500;padding-inline-start:20px;}
.compare td:nth-child(4),.compare th:nth-child(4){background:rgba(234,210,166,.35);}
.compare th:nth-child(4){color:var(--bronze-deep);}
.compare tr:last-child td{border-bottom:none;font-weight:700;color:var(--bronze-deep);font-variant-numeric:tabular-nums;font-size:17px;}
.compare .yes{color:var(--bronze-deep);font-weight:700;}
.compare .no{color:#c4b393;}

/* included list */
.included-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.included-item{display:flex;gap:12px;align-items:flex-start;padding-block:16px;border-bottom:1px solid var(--stone);min-width:0;}
.included-item .mark{flex:none;width:26px;height:26px;border-radius:50%;background:var(--bronze-deep);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-top:2px;}
.included-item p{font-size:16.5px;color:var(--ink-soft);}
.included-item b{color:var(--ink);font-weight:600;}
@media (max-width:640px){.included-grid{grid-template-columns:1fr;}}

/* steps (a real sequence) */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.step{border:1px solid var(--stone);border-radius:var(--radius);padding:24px;background:var(--surface);min-width:0;}
.step .num{font-family:var(--font-display);color:var(--bronze-deep);font-size:15px;letter-spacing:.08em;font-weight:700;}
.step h3{margin-top:8px;font-size:20px;}
.step p{margin-top:8px;font-size:16px;color:var(--ink-soft);}
@media (max-width:720px){.steps{grid-template-columns:1fr;}}

/* rows: who it's for, what changes */
.forwho .row{display:flex;gap:16px;align-items:flex-start;padding-block:18px;border-top:1px solid var(--stone);}
.forwho .row:last-child{border-bottom:1px solid var(--stone);}
.forwho .dot{flex:none;width:9px;height:9px;border-radius:50%;background:var(--bronze-deep);margin-top:11px;}
.forwho p{font-size:17px;max-width:60ch;color:var(--ink);}

/* price */
.price-block{margin:0 auto;max-width:500px;padding:32px 28px;border-radius:var(--radius);background:var(--surface);border:2px solid var(--bronze-deep);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;}
.price-block .price-label{font-size:14px;color:var(--bronze-deep);font-weight:700;letter-spacing:.04em;}
.price-block .num{font-family:var(--font-display);font-size:48px;line-height:1.1;color:var(--bronze-deep);font-variant-numeric:tabular-nums;}
.price-block p{font-size:16px;color:var(--ink-soft);max-width:42ch;}
.price-block .terms{margin-top:8px;padding-top:14px;border-top:1px dashed var(--stone);font-size:15px;width:100%;}
.perk{margin:24px auto 0;max-width:560px;background:var(--gold-mist);border-radius:12px;padding:14px 20px;text-align:center;font-size:15.5px;color:var(--ink);}
.perk b{color:var(--bronze-deep);}

/* price tiers by household size */
.tiers-head{margin:48px auto 0;text-align:center;font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--ink);}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:820px;margin:28px auto 0;align-items:stretch;}
.tier{position:relative;background:var(--surface);border:1px solid var(--stone);border-radius:var(--radius);padding:24px 16px 20px;text-align:center;min-width:0;display:flex;flex-direction:column;gap:6px;}
.tier.best{border:2px solid var(--bronze-deep);box-shadow:var(--shadow);}
.tier .tag{position:absolute;top:-13px;right:50%;transform:translateX(50%);background:var(--bronze-deep);color:#fff;font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 14px;white-space:nowrap;}
.tier .who{margin:0;font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:0;}
.tier .amt{font-family:var(--font-display);font-size:34px;line-height:1.15;color:var(--bronze-deep);font-variant-numeric:tabular-nums;}
.tier .what{font-size:14.5px;color:var(--ink-soft);line-height:1.55;}
.tier a{margin-top:auto;padding-top:8px;font-size:14.5px;font-weight:700;color:var(--bronze-deep);}
@media (max-width:640px){.tiers{grid-template-columns:1fr;gap:24px;max-width:420px;}}

/* testimonials */
.t-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.t-card{background:var(--surface);border:1px solid var(--stone);border-radius:var(--radius);padding:24px;min-width:0;}
.t-card.wide{grid-column:1 / -1;border:2px solid var(--bronze-deep);padding:28px;}
.t-card.wide .quote{font-size:17.5px;line-height:1.75;}
.t-card .shot{width:100%;border-radius:10px;border:1px solid var(--stone);margin-bottom:14px;}
.t-card.wide .shot{max-width:420px;display:block;margin-inline:auto;margin-bottom:18px;}
.t-card .quote{font-size:16px;color:var(--ink);line-height:1.7;}
.t-card .attr{margin-top:14px;padding-top:12px;border-top:1px dashed var(--stone);font-size:13.5px;color:var(--bronze-deep);font-weight:700;}
@media (max-width:680px){.t-grid{grid-template-columns:1fr;}}

/* bio */
.bio-inner{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:center;}
.bio-inner > *{min-width:0;}
.bio-inner img{width:100%;border-radius:var(--radius);border:1px solid var(--stone);}
.bio h2{font-size:clamp(25px,3.3vw,34px);margin-top:8px;}
.bio p:not(.eyebrow){color:var(--ink-soft);font-size:16.5px;margin-top:14px;max-width:60ch;}
.bio .sig{margin-top:18px;font-family:var(--font-display);color:var(--bronze-deep);font-size:16.5px;}
@media (max-width:760px){.bio-inner{grid-template-columns:1fr;gap:28px;}.bio-inner .pic{max-width:240px;margin-inline:auto;}}

/* faq: collapsible, one question per row */
.faq-item{border-top:1px solid var(--stone);}
.faq-item:last-child{border-bottom:1px solid var(--stone);}
.faq-item .q{font-weight:700;font-size:17px;color:var(--ink);}
summary.q{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:18px;min-height:48px;}
summary.q::-webkit-details-marker{display:none;}
summary.q::after{content:'+';flex:none;font-family:var(--font-body);font-size:24px;font-weight:400;line-height:1;color:var(--bronze-deep);}
details[open] > summary.q::after{content:'−';}
.faq-item .a{margin-top:0;padding-bottom:20px;font-size:16.5px;color:var(--ink-soft);max-width:64ch;}
div.faq-item{padding-block:18px;}
div.faq-item .a{margin-top:6px;padding-bottom:0;}

/* other paths */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.path{display:flex;flex-direction:column;text-decoration:none;background:var(--surface);border:1px solid var(--stone);border-radius:var(--radius);padding:24px;min-width:0;transition:border-color .15s;}
.path:hover{border-color:var(--bronze-deep);}
.path .t{font-family:var(--font-display);font-size:21px;color:var(--ink);font-weight:700;}
.path .d{margin-top:6px;font-size:15px;color:var(--ink-soft);line-height:1.6;flex:1;}
.path .go{margin-top:14px;font-size:14.5px;font-weight:700;color:var(--bronze-deep);}
@media (max-width:640px){.paths{grid-template-columns:1fr;}}

/* final cta + footer */
.final-cta{background:linear-gradient(135deg,var(--gold-mist),var(--clay));text-align:center;}
.final-cta h2{font-size:clamp(26px,4vw,38px);}
.final-cta p{margin:12px auto 0;color:var(--ink);font-size:17px;max-width:52ch;}
.final-cta .btn-primary{background:var(--ink);color:#fff;box-shadow:none;}
.final-cta .btn-primary:hover{background:var(--bronze-deep);color:#fff;}
.final-cta .phone{margin-top:14px;font-size:14.5px;color:var(--ink);}
footer{background:var(--ink);color:var(--stone);padding-block:36px;font-size:14px;text-align:center;}
.foot-inner{display:flex;flex-direction:column;align-items:center;gap:14px;}
.foot-line{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:center;}
.foot-line .sep{opacity:.5;}
footer a{color:var(--gold-mist);text-decoration:none;}
footer a:hover{text-decoration:underline;}

/* launch pricing */
.was{position:relative;display:inline-block;font-size:.5em;color:var(--ink-soft);margin-inline-end:10px;font-variant-numeric:tabular-nums;vertical-align:middle;}
.was::before,.was::after{content:"";position:absolute;left:-5px;right:-5px;top:50%;border-top:2px solid #b3402e;}
.was::before{transform:rotate(-17deg);}
.was::after{transform:rotate(17deg);}
.launch{display:inline-block;background:var(--ink);color:var(--gold-mist);font-family:var(--font-body);font-size:13px;font-weight:700;line-height:1.5;border-radius:999px;padding:4px 16px;}
.option .price small .launch{display:table;margin-top:7px;}

/* referral to the in-home session (a separate page, not an option here) */
.session-ref{padding-block:40px;}
.session-link{margin:0 auto;max-width:640px;text-align:center;font-size:17px;color:var(--ink);}
.session-link a{font-weight:700;color:var(--bronze-deep);white-space:nowrap;}
.session-link span{display:block;margin-top:8px;font-size:14.5px;color:var(--ink-soft);}

/* what a bigger tier adds on top of the single map */
.option li.plus-label{margin-top:6px;padding-top:12px;border-top:1px dashed var(--stone);font-size:13.5px;font-weight:700;letter-spacing:.04em;color:var(--bronze-deep);}
.option li.plus-label::before{content:'+';}
.option li.extra{color:var(--ink);font-weight:600;}
.option .more-link{display:block;margin-top:14px;padding:6px 0;text-align:center;font-size:14.5px;font-weight:600;color:var(--bronze-deep);}
.final-cta .phone a{color:var(--ink);font-weight:600;}

/* review round: bigger labels, numerals in Rubik, lighter display weight, table fits the phone */
.eyebrow{font-size:17px;letter-spacing:.04em;}
.who{font-size:15px;}
h1,h2,h3{font-weight:500;}
.brand-name{font-weight:600;}
.tiers-head,.path .t{font-weight:500;}
.option .price,.session-side .price,.price-block .num,.tier .amt,.step .num,.bio .sig{font-family:var(--font-body);font-weight:600;}
.option .price,.session-side .price{font-size:38px;}
.compare th:first-child{width:36%;}
.compare tr:last-child .was{display:block;width:max-content;margin:0 auto 6px;font-size:13px;font-weight:500;}
.compare tr:last-child .was::after{display:none;}
@media (max-width:640px){
  table.compare{font-size:13.5px;}
  .compare th,.compare td{padding:10px 4px;}
  .compare th{font-size:13px;line-height:1.3;}
  .compare td:first-child,.compare th:first-child{padding-inline-start:10px;line-height:1.4;}
  .compare tr:last-child td{font-size:15px;}
}
