/* Thought Tank website. The app's own palette and faces: water, sand, coral. */
/* The app's own fonts (SIL OFL), served from here: no request to Google. Latin only. */
@font-face{font-family:'Baloo 2';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/baloo2-latin.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/outfit-latin.woff2) format('woff2')}
:root{
  --ground:#F1F8FC; --water-1:#EAF6FC; --water-2:#CFE7F5; --panel:#FFFFFF; --ink:#1F3A48; --muted:#4E6E8A;
  --line:#D6E7F0; --coral:#E8613F; --coral-soft:#FFE6DC; --sand:#F2DDB0; --gold:#E8AF35; --fill:#FFF3C4;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --ground:#0D1B23; --water-1:#10242F; --water-2:#16323F; --panel:#15262F; --ink:#E4EFF5; --muted:#9DB4C0;
  --line:#233944; --coral:#FF8A66; --coral-soft:#3A241D; --sand:#4A3E25; --gold:#E8AF35; --fill:#4A3E25; } }
:root[data-theme="dark"]{
  --ground:#0D1B23; --water-1:#10242F; --water-2:#16323F; --panel:#15262F; --ink:#E4EFF5; --muted:#9DB4C0;
  --line:#233944; --coral:#FF8A66; --coral-soft:#3A241D; --sand:#4A3E25; --gold:#E8AF35; --fill:#4A3E25; }
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font:17px/1.6 'Outfit',-apple-system,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--coral)}
a:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}
img{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding-inline:20px}
h1,h2,h3{font-family:'Baloo 2','Outfit',sans-serif;line-height:1.1;text-wrap:balance;margin:0}
.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;color:var(--ink);font-family:'Baloo 2',sans-serif;font-weight:700;font-size:21px}
.brand img{width:36px;height:36px;border-radius:9px}
.top nav{display:flex;gap:18px;flex-wrap:wrap}
.top nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:15.5px}
.top nav a[aria-current]{color:var(--ink)}
.cta{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--ground);text-decoration:none;font-weight:600;border-radius:14px;padding:12px 20px;min-height:52px}
.cta small{display:block;font-size:12px;font-weight:500;opacity:.8;line-height:1}
.cta span{line-height:1.15}

/* home */
.hero{background:linear-gradient(180deg,var(--water-1),var(--water-2));padding-block:56px 0;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:end}
.hero h1{font-size:clamp(44px,7vw,76px)}
.hero p.lede{font-size:21px;color:var(--muted);max-width:30ch;margin:14px 0 26px}
.hero .copy{padding-bottom:64px}
.phone{width:300px;max-width:100%;margin:0 auto;border-radius:44px 44px 0 0;background:#1F3A48;padding:10px 10px 0;box-shadow:0 30px 60px rgba(31,58,72,.25)}
.phone img{border-radius:36px 36px 0 0;aspect-ratio:430/760;object-fit:cover;object-position:top}
.sand{height:36px;background:var(--sand);border-radius:60% 60% 0 0 / 100% 100% 0 0;margin-top:-18px;position:relative}
.band{padding-block:72px}
.band h2{font-size:clamp(32px,4.5vw,46px);margin-bottom:10px}
.band .intro{color:var(--muted);font-size:19px;max-width:56ch;margin:0 0 36px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:0;counter-reset:s}
.steps li{counter-increment:s;background:var(--panel);border:1px solid var(--line);border-radius:28px;padding:22px 22px 0;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--coral);color:#fff;font:700 21px 'Baloo 2',sans-serif;display:flex;align-items:center;justify-content:center}
.steps h3{font-size:23px}
.steps p{margin:0;color:var(--muted)}
.steps img{margin:8px auto 0;width:78%;border-radius:22px 22px 0 0;border:6px solid #1F3A48;border-bottom:0;aspect-ratio:430/560;object-fit:cover;object-position:top}
.fish-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:8px}
.fish-row figure{margin:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.fish-row svg{width:100%;height:auto;max-width:110px}
.fish-row figcaption{font-weight:600;font-size:15px}
.water{background:linear-gradient(180deg,var(--water-1),var(--water-2))}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;align-items:center}
.ticks{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.ticks li{display:flex;gap:14px;align-items:flex-start;font-size:18px}
.ticks li::before{content:'';flex-shrink:0;width:26px;height:26px;margin-top:2px;border-radius:8px;background:var(--coral) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E") center/16px no-repeat}
.ticks b{display:block}
.ticks span{color:var(--muted);font-size:16px}
.shot-pair{display:flex;gap:16px;justify-content:center}
.shot-pair img{width:48%;max-width:230px;border-radius:26px;border:6px solid #1F3A48}
.promise{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.promise div{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px}
.promise b{display:block;font-size:18px;margin-bottom:4px}
.promise p{margin:0;color:var(--muted);font-size:15.5px}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:820px}
.plan{background:var(--panel);border:2px solid var(--line);border-radius:28px;padding:26px;display:flex;flex-direction:column;gap:12px}
.plan.plus{border-color:var(--gold)}
.plan h3{font-size:28px;display:flex;align-items:center;gap:10px}
.plan .price{font:700 34px 'Baloo 2',sans-serif}
.plan .price small{font:500 16px 'Outfit',sans-serif;color:var(--muted)}
.plan .ticks li{font-size:16.5px}
.fine{color:var(--muted);font-size:14.5px}
footer{border-top:1px solid var(--line);padding-block:32px calc(40px + env(safe-area-inset-bottom,0px));color:var(--muted);font-size:15px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer a{color:var(--muted)}

/* legal + support */
.doc{padding-block:48px 72px}
.doc .wrap{max-width:760px}
.doc h1{font-size:clamp(38px,6vw,54px)}
.doc .updated{color:var(--muted);margin:8px 0 26px}
.doc h2{font-size:27px;margin:38px 0 10px}
.doc h3{font-size:20px;margin:22px 0 6px}
.doc p,.doc li{max-width:68ch}
.doc ul{padding-left:22px}
.doc li{margin:6px 0}
.toc{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:16px 22px;margin:0 0 10px}
.toc ol{margin:0;padding-left:20px;columns:2;column-gap:28px}
.toc li{margin:4px 0}
.callout{background:var(--water-1);border:1px solid var(--line);border-radius:20px;padding:16px 20px;margin:18px 0}
.draft{background:var(--fill);border-radius:14px;padding:12px 16px;font-size:15px;margin:0 0 22px}
.fill{background:var(--fill);border-radius:6px;padding:0 5px;font-weight:600}
.caps{text-transform:none;font-weight:600}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:4px 20px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:600;font-size:18.5px;padding:14px 0;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:var(--coral);font-size:24px;line-height:1}
.faq details[open] summary::after{content:'\2212'}
.faq details p,.faq details ol{margin:0 0 16px;color:var(--ink)}
.contact{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:var(--panel);border:2px solid var(--gold);border-radius:24px;padding:20px 24px;margin:8px 0 26px}
.contact b{font-size:20px;display:block}

/* 10 Oct 2026: family plan, to-do list, Apple Watch */
.kicker{margin:0 0 8px;color:var(--coral);font-weight:600;font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ghost{display:inline-flex;align-items:center;min-height:52px;padding:12px 20px;border-radius:14px;border:2px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:600}
.hero-art{position:relative;padding-right:40px}
.hero-watch{position:absolute;right:0;bottom:40px;width:150px;padding:8px}
.watch{margin:0;background:#111;border-radius:30%/26%;padding:10px;box-shadow:0 16px 36px rgba(0,0,0,.28)}
.watch img{border-radius:22%/18%;width:100%;height:auto}
.split.flip > :first-child{order:0}
.night{background:linear-gradient(180deg,var(--water-2),var(--water-1))}
.watch-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin:6px 0 34px}
.watch-points{list-style:none;padding:0;margin:0 0 28px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.watch-points li{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:18px}
.watch-points b{display:block;font-size:18px;margin-bottom:4px}
.watch-points span{color:var(--muted);font-size:15.5px}
.compat{background:var(--panel);border:2px solid var(--gold);border-radius:22px;padding:18px 22px;display:flex;flex-direction:column;gap:4px;max-width:820px}
.compat b{font-size:19px}
.shot-pair img,.steps img,.phone img{height:auto}

@media (max-width:900px){ .top nav a.hide-m{display:none} }
@media (max-width:860px){
  .hero .wrap,.split{grid-template-columns:minmax(0,1fr)}
  .hero .copy{padding-bottom:10px}
  .steps,.plans{grid-template-columns:minmax(0,1fr)}
  .promise{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fish-row{grid-template-columns:repeat(4,minmax(0,1fr))}
  .toc ol{columns:1}
  .top nav{gap:12px}
}
@media (max-width:860px){
  .watch-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .watch-points{grid-template-columns:repeat(2,minmax(0,1fr))}
  .split.flip > :first-child{order:2}
  .hero-art{padding-right:28px}
  .hero-watch{width:104px;bottom:24px}
}
@media (max-width:480px){ .top nav a.hide-s{display:none} .promise,.watch-points{grid-template-columns:minmax(0,1fr)} .watch-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
.plan h3 svg{width:64px;height:auto;flex-shrink:0}

/* 12 Oct 2026: the tank comes first. You start inside it, the fish swim past,
   and each one opens a real example. Nick: "as if you're in the tank itself". */
:root{--deep:#A9D3EC}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--deep:#0B2733} }
:root[data-theme="dark"]{--deep:#0B2733}
.tank{position:relative;overflow:hidden;padding-block:56px 26px;background:
  radial-gradient(120% 60% at 20% -10%,rgba(255,255,255,.55),transparent 60%),
  linear-gradient(180deg,var(--water-1),var(--water-2) 55%,var(--deep))}
.tank-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;position:relative;z-index:1}
.tank h1{font-size:clamp(44px,7vw,76px)}
.tank p.lede{font-size:21px;color:var(--muted);max-width:32ch;margin:14px 0 26px}
.tank .phone{border-radius:44px;padding:10px;width:280px}
.tank .phone img{border-radius:36px;aspect-ratio:430/700}
.bubbles{position:absolute;inset:0;pointer-events:none}
.bubbles i{position:absolute;left:var(--x);bottom:-20px;width:var(--s);height:var(--s);border-radius:50%;border:1.5px solid rgba(255,255,255,.85);background:rgba(255,255,255,.25);animation:rise var(--t) linear var(--w) infinite}
@keyframes rise{0%{transform:translate(0,0);opacity:0}10%{opacity:1}50%{transform:translate(8px,-45vh)}100%{transform:translate(-6px,-95vh);opacity:0}}
.school{position:relative;z-index:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;max-width:1080px;margin:34px auto 0;padding-inline:20px}
.swim{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;animation:swim 5s ease-in-out calc(var(--i) * -.7s) infinite}
.swim svg{width:100%;max-width:96px;height:auto;transition:transform .2s}
.swim:hover svg,.swim:focus-visible svg{transform:scale(1.12) rotate(-4deg)}
.swim span{background:color-mix(in srgb,var(--panel) 80%,transparent);border-radius:99px;padding:1px 10px}
@keyframes swim{0%,100%{transform:translate(0,0)}25%{transform:translate(-6px,-5px)}50%{transform:translate(0,-9px)}75%{transform:translate(6px,-4px)}}
.promise.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.deep{background:linear-gradient(180deg,var(--water-2),var(--deep) 30%,var(--deep) 70%,var(--water-2))}
.examples{display:flex;flex-direction:column;gap:28px}
.ex{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:center;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid var(--line);border-radius:32px;padding:28px 32px;scroll-margin-top:84px}
.ex.flip .ex-copy{order:2}
.ex-head{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.ex-head svg{width:84px;height:auto;flex-shrink:0}
.ex-head .kicker{margin:0}
.ex h3{font-size:clamp(26px,3.4vw,34px)}
.ex .blurb{color:var(--muted);margin:0 0 16px;font-size:17px}
.said,.kept{margin:0 0 12px;font-size:18px}
.said{background:var(--panel);border:1px solid var(--line);border-radius:22px 22px 22px 6px;padding:14px 18px;font-style:italic}
.kept{padding:0 4px}
.tag{display:block;font-style:normal;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--coral);margin-bottom:2px}
.ex-shot img{width:100%;max-width:250px;margin:0 auto;height:auto;border-radius:26px;border:6px solid #1F3A48;aspect-ratio:430/700;object-fit:cover;object-position:top}
@media (max-width:860px){
  .tank-grid,.ex{grid-template-columns:minmax(0,1fr)}
  .tank .phone{width:240px}
  .school{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:14px}
  .promise.three{grid-template-columns:minmax(0,1fr)}
  .ex{padding:22px 20px;gap:20px}
  .ex.flip .ex-copy{order:0}
}
@media (prefers-reduced-motion:reduce){ .bubbles i,.swim{animation:none} }

/* 12 Oct 2026: the story first, told by the goldfish. Thoughts float off,
   one comes back as a nudge, then the day narrows to the specific things. */
.beat{padding-block:64px;background:linear-gradient(180deg,var(--water-1),var(--water-1))}
.beat:nth-child(2){background:linear-gradient(180deg,var(--water-1),var(--water-2))}
.beat:nth-child(3){background:linear-gradient(180deg,var(--water-2),var(--water-2))}
.beat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.beat.flip .beat-copy{order:2}
.beat h1{font-size:clamp(48px,8vw,88px)}
.beat h2,.tank h2.big{font-size:clamp(36px,5.4vw,60px)}
.tank h2.big{font-size:clamp(44px,7vw,76px)}
.beat .lede{font-size:21px;color:var(--muted);max-width:34ch;margin:14px 0 0}
.scene{position:relative;aspect-ratio:5/4;max-width:460px;width:100%;margin:0 auto}
.scene .goldfish{position:absolute;left:4%;bottom:6%;width:46%;height:auto;animation:swim 6s ease-in-out infinite}
.beat.first .scene .goldfish{width:52%}
.thought{position:absolute;left:var(--x);top:var(--y);background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:8px 14px;font-weight:600;font-size:15.5px;box-shadow:0 8px 20px rgba(31,58,72,.12);white-space:nowrap}
.thought::after{content:'';position:absolute;left:18px;bottom:-9px;width:10px;height:10px;border-radius:50%;background:var(--panel);border:1px solid var(--line)}
.thought.away{animation:away 9s ease-in calc(var(--i) * -2.25s) infinite}
@keyframes away{0%{transform:translate(0,40px) scale(.9);opacity:0}15%{opacity:1;transform:translate(0,20px)}70%{opacity:.85}100%{transform:translate(30px,-90px) scale(.95);opacity:0}}
.thought.nudge{left:42%;top:16%;background:var(--fill);border-color:var(--gold);font-size:17px;animation:nudge 3.2s ease-in-out infinite}
.thought.nudge::after{background:var(--fill);border-color:var(--gold)}
@keyframes nudge{0%,100%{transform:translate(0,0) rotate(-2deg)}50%{transform:translate(-10px,8px) rotate(1deg)}}
.thought.stack{white-space:normal;max-width:62%}
.thought.stack:nth-of-type(1){font-size:19px}
.thought.stack:nth-of-type(4){font-size:14.5px;border-color:var(--coral);}
@media (max-width:860px){
  .beat{padding-block:44px}
  .beat-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .beat.flip .beat-copy{order:0}
  .scene{max-width:380px}
  .thought{font-size:14px}
}
@media (prefers-reduced-motion:reduce){ .scene .goldfish,.thought{animation:none!important} .thought.away{opacity:.9} }
.thought.stack{max-width:58%}
.beat:nth-child(3) .scene .goldfish{width:36%;left:0;bottom:0}

/* 12 Oct 2026: the three things it helps with, under the tank */
.prongs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:8px}
.prong{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:26px;padding:22px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.prong:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(31,58,72,.12)}
.prong svg{width:78px;height:auto}
.prong b{font:700 22px 'Baloo 2',sans-serif}
.prong p{margin:0;color:var(--muted);font-size:16px}
@media (max-width:860px){ .prongs{grid-template-columns:minmax(0,1fr)} }
