/* Home: header, one hero, footer. Editorial: hairlines, square controls, no shadows. */
.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.06;text-wrap:balance}
.display em{font-style:italic;font-weight:400;color:var(--accent)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:center;min-height:64px}
.brand{display:inline-flex;align-items:center;gap:var(--s-2);text-decoration:none;font:600 20px/1 var(--font-display);letter-spacing:-.01em;min-height:var(--tap);color:var(--ink)}
.brand-mark{color:var(--accent)}

/* hero */
.hero{padding:var(--s-7) 0 var(--s-9)}
.hero-grid{display:grid;gap:var(--s-8);grid-template-columns:minmax(0,1fr)}
.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto;gap:var(--s-5);max-width:34rem}
.hero-copy h1{font-size:clamp(38px,10vw,58px)}
.lead{font-size:18px;line-height:1.55;color:var(--ink-2);max-width:32em;text-wrap:pretty}
.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3);margin-top:var(--s-2)}
.badge{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 var(--s-4) 0 14px;border-radius:var(--r-2);background:var(--ink);color:#fff;text-decoration:none;transition:background var(--d-fast) var(--ease)}
.badge:hover{background:#34322e}
.badge-ic{width:26px;height:26px}
.badge span{display:flex;flex-direction:column;line-height:1.1}
.badge small{font:500 11px/1.2 var(--font-ui);opacity:.85}
.badge b{font:600 17px/1.2 var(--font-ui);letter-spacing:-.01em}
.note{text-wrap:balance;font-size:14px;line-height:1.5;color:var(--ink-3)}

/* showcase */
.showcase{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:var(--s-5);min-width:0;width:100%;--pw:min(288px,78vw);grid-template-areas:"tabs" "phone" "controls" "caption"}
.tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--s-4);grid-area:tabs}
.tab{min-height:var(--tap);padding:0 var(--s-1);background:none;border:0;border-radius:0;font:500 15px/1 var(--font-ui);color:var(--ink-2);transition:color var(--d-fast) var(--ease)}
.tab span{display:inline-block;padding:3px 0;border-bottom:2px solid transparent}
.tab:hover{color:var(--ink)}
.tab[aria-pressed="true"]{color:var(--ink);font-weight:600}
.tab[aria-pressed="true"] span{border-bottom-color:var(--ink)}
.phone{grid-area:phone;position:relative;width:var(--pw);padding:6px;border-radius:40px;background:var(--bezel)}
.phone-screen{position:relative;aspect-ratio:600/1304;border-radius:34px;overflow:hidden;background:var(--video);touch-action:pan-y;user-select:none;-webkit-user-select:none}
.island{position:absolute;left:50%;width:28%;height:3.6%;transform:translateX(-50%);background:#000;border-radius:999px;pointer-events:none;top:calc(6px + 1.8%)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity var(--d-slow) var(--ease),visibility 0s var(--d-slow)}
.slide.is-active{opacity:1;visibility:visible;transition:opacity var(--d-slow) var(--ease)}
.slide img,.slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide video{opacity:0;transition:opacity var(--d-base) var(--ease)}
.slide.is-playing video{opacity:1}
.controls{grid-area:controls;display:flex;align-items:center;justify-content:center;gap:var(--s-2)}
.ctl{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-width:var(--tap);min-height:var(--tap);padding:0;background:none;border:1px solid var(--line-strong);border-radius:var(--r-1);color:var(--ink);font:500 14px/1 var(--font-ui);transition:background var(--d-fast) var(--ease)}
.ctl:hover{background:var(--sunken)}
.ctl[hidden]{display:none}
.ctl.play{padding:0 var(--s-4);margin-left:var(--s-2);min-width:104px}
.ctl .ic{width:18px;height:18px}
.ctl .ic-play{fill:currentColor;stroke:none}
.count{font:500 13px/1 var(--font-ui);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:var(--s-2);min-width:4.5ch}
.caption{grid-area:caption;width:100%;max-width:26rem;text-align:center;border-top:1px solid var(--line);padding-top:var(--s-4);min-height:132px;text-wrap:pretty}
.cap h2{font:500 22px/1.25 var(--font-display);letter-spacing:-.01em}
.cap p{margin-top:var(--s-2);color:var(--ink-2);font-size:16px;line-height:1.55}
.cap[hidden]{display:none}

@media (min-width:600px){.hero{padding:var(--s-9) 0 var(--s-10)}}
@media (max-width:359px){.tabs{gap:0 var(--s-1)}.tab{font-size:14px;padding:0 6px}}
@media (min-width:960px),(orientation:landscape) and (min-width:640px) and (max-height:520px){
  .bar{justify-content:flex-start}
  .hero-copy{align-items:flex-start;text-align:left;margin:0}
  .badges{justify-content:flex-start}
  .showcase{justify-items:start}
  .caption{text-align:left}
  .tabs{justify-content:flex-start}
}
@media (min-width:960px){
  .wrap{padding:0 var(--s-8)}
  .hero{padding:var(--s-8) 0}
  .hero-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-8);align-items:center}
  .hero-copy{padding-bottom:var(--s-8)}
  .showcase{--pw:clamp(232px,calc((100svh - 250px) * .46),290px);grid-template-columns:var(--pw) minmax(0,1fr);grid-template-rows:auto auto 1fr auto;grid-template-areas:"phone tabs" "phone caption" "phone ." "controls .";column-gap:var(--s-8);row-gap:var(--s-4)}
  .tabs{flex-direction:column;border-top:1px solid var(--line);width:100%;max-width:26rem}
  .tab{text-align:left;min-height:48px;border-bottom:1px solid var(--line);width:100%}
  .caption{border-top:0;padding-top:var(--s-2);min-height:118px}
}

/* footer */
.footer{border-top:1px solid var(--line)}
.foot{display:flex;flex-direction:column;gap:var(--s-1);align-items:center;text-align:center;padding-top:var(--s-4);padding-bottom:var(--s-4)}
.copy{color:var(--ink-3);font-size:14px}
.foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 var(--s-5)}
.foot nav a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--ink-2);font-size:14px;text-underline-offset:3px}
.foot nav a:hover{color:var(--ink)}
@media (min-width:720px){.foot{flex-direction:row;align-items:center;text-align:left;justify-content:space-between;padding-top:var(--s-2);padding-bottom:var(--s-2)}}

/* safe areas (notches, landscape) */
.wrap{padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right))}
.footer{padding-bottom:env(safe-area-inset-bottom)}
@media (min-width:960px){.wrap{padding-left:max(var(--s-8),env(safe-area-inset-left));padding-right:max(var(--s-8),env(safe-area-inset-right))}}
