:root{--bg:#fbf5ec;--card:rgba(255,252,246,.66);--ink:#3a2f2a;--mute:#7a6a60;--line:rgba(90,60,45,.12);--blue:#7f9a78}
@media (prefers-color-scheme:dark){:root{--bg:#17120f;--card:rgba(48,38,33,.72);--ink:#f6ede4;--mute:#bfae9f;--line:rgba(255,255,255,.1);--blue:#a9c4a0}}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Inter,Arial,sans-serif;background:#efe2d3;color:var(--ink);-webkit-font-smoothing:antialiased}
@media (prefers-color-scheme:dark){body{background:#110d0a}}
.stage{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}
.phone{position:relative;width:390px;height:800px;max-height:calc(100vh - 48px);border-radius:54px;overflow:hidden;box-shadow:0 0 0 10px #1a1a1c,0 30px 80px rgba(140,80,60,.25);color:var(--ink);background:radial-gradient(70% 38% at 8% 4%,rgba(244,176,190,.62),transparent 70%),radial-gradient(60% 34% at 98% 18%,rgba(240,200,120,.55),transparent 70%),radial-gradient(55% 30% at 6% 46%,rgba(190,214,170,.5),transparent 70%),radial-gradient(60% 32% at 100% 62%,rgba(238,170,150,.45),transparent 70%),radial-gradient(75% 36% at 0% 100%,rgba(160,196,150,.6),transparent 70%),radial-gradient(60% 30% at 100% 100%,rgba(236,196,130,.5),transparent 70%),#fcf4ea}
.phone::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.02 .035' numOctaves='4' seed='7'/><feColorMatrix values='0 0 0 0 .75  0 0 0 0 .55  0 0 0 0 .45  0 0 0 .9 -.25'/></filter><rect width='240' height='240' filter='url(%23n)'/></svg>")}
@media (prefers-color-scheme:dark){.phone{background:radial-gradient(70% 38% at 8% 4%,rgba(150,70,90,.4),transparent 70%),radial-gradient(60% 34% at 98% 18%,rgba(160,115,45,.38),transparent 70%),radial-gradient(75% 36% at 0% 100%,rgba(70,110,70,.42),transparent 70%),radial-gradient(60% 30% at 100% 100%,rgba(150,100,50,.32),transparent 70%),#17120f}
.phone::before{opacity:.08}}
.island{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:120px;height:34px;background:#000;border-radius:20px;z-index:5}
.status{position:absolute;top:0;left:0;right:0;height:54px;padding:18px 34px 0;display:flex;justify-content:space-between;font-weight:600;font-size:16px;z-index:4}
.icons{display:flex;gap:6px;align-items:center}
.icons i{display:block;background:currentColor;border-radius:2px}
.sig{width:17px;height:11px;clip-path:polygon(0 100%,0 70%,25% 70%,25% 100%,35% 100%,35% 45%,60% 45%,60% 100%,70% 100%,70% 0,100% 0,100% 100%)}
.wifi{width:15px;height:11px;border-radius:50% 50% 2px 2px}
.batt{width:25px;height:12px;border-radius:4px}
.screen{position:absolute;inset:0;padding:96px 26px 40px;display:flex;flex-direction:column;overflow:auto}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
h1{font-size:40px;line-height:1.1;font-weight:300;letter-spacing:-.04em}
.lede{font-size:15px;line-height:1.6;color:var(--mute);margin:10px 0 34px}
.widget{display:flex;flex-direction:column;align-items:flex-start;text-align:left;font:inherit;cursor:pointer;gap:2px;background:var(--card);border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-radius:26px;padding:20px 22px;text-decoration:none;color:inherit;margin-bottom:40px;box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 8px 30px rgba(70,100,90,.08)}
@media (prefers-color-scheme:dark){.widget{border-color:rgba(255,255,255,.1);box-shadow:none}}
.w-label{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.w-title{font-size:26px;font-weight:300;letter-spacing:-.03em}
.w-btn{align-self:flex-start;margin-top:12px;background:var(--ink);color:var(--bg);font-weight:500;font-size:14px;padding:9px 18px;border-radius:999px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 8px}
.app{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;color:inherit;font:inherit;text-decoration:none;cursor:pointer}
.ico{position:relative;width:62px;height:62px;border-radius:17px;display:grid;place-items:center;background:var(--card);border:1px solid rgba(255,255,255,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 4px 16px rgba(70,100,90,.08);transition:transform .15s;overflow:hidden}
@media (prefers-color-scheme:dark){.ico{border-color:rgba(255,255,255,.1);box-shadow:none}}
.ico::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(244,176,190,.38),rgba(240,208,130,.32) 50%,rgba(184,212,164,.4));pointer-events:none}
.ico svg{position:relative;z-index:1;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.app:active .ico{transform:scale(.92)}
.lbl{font-size:11px;font-weight:400;color:var(--mute)}
.sheet{position:absolute;inset:0;background:var(--bg);color:var(--ink);padding:96px 26px 30px;display:flex;flex-direction:column;gap:20px;transform:translateY(100%);transition:transform .45s cubic-bezier(.32,.72,0,1);z-index:3;overflow:auto;background-image:radial-gradient(90% 30% at 0% 0%,rgba(246,184,196,.5),transparent 70%),radial-gradient(90% 30% at 100% 0%,rgba(242,208,132,.45),transparent 70%),radial-gradient(90% 26% at 0% 100%,rgba(190,214,170,.4),transparent 70%)}
.sheet.open{transform:none}
.grab{position:absolute;top:60px;left:50%;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:rgba(120,120,128,.3)}
.back{align-self:flex-start;background:none;border:0;color:var(--mute);font:inherit;font-size:16px;cursor:pointer;padding:0}
h2{font-size:32px;font-weight:300;letter-spacing:-.035em;line-height:1.05}
.card{background:var(--card);border:1px solid rgba(255,255,255,.8);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.55;font-weight:300;flex-shrink:0}
.card b{font-weight:500}
.list{list-style:none;padding:0;background:var(--card);border:1px solid rgba(255,255,255,.8);border-radius:20px;overflow:hidden;flex-shrink:0}
.list li+li{border-top:1px solid var(--line)}
.list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;color:inherit;text-decoration:none}
.list a:active{background:rgba(127,154,120,.14)}
.list span{display:flex;flex-direction:column}
.list b{font-size:16px;font-weight:400}
.list small{color:var(--mute);font-size:13px;margin-top:2px}
.list em{font-style:normal;font-size:18px;font-weight:300;color:var(--mute)}
.cta{display:block;text-align:center;background:var(--ink);color:var(--bg);text-decoration:none;font-weight:500;font-size:16px;padding:15px;border-radius:999px;margin-top:auto;flex-shrink:0}
.cta:active{opacity:.8}
.bar{position:absolute;bottom:8px;left:50%;width:134px;height:5px;margin-left:-67px;border-radius:3px;background:currentColor;opacity:.8;z-index:6}
.list.plain li{padding:14px 20px;font-size:16px;font-weight:300}
.list.steps li{display:flex;flex-direction:column;padding:16px 20px}
.list.steps small{margin-top:3px;line-height:1.4}
.note{font-size:13px;line-height:1.5;color:var(--mute);font-weight:300}
.group{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin:0 0 14px 2px}
.grid{margin-bottom:30px}
@media (max-width:480px){
  .stage{padding:0}
  .phone{width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;box-shadow:none}
  .island,.status,.bar{display:none}
  .screen,.sheet{padding-top:60px}
  .grab{top:22px}
}
/* accessibility + section cards */
:root{--edge:rgba(95,143,134,.5)}
@media (prefers-color-scheme:dark){:root{--edge:rgba(143,194,180,.55)}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:14px}
.screen:focus,.sheet h2:focus{outline:none}
.screen>.widget{margin-bottom:16px;flex-shrink:0}
.lede{margin-bottom:24px}
.widget.sect{display:flex;flex-direction:column;align-items:stretch;cursor:default;gap:2px;padding:20px 18px;border:1.5px solid var(--edge)}
.widget.sect .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 6px;margin:14px 0 0;justify-items:center}
.w-label{color:var(--ink);font-size:13px;font-weight:600}
.app{min-width:44px;min-height:44px}
.ico{border:2px solid var(--blue)}
.ico svg{stroke-width:1.8}
.lbl{font-size:13px;font-weight:500;color:var(--ink);text-align:center;line-height:1.2}
.eyebrow{font-size:12px}
.card,.list.plain li{font-weight:400}
.back{min-height:44px;color:var(--ink);padding:0 8px 0 0}
.list a{min-height:44px}
.sheet{visibility:hidden;transition:transform .45s cubic-bezier(.32,.72,0,1),visibility 0s .45s}
.sheet.open{visibility:visible;transition-delay:0s}
@media (prefers-reduced-motion:reduce){.sheet,.ico{transition:none}}
