/* ============================================================
   THEME 4 — SOLE & LUNA · one house, two skies
   Casolena = Casa del Sole e della Luna.
   Sole (summer): warm paper, lake teal, sun gold.
   Luna (winter): night blue, amber lamplight, ice teal.
   Tokens flip on html[data-season="luna"].
   ============================================================ */
:root{
  --bg:#FAF8F1; --bg-alt:#F1EDE0; --surface:#FFFFFF;
  --ink:#26322E; --ink-soft:#54615B; --line:#E5DFCC;
  --accent:#2A7F8E; --accent-ink:#FFFFFF;
  --btn-bg:#2A7F8E; --btn-ink:#FFFFFF; --btn-bg-h:#236B78;
  --kicker-c:#B0812F;
  --display:'Sitka Heading','Sitka Text',Sitka,Georgia,serif;
  --body:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;
  --label:Candara,'Segoe UI',system-ui,sans-serif;
  --radius:8px; --btn-radius:99px; --btn-track:.08em;
  --maxw:1200px; --display-weight:400;
  --head-bg:#FAF8F1F0; --head-ink:#26322E; --head-line:#E5DFCC;
  --foot-bg:#26322E; --foot-ink:#AEBCB2; --foot-head:#F1EDE0; --foot-line:#FFFFFF1F; --foot-field:#33413C;
  --hero-tint:#12252A66;
}
html[data-season="luna"]{
  --bg:#111A24; --bg-alt:#0D141C; --surface:#1A2530;
  --ink:#EAF0F2; --ink-soft:#A9B8BE; --line:#FFFFFF1F;
  --accent:#D9A04A; --accent-ink:#141A22;
  --btn-bg:#D9A04A; --btn-ink:#141A22; --btn-bg-h:#E8B15C;
  --kicker-c:#8FB6BE;
  --head-bg:#111A24E6; --head-ink:#EAF0F2; --head-line:#FFFFFF1F;
  --foot-bg:#0D141C; --foot-ink:#8494A0; --foot-head:#EAF0F2; --foot-line:#FFFFFF14; --foot-field:#1A2530;
  --hero-tint:#0B121AB3;
}
body,.site-head,.page-foot,.sec,.card,.demo-form,.callout,.c4-life figure{transition:background-color .5s ease,color .5s ease,border-color .5s ease}
@media (prefers-reduced-motion:reduce){body,.site-head,.page-foot,.sec,.card,.demo-form,.callout,.c4-life figure{transition:none}}

.brand{font-family:var(--display);font-size:22px}
.brand small{letter-spacing:.22em}
.btn{font-weight:600}
.head-cta{background:var(--accent);color:var(--accent-ink)}

/* seasonal copy visibility */
[data-show]{display:none}
html[data-season="sole"] [data-show="sole"]{display:revert}
html[data-season="luna"] [data-show="luna"]{display:revert}

/* ---------- homepage ---------- */
.c4-hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.c4-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 55%;transition:opacity .6s ease}
.c4-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,var(--hero-tint) 0%,#0000 55%),linear-gradient(to bottom,#00000059,#0000 28%)}
.c4-hero-copy{position:relative;z-index:2;padding:0 48px 72px;max-width:880px;color:#FCFDFC}
.c4-hero .kicker{color:#FFFFFFDE;margin-bottom:16px}
.c4-hero h1{font-size:clamp(38px,5.6vw,68px);line-height:1.1;text-shadow:0 2px 28px #0B121A80}
.c4-hero h1 .sun-word{color:#FFD98A}
.c4-hero h1 .moon-word{color:#BFDCE4}
.c4-hero p{margin-top:18px;max-width:54ch;font-size:17px;opacity:.96}
.c4-hero-actions{display:flex;gap:18px;align-items:center;margin-top:30px;flex-wrap:wrap}
.c4-hero .btn.ghost{border-color:#FFFFFFB3;color:#fff}
.c4-hero .btn.ghost:hover{background:#FFFFFF22;color:#fff}

.c4-intro{padding:104px 0}
.c4-intro-grid{display:grid;grid-template-columns:6fr 5fr;gap:72px;align-items:center}
.c4-intro h2{font-size:clamp(28px,3.4vw,42px)}
.c4-intro .kicker{margin-bottom:16px}
.c4-intro p{margin-top:18px;color:var(--ink-soft)}
.c4-moon-dial{display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:34px}
.c4-moon-dial h3{font-size:18px}
.c4-moon-dial p{font-size:14.5px;color:var(--ink-soft)}
.c4-moon-dial .season-toggle{align-self:flex-start;border-color:var(--line);color:var(--ink)}

.c4-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:var(--maxw);margin:0 auto;padding:56px 40px}
.c4-split img{width:100%;aspect-ratio:4/3.1;object-fit:cover;border-radius:12px}
.c4-split h2{font-size:clamp(26px,3vw,38px)}
.c4-split .kicker{margin-bottom:14px}
.c4-split p{margin-top:16px;color:var(--ink-soft);max-width:48ch}

.c4-rooms{background:var(--bg-alt);padding:100px 0}
.c4-room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.c4-room{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.c4-room img{width:100%;aspect-ratio:4/3.4;object-fit:cover}
.c4-room-body{padding:20px 22px 24px}
.c4-room h3{font-size:20px}
.c4-room em{display:block;font-family:var(--display);font-style:italic;color:var(--kicker-c);font-size:14px;margin-top:4px}
.c4-room p{font-size:13.5px;color:var(--ink-soft);margin-top:8px;line-height:1.6}

.c4-life{padding:104px 0}
.c4-life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:52px}
.c4-life figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.c4-life img{width:100%;aspect-ratio:4/3.2;object-fit:cover}
.c4-life figcaption{padding:16px 20px;font-size:14px;color:var(--ink-soft)}
.c4-life figcaption strong{color:var(--ink);font-family:var(--display);font-size:16px;display:block;margin-bottom:2px}

.c4-quote{text-align:center;max-width:780px;margin:0 auto;padding:110px 24px}
.c4-quote blockquote{font-family:var(--display);font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.5}
.c4-quote cite{display:block;margin-top:18px;font-style:normal;font-family:var(--label);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.c4-quote .badges{justify-content:center}

.c4-rhythm{background:var(--bg-alt);padding:96px 0}
.c4-rhythm-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.c4-rhythm h2{font-size:clamp(26px,3vw,38px)}
.c4-rhythm .kicker{margin-bottom:14px}
.c4-rhythm p{margin-top:16px;color:var(--ink-soft);max-width:50ch}
.c4-cta{text-align:center;padding:120px 24px}
.c4-cta h2{font-size:clamp(28px,3.4vw,44px);max-width:18em;margin:0 auto}
.c4-cta p{margin-top:16px;color:var(--ink-soft)}
.c4-cta .btn{margin-top:32px}

@media (max-width:1020px){
  .c4-intro-grid,.c4-rhythm-grid{grid-template-columns:1fr;gap:40px}
  .c4-split{grid-template-columns:1fr;gap:28px;padding:48px 28px}
  .c4-room-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:880px){
  .c4-hero-copy{padding:0 26px 56px}
  .c4-life-grid{grid-template-columns:1fr}
  .c4-intro{padding:80px 0}
}
@media (max-width:620px){.c4-room-grid{grid-template-columns:1fr}}

/* transparent immersive header over the homepage hero (both seasons) */
body.home .site-head{position:absolute;top:0;background:transparent;border-bottom:none;backdrop-filter:none;--head-ink:#FCFDFC}
body.home .site-head .site-nav a:hover{border-bottom-color:#FFFFFFAA}
body.home .site-head .head-cta{background:transparent;border:1px solid #FFFFFFB3;color:#fff}
body.home .site-head .head-cta:hover{background:#fff;color:#26322E}
body.home .site-head .nav-toggle{border-color:#FFFFFF80}
body.home .site-head .season-toggle{border-color:#FFFFFF66}
body.home .site-head .season-toggle svg{fill:#fff}
body.home .site-head.open{background:var(--head-bg);--head-ink:var(--ink)}
body.home .site-head.open .site-nav a:hover{border-bottom-color:var(--accent)}
body.home .site-head.open .season-toggle{border-color:var(--head-line)}
body.home .site-head.open .season-toggle svg{fill:var(--accent)}
