.loader{position:fixed;inset:0;z-index:300;background:var(--forest);display:grid;place-items:center;transition:transform .7s cubic-bezier(.76,0,.24,1)}
.loader img{width:150px;height:150px;border-radius:50%;animation:pop .8s cubic-bezier(.2,1.4,.4,1) both}
.loader.gone{transform:translateY(-101%)}
.seen .loader{display:none}
@keyframes pop{from{transform:scale(.4) rotate(-40deg);opacity:0}}

/* The turntable: a ring of plates that turns as you scroll. */
.turn{background:radial-gradient(120% 90% at 50% 62%,var(--leaf) 0%,var(--forest) 55%,var(--pine) 100%)}
.turn-stage{--plate:min(52svh,40vw);--cy:61svh;position:relative;height:100svh;min-height:560px;overflow:hidden}
.turn-title{position:absolute;inset:clamp(70px,11svh,110px) 0 auto;text-align:center;color:var(--cream);font-size:clamp(56px,min(11vw,17svh),230px);line-height:.95;white-space:nowrap}
.turn-title br{display:none}
.wheel{position:absolute;left:50%;top:var(--cy);width:0;height:0}
.wplate{position:absolute;width:var(--plate);left:calc(var(--plate) / -2);top:calc(var(--plate) / -2);will-change:transform}
.wplate .plate{box-shadow:0 26px 60px rgba(0,0,0,.42)}
.dial{position:absolute;left:50%;top:var(--cy);width:calc(var(--plate) * 1.14);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:2px dashed rgba(239,174,44,.55)}
.read{position:absolute;z-index:5;background:var(--pine);border-radius:24px;padding:20px 24px;box-shadow:0 20px 44px rgba(0,0,0,.34);margin:0}
.read-name{inset-inline-start:clamp(16px,4vw,60px);bottom:clamp(20px,5svh,48px);width:min(340px,30vw)}
.read-kicker{font-size:14.5px;color:var(--sage)}
.read-name h2{font-size:clamp(30px,3.2vw,46px);margin:2px 0 14px;min-height:2.2em;display:flex;align-items:center}
.read-macros{inset-inline-end:clamp(16px,4vw,60px);bottom:clamp(20px,5svh,48px);display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;width:min(270px,26vw)}
.read-macros dt{font-size:14px;color:var(--sage)}
.read-macros dd{margin:0;font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:clamp(32px,3.2vw,46px);line-height:1;color:var(--saffron);font-variant-numeric:tabular-nums}
@media(max-width:820px){
  .turn-stage{--plate:min(72vw,40svh);--cy:50svh}
  .turn-title{font-size:clamp(66px,21vw,120px);inset-block-start:76px;line-height:.92}
  .turn-title br{display:block}
  .read-name{inset-inline:14px;bottom:88px;width:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;bottom:96px}
  .read-name h2{font-size:26px;margin:0;min-height:0}
  .read-kicker{display:none}
  .read-name .btn{min-height:44px;padding:6px 18px;font-size:15px;flex:none}
  .read-macros{inset-inline:14px;bottom:14px;width:auto;grid-template-columns:repeat(4,1fr);gap:4px;padding:10px 14px;text-align:center}
  .read-macros dt{font-size:12.5px}
  .read-macros dd{font-size:27px}
}
@media(max-width:820px) and (max-height:700px){.turn-title{font-size:60px;inset-block-start:64px}.turn-stage{--plate:min(58vw,30svh)}}

.idea{background:var(--cream);color:var(--ink);padding:clamp(70px,11vw,140px) 0}
.idea-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,80px);align-items:start}
.idea h2{font-size:clamp(52px,7.5vw,108px);color:var(--forest)}
.idea-lead{font-size:clamp(21px,2.1vw,27px);line-height:1.6;font-weight:400;margin-bottom:16px;color:var(--forest)}
.goals{list-style:none;padding:0;margin:26px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.goals li{background:var(--sage-soft);color:var(--forest);padding:8px 20px;border-radius:999px;font-weight:450}
@media(max-width:760px){.idea-in{grid-template-columns:1fr}}

.week{background:var(--cream);color:var(--ink);padding:0 0 clamp(70px,10vw,130px)}
.week h2{font-size:clamp(48px,7vw,96px);color:var(--forest)}
.week-sub{margin:10px 0 24px;max-width:58ch}
.week .chip{color:var(--ink);border-color:var(--line)}
.week .chip[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px 6px;background:var(--paper);border-radius:28px;padding:clamp(12px,2.4vw,28px)}
.cal-d{text-align:center;font-size:clamp(13px,1.4vw,17px);font-weight:500;padding-bottom:6px;grid-row:1}
.cal-drop{grid-row:2;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;min-height:70px;color:var(--forest);font-size:clamp(11px,1.15vw,14.5px);text-align:center;line-height:1.25}
.cal-drop svg{width:clamp(28px,3.2vw,42px);height:clamp(28px,3.2vw,42px);background:var(--saffron);border-radius:50%;padding:6px}
.cal-eat{grid-row:3;background:var(--forest);color:var(--cream);text-align:center;padding:10px 4px;font-size:clamp(11px,1.2vw,15px);border-radius:12px;animation:grow .4s cubic-bezier(.2,.8,.2,1) both}
.cal-off{grid-row:3;background:rgba(16,38,29,.05);border-radius:12px;min-height:46px}
@keyframes grow{from{transform:scaleX(.5);opacity:0}}
.week-foot{margin-top:16px;font-size:16px;color:var(--muted)}

.weekly{background:var(--sage-soft);color:var(--ink);padding:clamp(70px,10vw,130px) 0;overflow:hidden}
.weekly-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(30px,6vw,90px);align-items:center}
.weekly h2{font-size:clamp(56px,9vw,132px);color:var(--forest)}
.weekly-copy p{margin:16px 0 24px;max-width:46ch;font-size:clamp(18px,1.7vw,22px)}
.stack{position:relative;display:block;width:min(100%,420px);margin-inline:auto;aspect-ratio:835/1278;padding:0;border:0;background:none;cursor:zoom-in}
.stack img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:0 22px 50px rgba(9,42,31,.3);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.stack .s1{transform:translateX(-12%) rotate(-6deg)}
.stack .s2{transform:translateX(12%) rotate(6deg)}
.stack:hover .s1{transform:translateX(-20%) rotate(-10deg)}
.stack:hover .s2{transform:translateX(20%) rotate(10deg)}
@media(max-width:760px){.weekly-in{grid-template-columns:1fr}.stack{width:66%}}

.wall{background:var(--pine);padding:clamp(40px,6vw,80px) 0 0;overflow:hidden;display:grid;gap:clamp(12px,1.6vw,22px)}
.wall-row{display:flex;gap:clamp(12px,1.6vw,22px);width:max-content;will-change:transform}
.wall-row a{display:block;width:clamp(104px,12vw,176px);flex:none}
.wall-row .plate{box-shadow:0 10px 24px rgba(0,0,0,.32)}
.wall.still{overflow-x:auto}

.strip{background:var(--pine)}
.strip-pin{min-height:100svh;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,4svh,46px);padding:90px 0 40px;overflow:hidden}
.strip-head{width:min(1200px,100% - 40px);margin-inline:auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.strip-head h2{font-size:clamp(46px,6.2vw,92px);max-width:13em}
.track{display:flex;gap:clamp(20px,3vw,44px);padding-inline:max(20px,calc((100vw - 1200px)/2));width:max-content;will-change:transform}
.tcard{width:clamp(210px,min(25vw,38svh),340px);text-decoration:none;text-align:center;flex:none}
.tcard .plate{transition:transform .3s}
.tcard h3{font-size:clamp(25px,2.4vw,34px);margin-top:14px}
@media(max-width:820px){
  .strip-pin{min-height:0;padding:70px 0 50px;overflow:visible}
  .track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}
  .tcard{scroll-snap-align:center;width:62vw}
}

.heat{background:var(--forest);padding:clamp(70px,10vw,130px) 0}
.heat h2{font-size:clamp(48px,7vw,96px)}
.heat-sub{margin:10px 0 24px;color:var(--sage-soft);max-width:58ch}
.heat-all{margin-top:24px}

.plans{background:var(--saffron);color:var(--ink);padding:clamp(70px,10vw,130px) 0}
.plans-in{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(24px,5vw,70px);align-items:center}
.plans h2{font-size:clamp(56px,9vw,130px);color:var(--forest);margin-bottom:18px}
.plans .legend{margin:18px 0 8px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{min-width:76px;min-height:58px;padding:6px 20px;border:2px solid var(--forest);border-radius:18px;background:transparent;color:var(--forest);cursor:pointer;font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:28px}
.seg button[aria-pressed="true"]{background:var(--forest);color:var(--cream)}
.price-box{background:var(--cream);border-radius:32px;padding:clamp(24px,4vw,44px);text-align:center}
.price{font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:clamp(84px,12vw,160px);line-height:.95;color:var(--forest);font-variant-numeric:tabular-nums}
.price small{font-size:.32em;font-weight:800}
.price.soon{font-family:var(--display);font-weight:400;font-size:clamp(46px,6vw,76px);line-height:1.1;padding:20px 0}
#pl-note{margin:8px 0 18px;color:var(--muted)}
.perks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:8px;max-width:44ch}
.perks li{padding-inline-start:18px;position:relative;font-weight:450}
.perks li::before{content:"";position:absolute;inset-inline-start:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--forest)}
@media(max-width:760px){.plans-in{grid-template-columns:1fr}}

.voices{background:var(--cream);color:var(--ink);padding:clamp(70px,10vw,130px) 0}
.voices h2{font-size:clamp(48px,7vw,96px);color:var(--forest);margin-bottom:34px}
.bubbles{columns:3 280px;column-gap:18px}
.bubble{break-inside:avoid;background:#fff;border-radius:22px 22px 22px 6px;padding:18px 22px;margin:0 0 18px;font-size:clamp(19px,1.7vw,23px);line-height:1.55;font-weight:400}
html[dir="rtl"] .bubble{border-radius:22px 22px 6px 22px}
.bubble.alt{background:var(--forest);color:var(--cream)}

.where{background:var(--forest);padding:clamp(70px,10vw,130px) 0}
.where h2{font-size:clamp(48px,7vw,96px);margin-bottom:28px}
.where-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.where-card{background:var(--leaf);border-radius:24px;padding:26px 28px}
.where-card.accent{background:var(--sage);color:var(--ink)}
.where-card h3{font-size:42px;margin-bottom:6px}
@media(max-width:760px){.where-grid{grid-template-columns:1fr}}
.faq{margin-top:44px;max-width:780px}
.faq details{border-bottom:1px solid var(--line-on-dark)}
.faq summary{padding:18px 0;cursor:pointer;font-size:19px;font-weight:450;min-height:48px}
.faq p{padding-bottom:18px;color:var(--sage-soft);max-width:60ch}
