/* Dial v2 — shared subpage styles (landing carries its own inline set) */
@font-face{font-family:"Bricolage Grotesque";src:url("../fonts/bricolage-grotesque-latin.woff2") format("woff2");font-weight:600 800;font-display:swap;
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Public Sans";src:url("../fonts/public-sans-latin.woff2") format("woff2");font-weight:400 500;font-display:swap;
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Mono";src:url("../fonts/space-mono-latin.woff2") format("woff2");font-weight:400;font-display:swap;
unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Fallback";src:local("Arial");size-adjust:100.89%;ascent-override:92.18%;descent-override:26.76%;line-gap-override:0%}
@font-face{font-family:"Public Sans Fallback";src:local("Arial");size-adjust:102.95%;ascent-override:92.28%;descent-override:21.86%;line-gap-override:0%}

:root{
  --ink:#05090C; --canvas:#061014; --panel:#0C1A1E;
  --ember:#FF7A2F; --ember-hover:#FF9450; --ember-hot:#FFB067; --ember-deep:#7A3F22;
  --text:#F3EFEA; --text-2:#9DAFB2; --on-ember:#180600;
  --display:"Bricolage Grotesque","Bricolage Fallback","Helvetica Neue",Arial,sans-serif;
  --body:"Public Sans","Public Sans Fallback","Helvetica Neue",Arial,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --gut:clamp(20px,5vw,84px);
}
*{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--body);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--ember);color:var(--on-ember)}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px}
img{max-width:100%}
a{cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--ember);color:var(--on-ember);padding:12px 18px;border-radius:0 0 8px 0;font-weight:500;text-decoration:none}
.skip:focus{left:0}

header.site{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:16px var(--gut);color:#fff}
header.site.solid{position:sticky;background:linear-gradient(180deg,rgba(5,9,12,.96),rgba(5,9,12,.82));backdrop-filter:blur(8px);border-bottom:1px solid rgba(122,63,34,.25)}
.lockup{min-height:44px;display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:800;font-size:1.125rem;letter-spacing:-.02em;color:var(--text);text-decoration:none}
.lockup svg{width:29px;height:29px}
header.site nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,30px)}
header.site nav a{color:var(--text);text-decoration:none;font-size:.9375rem;font-weight:500;opacity:.9;transition:opacity .2s}
header.site nav a:hover{opacity:1}
.cta-pill{background:var(--ember);color:var(--on-ember) !important;padding:10px 20px;border-radius:999px;transition:background .25s var(--ease-out),transform .25s var(--ease-out)}
.cta-pill:hover{background:var(--ember-hover);transform:translateY(-1px)}
.cta-pill:active{transform:scale(.97)}
@media (max-width:640px){header.site nav a.quiet{display:none}}

.kicker{font-family:var(--mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ember);margin:0 0 18px}
.lede{color:var(--text-2);font-size:clamp(1.0625rem,1.6vw,1.25rem);max-width:62ch;margin:0}

.page-hero{padding:clamp(90px,14vh,160px) var(--gut) clamp(30px,5vh,60px);max-width:1200px;margin:0 auto}
.page-hero h1{font-family:var(--display);font-weight:800;letter-spacing:-.03em;line-height:1.04;font-size:clamp(2.3rem,5.6vw,4.4rem);margin:0 0 22px;max-width:20ch}
.page-hero .lede{margin-bottom:8px}

.prose{max-width:72ch;margin:0 auto;padding:clamp(30px,5vh,60px) var(--gut) clamp(90px,12vh,150px)}
.prose h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.5rem,2.8vw,2.1rem);margin:2.6em 0 .7em}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--text-2);margin:0 0 1.1em}
.prose p strong{color:var(--text);font-weight:500}
.prose a{color:var(--ember);text-decoration:none;border-bottom:1px solid var(--ember-deep);padding-bottom:1px;transition:border-color .25s}
.prose a:hover{border-color:var(--ember)}
.prose a.btn,.prose a.btn:hover{color:var(--on-ember);border-bottom:0;padding-bottom:15px}
.steps{counter-reset:step;list-style:none;margin:0 0 1.2em;padding:0}
.steps li{position:relative;padding:0 0 1.3em 56px;color:var(--text-2)}
.steps li strong{color:var(--text);font-weight:500}
.steps li::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:0;top:.1em;font-family:var(--mono);font-size:.8125rem;color:var(--ember);letter-spacing:.1em}
.trouble details{border:1px solid rgba(122,63,34,.35);border-radius:12px;margin-bottom:12px;background:var(--panel);overflow:hidden}
.trouble summary{cursor:pointer;padding:18px 20px;font-family:var(--display);font-weight:600;font-size:1.0625rem;letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:44px}
.trouble summary::-webkit-details-marker{display:none}
.trouble summary::after{content:"+";font-family:var(--mono);color:var(--ember);font-size:1.1rem;transition:transform .3s var(--ease-out)}
.trouble details[open] summary::after{transform:rotate(45deg)}
.trouble details p{padding:0 20px 18px;margin:0}


/* iPhone companion: a phone frame, portrait, centred */
.phone-shot{max-width:420px}
.phoneshell{border-radius:46px;background:#020507;padding:10px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 90px rgba(0,0,0,.55),0 0 90px rgba(255,122,47,.07)}
.phoneshell .phonewrap{border-radius:38px;overflow:hidden;aspect-ratio:9/19.5;background:#000}
.phoneshell img{width:100%;height:100%;object-fit:cover;display:block}

/* feature-page furniture */
.feature-shot{max-width:1080px;margin:clamp(26px,5vh,54px) auto;padding:0 var(--gut)}
.feature-shot .tvshell{border-radius:14px;background:#020507;padding:1.1%;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 30px 90px rgba(0,0,0,.55),0 0 90px rgba(255,122,47,.07)}
.feature-shot .screenwrap{border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:#000}
.feature-shot img{width:100%;height:100%;object-fit:cover;display:block}
.feature-shot figcaption{text-align:center;color:var(--text-2);font-size:.9375rem;margin-top:16px}
.fact{border-left:2px solid var(--ember);padding:6px 0 6px 22px;margin:2em 0;color:var(--text-2)}
.fact strong{color:var(--text);font-weight:500}
.next-feature{display:flex;justify-content:space-between;gap:16px;max-width:72ch;margin:0 auto;padding:0 var(--gut) clamp(80px,10vh,130px);flex-wrap:wrap}
.next-feature a{font-family:var(--display);font-weight:600;font-size:1.125rem;color:var(--text);text-decoration:none;border:1px solid var(--ember-deep);border-radius:999px;padding:14px 26px;transition:border-color .25s,background .25s;min-height:44px;display:inline-flex;align-items:center}
.next-feature a:hover{border-color:var(--ember);background:rgba(255,122,47,.08)}

.btn{font-family:var(--body);font-weight:500;font-size:1.0625rem;background:var(--ember);color:var(--on-ember);text-decoration:none;padding:15px 30px;border-radius:999px;border:0;cursor:pointer;display:inline-flex;align-items:center;box-shadow:0 6px 30px rgba(255,122,47,.28);transition:background .25s var(--ease-out),transform .25s var(--ease-out)}
.btn:hover{background:var(--ember-hover);transform:translateY(-2px)}
.btn:active{transform:scale(.97)}

footer{padding:64px var(--gut) 72px;border-top:1px solid rgba(122,63,34,.3);background:var(--canvas)}
.foot-row{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.foot-links{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.foot-links a{color:var(--text-2);font-size:.875rem;text-decoration:none;border-bottom:1px solid rgba(122,63,34,.6);padding:18px 8px 6px;margin:0 -6px;min-width:44px;min-height:44px;box-sizing:border-box;text-align:center;display:inline-block;line-height:1.4;transition:color .25s,border-color .25s}
.foot-links a:hover{color:var(--text);border-color:var(--ember)}
footer .legal{margin:28px 0 0;color:var(--text-2);font-size:.875rem;max-width:66ch}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
}
/* ninth pass: the ring on every screen */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:end;max-width:1080px;margin:clamp(26px,5vh,54px) auto;padding:0 var(--gut)}
.trio figure{margin:0;text-align:center}
.trio figcaption{color:var(--text-2);font-size:.9375rem;margin-top:14px}
.trio .tvshell{border-radius:14px;background:#020507;padding:1.4%;box-shadow:0 0 0 1px rgba(255,255,255,.06),0 24px 70px rgba(0,0,0,.5)}
.trio .tvshell .screenwrap{aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#000}
.trio img{width:100%;height:100%;object-fit:cover;display:block}
.watchshell{width:min(100%,232px);margin:0 auto;border-radius:22%/20%;background:#000;padding:4%;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 24px 70px rgba(0,0,0,.5)}
.watchshell img{width:100%;height:auto;border-radius:18%/16%;display:block}
.padshell{width:100%;border-radius:16px;background:#000;padding:1.6%;box-shadow:0 0 0 1px rgba(255,255,255,.07),0 24px 70px rgba(0,0,0,.5)}
.padshell img{width:100%;height:auto;border-radius:10px;display:block}
.companions{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:28px;align-items:center;margin-top:34px}
.companions figure{margin:0;text-align:center}
.companions figcaption{color:var(--text-2);font-size:.9375rem;margin-top:14px}
@media (max-width:760px){.trio{grid-template-columns:1fr 1fr}.trio figure:last-child{grid-column:1/-1}.companions{grid-template-columns:1fr}}

/* figure download links and any inline link in a caption: a thumb-sized target */
figcaption a,.dl-row a{display:inline-block;padding:10px 4px;margin:-6px 0}
