/* Live n Life Studio — cinematic white release. Loaded LAST on every page.
   Page shells stay transparent so the 240-frame film runs visibly behind them. */
:root { --studio-ink:#171c1b; --studio-green:#223e36; --studio-cream:#f7f6f1; }
body:not(.admin-page) .site-header { gap:clamp(9px,1.2vw,22px); }
body:not(.admin-page) .site-header .brand { flex-shrink:0; }
body:not(.admin-page) .auth-slot { flex-shrink:0; min-width:0; }
.studio-auth-button, .studio-account-icon, .studio-account-identity {
  display:inline-flex; justify-content:center; align-items:center; gap:10px;
  text-decoration:none; white-space:nowrap; cursor:pointer; box-sizing:border-box;
  -webkit-tap-highlight-color:transparent;
}
.studio-auth-button { min-height:46px; border-radius:999px; padding:8px 19px;
  font-size:.78rem; font-weight:800; letter-spacing:.03em;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease,border-color .25s ease; }
.studio-auth-button--in { color:#fff; background:linear-gradient(125deg,#1e312e,#426e5d);
  border:1px solid rgba(255,255,255,.12); box-shadow:0 7px 24px rgba(13,45,35,.21),inset 0 1px rgba(255,255,255,.2); }
.studio-auth-button--in .studio-auth-symbol { display:grid; place-items:center;
  font-size:1rem; width:25px; height:25px; border-radius:50%; background:rgba(255,255,255,.17); }
.studio-auth-button--out { color:#182e29; background:rgba(255,255,255,.92);
  border:1px solid rgba(24,50,42,.21); box-shadow:0 5px 16px rgba(23,40,35,.08); }
.studio-auth-text-short { display:none; }
.studio-auth-button:hover, .studio-admin-submit:hover { transform:translateY(-2px); box-shadow:0 12px 25px rgba(22,47,36,.18); }
.studio-auth-button:focus-visible, .studio-account-icon:focus-visible,
.studio-account-identity:focus-visible,.studio-admin-submit:focus-visible { outline:3px solid #83b2a0; outline-offset:3px; }
.studio-account-actions { display:flex; align-items:center; gap:8px; min-width:0; }
.studio-account-icon { flex:0 0 40px; width:40px; height:40px; border-radius:50%;
  color:#254238; background:rgba(255,255,255,.9); border:1px solid rgba(27,60,46,.12); }
.studio-account-identity { text-align:left; color:#18332d; gap:8px; max-width:190px; }
.studio-avatar { width:35px; height:35px; display:grid; place-items:center; flex-shrink:0;
  border-radius:50%; color:white; font-weight:800; background:#2d5346; }
.studio-account-label { display:grid; min-width:0; line-height:1.35; }
.studio-account-label small { font-size:.55rem; letter-spacing:.17em; opacity:.55; }
.studio-account-label strong { max-width:110px; overflow:hidden; text-overflow:ellipsis; font-size:.78rem; }
body:not(.admin-page) .site-header .nav { flex-wrap:nowrap; }
/* Actual film sequence visibility: no broad frosted slab or blurred chapter over the canvas. */
.home-page .scroll-cinema { opacity:1!important; visibility:visible!important; background:#e4eae3; }
.home-page #scroll-canvas { opacity:1!important; filter:saturate(1.14) contrast(1.08) brightness(1.02)!important; }
.home-page .scroll-cinema::before { background:linear-gradient(180deg,rgba(255,255,255,.015),transparent 18%,transparent 88%,rgba(255,255,255,.09))!important; }
.home-page .scroll-cinema::after { background:linear-gradient(90deg,rgba(252,251,246,.19),rgba(252,251,246,.045) 31%,transparent 70%)!important; }
.home-page .cinema-light { opacity:.12!important; }
.home-page .chapter:not(.home-cinema-hero):not(.manifesto-section),
.home-page .story-intro-section,.home-page .highlights-section,
.home-page .final-story-section {
  background:transparent!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
  box-shadow:none!important; border-color:transparent!important;
}
/* Readability is localized to the text itself: scenery is left uncovered elsewhere. */
.home-page .story-intro-copy,.home-page .section-head-wide,
.home-page .final-story-section > *:not(.actions) { text-shadow:0 1px 15px rgba(255,255,255,.86); }
.home-page .story-intro-copy { padding:clamp(18px,2.5vw,34px); border-radius:22px;
  background:linear-gradient(110deg,rgba(250,249,245,.91),rgba(250,249,245,.68) 67%,rgba(250,249,245,.15));
  box-shadow:0 14px 40px rgba(18,28,25,.07); }
.home-page .section-head-wide { border-radius:22px; padding:clamp(15px,2vw,30px);
  background:linear-gradient(90deg,rgba(249,248,244,.91),rgba(249,248,244,.64) 56%,rgba(249,248,244,.11)); }
.home-page .final-story-section > *:not(.actions) { border-radius:16px;
  background:rgba(250,249,245,.68); padding:8px 16px; max-width:780px; }
.home-page .content-card { background:rgba(255,255,255,.94)!important; box-shadow:0 12px 45px rgba(16,31,28,.14); }
.home-page .manifesto-section { background:rgba(14,20,19,.81)!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
/* Keep the opening title sharp; do not wash out the whole hero to achieve contrast. */
.home-page .hero-copy-v2 { background:linear-gradient(90deg,rgba(248,247,242,.86),rgba(248,247,242,.59) 72%,transparent)!important;
  padding:clamp(18px,2vw,34px); border-radius:22px; -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
/* Dedicated studio access composition. */
.admin-login-page { background:#f4f5f0!important; }
.admin-login-page .studio-admin-entry { width:min(1260px,calc(100% - 46px));
  min-height:min(720px,calc(100svh - 88px)); margin:clamp(20px,4vh,65px) auto;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.88fr); gap:0;
  border:1px solid rgba(17,46,40,.12); border-radius:30px; overflow:hidden;
  background:#fff; box-shadow:0 28px 95px rgba(19,42,35,.13); }
.admin-login-page .studio-admin-visual { display:flex; position:relative; flex-direction:column;
  justify-content:space-between; min-height:610px; padding:clamp(28px,4vw,60px);
  color:white; background:#273f40 url('frames/frame_120.webp') center / cover no-repeat; isolation:isolate; }
.admin-login-page .studio-admin-visual::before { content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(180deg,rgba(14,25,29,.52),rgba(14,25,29,.06) 36%,rgba(8,24,23,.76)); }
.studio-admin-visual-kicker {font-size:.65rem; letter-spacing:.25em; font-weight:800;}
.studio-admin-visual h2 { font:400 clamp(3.3rem,5.8vw,6.7rem)/.96 var(--font-serif,Georgia,serif); margin:12px 0 30px; letter-spacing:-.04em; }
.studio-admin-visual h2 em { font-weight:400; }
.studio-admin-visual p { font-size:.88rem; letter-spacing:.08em; }
.studio-admin-visual div > span { font-size:.74rem; letter-spacing:.14em; }
.admin-login-page .admin-login-card { width:100%; max-width:none; margin:0; border:0; border-radius:0;
  padding:clamp(32px,5vw,70px); box-shadow:none; background:#fff;
  display:flex; flex-direction:column; justify-content:center; }
.admin-login-page .admin-login-card .admin-brand { margin-bottom:clamp(34px,6vw,72px); }
.admin-login-page .admin-login-card h1 { font:400 clamp(2.65rem,3.5vw,4.35rem)/1.04 var(--font-serif,Georgia,serif); letter-spacing:-.04em; }
.admin-login-page .admin-login-card p:not(.eyebrow) { max-width:390px; color:#63736c; font-size:.89rem; }
.admin-login-page .admin-login-card label { font-weight:750; font-size:.8rem; margin-top:13px; }
.admin-login-page .admin-login-card input { min-height:52px; border-radius:12px; border:1px solid #dce4df; background:#fafbf8; }
.admin-login-page .admin-login-card input:focus { border-color:#477863; outline:3px solid rgba(71,120,99,.13); }
.admin-login-page .studio-admin-submit { min-height:55px; border-radius:13px; background:#19372d!important;
  color:#fff!important; font-weight:800; margin-top:14px; transition:transform .2s,box-shadow .2s; }
.admin-login-page .studio-admin-submit span { margin-left:16px; }
.admin-login-page .studio-admin-error { color:#b83434!important; font-size:.8rem!important; min-height:1.25em; }
.studio-admin-footnote { margin-top:20px; color:#73817a; font-size:.72rem; line-height:1.65; }
/* Consistent admin sign-out control on all dashboard pages */
.admin-page .admin-side [data-admin-logout] { display:flex; align-items:center; justify-content:space-between;
  width:100%; min-height:45px; border-radius:13px; padding:11px 15px; background:#233f35;
  color:#fff; border:1px solid #365e4f; font-weight:750; box-shadow:0 7px 17px rgba(20,46,35,.14); }
.admin-page .admin-side [data-admin-logout]::after { content:'↗'; font-size:1.05rem; }
@media (max-width:1100px) {
  .studio-account-label { display:none; }
  .studio-auth-button { padding-inline:13px; }
}
@media (max-width:900px) {
  body:not(.admin-page) .site-header .auth-slot { display:flex; }
  body:not(.admin-page) .site-header .auth-slot .studio-account-identity,
  body:not(.admin-page) .site-header .auth-slot .studio-account-icon { display:none; }
  /* Keep the actual account action visible in the header, including sign out. */
  body:not(.admin-page) .site-header .auth-slot .studio-auth-button {
    display:inline-flex; min-height:38px; padding:6px 12px; font-size:.72rem;
    white-space:nowrap; line-height:1.1;
  }
  body:not(.admin-page) .site-header .auth-slot .studio-auth-button--out {
    background:rgba(255,255,255,.95); border-color:rgba(24,50,42,.24);
  }
  body:not(.admin-page) .site-header .auth-slot .studio-auth-symbol { display:none; }
  body:not(.admin-page) .site-header .auth-slot .studio-auth-text-long { display:none; }
  body:not(.admin-page) .site-header .auth-slot .studio-auth-text-short { display:inline; }
  body:not(.admin-page) .site-header .auth-slot .studio-account-actions { gap:0; }
  .home-page .scroll-cinema::after { background:linear-gradient(180deg,rgba(250,249,244,.1),transparent 43%,rgba(250,249,244,.08))!important; }
  .home-page .chapter:not(.home-cinema-hero):not(.manifesto-section) { background:transparent!important;
    -webkit-backdrop-filter:none!important; backdrop-filter:none!important; }
  .home-page .story-intro-copy { background:rgba(250,249,245,.79); }
  .home-page .section-head-wide { background:rgba(250,249,245,.72); }
  .admin-login-page .studio-admin-entry { grid-template-columns:1fr; max-width:650px; }
  .admin-login-page .studio-admin-visual { min-height:250px; padding:28px; }
  .studio-admin-visual h2 { font-size:clamp(2.8rem,7vw,4.4rem); margin:8px 0 20px; }
  .admin-login-page .admin-login-card { padding:clamp(26px,6vw,50px); }
  .admin-login-page .admin-login-card .admin-brand { margin-bottom:24px; }
}
@media (max-width:600px) {
  .home-page .story-intro-copy,.home-page .section-head-wide { padding:16px; }
  .home-page .hero-copy-v2 { padding:16px; background:rgba(249,248,244,.71)!important; }
  .admin-login-page .studio-admin-entry { width:calc(100% - 24px); margin:12px auto 34px; border-radius:22px; }
  .admin-login-page .studio-admin-visual { min-height:205px; }
  .studio-admin-visual h2 { font-size:2.8rem; }
}
@media (prefers-reduced-motion:reduce) { .studio-auth-button,.studio-admin-submit {transition:none!important;} }

/* Keep both the menu toggle and the account control usable on narrow phones. */
@media (max-width: 420px) {
  body:not(.admin-page) .site-header { gap:6px; padding-inline:9px; }
  body:not(.admin-page) .site-header .brand { font-size:.61rem; letter-spacing:.045em; gap:6px; min-width:0; }
  body:not(.admin-page) .site-header .brand img { width:32px; height:32px; flex-shrink:0; }
  body:not(.admin-page) .site-header .auth-slot .studio-auth-button { min-height:35px; padding:6px 9px; font-size:.68rem; }
}

/* Profile & mail pages: intentionally separate from visitor account UI. */
.studio-subpage-hero { min-height:290px; border-radius:24px; background:linear-gradient(110deg,#eef3ef 0%,#edf0ee 47%,#e5ede7 100%); }
.studio-subpage-hero--mail { background:linear-gradient(115deg,#f4f0e8,#edf1e9 50%,#e6eee9); }
.studio-subpage-hero::after { width:230px;height:230px;background:radial-gradient(circle,rgba(45,85,70,.16),transparent 72%)!important; }
.studio-subpage-hero h1 { position:relative;z-index:1;font-family:Georgia,serif!important;font-weight:400!important;letter-spacing:-.06em!important;max-width:21ch!important; }
.studio-subpage-hero .eyebrow {position:relative;z-index:1;color:#397663;letter-spacing:.17em;font-size:.7rem;}
.studio-page-chip {position:relative;z-index:1;display:inline-flex;justify-self:start;border-radius:999px;padding:9px 14px;background:#fff;border:1px solid #dae4de;color:#335b4d;font-size:.72rem;font-weight:700;}
.studio-settings-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch;}
.studio-settings-panel,.studio-settings-footer {border-radius:23px;background:rgba(255,255,255,.88);box-shadow:0 10px 42px rgba(24,55,43,.055);}
.studio-settings-panel {display:flex;flex-direction:column;gap:17px;}
.studio-settings-panel h2,.studio-settings-footer h2 {font-family:Georgia,serif!important;font-weight:400!important;letter-spacing:-.045em!important;}
.studio-settings-panel h2,.studio-settings-panel .eyebrow,.studio-settings-footer h2 {margin:0!important;}
.studio-settings-panel>p:not(.eyebrow),.studio-settings-footer p {color:#597068;line-height:1.65;margin:0;}
.studio-profile-head {display:flex;align-items:center;gap:15px;padding:18px;border-radius:18px;background:#f1f5f2;min-width:0;}
.studio-profile-avatar {width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:18px;background:#264f40;color:#fff;font-size:1.45rem;font-weight:800;}
.studio-profile-head div {display:grid;gap:6px;min-width:0;}
.studio-profile-head strong {overflow-wrap:anywhere;font-size:clamp(.86rem,1.6vw,1.05rem);color:#263e35;}
.studio-profile-head small {color:#72857c;font-size:.74rem;}
.studio-detail-list {display:grid;gap:0;margin:0;}
.studio-detail-list>div {display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #e4eae6;}
.studio-detail-list dt {color:#72857c;font-size:.83rem;}
.studio-detail-list dd {margin:0;font-weight:700;color:#2d5141;font-size:.83rem;}
.studio-status-dot {display:inline-block;width:7px;height:7px;background:#299363;border-radius:50%;vertical-align:middle;margin-right:6px;}
.studio-settings-form {display:grid;gap:14px;}
.studio-settings-form label {display:grid;gap:8px;color:#345448;font-weight:700;font-size:.81rem;}
.studio-settings-form input,.studio-settings-form textarea {width:100%;box-sizing:border-box;padding:14px 15px;border:1px solid #d7e3dc;border-radius:12px;background:#fbfdfb;color:#273e34;font:inherit;resize:vertical;}
.studio-settings-form input:focus,.studio-settings-form textarea:focus {outline:2px solid #8cb5a2;outline-offset:1px;}
.studio-settings-form .admin-primary {justify-self:start;border-radius:999px;background:#285342;min-height:48px;padding:10px 23px;}
.studio-inline-note {font-size:.78rem!important;line-height:1.6!important;color:#587468!important;margin:0;min-height:1em;}
.studio-social-settings-panel {grid-column:1/-1;}
.studio-settings-footer {display:flex;justify-content:space-between;align-items:center;gap:24px;}
.studio-settings-footer>div {max-width:660px;}
.studio-settings-footer .admin-ghost {white-space:nowrap;border-radius:999px;padding:12px 22px;}
.studio-inline-button {text-decoration:none;align-self:flex-start;border-radius:999px;padding:12px 22px;}
.studio-mail-address {display:flex;align-items:center;gap:14px;padding:18px;border-radius:17px;background:#eef4ef;color:#2d5847;overflow-wrap:anywhere;}
.studio-mail-address span {width:44px;height:44px;border-radius:15px;flex:0 0 44px;display:grid;place-items:center;background:#d8e8db;font-size:1.4rem;}
.studio-mail-address strong {font-size:clamp(.86rem,1.8vw,1.1rem);overflow-wrap:anywhere;}
@media (max-width:1050px) { .studio-settings-grid {grid-template-columns:1fr;} }
@media (max-width:700px) { .studio-settings-footer{flex-direction:column;align-items:stretch;} .studio-settings-footer .admin-ghost {align-self:start;} .studio-subpage-hero{min-height:245px;padding:28px;} }

/* GoDaddy Titan mail gateway: keeps the actual mailbox under Titan's login. */
.studio-titan-hero {position:relative;overflow:hidden;min-height:330px;background:linear-gradient(118deg,#e5eae6 0%,#f3f1e8 50%,#dceae2 100%)!important;}
.studio-titan-hero::before{content:"";position:absolute;right:-6%;top:-65%;width:min(57%,550px);aspect-ratio:1;border:1px solid rgba(47,92,67,.18);border-radius:50%;box-shadow:0 0 0 44px rgba(255,255,255,.17),0 0 0 95px rgba(255,255,255,.13);pointer-events:none;}
.studio-titan-hero h1{max-width:760px!important;line-height:1.04!important;}
.studio-titan-hero h1 em,.studio-titan-card h2 em{font-weight:400;color:#427f66;}
.studio-titan-hero>p:not(.eyebrow){max-width:530px;position:relative;z-index:1;}
.studio-titan-live{display:inline-block;width:8px;height:8px;background:#258a58;border-radius:50%;margin-right:6px;vertical-align:middle;}
.studio-titan-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin:22px 0;align-items:stretch;}
.studio-titan-card{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:17px;min-width:0;border-radius:24px;padding:clamp(24px,3vw,38px)!important;}
.studio-titan-card--primary{background:#193d30;color:#f5f9f3;}
.studio-titan-card--primary::before{content:"";position:absolute;width:300px;height:300px;right:-158px;top:-148px;border-radius:50%;border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 36px rgba(255,255,255,.025),0 0 0 74px rgba(255,255,255,.025);pointer-events:none;}
.studio-titan-card--secondary{background:#f7f9f4;}
.studio-titan-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;}
.studio-titan-icon{display:grid;place-items:center;width:57px;height:57px;border-radius:18px;background:rgba(255,255,255,.13);font-size:1.8rem;}
.studio-titan-tag{font-size:.65rem;font-weight:800;letter-spacing:.19em;opacity:.73;}
.studio-titan-card h2{font-family:Georgia,serif!important;font-size:clamp(1.9rem,3vw,3.1rem);font-weight:400!important;letter-spacing:-.06em!important;line-height:1.08;margin:0!important;max-width:16ch;}
.studio-titan-card p{max-width:48ch;line-height:1.7;margin:0;}
.studio-titan-card .eyebrow{font-size:.7rem;letter-spacing:.17em;margin:12px 0 0;}
.studio-titan-card--primary p,.studio-titan-card--primary small{color:rgba(242,251,245,.75);}
.studio-titan-card--primary h2 em{color:#aedac0;}
.studio-titan-card--primary small{font-size:.74rem;line-height:1.6;}
.studio-titan-address{display:flex;align-items:center;gap:11px;padding:15px;border:1px solid rgba(255,255,255,.21);border-radius:15px;background:rgba(255,255,255,.085);width:100%;box-sizing:border-box;overflow-wrap:anywhere;}
.studio-titan-address span{display:grid;place-items:center;width:33px;height:33px;flex:0 0 33px;border-radius:10px;background:rgba(255,255,255,.13);}
.studio-titan-address strong{font-size:clamp(.84rem,1.5vw,1rem);}
.studio-titan-open{display:flex;align-items:center;justify-content:space-between;gap:22px;text-decoration:none;border-radius:999px;padding:15px 22px;background:#d7f1db;color:#174a35;font-weight:800;width:100%;box-sizing:border-box;min-height:54px;transition:background .2s ease,transform .2s ease;}
.studio-titan-open:hover{background:#fff;transform:translateY(-2px);}
.studio-titan-actions{display:grid;width:100%;margin-top:auto;gap:9px;}
.studio-titan-actions a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;background:#ebf1e9;border:1px solid #dce7dc;color:#254d3b;text-decoration:none;font-weight:700;font-size:.84rem;transition:background .2s ease;}
.studio-titan-actions a:hover{background:#dceadf;}
.studio-titan-open:focus-visible,.studio-titan-actions a:focus-visible{outline:3px solid #a2cdb4;outline-offset:3px;}
.studio-titan-note{background:#eaf1eb;padding:16px;border-radius:14px;margin-top:10px;}
.studio-titan-note strong{font-size:.81rem;}
.studio-titan-note p{font-size:.78rem;color:#5b7063;margin-top:7px;}
.studio-titan-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:22px;}
.studio-titan-footer>div{max-width:690px;}
.studio-titan-footer h2{font-family:Georgia,serif!important;font-weight:400!important;}
.studio-titan-footer p:not(.eyebrow){color:#597068;line-height:1.65;}
@media(max-width:990px){.studio-titan-grid{grid-template-columns:1fr;}.studio-titan-hero::before{right:-40%;width:75%;}}
@media(max-width:700px){.studio-titan-hero{min-height:285px;}.studio-titan-hero h1{font-size:clamp(2.2rem,11vw,3.1rem)!important;}.studio-titan-card{padding:25px!important;}.studio-titan-footer{flex-direction:column;align-items:stretch;}.studio-titan-footer .studio-inline-button{align-self:flex-start;}}
@media(prefers-reduced-motion:reduce){.studio-titan-open,.studio-titan-actions a{transition:none;}}

/* Home hero overlay text should stay white over the cinematic opening frame. */
.home-page .hero-note,
.home-page .hero-note-kicker,
.home-page .hero-note strong,
.home-page .hero-note p,
.home-page .hero-story-dock,
.home-page .story-dock-item,
.home-page .story-dock-item > span,
.home-page .story-dock-item small,
.home-page .story-dock-item strong,
.home-page .story-dock-item i,
.home-page .hero-scroll-meter,
.home-page .hero-scroll-meter > span,
.home-page .hero-scroll-meter b {
  color:#ffffff!important;
}
.home-page .hero-note,
.home-page .story-dock-item,
.home-page .hero-scroll-meter {
  text-shadow:0 2px 18px rgba(0,0,0,.38);
}
.home-page .story-dock-item i {
  border-color:rgba(255,255,255,.32)!important;
}

/* Shared public footer: identical markup on every public page, including auth. */
body:not(.admin-page) .site-footer {
  width: min(1360px, calc(100% - 32px));
  box-sizing: border-box;
  grid-template-columns: minmax(220px, 1.55fr) repeat(3, minmax(145px, 1fr));
  align-items: start;
  gap: clamp(20px, 3vw, 48px);
  margin: 60px auto 26px;
  padding: clamp(24px, 3vw, 44px);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 22px;
  background: #000000;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  color: #ffffff;
  box-shadow: 0 24px 65px rgba(0, 0, 0, .2);
}
body:not(.admin-page) .site-footer__brand { display: inline-flex; align-items: center; gap: 10px; color: #ffffff; }
body:not(.admin-page) .site-footer__identity p { max-width: 31ch; margin: 19px 0 0; line-height: 1.65; color: rgba(255, 255, 255, .68); }
body:not(.admin-page) .site-footer__column > strong { display: block; color: #ffffff; font-size: .8rem; letter-spacing: .03em; }
body:not(.admin-page) .site-footer ul { gap: 12px; color: rgba(255, 255, 255, .72); }
body:not(.admin-page) .site-footer a { text-underline-offset: 4px; }
body:not(.admin-page) .site-footer__column a,
body:not(.admin-page) .site-footer__bottom a { color: rgba(255, 255, 255, .8); text-decoration: none; transition: color .2s ease; }
body:not(.admin-page) .site-footer__column a:hover,
body:not(.admin-page) .site-footer__bottom a:hover { color: #ffffff; text-decoration: underline; }
body:not(.admin-page) .site-footer__socials {display:flex;align-items:center;gap:10px;margin-top:5px;}
body:not(.admin-page) .site-footer__social {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#ffffff!important;
  text-decoration:none!important;
  transition:background .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
body:not(.admin-page) .site-footer__social svg {width:20px;height:20px;stroke-width:1.9;}
body:not(.admin-page) .site-footer__social--facebook:hover,
body:not(.admin-page) .site-footer__social--facebook:focus-visible {background:#1877f2;border-color:#1877f2;box-shadow:0 12px 26px rgba(24,119,242,.35);}
body:not(.admin-page) .site-footer__social--instagram:hover,
body:not(.admin-page) .site-footer__social--instagram:focus-visible {background:#e4405f;border-color:#e4405f;box-shadow:0 12px 26px rgba(228,64,95,.35);}
body:not(.admin-page) .site-footer__social--youtube:hover,
body:not(.admin-page) .site-footer__social--youtube:focus-visible {background:#ff0000;border-color:#ff0000;box-shadow:0 12px 26px rgba(255,0,0,.35);}
body:not(.admin-page) .site-footer__social:hover {transform:translateY(-2px);}
body:not(.admin-page) .site-footer a:focus-visible { outline: 2px solid #ffffff; outline-offset: 5px; border-radius: 3px; }
body:not(.admin-page) .site-footer__bottom {
  grid-column: 1 / -1;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 28px;
  padding-top: 20px; border-top: 1px solid rgba(255, 255, 255, .2);
  color: rgba(255, 255, 255, .6); font-size: .76rem;
}
body:not(.admin-page) .site-footer .credit { color: rgba(255, 255, 255, .67); margin: 0; }
body:not(.admin-page) .site-footer .credit a { color: #a9cfff; }
body:not(.admin-page) .site-footer .credit a:hover { color: #ffffff; }
/* Contrast fix for the ghost action alongside “Watch the films”. */
.home-page .manifesto-section .ghost:hover,
.home-page .manifesto-section .ghost:focus-visible {
  background: #ffffff;
  color: #141517;
  border-color: #ffffff;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .23);
}
@media (max-width: 1000px) {
  body:not(.admin-page) .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  body:not(.admin-page) .site-footer { grid-template-columns: 1fr; gap: 25px; margin-top: 35px; }
  body:not(.admin-page) .site-footer__bottom { align-items: flex-start; flex-direction: column; }
}

/* Contact page: email opens the visitor's mail app, WhatsApp stays form-based. */
body.contact-page main.page-section,
body.contact-page .page-hero,
body.contact-page .form-card { text-align:center; }
body.contact-page .page-hero { justify-items:center; min-height:50vh; }
body.contact-page .page-hero .eyebrow { justify-content:center; }
body.contact-page .page-hero h1 {
  max-width:12ch!important;
  margin-inline:auto!important;
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif!important;
  font-weight:500!important;
  letter-spacing:-.055em!important;
}
body.contact-page .page-hero .lead,
body.contact-page .form-card .lead,
body.contact-page .form-card>p { margin-inline:auto; }
body.contact-page .contact-actions-layout { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; }
body.contact-page .form-card h2 {
  font-family:"Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif!important;
  font-weight:500!important;
  letter-spacing:-.045em!important;
}
body.contact-page .contact-mail-card,
body.contact-page .contact-whatsapp-card {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:430px;
}
body.contact-page .contact-mail-button {
  display:grid;
  justify-items:center;
  gap:12px;
  width:min(320px,100%);
  margin-top:26px;
  padding:30px 22px;
  border:1px solid rgba(17,18,20,.1);
  border-radius:24px;
  background:#111214;
  color:#fff;
  text-decoration:none;
  box-shadow:0 24px 60px rgba(17,18,20,.18);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}
body.contact-page .contact-mail-button:hover,
body.contact-page .contact-mail-button:focus-visible {
  transform:translateY(-3px);
  background:#0057d9;
  box-shadow:0 28px 70px rgba(0,87,217,.22);
}
body.contact-page .contact-mail-button span {
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.13);
}
body.contact-page .contact-mail-button svg { width:30px; height:30px; }
body.contact-page .contact-mail-button strong {
  max-width:100%;
  overflow-wrap:anywhere;
  font-size:clamp(.95rem,1.6vw,1.16rem);
}
body.contact-page .contact-mail-button small {
  color:rgba(255,255,255,.72);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
body.contact-page .contact-whatsapp-card form { width:min(430px,100%); margin-inline:auto; }
body.contact-page .contact-whatsapp-card label { text-align:center; }
body.contact-page .contact-whatsapp-card input,
body.contact-page .contact-whatsapp-card textarea { text-align:center; }
body.contact-page .contact-whatsapp-card button { justify-self:center; min-width:190px; }
@media(max-width:900px){
  body.contact-page .contact-actions-layout { grid-template-columns:1fr; }
  body.contact-page .contact-mail-card,
  body.contact-page .contact-whatsapp-card { min-height:auto; }
}

/* Mobile homepage: no side-scroll, readable paragraphs, compact first view. */
@media(max-width:700px){
  html,
  body {
    max-width:100%;
    overflow-x:hidden;
  }
  .home-page .home-cinema-hero {
    min-height:auto!important;
    width:100%!important;
    margin:0!important;
    padding:0 10px!important;
  }
  .home-page .hero-sticky {
    position:relative!important;
    min-height:auto!important;
    overflow:visible!important;
    display:grid!important;
    gap:18px!important;
    padding:96px 0 22px!important;
  }
  .home-page .hero-frame-label {
    top:72px!important;
    left:14px!important;
    right:14px!important;
  }
  .home-page .hero-copy-v2 {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:20px 16px!important;
    border-radius:20px!important;
    opacity:1!important;
    transform:none!important;
  }
  .home-page .hero-copy-v2 h1,
  .home-page .story-intro-copy h2,
  .home-page .section-head-wide h2,
  .home-page .manifesto-copy h2,
  .home-page .final-story-section h2 {
    max-width:100%!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .home-page .hero-copy-v2 h1 {
    font-size:clamp(3.05rem,13.4vw,4.65rem)!important;
    line-height:.94!important;
  }
  .home-page .story-intro-copy h2,
  .home-page .section-head-wide h2,
  .home-page .manifesto-copy h2,
  .home-page .final-story-section h2 {
    font-size:clamp(2.25rem,11vw,3.55rem)!important;
    line-height:1.02!important;
  }
  .home-page .hero-copy-v2 .hero-lede,
  .home-page .story-intro-copy .lead,
  .home-page .section-side-copy p,
  .home-page .manifesto-copy p,
  .home-page .final-story-section > p:not(.eyebrow) {
    max-width:100%!important;
    text-align:left!important;
    line-height:1.72!important;
  }
  .home-page .hero-copy-v2 .actions,
  .home-page .story-intro-copy .actions,
  .home-page .manifesto-copy .actions,
  .home-page .final-story-section .actions {
    align-items:stretch!important;
    justify-content:stretch!important;
  }
  .home-page .hero-copy-v2 .actions > *,
  .home-page .story-intro-copy .actions > *,
  .home-page .manifesto-copy .actions > *,
  .home-page .final-story-section .actions > * {
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .home-page .hero-story-dock {
    position:relative!important;
    left:auto!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    overflow:visible!important;
    border-radius:18px!important;
    opacity:1!important;
    transform:none!important;
  }
  .home-page .story-dock-item {
    min-width:0!important;
    min-height:86px!important;
    grid-template-columns:auto 1fr!important;
    gap:9px!important;
    padding:13px!important;
    border-right:1px solid rgba(255,255,255,.18)!important;
    border-bottom:1px solid rgba(255,255,255,.18)!important;
  }
  .home-page .story-dock-item:nth-child(2n) { border-right:0!important; }
  .home-page .story-dock-item:nth-last-child(-n+2) { border-bottom:0!important; }
  .home-page .story-dock-item strong,
  .home-page .story-dock-item small {
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .home-page .story-dock-item i { display:none!important; }
  .home-page .chapter:not(.home-cinema-hero) {
    width:calc(100% - 16px)!important;
    margin-block:24px!important;
    padding:34px 18px!important;
  }
  .home-page .story-intro-copy,
  .home-page .section-head-wide,
  .home-page .final-story-section > *:not(.actions) {
    background:rgba(250,249,245,.84)!important;
  }
  .home-page .poster-stack-v2 {
    min-height:0!important;
    display:grid!important;
    gap:14px!important;
  }
  .home-page .poster-stack-v2 figure {
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    transform:none!important;
  }
  .home-page .poster-stack-v2 img { height:210px!important; }
  .home-page .section-head-wide {
    display:grid!important;
    gap:18px!important;
  }
  .home-page .manifesto-section {
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:24px!important;
  }
  .home-page .manifesto-mark {
    display:none!important;
  }
  .home-page .manifesto-copy {
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:block!important;
    grid-column:1/-1!important;
    padding:22px 18px!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.08)!important;
  }
  .home-page .manifesto-copy h2 {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 16px!important;
    font-size:clamp(1.65rem,7vw,2.25rem)!important;
    line-height:1.2!important;
    text-align:left!important;
    text-wrap:auto!important;
    white-space:normal!important;
  }
  .home-page .manifesto-copy p {
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
  }
  .home-page .manifesto-aside {
    grid-template-columns:1fr!important;
  }
  .home-page .manifesto-aside span {
    min-height:auto!important;
  }
  .home-page .final-story-line {
    grid-template-columns:1fr!important;
    justify-items:center!important;
  }
  .home-page .final-story-line i {
    width:100%;
  }

  /* Keep interior page introductions centered and readable on narrow screens. */
  body.contact-page .page-hero,
  body.films-page .page-hero {
    width:100%;
    min-height:0;
    padding:56px 8px 48px;
    justify-items:center;
    text-align:center;
  }
  body.contact-page .page-hero h1,
  body.films-page .page-hero h1 {
    width:100%;
    max-width:20ch!important;
    margin-inline:auto!important;
    font-size:clamp(2.35rem,10.5vw,3.8rem)!important;
    line-height:1.06!important;
    letter-spacing:-.04em!important;
    text-align:center;
    overflow-wrap:normal;
    word-break:normal;
  }
  body.contact-page .page-hero .lead,
  body.films-page .page-hero .lead {
    width:100%;
    max-width:42ch;
    margin:20px auto 0;
    text-align:center;
    line-height:1.65;
  }
}
