/* 3 · toast o'clock: one morning as a story. night (blackcurrant) → dawn (marmalade) → morning (strawberry) */
.v3 .t-hero{min-height:100vh;display:flex;align-items:center;padding:96px 0 56px}
.v3 .th-g{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;width:100%}
.v3 .th-copy h1{margin:6px 0 16px}
.v3 .th-copy .read{margin-top:30px}
.v3 .th-pic{margin:0}.v3 .th-pic img{width:100%;height:auto;border-radius:40px;transform:rotate(-2deg);box-shadow:0 40px 90px -40px rgba(0,0,0,.6)}
.v3 .ch{padding:140px 0}
.v3 .ch-t{margin:0 0 18px}
.v3 .ch-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.v3 .ch-stick{position:sticky;top:120px}
.v3 .ch-copy h2{margin-bottom:24px}
.v3 .ch-prob{margin-top:40px;max-width:46ch}
.v3 .ch-prob b{display:block;font:900 clamp(34px,3.4vw,52px)/.9 var(--display);text-transform:lowercase;margin-bottom:10px}
.v3 .ch-dawn h2{margin-bottom:16px}
.v3 .fan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:64px 0 0;align-items:start}
.v3 .fan-c{display:flex;flex-direction:column;align-items:center}
.v3 .fan-c .card{transform:rotate(var(--r))}
.js .v3 .fan-c.rise{transition-delay:var(--d)}
.v3 .fan-l{margin:28px 0 0;max-width:34ch}
.v3 .fan-l b{display:block;margin-bottom:8px}
.v3 .fan-l span{display:block;margin-bottom:8px}
.v3 .ch-proof{margin-top:72px;max-width:60ch}
.v3 .ch-proof b{display:block;font:900 clamp(34px,3.4vw,52px)/.9 var(--display);text-transform:lowercase;margin-bottom:10px}
.v3 .ch-morning{position:relative;overflow:hidden}
.v3 .big3{list-style:none;margin:0;padding:0;display:grid;gap:34px}
.v3 .big3 li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.6fr);gap:24px;align-items:end;border-bottom:2px solid color-mix(in srgb,var(--cream) 35%,transparent);padding-bottom:26px}
.v3 .big3 b{font-size:clamp(84px,13vw,210px)}
.v3 .m-jm{position:absolute;right:var(--gut);top:90px}
.v3 .t-done{padding:120px 0}
.v3 .td-g{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center}
.v3 .td-g figure{margin:0}.v3 .td-g img{width:100%;height:auto;border-radius:36px;transform:rotate(-2deg)}
.v3 .t-done h2{color:var(--strawberry);margin-bottom:20px}
.v3 .t-co{margin:56px 0 4px}
.v3 .t-done .tools li{border-color:var(--strawberry)}
.v3 .to-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.v3 .to-g>img{width:100%;height:100%;min-height:80vh;object-fit:cover}
.v3 .to-copy{padding:110px var(--gut)}
.v3 .to-copy h2{margin-bottom:18px}
.v3 .to-copy h3{margin:56px 0 6px}
.v3 .to-copy .cols4{grid-template-columns:repeat(2,minmax(0,1fr))}
.v3 .t-qs{padding:110px 0}.v3 .t-qs h2{margin-bottom:28px}
.v3 .last{padding:110px 0 120px}
.v3 .t-last{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:56px;align-items:center}
.v3 .t-wm{width:100%;height:auto}
.v3 .t-last h2{margin:6px 0 28px}
@media (max-width:900px){
  .v3 .t-hero{min-height:0}
  .v3 .th-g,.v3 .ch-g,.v3 .fan,.v3 .td-g,.v3 .to-g,.v3 .t-last{grid-template-columns:minmax(0,1fr);gap:36px}
  .v3 .ch{padding:80px 0}
  .v3 .ch-stick{position:static}
  .v3 .ch-stick .jm{--jm:200px!important}
  .v3 .fan-c .card{transform:none}
  .v3 .big3 li{grid-template-columns:minmax(0,1fr);gap:6px}
  .v3 .m-jm{position:static;margin-top:24px}
  .v3 .t-done,.v3 .t-qs{padding:72px 0}
  .v3 .to-copy{padding:72px var(--gut)}
  .v3 .to-copy .cols4{grid-template-columns:minmax(0,1fr)}
  .v3 .t-wm{width:60%}
  .v3 .to-g>img{min-height:0;height:62vh}
}

/* night: stars, jammie asleep beside the heading */
.v3 .ch-night{position:relative;overflow:hidden}
.v3 .stars{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(2px 2px at 12% 18%,var(--berry-cream) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 32% 8%,var(--cream) 50%,transparent 51%),radial-gradient(2px 2px at 58% 14%,var(--berry-cream) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 78% 6%,var(--cream) 50%,transparent 51%),radial-gradient(2px 2px at 90% 22%,var(--berry-cream) 50%,transparent 51%),radial-gradient(1.5px 1.5px at 46% 26%,var(--cream) 50%,transparent 51%);opacity:.55;animation:twinkle 4s ease-in-out infinite alternate}
@keyframes twinkle{to{opacity:.2}}
.v3 .ch-head{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;margin-bottom:48px}
.v3 .ch-head h2{margin-bottom:16px}

/* the read, as a live board (after the reference Param shared): checklist left, three columns filling */
.board{position:relative;display:grid;grid-template-columns:260px repeat(3,minmax(0,1fr));gap:16px;padding:18px;border-radius:30px;background:rgba(10,10,10,.32);color:var(--cream);box-shadow:0 50px 100px -50px rgba(0,0,0,.8)}
.bd-steps{display:flex;flex-direction:column;gap:6px;padding:6px}
.bd-url{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:14px 16px;border-radius:16px;background:rgba(255,244,226,.08);font:600 17px var(--body)}
.caret{width:2px;height:20px;background:var(--cream);animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.bd-steps ol{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.st{display:grid;grid-template-columns:24px 1fr;column-gap:12px;opacity:.5;transition:opacity .3s var(--ease)}
.st b{font-weight:700;font-size:16px}.st span{grid-column:2;font-size:13.5px;opacity:.85}
.st-ic{grid-row:span 2;width:22px;height:22px;border-radius:50%;border:2px solid currentColor;margin-top:1px}
.st.now{opacity:1}.st.now .st-ic{border-color:var(--berry-cream) transparent var(--berry-cream) var(--berry-cream);animation:spin .8s linear infinite}
.st.ok{opacity:1}.st.ok .st-ic{border-color:var(--cream);background:var(--cream) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%233A1B4A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/14px no-repeat}
@keyframes spin{to{transform:rotate(360deg)}}
.bd-foot{margin:auto 0 0;padding-top:18px;font:500 11.5px var(--mono);letter-spacing:.08em;color:var(--berry-cream)}
.bd-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.bd-h{display:flex;align-items:baseline;gap:10px;margin:4px 4px 2px;font:900 32px/1 var(--display);text-transform:lowercase;color:var(--cream)}
.bd-n{font:500 13px var(--mono);color:var(--berry-cream)}
.bc{position:relative;padding:14px;border-radius:18px;background:rgba(255,244,226,.07);border:1.5px solid transparent;transition:border-color .4s var(--ease),background .4s var(--ease)}
.bc .src{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:500 12px var(--mono);color:var(--berry-cream)}
.bc .src i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.5}
.bc-t{display:block;font-size:17px;margin-bottom:8px}
.bc-b p{margin:0 0 6px;font-size:15px;line-height:1.45}
.bc-m{margin:8px 0 0;font-size:13.5px;color:var(--berry-cream)}
.bc .sk{display:none}
.sk{display:grid;gap:7px;margin-top:6px}.sk i{display:block;height:10px;width:var(--w);border-radius:6px;background:rgba(255,244,226,.14)}
/* waiting: blank, shimmering; found: content arrives */
.js .bc:not(.got) .bc-b,.js .bc-done:not(.got)>*{display:none}
.js .bc:not(.got) .sk{display:grid}
.js .bc:not(.got) .src i{opacity:.25}
.js .bc.now{border-color:var(--cream)}
.js .bc:not(.got){background:linear-gradient(100deg,rgba(255,244,226,.05) 30%,rgba(255,244,226,.12) 50%,rgba(255,244,226,.05) 70%) 0 0/300% 100%;animation:shimmer 1.6s linear infinite}
@keyframes shimmer{to{background-position:-150% 0}}
.bc.got{animation:pop .45s var(--ease)}
.bc.got .src i{background:#5BD98A;opacity:1}
@keyframes pop{0%{transform:scale(.96)}60%{transform:scale(1.02)}100%{transform:scale(1)}}
.kit{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.kit-wm{display:grid;place-items:center;padding:12px;border-radius:12px;background:var(--cream)}.kit-wm img{width:60px;height:auto}
.kit-f{display:grid;place-items:center;text-align:center;padding:12px;border-radius:12px;background:rgba(255,244,226,.1);font:900 26px/1 var(--display)}
.kit-f small{display:block;font:500 11px var(--mono);margin-top:6px;color:var(--berry-cream)}
.sw{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px}.sw i{height:26px;border-radius:8px;border:1px solid rgba(255,244,226,.2)}
.hand{font:italic 500 17px/1.35 var(--serif)}
.cat{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.cat li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:rgba(255,244,226,.08);font-size:15px}
.cat i{width:12px;height:12px;border-radius:50%}.cat em{margin-left:auto;font:500 12px var(--mono);font-style:normal;color:var(--berry-cream)}
.g4{display:grid;grid-template-columns:1fr 1fr;gap:6px}.g4 img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:10px}
.bc .wide{width:100%;height:auto;border-radius:10px}
.bub{display:block;padding:10px 12px;border-radius:14px 14px 14px 4px;background:rgba(255,244,226,.09);margin-bottom:6px}
.bub em{font-style:normal;color:var(--marmalade);letter-spacing:2px;font-size:14px}
.bub .sk{display:grid}
.rv2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rv{position:relative;aspect-ratio:4/5;border-radius:12px;background:repeating-linear-gradient(45deg,rgba(255,244,226,.06) 0 8px,rgba(255,244,226,.12) 8px 16px)}
.rv em{position:absolute;left:8px;top:8px;font:500 11px var(--mono);font-style:normal;padding:3px 8px;border-radius:999px;background:var(--cream);color:var(--toast)}
.bc-done{padding:0;overflow:hidden;background:var(--cream);color:var(--toast)}
.bc-done img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.bc-done .bc-t{padding:12px 14px 0;font:900 26px/1 var(--display);text-transform:lowercase}
.bc-done .bc-m{padding:0 14px 14px;color:var(--toast-2)}
.js .bc-done:not(.got){background:rgba(255,244,226,.05);min-height:120px}
.bd-toast{position:absolute;right:24px;bottom:22px;margin:0;padding:10px 16px;border-radius:999px;background:var(--cream);color:var(--toast);font:700 14px var(--body);box-shadow:0 14px 30px -14px rgba(0,0,0,.6);opacity:0;transform:translateY(8px);transition:opacity .25s var(--ease),transform .25s var(--ease);pointer-events:none}
.bd-toast.on{opacity:1;transform:none}

/* the three actions, as toys */
.v3 .toy{border:0;background:none;color:inherit;padding:0;cursor:pointer;text-align:left;position:relative;transition:transform .2s var(--ease)}
.v3 .toy:hover{transform:translateX(8px)}
.v3 .toy-spread b{position:relative;display:inline-block}
.v3 .toy-spread b::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.16em;border-radius:999px;background:var(--cream);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.v3 .toy-spread.go b::after{transform:scaleX(1)}
.v3 .toy-stir.go b{animation:stir .7s var(--ease)}
@keyframes stir{0%{transform:rotate(0)}25%{transform:rotate(-6deg)}50%{transform:rotate(5deg)}75%{transform:rotate(-3deg)}100%{transform:rotate(0)}}
.v3 .toy-jam.go b{animation:boing .55s var(--ease)}
.dot{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--cream);pointer-events:none;animation:fly .8s var(--ease) forwards}
@keyframes fly{to{transform:translate(var(--x),var(--y)) scale(.2);opacity:0}}
.v3 .m-go{margin:48px 0 0}
.v3 .th-pic img{animation:float 5s ease-in-out infinite}
@keyframes float{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(-1deg) translateY(-12px)}}
.v3 .fan-c .card{transition:transform .35s var(--ease)}
.v3 .fan-c:hover .card{transform:rotate(0) translateY(-10px)}
@media (prefers-reduced-motion:reduce){.v3 .stars,.caret,.st.now .st-ic,.js .bc:not(.got),.bc.got,.v3 .th-pic img,.v3 .toy-stir.go b,.v3 .toy-jam.go b{animation:none}}
@media (max-width:1100px){.board{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bd-steps{grid-column:1/-1}.bd-steps ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.board{grid-template-columns:minmax(0,1fr);padding:12px}.bd-steps ol{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.v3 .ch-head{grid-template-columns:minmax(0,1fr);gap:8px}.v3 .ch-hj .jm{--jm:160px!important}.bd-toast{right:12px;left:12px;text-align:center}}

/* audit round 2 */
.v3 .ch-lead{max-width:62ch;margin:0 0 72px;font-size:19px;line-height:1.5}
.v3 .ch-lead b{display:block;font-size:clamp(40px,4.6vw,72px);margin-bottom:14px;color:var(--cream)}
.v3 .th-pic{position:relative}
.v3 .th-jm{position:absolute;left:-46px;bottom:-34px;z-index:2}
.v3 .t-wm{display:grid;place-items:center}
.v3 .tq-g{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:center}
.v3 h2 .tc,.v3 h3 .tc{text-transform:none}
.v3 .ftr .big img{width:min(100%,240px)}
@media (max-width:900px){
  .v3 .th-jm{left:auto;right:-6px;bottom:-24px}.v3 .th-jm .jm{--jm:120px!important}
  .v3 .tq-g{grid-template-columns:minmax(0,1fr)}.v3 .tq-jm{display:none}
  .v3 .t-wm .jm{--jm:200px!important}
}
@media (max-width:700px){
  /* the board on a phone: checklist on top, the three columns swipe sideways */
  .board{display:block}
  .bd-steps{margin-bottom:12px}
  .bd-cols{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -12px;padding:0 12px 6px;scrollbar-width:none}
  .bd-cols::-webkit-scrollbar{display:none}
  .bd-cols .bd-col{flex:0 0 84%;scroll-snap-align:start}
  .rv{aspect-ratio:4/3}
  .bd-hint{display:block!important}
}
.bd-hint{display:none;margin:0 4px 10px;font:500 12px var(--mono);color:var(--berry-cream)}
@media (min-width:701px){.bd-cols{display:contents}}
.board .bc.bc-done{background:var(--cream);color:var(--toast)}
.js .board .bc.bc-done:not(.got){background:rgba(255,244,226,.05)}
.st span{opacity:1;color:var(--berry-cream)}
