:root{
  --u: 0.08333333vw;
  --ink:#ffffff; --ink-dim:rgba(255,255,255,.78);
  --glass:rgba(22,20,18,.28); --glass-line:rgba(255,255,255,.30);
  --e:cubic-bezier(.16,1,.3,1);
  --paper:#f3f0ea; --dark:#141513; --muted:#6d6a63; --line:rgba(20,20,18,.14); --accent:#b5652b;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:#0d0f10; color:var(--ink); overflow-x:hidden;
  font-family:"Helvetica Neue","HelveticaNeue",Helvetica,"Inter Tight","Segoe UI",Arial,sans-serif;
  font-weight:400; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img{ max-width:100%; }
.u-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
:focus-visible{ outline:2px solid #fff; outline-offset:3px; border-radius:4px; }

/* ───────── HERO (Mountain Retreat) ───────── */
.hero{ position:relative; height:100svh; min-height:430px; overflow:hidden; isolation:isolate; }
.hero__bg,.hero__cutout{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center center;
  pointer-events:none; user-select:none; -webkit-user-drag:none;
  animation:plate-in 2s var(--e) both;
}
.hero__bg{ z-index:1; }
.hero__scrim{
  position:absolute; inset:0; z-index:2;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.30) 0%, rgba(0,0,0,0) 26%),
    linear-gradient(to top, rgba(0,0,0,.34) 0%, rgba(0,0,0,0) 34%),
    radial-gradient(120% 90% at 50% 45%, rgba(0,0,0,0) 42%, rgba(0,0,0,.30) 100%);
  animation:fade-in 1.4s var(--e) both;
}
.hero__title{
  position:absolute; z-index:3; left:calc(15 * var(--u)); top:calc(67.9 / 675 * 100%); margin:0;
  font-size:calc(123.2 * var(--u)); font-weight:700; line-height:.772; letter-spacing:-.055em;
  white-space:nowrap; pointer-events:none;
}
.hero__title .line:first-child{ margin-top:-.145em; }
.hero__cutout{ z-index:4; }
.nav,.intro,.pins,.scroll{ z-index:5; }

.nav{ position:absolute; top:calc(32 / 675 * 100%); right:calc(24 * var(--u)); }
.nav__links{ display:flex; gap:calc(13 * var(--u)); }
.pill{
  display:inline-flex; align-items:center; justify-content:center;
  height:calc(26 * var(--u)); padding:0 calc(9 * var(--u)); border-radius:999px;
  border:1px solid rgba(255,255,255,.10); background:rgba(0,0,0,.22);
  -webkit-backdrop-filter:blur(calc(9 * var(--u))); backdrop-filter:blur(calc(9 * var(--u)));
  font-size:calc(10.3 * var(--u)); font-weight:500; letter-spacing:-.005em; color:var(--ink);
  text-decoration:none; white-space:nowrap;
  transition:background .25s ease, border-color .25s ease, color .25s ease;
  animation:pill-in .85s var(--e) both;
}
.pill:hover{ background:rgba(0,0,0,.40); border-color:rgba(255,255,255,.24); }
.pill:nth-child(1){ animation-delay:.30s } .pill:nth-child(2){ animation-delay:.36s }
.pill:nth-child(3){ animation-delay:.42s } .pill:nth-child(4){ animation-delay:.48s }
.pill:nth-child(5){ animation-delay:.54s }
.pill--phone{ background:#f3f0ea; border-color:rgba(255,255,255,.65); color:#16140f; padding:0 calc(16 * var(--u)); letter-spacing:-.01em; }
.pill--phone:hover{ background:#fff; border-color:#fff; }
.burger{ display:none; }

.intro{ position:absolute; left:calc(24 * var(--u)); top:calc(434.5 / 675 * 100%); width:calc(210 * var(--u)); }
.intro__head{ margin:0; font-size:calc(17.6 * var(--u)); font-weight:500; line-height:1.055; letter-spacing:-.017em; }
.intro__body{ position:relative; margin-top:calc(12 * var(--u)); animation:soft-up 1.1s var(--e) .78s both; }
.intro__body p{ margin:0; font-size:calc(9.6 * var(--u)); line-height:1.235; letter-spacing:-.002em; color:var(--ink-dim); text-indent:calc(16 * var(--u)); }
.intro__year{ position:absolute; right:calc(43 * var(--u)); bottom:0; font-size:calc(9.8 * var(--u)); font-style:italic; letter-spacing:.02em; color:var(--ink-dim); white-space:nowrap; }

.pins{ position:absolute; inset:0; pointer-events:none; }
.pin{ position:absolute; margin:0; pointer-events:auto; }
.card{
  display:flex; align-items:stretch; gap:calc(9 * var(--u)); padding:calc(10 * var(--u));
  border-radius:calc(16 * var(--u)); border:1px solid var(--glass-line); background:var(--glass);
  -webkit-backdrop-filter:blur(calc(11 * var(--u))) saturate(.9); backdrop-filter:blur(calc(11 * var(--u))) saturate(.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.10), 0 calc(14 * var(--u)) calc(34 * var(--u)) rgba(0,0,0,.28);
}
.card__thumb{ flex:0 0 auto; width:calc(69 * var(--u)); border-radius:calc(8 * var(--u)); overflow:hidden; }
.card__thumb img{ display:block; width:100%; height:100%; object-fit:cover; }
.card__text{ margin:0; }
.card h3{ margin:0; font-size:calc(13.4 * var(--u)); font-weight:500; line-height:1.08; letter-spacing:-.022em; }
.card p{ margin:calc(9 * var(--u)) 0 0; font-size:calc(9.4 * var(--u)); line-height:1.245; letter-spacing:-.002em; color:var(--ink-dim); }
.pin__dot{ position:absolute; width:calc(9 * var(--u)); height:calc(9 * var(--u)); border-radius:50%; background:#fff;
  box-shadow:0 0 0 calc(3 * var(--u)) rgba(10,10,10,.30), 0 0 calc(10 * var(--u)) rgba(0,0,0,.35); }
.pin__line{ position:absolute; width:1px; background:rgba(255,255,255,.55); transform-origin:top center; }
.pin--baths .pin__line{ transform-origin:bottom center; }

.pin--ridge{ left:calc(887 * var(--u)); top:calc(239 / 675 * 100%); width:calc(207 * var(--u)); }
.pin--ridge .card{ height:calc(108 * var(--u)); animation:card-in 1.1s var(--e) .72s both; }
.pin--ridge .pin__line{ left:calc(11 * var(--u)); top:100%; height:calc(23 * var(--u)); animation:line-draw .6s var(--e) 1.10s both; }
.pin--ridge .pin__dot{ left:calc(6.5 * var(--u)); top:calc(100% + 23 * var(--u)); animation:dot-in .6s var(--e) 1.28s both; }

.pin--baths{ left:calc(463 * var(--u)); top:calc(513 / 675 * 100%); width:calc(211 * var(--u)); }
.pin--baths .card{ height:calc(114 * var(--u)); animation:card-in 1.1s var(--e) .86s both; }
.pin--baths .card__thumb{ width:calc(74 * var(--u)); margin-left:auto; }
.pin--baths .pin__line{ left:calc(196 * var(--u)); bottom:100%; height:calc(21 * var(--u)); animation:line-draw .6s var(--e) 1.24s both; }
.pin--baths .pin__dot{ left:calc(191.5 * var(--u)); bottom:calc(100% + 21 * var(--u)); animation:dot-in .6s var(--e) 1.42s both; }

.scroll{ position:absolute; right:calc(26 * var(--u)); bottom:calc(19 / 675 * 100%); display:flex; flex-direction:column; align-items:center; gap:calc(6 * var(--u)); animation:soft-up 1.1s var(--e) 1s both; }
.scroll__label{ font-size:calc(9.6 * var(--u)); letter-spacing:-.005em; }
.scroll__btn{ width:calc(68 * var(--u)); height:calc(68 * var(--u)); display:grid; place-items:center; padding:0; border-radius:50%;
  border:1px solid rgba(255,255,255,.60); background:transparent; cursor:pointer; transition:border-color .25s ease, transform .25s ease; }
.scroll__btn:hover{ border-color:#fff; transform:translateY(3px); }
.scroll__disc{ width:calc(49 * var(--u)); height:calc(49 * var(--u)); display:grid; place-items:center; border-radius:50%; background:#fff; }
.scroll__disc svg{ width:calc(19 * var(--u)); height:calc(19 * var(--u)); fill:none; stroke:#141414; stroke-width:1.7; stroke-linecap:square; stroke-linejoin:miter; }

@keyframes plate-in { from{ transform:scale(1.06); } to{ transform:none; } }
@keyframes fade-in  { from{ opacity:0; } to{ opacity:1; } }
@keyframes line-open{ from{ clip-path:inset(-28% -8% 100% -8%); } to{ clip-path:inset(-28% -8% -28% -8%); } }
@keyframes line-rise{ from{ transform:translateY(.62em); opacity:0; } 40%{ opacity:1; } to{ transform:none; opacity:1; } }
@keyframes pill-in  { from{ opacity:0; transform:translateY(-9px); } to{ opacity:1; transform:none; } }
@keyframes soft-up  { from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@keyframes card-in  { from{ opacity:0; transform:translateY(16px) scale(.97); } to{ opacity:1; transform:none; } }
@keyframes dot-in   { from{ opacity:0; transform:scale(.2); } to{ opacity:1; transform:none; } }
@keyframes line-draw{ from{ transform:scaleY(0); } to{ transform:none; } }

.line{ display:block; clip-path:inset(-28% -8% 100% -8%); animation:line-open 1.15s var(--e) var(--dl,0s) both; }
.line__in{ display:block; animation:line-rise 1.15s var(--e) var(--dl,0s) both; }
.hero__title .line:nth-child(1){ --dl:.10s } .hero__title .line:nth-child(2){ --dl:.22s }
.intro__head .line:nth-child(1){ --dl:.46s } .intro__head .line:nth-child(2){ --dl:.54s } .intro__head .line:nth-child(3){ --dl:.62s }

/* ───────── PÁGINA ───────── */
.page{ background:var(--paper); color:var(--dark); }
.eyebrow{ margin:0 0 14px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:500; }
.sec-head h2,.exp__text h2,.book__panel h2{ margin:0; font-size:clamp(30px,4.4vw,58px); font-weight:500; line-height:1; letter-spacing:-.035em; }

.manifest{ padding:clamp(80px,12vw,160px) clamp(20px,6vw,90px) clamp(60px,8vw,110px); max-width:1400px; margin:0 auto; }
.manifest__text{ margin:0; font-size:clamp(26px,3.6vw,50px); line-height:1.08; letter-spacing:-.03em; font-weight:500; max-width:22ch; }
.manifest__text em{ font-style:italic; font-weight:400; color:var(--muted); }
.facts{ display:grid; grid-template-columns:repeat(4,1fr); margin:clamp(50px,7vw,90px) 0 0; border-top:1px solid var(--line); }
.facts div{ padding:22px 18px 0 0; }
.facts dt{ font-size:clamp(34px,4vw,56px); font-weight:500; letter-spacing:-.04em; line-height:1; }
.facts dd{ margin:10px 0 0; font-size:14px; color:var(--muted); max-width:18ch; line-height:1.35; }

.cabins{ padding:clamp(40px,6vw,80px) clamp(20px,6vw,90px) clamp(70px,10vw,130px); max-width:1400px; margin:0 auto; }
.sec-head{ margin-bottom:clamp(30px,5vw,60px); }
.cabin-list{ list-style:none; margin:0; padding:0; border-top:1px solid var(--line); }
.cabin{ display:grid; grid-template-columns:70px 1.2fr 1.6fr auto; gap:24px; align-items:center; padding:28px 0; border-bottom:1px solid var(--line); transition:padding .4s var(--e), background .3s; cursor:pointer; position:relative; }
.cabin:hover{ padding-left:14px; background:rgba(181,101,43,.05); }
.cabin__n{ font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.cabin__name{ font-size:clamp(26px,3vw,40px); font-weight:500; letter-spacing:-.03em; margin:0; }
.cabin__meta{ margin:6px 0 0; font-size:13px; color:var(--muted); }
.cabin__desc{ margin:0; font-size:15px; line-height:1.5; color:#3b3a36; }
.cabin__tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.cabin__tags span{ font-size:12px; padding:4px 10px; border:1px solid var(--line); border-radius:999px; }
.cabin__price{ text-align:right; }
.cabin__price b{ display:block; font-size:22px; font-weight:500; letter-spacing:-.02em; }
.cabin__price small{ color:var(--muted); font-size:12px; }
.cabin__go{ display:inline-block; margin-top:10px; font-size:13px; padding:9px 14px; border-radius:999px; background:var(--dark); color:#fff; border:0; cursor:pointer; }

.exp{ display:grid; grid-template-columns:1fr 1fr; background:var(--dark); color:#f3f0ea; }
.exp__media{ margin:0; position:sticky; top:0; height:100vh; overflow:hidden; }
.exp__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.exp__text{ padding:clamp(70px,10vw,140px) clamp(24px,5vw,80px); }
.exp__list{ list-style:none; margin:50px 0 0; padding:0; }
.exp__list li{ display:grid; grid-template-columns:48px 1fr; gap:14px; padding:30px 0; border-top:1px solid rgba(255,255,255,.14); }
.exp__list span{ font-size:12px; color:rgba(255,255,255,.5); padding-top:6px; }
.exp__list h3{ margin:0; font-size:24px; font-weight:500; letter-spacing:-.02em; }
.exp__list p{ margin:10px 0 0; color:rgba(255,255,255,.68); line-height:1.55; max-width:44ch; }

.book{ display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(24px,4vw,60px); padding:clamp(70px,10vw,140px) clamp(20px,6vw,90px); max-width:1400px; margin:0 auto; align-items:start; }
.book__media{ border-radius:22px; overflow:hidden; position:sticky; top:30px; aspect-ratio:4/5; }
.book__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.book__panel h2{ margin-bottom:30px; }
.field{ display:flex; flex-direction:column; gap:7px; margin-bottom:16px; font-size:13px; color:var(--muted); }
.field select,.field input{ font:inherit; font-size:16px; color:var(--dark); padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.stepper{ display:inline-flex; align-items:center; gap:18px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:6px; width:max-content; }
.stepper button{ width:38px; height:38px; border-radius:9px; border:0; background:var(--paper); font-size:20px; cursor:pointer; color:var(--dark); }
.stepper output{ min-width:20px; text-align:center; font-size:17px; color:var(--dark); }
.extras{ border:0; padding:0; margin:6px 0 18px; }
.extras legend{ font-size:13px; color:var(--muted); margin-bottom:8px; }
.extras label{ display:flex; align-items:center; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); font-size:15px; cursor:pointer; }
.extras small{ margin-left:auto; color:var(--muted); font-size:13px; }
.extras input{ width:18px; height:18px; accent-color:var(--accent); }
.summary{ background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 18px; font-size:14px; color:var(--muted); line-height:1.6; margin-bottom:16px; }
.summary .row{ display:flex; justify-content:space-between; gap:10px; color:var(--dark); }
.summary .total{ margin-top:8px; padding-top:10px; border-top:1px dashed var(--line); font-size:18px; font-weight:500; }
.summary .warn{ color:#a2381b; }
.btn{ font:inherit; font-size:16px; font-weight:500; border:0; border-radius:999px; padding:16px 26px; background:var(--dark); color:#fff; cursor:pointer; transition:transform .25s var(--e), background .25s; }
.btn:hover{ transform:translateY(-2px); background:#000; }

.arrive{ padding:clamp(40px,6vw,80px) clamp(20px,6vw,90px) clamp(60px,8vw,110px); max-width:1400px; margin:0 auto; }
.arrive__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,40px); }
.arrive__grid div{ border-top:2px solid var(--dark); padding-top:18px; }
.arrive__grid h3{ margin:0 0 10px; font-size:20px; font-weight:500; }
.arrive__grid p{ margin:0; color:#47453f; line-height:1.6; }

.faq{ padding:clamp(40px,6vw,80px) clamp(20px,6vw,90px) clamp(90px,12vw,160px); max-width:1000px; margin:0 auto; }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{ list-style:none; cursor:pointer; padding:24px 40px 24px 0; font-size:clamp(18px,2vw,22px); font-weight:500; letter-spacing:-.015em; position:relative; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-50%); font-size:26px; font-weight:300; transition:transform .3s var(--e); }
.faq details[open] summary::after{ transform:translateY(-50%) rotate(45deg); }
.faq details p{ margin:0 0 24px; color:#47453f; line-height:1.65; max-width:62ch; }

.foot{ background:#0d0f10; color:#f3f0ea; padding:60px clamp(20px,4vw,40px) 30px; overflow:hidden; }
.foot__big{ font-size:clamp(60px,15vw,230px); font-weight:700; letter-spacing:-.06em; line-height:.8; }
.foot__row{ display:flex; flex-wrap:wrap; gap:14px 40px; justify-content:space-between; margin-top:40px; font-size:14px; color:rgba(255,255,255,.66); }
.foot__row p{ margin:0; }
.foot a{ color:#fff; }
.foot__note{ flex-basis:100%; font-size:12px; color:rgba(255,255,255,.4); }

.modal{ position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:rgba(10,10,9,.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.modal[hidden]{ display:none; }
.modal__box{ position:relative; background:var(--paper); color:var(--dark); border-radius:22px; padding:34px 30px 28px; max-width:440px; width:100%; animation:card-in .6s var(--e) both; }
.modal__box h3{ margin:0 0 16px; font-size:28px; font-weight:500; letter-spacing:-.03em; }
.modal__x{ position:absolute; top:12px; right:14px; border:0; background:none; font-size:28px; cursor:pointer; color:var(--muted); }
.modal__fine{ font-size:13px; color:var(--muted); line-height:1.5; }

.reveal{ opacity:0; transform:translateY(26px); transition:opacity 1s var(--e), transform 1s var(--e); }
.reveal.in{ opacity:1; transform:none; }
.shot .hero{ height:810px; }
.shot .exp__media{ height:810px; }
.shot .reveal{ opacity:1; transform:none; }

/* ───────── MOBILE ───────── */
@media (max-width:1000px){
  :root{ --u:1px; }
  .hero{ min-height:600px; padding:0 20px calc(24px + env(safe-area-inset-bottom)); }
  .hero__bg,.hero__cutout{ object-position:44% 56%; }
  .hero__title{ left:20px; top:auto; margin-top:calc(clamp(96px, 15svh, 180px) + env(safe-area-inset-top)); font-size:clamp(46px, 15.2vw, 96px); line-height:.86; letter-spacing:-.045em; }
  .hero__title .line:first-child{ margin-top:0; }
  .nav{ top:calc(16px + env(safe-area-inset-top)); right:16px; z-index:40; }
  .burger{ display:grid; place-items:center; width:48px; height:38px; padding:0; border-radius:999px; border:1px solid rgba(255,255,255,.14);
    background:rgba(0,0,0,.28); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); position:relative; z-index:31; cursor:pointer; animation:pill-in .85s var(--e) .3s both; }
  .burger__box{ display:block; position:relative; width:17px; height:9px; }
  .burger__box span{ position:absolute; left:0; width:100%; height:1.5px; border-radius:2px; background:#fff; transition:transform .38s var(--e), opacity .2s ease; }
  .burger__box span:first-child{ top:0; } .burger__box span:last-child{ bottom:0; }
  body.menu-open .burger__box span:first-child{ transform:translateY(3.75px) rotate(45deg); }
  body.menu-open .burger__box span:last-child{ transform:translateY(-3.75px) rotate(-45deg); }
  body.menu-open .burger{ background:rgba(0,0,0,.5); }
  .nav__links{ position:fixed; inset:0; z-index:30; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:14px;
    padding:0 28px calc(40px + env(safe-area-inset-bottom)); background:rgba(10,11,11,.72); -webkit-backdrop-filter:blur(22px) saturate(.9); backdrop-filter:blur(22px) saturate(.9);
    opacity:0; visibility:hidden; transition:opacity .4s ease, visibility .4s; }
  body.menu-open .nav__links{ opacity:1; visibility:visible; }
  .nav__links .pill{ height:auto; padding:0; border:0; background:none; -webkit-backdrop-filter:none; backdrop-filter:none; font-size:clamp(30px, 8.6vw, 46px); font-weight:500; letter-spacing:-.035em;
    animation:none; opacity:0; transform:translateY(18px); transition:opacity .5s var(--e), transform .5s var(--e); }
  body.menu-open .nav__links .pill{ opacity:1; transform:none; }
  body.menu-open .nav__links .pill:nth-child(1){ transition-delay:.10s } body.menu-open .nav__links .pill:nth-child(2){ transition-delay:.16s }
  body.menu-open .nav__links .pill:nth-child(3){ transition-delay:.22s } body.menu-open .nav__links .pill:nth-child(4){ transition-delay:.28s }
  body.menu-open .nav__links .pill:nth-child(5){ transition-delay:.36s }
  .nav__links .pill--phone{ margin-top:12px; padding:0 20px; height:44px; border-radius:999px; background:#f3f0ea; color:#16140f; font-size:15px; letter-spacing:-.01em; }
  .pins{ position:absolute; inset:auto 0 auto 0; bottom:calc(222px + env(safe-area-inset-bottom)); display:flex; gap:12px; padding:6px 20px; overflow-x:auto; overflow-y:hidden;
    pointer-events:auto; scroll-snap-type:x mandatory; scroll-padding-inline:20px; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .pins::-webkit-scrollbar{ display:none; }
  .pin{ position:static; flex:0 0 clamp(212px, 66vw, 268px); width:auto; scroll-snap-align:start; }
  .pin__dot,.pin__line{ display:none; }
  .card{ height:auto !important; gap:11px; padding:11px; border-radius:17px; }
  .card__thumb{ width:66px !important; border-radius:9px; }
  .card h3{ font-size:15px; } .card p{ font-size:10.5px; margin-top:8px; }
  .intro{ position:absolute; left:20px; right:20px; top:auto; bottom:calc(28px + env(safe-area-inset-bottom)); width:auto; }
  .intro__head{ font-size:clamp(19px, 5.4vw, 26px); }
  .intro__body{ margin-top:14px; }
  .intro__body p{ font-size:11.5px; text-indent:20px; max-width:340px; }
  .intro__year{ right:auto; left:min(210px, 62%); }
  .scroll{ display:none; }

  .facts{ grid-template-columns:1fr 1fr; row-gap:26px; }
  .cabin{ grid-template-columns:1fr; gap:10px; }
  .cabin__n{ display:none; }
  .cabin__price{ text-align:left; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
  .cabin__go{ margin-top:0; }
  .exp{ grid-template-columns:1fr; }
  .exp__media{ position:relative; height:60vh; }
  .book{ grid-template-columns:1fr; }
  .book__media{ position:relative; top:0; aspect-ratio:16/10; }
  .arrive__grid{ grid-template-columns:1fr; }
}
@media (max-width:1000px) and (max-height:640px){
  .hero{ min-height:560px; }
  .pins{ bottom:calc(186px + env(safe-area-inset-bottom)); }
  .hero__title{ margin-top:calc(64px + env(safe-area-inset-top)); }
}
@media (max-width:380px){
  .intro__body p{ font-size:11px; }
  .card__text p{ font-size:10px; }
  .field-row{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-delay:0ms !important; transition-duration:.01ms !important; transition-delay:0ms !important; }
  .line{ clip-path:none; }
  .reveal{ opacity:1; transform:none; }
}
