/* Home design: cinematic nature, personal journal and GPS explorer. */
.cinematic-home{--paper:#f4f1e8;--ink:#203c32;--forest:#203c32;--muted:#5e6c60;--accent:#e2e9c5;--ease:cubic-bezier(.22,.68,.2,1)}
.cinematic-home .site-header{background:#f4f1e8f2;border-bottom:1px solid #203c3112}
.cinematic-home .btn{border-radius:40px;min-height:48px}
.cinematic-home .home-hero{margin:0 16px;border-radius:12px 12px 72px 12px;min-height:650px;height:calc(100svh - 112px);max-height:920px;padding:70px 6% 115px}
.cinematic-home .home-hero:after{background:linear-gradient(90deg,#10271dd4,#10271d60 60%,#10271d0d),linear-gradient(0deg,#10271d9e,transparent 45%)}
.cinematic-home .hero-image{animation:cinema-arrival 1.5s var(--ease) both;transform:scale(1.04) translateY(var(--cinema-y,0px));will-change:transform}
.cinematic-home .hero-copy h1{font-size:clamp(56px,7.7vw,118px);letter-spacing:-3.5px;line-height:1.06}
.cinematic-home .hero-title-line{animation:title-arrival .95s var(--ease) both}
.cinematic-home .hero-title-line:nth-child(2){animation-delay:.15s}
.cinematic-home .hero-copy .hero-lead{max-width:440px;font-size:16px}
.cinematic-home .hero-stamp{height:115px;width:115px;right:5%;top:38px;background:#e7ecda0c;backdrop-filter:blur(4px)}
.cinematic-home .search-strip{width:min(1180px,88%);padding:32px 0 42px;border-bottom:0}
.cinematic-home .houses{padding:48px 0 100px}
.cinematic-home .houses .house-grid{grid-template-columns:1fr 1fr;gap:32px}
.cinematic-home .house-art{height:420px;border-radius:8px 8px 42px 8px;color:#fff;isolation:isolate}
.cinematic-home .house-art:before{display:none}
.cinematic-home .house-art:after{inset:0;width:auto;height:auto;transform:none;border:0;border-radius:0;box-shadow:none;background:linear-gradient(180deg,#122b2266,transparent 45%,#122b22bb);z-index:0}
.cinematic-home .house-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.cinematic-home .house-number{font-size:100px;text-shadow:0 3px 30px #10271d33}
.cinematic-home .house-art .round-arrow{color:var(--ink)}
.cinematic-home .house-card:nth-child(2) .house-art{color:#fff}
.cinematic-home .house-art.photo-art:after{display:block}
.cinematic-home .house-art:not(.photo-art):after{inset:0;width:auto;height:auto;border:0;box-shadow:none;border-radius:0;transform:none}
.cinematic-home .house-caption h3{font-size:34px}
.cinematic-home .house-caption span{font-size:12px}
.cinematic-home .house-caption b{font-size:12px}
.cinematic-home .intro{border-top:1px solid var(--line);padding:75px 0 95px}
.cinematic-home .intro h2{font-size:clamp(38px,4.6vw,65px)}
.cinematic-home .mood-stage{border-radius:12px 12px 56px 12px;overflow:hidden}
.cinematic-home .group-story{background:#eadecd;color:#4a352c;padding:38px 0 80px;position:relative}
.cinematic-home .journal-kicker{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #4a352c30;padding-bottom:20px;margin-bottom:50px;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.cinematic-home .group-layout{gap:8%}
.cinematic-home .group-photo{transform:rotate(-2deg);padding:12px 12px 16px;background:#f9f4ea;box-shadow:0 20px 45px #4a352c13;transition:transform .8s var(--ease)}
.cinematic-home .group-photo img{height:480px;border-radius:120px 120px 3px 3px}
.cinematic-home .photo-label{color:#685146;opacity:1;letter-spacing:1px;line-height:1.7}
.cinematic-home .journal-note{display:block;font:italic 21px/1.4 var(--serif);color:#96533d;margin-bottom:28px;max-width:300px}
.cinematic-home .group-copy h2 em{color:#96533d!important}
.cinematic-home .group-copy p{color:#685146;font-size:15px}
.cinematic-home .group-list,.cinematic-home .group-list div{border-color:#4a352c30}
.cinematic-home .group-list span{color:#96533d}
.cinematic-home .group-copy .btn{background:#934a35;border-color:#934a35;color:#fff8ee}
.cinematic-home .host-section{padding:90px 0}
.cinematic-home .host-emblem .monogram{color:#96533d}
.cinematic-home .signature{color:#96533d;font-size:32px}
.cinematic-home .escape-experiences{--explorer:#d9f577;background:#122925;padding:44px;border-radius:12px 12px 60px 12px;margin-top:85px;isolation:isolate}
.cinematic-home .escape-experiences:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,#86b34f22,transparent 65%);z-index:-1;pointer-events:none}
.cinematic-home .explorer-topline{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #d9f57735;padding-bottom:22px;margin-bottom:35px;font-size:11px;letter-spacing:2px;color:var(--explorer)}
.cinematic-home .escape-intro{grid-template-columns:110px 1fr;gap:30px}
.cinematic-home .escape-logo{width:110px;height:110px}
.cinematic-home .escape-intro h2{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:clamp(38px,5.5vw,76px);letter-spacing:-2.6px;line-height:1.02}
.cinematic-home .escape-intro h2 em{color:var(--explorer);font-style:normal}
.cinematic-home .escape-intro p{font-size:14px;max-width:540px}
.cinematic-home .explorer-route{display:flex;align-items:center;gap:18px;margin:40px 0 26px;color:#e0edce;font-size:11px}
.cinematic-home .explorer-route i{height:2px;flex:1;position:relative;background:#d9f57725;overflow:hidden}
.cinematic-home .explorer-route i:after{content:'';position:absolute;inset:0;background:var(--explorer);transform:scaleX(0);transform-origin:left;transition:transform 1.3s var(--ease)}
.cinematic-home .explorer-awake .explorer-route i:after{transform:scaleX(1)}
.cinematic-home .explorer-route i:nth-of-type(2):after{transition-delay:.3s}
.cinematic-home .escape-game{border:1px solid #d9f57722;background:#1b352e;border-radius:8px 8px 26px 8px;transition:transform .5s var(--ease),border-color .5s}
.cinematic-home .escape-game-copy{padding:24px}
.cinematic-home .escape-game-type{font-size:10px}
.cinematic-home .escape-game-copy h3{font-family:Arial,Helvetica,sans-serif;font-weight:650;font-size:26px;line-height:1.15;letter-spacing:-.8px}
.cinematic-home .escape-game-copy p{font-size:13px}
.cinematic-home .escape-game-copy small{font-size:11px}
.cinematic-home .escape-state{font-size:11px;color:var(--explorer)}
.cinematic-home .escape-state.is-soon{color:#eed3a9}
.cinematic-home .escape-game-copy>a{font-size:13px;color:var(--explorer);min-height:48px}
.cinematic-home .escape-all{font-size:13px;color:var(--explorer);min-height:52px}
.cinematic-home .gallery-toolbar{flex-wrap:wrap}
.cinematic-home .filter{min-height:44px;border-radius:30px}
.cinematic-home .inquiry-section{background:#e5e9da}
.cinematic-home .inquiry-form{border-radius:12px 12px 40px 12px}
.cinematic-home .scroll-progress{height:2px;position:fixed;top:0;left:0;width:100%;z-index:60;pointer-events:none;background:#8da765;transform:scaleX(var(--page-progress,0));transform-origin:left}
@keyframes cinema-arrival{from{opacity:.4;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
@keyframes title-arrival{from{opacity:0;transform:translateY(28px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.cinematic-home .house-card:hover .house-card-image{transform:scale(1.055)}.cinematic-home .group-photo:hover{transform:rotate(0)}.cinematic-home .escape-game:hover{transform:translateY(-7px);border-color:#d9f57780}.cinematic-home .escape-game-art:hover img{transform:scale(1.04)}}
@media(min-width:761px) and (max-width:1050px){.cinematic-home .home-hero{min-height:620px}.cinematic-home .hero-copy h1{font-size:clamp(58px,7.7vw,81px)}.cinematic-home .escape-experiences{padding:28px}.cinematic-home .escape-game-copy{padding:16px}.cinematic-home .house-art{height:350px}.cinematic-home .house-caption{gap:12px}.cinematic-home .house-caption b{max-width:80px}}
@media(max-width:760px){
 .cinematic-home .home-hero{margin:0 8px;border-radius:8px 8px 38px 8px;height:calc(100svh - 90px);min-height:620px;max-height:860px;padding:0}
 .cinematic-home .hero-copy{position:absolute;top:22%;left:7%;right:7%;width:auto}
 .cinematic-home .hero-copy h1{font-size:clamp(41px,10.8vw,76px);line-height:1.09;letter-spacing:-1.8px;margin:22px 0}
 .cinematic-home .hero-title-line{white-space:normal}
 .cinematic-home .hero-copy .eyebrow{font-size:9px;line-height:1.8;letter-spacing:2px;max-width:270px}
 .cinematic-home .hero-copy .hero-lead{font-size:15px;line-height:1.7;max-width:310px}
 .cinematic-home .hero-copy .btn{padding:16px 21px;min-height:52px}
 .cinematic-home .hero-stamp{width:82px;height:82px;font-size:16px;top:22px;right:7%}
 .cinematic-home .hero-stamp span{font-size:7px}
 .cinematic-home .hero-bottom{bottom:26px;left:7%;right:7%}
 .cinematic-home .hero-bottom .eyebrow{font-size:8px;line-height:1.7;max-width:220px}
 .cinematic-home .search-strip{width:88%;padding:28px 0 12px}
 .cinematic-home .quick-form input,.cinematic-home .quick-form select{font-size:16px;min-height:44px}
 .cinematic-home .houses{padding:40px 0 65px}
 .cinematic-home .houses .house-grid{grid-template-columns:1fr;gap:36px}
 .cinematic-home .house-art{height:340px;border-radius:8px 8px 34px 8px}
 .cinematic-home .house-caption{gap:15px}
 .cinematic-home .house-caption h3{font-size:31px}
 .cinematic-home .house-caption span{font-size:12px;line-height:1.6;display:block}
 .cinematic-home .house-caption b{flex-shrink:0;font-size:11px}
 .cinematic-home .intro{padding:55px 0 65px}
 .cinematic-home .intro h2{font-size:39px}
 .cinematic-home .group-story{padding:30px 0 60px}
 .cinematic-home .journal-kicker{letter-spacing:1px;font-size:10px;margin-bottom:35px;gap:12px}
 .cinematic-home .group-layout{gap:38px}
 .cinematic-home .group-photo{margin-inline:5px!important;transform:rotate(-1deg)}
 .cinematic-home .group-photo img{height:340px;border-radius:90px 90px 3px 3px}
 .cinematic-home .journal-note{font-size:22px;margin-bottom:24px}
 .cinematic-home .group-copy h2{font-size:43px}
 .cinematic-home .escape-experiences{padding:28px 20px;border-radius:8px 8px 34px 8px;margin-top:55px}
 .cinematic-home .explorer-topline{flex-direction:column;gap:8px;font-size:10px;letter-spacing:1.6px}
 .cinematic-home .escape-intro{grid-template-columns:1fr;gap:20px}
 .cinematic-home .escape-logo{width:86px;height:86px}
 .cinematic-home .escape-intro h2{font-size:clamp(34px,9.2vw,62px);letter-spacing:-1.7px}
 .cinematic-home .explorer-route{font-size:10px;gap:8px;margin:30px 0 24px;flex-wrap:wrap}
 .cinematic-home .explorer-route span{white-space:nowrap}
 .cinematic-home .explorer-route i{min-width:8px}
 .cinematic-home .escape-game-copy{padding:22px}
 .cinematic-home .escape-game-grid{gap:26px}
 .cinematic-home .escape-game-copy h3{font-size:27px}
 .cinematic-home .host-section{padding:60px 0}
 .cinematic-home .mobile-inquiry{border-radius:40px;box-shadow:0 8px 40px #203c3220}
 .cinematic-home .mobile-inquiry .btn{border-radius:30px}
 .cinematic-home .inquiry-section{padding-bottom:65px}
}
@media(max-width:370px){.cinematic-home .hero-copy{top:24%}.cinematic-home .hero-copy h1{font-size:39px;letter-spacing:-1.6px}.cinematic-home .hero-copy .hero-lead{font-size:14px}.cinematic-home .house-caption{flex-direction:column;gap:8px}.cinematic-home .house-caption b{font-size:12px}.cinematic-home .group-copy h2{font-size:38px}.cinematic-home .explorer-route{font-size:9px;gap:5px}}
@media(prefers-reduced-motion:reduce){.cinematic-home .hero-image{transform:none;will-change:auto}.cinematic-home .hero-title-line{opacity:1;clip-path:none}.cinematic-home .group-photo{transform:none}.cinematic-home .explorer-route i:after{transform:scaleX(1)}.cinematic-home .scroll-progress{display:none}}
@media print{.cinematic-home .scroll-progress{display:none}}
/* Homepage composition: a printed-guide palette and a separate photo plate. */
.cinematic-home {
  --paper: #f7f3e9;
  --ink: #243b31;
  --muted: #515d50;
  --line: #d8d5c7;
  --accent: #e4eacb;
  --page-gutter: clamp(20px, 5vw, 80px);
}
.cinematic-home .site-header {
  height: 76px;
  padding-inline: var(--page-gutter);
  background: var(--paper);
}
.cinematic-home .logo { width: 126px; height: 62px; }
.cinematic-home .navigation { gap: clamp(14px, 2vw, 30px); }
.cinematic-home .home-hero {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  align-items: stretch;
  height: auto;
  min-height: 0;
  max-height: none;
  margin: 0;
  background: #263e32;
}
.cinematic-home .home-hero::after { content: none; }
.cinematic-home .hero-image {
  position: static;
  grid-column: 2;
  grid-row: 1;
  z-index: auto;
  min-height: 100%;
  object-position: 52% 48%;
  transform: none;
}
.cinematic-home .hero-copy {
  position: static;
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  max-width: none;
  padding: clamp(56px, 6vw, 96px) clamp(22px, 3vw, 54px) clamp(56px, 6vw, 96px) var(--page-gutter);
}
.cinematic-home .hero-copy .eyebrow {
  color: #e1e8ca;
  line-height: 1.65;
  letter-spacing: .18em;
}
.cinematic-home .hero-copy h1 {
  font-size: clamp(37px, 4.8vw, 82px);
  line-height: 1.05;
  letter-spacing: -.055em;
  margin: 22px 0;
}
.cinematic-home .hero-title-line:nth-child(2) { margin-left: 0; }
.cinematic-home .hero-copy .hero-lead {
  max-width: 32ch;
  margin: 0 0 26px;
  font: 16px/1.65 Arial, Helvetica, sans-serif;
}
.cinematic-home .search-strip {
  width: min(1280px, calc(100% - 2 * var(--page-gutter)));
  max-width: none;
  margin: 0 auto;
  border: 0;
  border-bottom: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
  padding: 24px 0;
}
.cinematic-home .quick-form label { font-size: 11px; }
.cinematic-home .quick-form input,
.cinematic-home .quick-form select { min-height: 44px; }
.cinematic-home .houses .section-heading {
  display: block;
  max-width: 760px;
}
.cinematic-home .houses .section-heading > p {
  max-width: 56ch;
  margin-top: 16px;
  font-size: 15px;
}
.cinematic-home .houses .house-art { border-radius: 0; }
.cinematic-home .houses .house-art::after { content: none; }
.cinematic-home .houses .house-card-image { transition: transform .45s ease; }
@media (hover: hover) {
  .cinematic-home .houses .house-card:hover .house-card-image { transform: scale(1.035); }
}
@media (max-width: 860px) {
  .cinematic-home .navigation:not(.open) { gap: 12px; }
  .cinematic-home .navigation { top: 76px; }
}
@media (max-width: 760px) {
  .cinematic-home .home-hero { grid-template-columns: minmax(0, 1fr); }
  .cinematic-home .hero-copy { padding: 38px var(--page-gutter) 34px; }
  .cinematic-home .hero-copy h1 { font-size: clamp(41px, 9.8vw, 67px); }
  .cinematic-home .hero-image {
    grid-column: 1;
    grid-row: 2;
    min-height: 0;
    height: clamp(215px, 55vw, 370px);
  }
  .cinematic-home .quick-form label:first-child,
  .cinematic-home .quick-form .btn { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .cinematic-home .hero-copy { animation: none; }
  .cinematic-home .houses .house-card-image { transition: none; }
}
