/* Appert Films v2 additions. Same tokens as style.css. */
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* signup form */
.signup-form { display:flex; max-width:440px; border-bottom:1px solid var(--paper); }
.signup-form input[type=email] { flex:1; min-width:0; background:none; border:none; outline:none; color:var(--paper); font-family:var(--sans); font-size:15px; padding:12px 0; }
.signup-form input::placeholder { color:var(--mut-d); }
.signup-form .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.signup-form button { background:none; border:none; color:var(--paper); font-family:var(--mono); font-weight:500; font-size:11px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; padding:0 4px; }
.signup-form button:hover { text-decoration:underline; }
.signup-form button:disabled { opacity:.5; cursor:default; }
.subscribe .note { min-height:14px; }
.subscribe .note.ok { color:var(--paper); }
.subscribe.inline { grid-column:auto; margin-top:8px; }

/* home: slate + steps */
.slate { border-top:1px solid var(--ph-d); }
.slate .sec-head { border-top:none; padding-top:0; }
.slate h2 { font-weight:500; font-size:clamp(52px,9vw,140px); letter-spacing:-.035em; line-height:.92; margin:8px 0 28px; }
.slate .lede { font-size:17px; line-height:1.45; max-width:52ch; margin-bottom:32px; color:var(--mut-d); }
.steps { padding-top:24px; }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--col-gut); }
.step-grid .c { border-top:1px solid var(--ph-d); padding-top:14px; }
.step-grid .lab, .timeline .lab { font-family:var(--mono); font-weight:500; font-size:10px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:12px; }
.step-grid .lab { color:var(--mut-d); }
.step-grid p { font-size:15px; line-height:1.5; }

/* showcase page sections */
.sh-sec { padding:0 var(--gut) 88px; }
.sh-head { border-top:1px solid var(--ink); padding-top:12px; margin-bottom:32px; }
.sh-head .mono { color:var(--mut-l); }
.timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--col-gut); }
.timeline .t { border-top:1px solid var(--line-l2); padding-top:14px; }
.timeline .n { font-weight:500; font-size:clamp(40px,5vw,72px); letter-spacing:-.03em; line-height:1; margin-bottom:22px; }
.timeline .lab { color:var(--mut-l); }
.timeline p { font-size:15px; line-height:1.5; }
.send-grid { display:grid; grid-template-columns:1.4fr 1fr; gap:var(--col-gut); }
.send-list { list-style:none; }
.send-list li { font-size:clamp(20px,2.2vw,30px); letter-spacing:-.02em; line-height:1.2; padding:16px 0; border-top:1px solid var(--line-l2); }
.send-list li:last-child { border-bottom:1px solid var(--line-l2); }
.send-side p { font-size:15px; line-height:1.5; margin-bottom:22px; }
.send-side p.mono { color:var(--mut-l); margin-bottom:8px; }
.faq details { border-top:1px solid var(--line-l2); }
.faq details:last-child { border-bottom:1px solid var(--line-l2); }
.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:24px; padding:20px 0; font-weight:500; font-size:clamp(18px,2vw,26px); letter-spacing:-.02em; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-family:var(--mono); font-weight:400; }
.faq details[open] summary::after { content:"\2212"; }
.faq details p { font-size:15px; line-height:1.55; max-width:60ch; padding:0 0 22px; color:var(--ink-925); }
.light .subscribe .signup-form { }

@media (max-width:900px) {
  .step-grid { grid-template-columns:1fr; gap:28px; }
  .timeline { grid-template-columns:1fr 1fr; row-gap:36px; }
  .send-grid { grid-template-columns:1fr; gap:36px; }
}
@media (max-width:600px) { .timeline { grid-template-columns:1fr; } }
