/* Shared design tokens for the nine editable starter themes. */
.landing.theme-ocean{--bg:#edf5ff;--surface:#fff;--ink:#172c47;--soft:#4c6381;--line:#2457a626;--accent:#2457a6;--accent-ink:#fff;--wash:#d4e4fa}
.landing.theme-violet{--bg:#f2effb;--surface:#fff;--ink:#2b2143;--soft:#6b5d80;--line:#6440a526;--accent:#6440a5;--accent-ink:#fff;--wash:#ded4f3}
.landing.theme-terracotta{--bg:#f8ede2;--surface:#fffbf4;--ink:#37291f;--soft:#7e6658;--line:#96513226;--accent:#965132;--accent-ink:#fff;--wash:#ead2bc}
.landing.theme-sky{--bg:#ebf7f8;--surface:#fff;--ink:#163f49;--soft:#52727b;--line:#18667a26;--accent:#18667a;--accent-ink:#fff;--wash:#cbe6e9}
.landing.theme-slate{--bg:#eef2f5;--surface:#fff;--ink:#223343;--soft:#5d7181;--line:#345c7d26;--accent:#345c7d;--accent-ink:#fff;--wash:#d7e1e9}
.layout-product .landing-hero{display:flex;flex-direction:column;text-align:center;gap:30px;padding-top:60px}
.layout-product .hero-copy{max-width:840px}.layout-product .hero-actions{justify-content:center}
.layout-product .hero-visual{width:min(900px,100%);aspect-ratio:16/8;max-height:none;border-radius:40px}
.layout-product .feature-grid article{border-radius:8px;border-width:0 0 3px}
.layout-saas .landing-hero{grid-template-columns:1fr 1.15fr;gap:35px;min-height:540px}
.layout-saas .hero-visual{aspect-ratio:4/3;border-radius:18px;transform:rotate(-2deg)}
.layout-saas .feature-grid article{border:0;box-shadow:0 10px 30px #30235b08}
.layout-saas .product-grid article:nth-child(2){border:2px solid var(--accent)}
.layout-cafe .landing-hero{gap:48px;background:radial-gradient(ellipse at top left,var(--wash),transparent 65%)}
.layout-cafe .hero-visual{border-radius:48% 48% 22px 22px;aspect-ratio:1}
.layout-cafe .button{border-radius:40px}.layout-cafe .landing-section>header{margin-inline:auto;text-align:center}
.layout-cafe .product-grid article{border-radius:80px 80px 18px 18px}
.layout-travel .landing-hero{position:relative;isolation:isolate;min-height:640px;max-width:none;display:flex;align-items:center;overflow:hidden;padding:85px max(28px,calc((100% - 1124px)/2))}
.layout-travel .hero-copy{max-width:660px;z-index:1;color:#fff}
.layout-travel .hero-copy>p,.layout-travel .hero-copy .eyebrow{color:#fff}
.layout-travel .hero-visual{position:absolute;inset:0;width:100%;height:100%;max-height:none;border-radius:0;z-index:-1;aspect-ratio:auto}
.layout-travel .hero-visual:after{inset:0;border:0;border-radius:0;background:linear-gradient(270deg,#102e40e6,#102e4020)}
.layout-travel .hero-visual img{object-fit:cover}.layout-travel .hero-actions .secondary{color:var(--ink)}
.layout-travel .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.layout-consulting .landing-hero{grid-template-columns:.9fr 1.1fr;gap:48px}
.layout-consulting .hero-visual{grid-column:1;grid-row:1;aspect-ratio:1;max-height:460px;border-radius:6px;box-shadow:18px 18px 0 var(--wash)}
.layout-consulting .hero-copy{grid-column:2;grid-row:1}.layout-consulting .feature-grid article{border-radius:0;border-top:4px solid var(--accent)}
.layout-consulting .landing-section>header{border-inline-start:4px solid var(--accent);padding-inline-start:22px}
.layout-portfolio .hero-visual{aspect-ratio:4/3;border:1px solid var(--line);border-radius:12px;box-shadow:16px 16px 0 var(--wash)}
.layout-portfolio .hero-copy .eyebrow{font-family:monospace;direction:ltr;text-align:right;letter-spacing:.12em}
.layout-portfolio .landing-section{border-top-style:dashed}.layout-portfolio .project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.layout-portfolio .feature-grid article{border-radius:4px;background:transparent}
@media(max-width:700px){
.layout-product .landing-hero,.layout-saas .landing-hero,.layout-cafe .landing-hero,.layout-consulting .landing-hero{display:flex;flex-direction:column;gap:28px;padding:38px 20px;min-height:0}
.layout-consulting .hero-visual,.layout-saas .hero-visual,.layout-cafe .hero-visual{width:100%;transform:none}
.layout-travel .landing-hero{padding:60px 22px;min-height:590px}
.layout-travel .project-grid,.layout-portfolio .project-grid{grid-template-columns:1fr}
}

