html { scroll-behavior:smooth; scroll-padding-top:2rem; }
body { background:var(--bg); }
.skip { position:absolute; left:1rem; top:-5rem; z-index:10; background:var(--panel); padding:1rem; }
.skip:focus { top:1rem; }
.welcome-nav,.welcome-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1.2rem; padding:1.1rem max(5vw,1.2rem); border-bottom:1px solid var(--line); }
.welcome-nav .brand-lockup { text-decoration:none; font:1.2rem var(--serif); color:var(--ink); }
.welcome-nav nav,.welcome-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:1.4rem; }
.welcome-nav nav a { font-size:.9rem; }
.welcome-hero { min-height:min(780px,85vh); display:flex; align-items:center; padding:clamp(3rem,9vw,8rem) max(5vw,1.2rem); background:linear-gradient(90deg,#0b1010ed 0%,#0b1010c9 48%,#0b10104d 100%),url('/api/media/first-lantern-refuge/1/image') center/cover; }
.hero-copy { max-width:43rem; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.12; margin:1rem 0; }
h1 { font-size:clamp(2.6rem,5.6vw,5.8rem); }
h2 { font-size:clamp(2.2rem,4vw,3.5rem); }
h3 { font-size:1.65rem; }
.hero-copy p { color:var(--ink-soft); max-width:36rem; font-size:1.1rem; }
.hero-copy small,.muted { color:var(--muted); }
.eyebrow { text-transform:uppercase; letter-spacing:.16em; font-size:.75rem; color:var(--accent); font-weight:700; }
.actions { display:flex; flex-wrap:wrap; gap:.8rem; margin:1.8rem 0 1rem; }
.button { min-height:44px; }
.button.primary { background:var(--accent); color:var(--button-ink); border-color:var(--accent); }
.welcome-section { max-width:1280px; margin:auto; padding:clamp(3rem,7vw,6rem) max(5vw,1.2rem); }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; margin-top:2.5rem; }
.feature-grid article { border-top:1px solid var(--accent-soft); padding-top:1.5rem; }
.feature-grid p { color:var(--ink-soft); }
.feature-number { font-family:var(--serif); color:var(--accent); }
.steps,.pricing { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(2rem,7vw,6rem); border-top:1px solid var(--line); align-items:center; }
.steps ol { padding-left:1.5rem; }
.steps li { padding:.7rem 0 .7rem .6rem; color:var(--ink-soft); }
.steps strong { display:block; color:var(--ink); }
.price-card { padding:clamp(1.4rem,3vw,2.5rem); border:1px solid var(--accent-soft); background:var(--panel); border-radius:var(--radius-lg); }
.price-card h3 { font-size:2.6rem; overflow-wrap:anywhere; }
.price-card ul { padding-left:1.2rem; }
.price-card li { margin:.7rem 0; }
.price-card .button { width:100%; }
.price-card .muted { font-size:.9rem; }
.faq { max-width:1000px; border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); padding:1.2rem 0; }
.faq summary { cursor:pointer; font-weight:600; min-height:44px; display:list-item; }
.faq details p { color:var(--ink-soft); }
.welcome-footer { border-top:1px solid var(--line); border-bottom:0; font-size:.85rem; color:var(--muted); }
:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
@media(max-width:700px) { .feature-grid,.steps,.pricing { grid-template-columns:1fr; } .welcome-hero { min-height:0; } .welcome-nav nav { gap:.9rem; } .welcome-section { padding-block:3rem; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
