/* Homecast public homepage — colours and font from prototypes/app/styles.css */
:root{--canvas:#FAF7F2;--paper:#FFF;--sand:#EFE6D8;--line:#EAE1D3;--ink:#221C17;--ink-2:#574C43;--ink-3:#7A6D62;
  --coral:#D9623F;--coral-deep:#B94C2C;--coral-soft:#FBE6DC;
  --sh-2:0 1px 2px rgba(74,48,26,.05),0 14px 34px -14px rgba(74,48,26,.22);
  --font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 24px}
.top{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;letter-spacing:-.01em}
.mark{width:26px;height:26px;border-radius:8px;background:var(--coral);position:relative}
.mark::after{content:"";position:absolute;left:9px;top:7px;border-left:10px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.signin{font-weight:600;font-size:15px;color:var(--ink-2);padding:8px 14px;border-radius:999px}
.signin:hover{background:var(--sand)}
.hero{text-align:center;padding-top:40px;padding-bottom:28px}
h1{font-size:clamp(32px,5.2vw,56px);line-height:1.08;letter-spacing:-.03em;margin:0 0 16px;font-weight:800}
.accent{color:var(--coral)}
.sub{font-size:clamp(17px,2vw,20px);color:var(--ink-2);max-width:620px;margin:0 auto 26px}
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--coral);color:#fff;font-weight:700;font-size:17px;padding:15px 26px;border-radius:999px;box-shadow:var(--sh-2);transition:background .15s}
.btn:hover{background:var(--coral-deep)}
.btn:focus-visible,.signin:focus-visible{outline:3px solid var(--coral-soft);outline-offset:2px}
.sample{padding-top:20px;padding-bottom:12px}
.player{border-radius:24px;overflow:hidden;background:#111;box-shadow:var(--sh-2);aspect-ratio:16/9}
.player video{width:100%;height:100%;object-fit:cover}
.player{position:relative}
.play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border:0;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:var(--sh-2);cursor:pointer;display:grid;place-items:center}
.play::before{content:"";margin-left:6px;border-left:26px solid var(--coral);border-top:16px solid transparent;border-bottom:16px solid transparent}
.play:hover{background:#fff}
.play[hidden]{display:none}
.cap{font-size:13px;color:var(--ink-3);text-align:center;margin:12px 0 0}
h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;margin:0 0 22px;text-align:center;font-weight:800}
.steps{padding-top:60px}
.steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.steps li{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:6px}
.steps .n{width:32px;height:32px;border-radius:50%;background:var(--coral-soft);color:var(--coral-deep);font-weight:800;display:grid;place-items:center;margin-bottom:6px}
.steps b{font-size:17px;line-height:1.3}
.steps li>span:last-child{color:var(--ink-2);font-size:15px}
.styles{padding-top:60px}
.row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.row figure{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;position:relative}
.row img{width:100%;aspect-ratio:1/1;object-fit:cover;height:auto}
.row figcaption{padding:14px 18px 18px;display:flex;flex-direction:column;gap:2px}
.row figcaption b{font-size:17px}
.row figcaption span{color:var(--ink-2);font-size:14.5px;line-height:1.45}
.rec{position:absolute;top:12px;left:12px;background:rgba(34,28,23,.78);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;padding:4px 10px 4px 22px;border-radius:999px}
.rec::before{content:"";position:absolute;left:9px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:#E5483B}
.cta{text-align:center;padding-top:56px;padding-bottom:40px}
.foot{text-align:center;padding-top:24px;padding-bottom:36px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-3)}
.foot a:hover{color:var(--ink)}
@media (max-width:720px){
  .wrap{padding-left:18px;padding-right:18px}
  .hero{padding-top:20px}
  .steps ol{grid-template-columns:1fr;gap:12px}
  .steps li{padding:18px}
  .row{grid-template-columns:1fr;gap:10px}
  .row figure{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center}
  .row figcaption{padding:10px 14px}
  .row figcaption b{font-size:15px}
  .row figcaption span{font-size:14px;line-height:1.4}
  .rec{top:8px;left:8px;font-size:10px;padding:3px 8px 3px 18px}
  .rec::before{left:7px;width:7px;height:7px;margin-top:-3.5px}
  .player{border-radius:16px}
  .play{width:64px;height:64px}
  .play::before{border-left-width:20px;border-top-width:12px;border-bottom-width:12px;margin-left:5px}
  .steps,.styles{padding-top:44px}
}
