/* AMISTAD / HORIZONTE
   Shared visual language: forest, warm paper, quiet brass, editorial type.
   Behaviour hooks: data-reveal + is-revealed; data-depth + --depth-y;
   data-chapter + --chapter-progress; chapter-link + is-current.
   Content remains visible without JavaScript. No scroll hijacking. */
:root {
  --am-forest: #102a26;
  --am-forest-deep: #0b211e;
  --am-ivory: #f5f2e9;
  --am-brass: #b49b70;
  --am-text: #263b32;
  --am-muted: #56655d;
  --am-rule: #d5d8ca;
  --am-ease: cubic-bezier(.2,.65,.25,1);
}
.experience-page { --green:var(--am-forest); --deep:var(--am-forest-deep); --cream:var(--am-ivory); --ink:var(--am-text); --muted:var(--am-muted); --gold:var(--am-brass); --line:var(--am-rule); background:var(--am-ivory); }
.experience-page main { overflow:clip; }
.experience-page .shell { width:calc(100% - 144px); max-width:1440px; }
.experience-page .site-header { position:fixed; height:98px; padding-inline:72px; border-bottom-color:rgba(236,238,220,.18); transition:height .45s var(--am-ease),background .45s var(--am-ease),box-shadow .45s; }
.experience-page .site-header.is-scrolled { height:76px; background:rgba(11,33,30,.94); backdrop-filter:blur(18px); border-bottom-color:rgba(180,155,112,.24); box-shadow:0 5px 26px rgba(10,26,22,.08); }
.experience-page .brand-wordmark { letter-spacing:.22em; font-size:13px; }
.experience-page .brand-emblem { width:34px; height:34px; opacity:.82; }
.experience-page .main-nav { gap:34px; font-size:12px; }
.experience-page .header-access { padding:11px 22px; font-size:12px; border-color:rgba(222,223,202,.52); }
.reading-line { height:2px; position:fixed; inset:0 0 auto; background:var(--am-brass); z-index:50; transform:scaleX(var(--reading-progress,0)); transform-origin:left; pointer-events:none; }
.chapter-nav { position:fixed; top:50%; right:14px; transform:translateY(-50%); display:flex; flex-direction:column; z-index:18; }
.chapter-link { width:44px; height:44px; display:grid; place-items:center; position:relative; }
.chapter-link:after { content:""; width:5px; height:5px; border:1px solid var(--am-brass); border-radius:10px; background:var(--am-forest); box-shadow:0 0 0 3px rgba(245,242,233,.08); transition:height .5s var(--am-ease),background .3s; }
.chapter-link.is-current:after { height:20px; background:var(--am-brass); }
.chapter-link>span { pointer-events:none; position:absolute; right:38px; white-space:nowrap; font-size:10px; letter-spacing:.06em; background:var(--am-forest); color:var(--am-ivory); padding:6px 13px; opacity:0; transform:translateX(5px); transition:opacity .25s,transform .25s; }
.chapter-link:hover>span,.chapter-link:focus-visible>span { opacity:1; transform:none; }
.experience-page .hero { max-height:none; min-height:850px; }
.experience-page .hero-image { object-position:56% center; }
.experience-page .hero-shade { background:linear-gradient(90deg,rgba(5,25,25,.63),rgba(8,26,26,.4) 34%,rgba(10,27,28,.02) 72%),linear-gradient(0deg,rgba(7,24,21,.85),transparent 25%,transparent 80%,rgba(6,22,23,.15)); }
.experience-page .hero-content { padding-top:clamp(185px,22.7vh,285px); padding-bottom:156px; }
.experience-page .hero h1 { font-size:clamp(94px,8.2vw,142px); line-height:.9; letter-spacing:-.046em; margin:33px 0 29px; max-width:820px; }
.experience-page .hero h1 em { color:#e8dfca; }
.experience-page .hero-eyebrow { font-size:10px; letter-spacing:.24em; }
.experience-page .hero-intro { font-size:14px; line-height:1.8; color:#d9e2d7; margin-bottom:32px; }
.experience-page .hero-actions { gap:31px; }
.experience-page .button { min-height:55px; padding:16px 27px; font-size:12px; font-weight:500; gap:39px; transition:background .3s,transform .4s var(--am-ease),box-shadow .3s; }
.experience-page .button:hover { transform:translateY(-3px); box-shadow:0 9px 25px rgba(0,0,0,.08); }
.experience-page .button-ivory { background:#eee8d7; }
.experience-page .button-ivory:hover { background:#fffdf3; }
.experience-page .text-button { min-height:45px; font-size:12px; }
.hero-margin-note { display:none; }
.experience-page .hero-bottom { bottom:31px; padding-top:24px; }
.experience-page .locations { font-size:11px; letter-spacing:.08em; }
.experience-page .scroll-link { font-size:10px; letter-spacing:.09em; }
.experience-page .image-disclosure { font-size:10px; }
.experience-page .motion-toggle { height:44px; width:44px; }
.experience-page .vision { padding:108px 0 108px; position:relative; }
.experience-page .section-kicker { gap:29px; }
.experience-page .eyebrow { font-size:10px; letter-spacing:.2em; }
.experience-page .section-number { color:#61705b; }
.experience-page .section-kicker .small-mark { font-size:35px; color:#7b896b; }
.experience-page .vision-grid { grid-template-columns:1.24fr 1fr; align-items:start; gap:8%; margin-top:64px; }
.vision-prelude { font-size:11px; color:var(--am-muted); letter-spacing:.035em; line-height:1.8; margin:0 0 33px; }
.experience-page .vision-grid h2 { font-size:clamp(75px,6.9vw,113px); line-height:.96; letter-spacing:-.055em; }
.experience-page h2 em { color:#607251; }
.experience-page .vision-copy { max-width:380px; margin:0; padding-top:47px; }
.vision-compass { height:145px; width:145px; position:relative; margin:0 0 34px; }
.vision-compass>span { position:absolute; inset:9px; border:1px solid #bcc4b2; border-radius:50%; }
.vision-compass>span:before,.vision-compass>span:after { content:""; position:absolute; top:50%; left:-15px; right:-15px; height:1px; background:#c7cdbd; }
.vision-compass>span:after { transform:rotate(90deg); }
.vision-compass>i { position:absolute; inset:28px; border:1px solid #c5cbb9; border-radius:50% 50% 0 0; }
.vision-compass>b { position:absolute; inset:0; display:grid; place-items:center; font:italic 56px var(--serif); color:#8c9a7c; font-weight:400; }
.experience-page .vision-copy .lead { font-size:19px; letter-spacing:-.025em; line-height:1.6; margin-bottom:22px; }
.experience-page .vision-copy>p:not(.lead) { font-size:14px; line-height:1.85; max-width:355px; margin-bottom:31px; }
.experience-page .editorial-link { font-size:12px; border-bottom-color:#a2ab91; padding-bottom:12px; gap:34px; }
.principles-composition { display:grid; grid-template-columns:.7fr 1.3fr; gap:10%; margin-top:86px; }
.principles-label { font-family:var(--serif); font-size:45px; letter-spacing:-.035em; line-height:1.05; margin:25px 0 0; color:#697959; }
.principles-label em { font-weight:400; }
.principles-label>span { display:block; font-family:var(--sans); font-size:38px; margin-top:33px; color:#9aa78a; font-weight:400; }
.experience-page .principles { display:block; margin:0; border-bottom:none; }
.experience-page .principle,.experience-page .principle+.principle { border-left:0; padding:26px 0; gap:26px; border-bottom:1px solid var(--am-rule); min-height:114px; }
.experience-page .principle-index { position:static; width:18px; color:#87947b; font-size:13px; flex:none; align-self:flex-start; margin-top:5px; }
.experience-page .principle-symbol { transform:scale(.85); margin-right:9px; }
.experience-page .principle>div { display:flex; align-items:center; justify-content:space-between; gap:34px; width:100%; }
.experience-page .principle h3 { font-size:38px; font-weight:400; margin:0; min-width:155px; }
.experience-page .principle p { font-size:12px; line-height:1.75; min-width:215px; margin:0; }
.horizon { padding:73px 0 46px; background:var(--am-forest); color:var(--am-ivory); position:relative; isolation:isolate; overflow:hidden; }
.horizon-top { display:flex; justify-content:space-between; align-items:center; gap:30px; border-top:1px solid rgba(197,206,183,.24); padding-top:28px; position:relative; z-index:2; }
.horizon .eyebrow { color:#c8d1bb; }
.horizon .section-number { color:#a2b18f; }
.horizon-top-note { font-size:11px; line-height:1.7; color:#a9b9a3; }
.horizon-layout { display:grid; grid-template-columns:1fr 1.05fr; gap:9%; align-items:center; margin:58px 0 55px; position:relative; z-index:1; }
.horizon-photo { margin:0; padding-top:24px; }
.horizon-photo-window { height:580px; max-height:50vw; width:100%; overflow:hidden; border-radius:50% 50% 0 0 / 41% 41% 0 0; position:relative; background:#789079; }
.horizon-photo-window:after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 70px rgba(11,33,30,.13); pointer-events:none; }
.horizon-photo img { width:100%; height:100%; object-fit:cover; object-position:49% center; transform:translateY(clamp(-30px,var(--depth-y,0px),30px)) scale(1.12); }
.horizon-photo figcaption { display:flex; justify-content:space-between; gap:20px; margin-top:18px; font-size:10px; color:#b1bfa7; line-height:1.6; }
.horizon-photo figcaption>span:first-child { color:#e0e5d5; }
.horizon-story { padding:40px 0 20px; }
.horizon-small { font-size:11px; letter-spacing:.04em; color:#b8c5ab; margin:0 0 31px; }
.horizon h2 { font-size:clamp(65px,5.7vw,94px); line-height:1.015; letter-spacing:-.045em; }
.horizon h2 em { color:#bdc9a9; }
.horizon-story-bottom { display:flex; gap:28px; margin-top:40px; align-items:flex-start; }
.horizon-star { font-size:45px; line-height:1; color:#c1ac80; font-family:var(--serif); font-weight:400; }
.horizon-story-bottom p { max-width:290px; font-size:13px; line-height:1.95; color:#b4c3ad; margin:0; }
.horizon-arch { position:absolute; z-index:-1; top:14%; right:-160px; width:700px; height:810px; transform:translateY(clamp(-25px,var(--depth-y,0px),25px)); }
.horizon-arch>span { position:absolute; inset:0; border:1px solid rgba(192,204,171,.1); border-bottom:0; border-radius:50% 50% 0 0 / 42% 42% 0 0; }
.horizon-arch>span:nth-child(2) { inset:32px 33px 0; }
.horizon-arch>span:nth-child(3) { inset:65px 66px 0; }
.horizon-bottom { display:flex; align-items:center; gap:25px; font-family:var(--serif); font-size:29px; font-weight:400; color:#b5c3a8; letter-spacing:-.02em; }
.horizon-bottom-line { height:1px; background:rgba(181,195,168,.23); flex:1; }
.experience-page .places { padding:119px 0 101px; }
.experience-page .places-heading { align-items:flex-end; gap:70px; margin-bottom:49px; }
.experience-page .places-heading .eyebrow { margin-bottom:33px; }
.experience-page .places-heading h2 { font-size:clamp(76px,7.1vw,114px); line-height:.96; letter-spacing:-.055em; }
.places-intro-wrap { width:270px; margin:0 30px 8px 0; flex:none; }
.places-flourish { font-size:47px; font-weight:400; display:block; margin-bottom:20px; line-height:1; color:#8c9a7c; }
.experience-page .places-intro { font-size:14px; line-height:1.85; margin:0; max-width:270px; }
.experience-page .gallery-stage { height:clamp(480px,49vw,760px); margin-inline:-25px; border-radius:2px; }
.experience-page .gallery-stage:before { content:""; position:absolute; z-index:3; inset:17px; border:1px solid rgba(245,242,233,.24); pointer-events:none; }
.experience-page .gallery-slide figcaption { left:58px; bottom:46px; gap:13px; }
.experience-page .gallery-category { font-size:10px; letter-spacing:.16em; }
.experience-page .gallery-caption { font-size:clamp(52px,4.9vw,79px); letter-spacing:-.045em; }
.experience-page .gallery-visit { right:40px; bottom:43px; width:61px; height:61px; font-size:33px; background:rgba(17,39,31,.08); }
.experience-page .gallery-bar { margin-top:26px; }
.experience-page .gallery-bar>p { font-size:11px; color:var(--am-muted); }
.experience-page .circle-button { height:44px; width:44px; font-size:20px; }
.experience-page .gallery-count { font-size:12px; margin-right:24px; gap:15px; }
.experience-page .places-bottom { margin-top:37px; padding-top:29px; }
.experience-page .places-bottom>p { font-size:13px; line-height:1.8; }
.experience-page .connection { min-height:840px; padding:103px 0 45px; background:var(--am-forest-deep); }
.experience-page .connection-inner { text-align:center; position:relative; z-index:1; }
.experience-page .connection .eyebrow { justify-content:center; margin-bottom:40px; }
.experience-page .connection h2 { font-size:clamp(85px,8vw,132px); line-height:.96; letter-spacing:-.05em; }
.experience-page .connection h2 em { color:#c3cbb0; }
.experience-page .connection-copy { font-size:14px; line-height:1.9; color:#aebea9; margin:31px 0 32px; }
.experience-page .connection .button { gap:52px; }
.experience-page .connection-note { font-size:11px; margin-top:20px; color:#9eaf98; }
.experience-page .connection-orbit { width:950px; height:760px; right:auto; left:50%; top:43%; transform:translate(-50%,-50%); opacity:.29; animation:none; }
.experience-page .connection-orbit .orbit { border-color:rgba(175,193,143,.35); }
.experience-page .connection-orbit .orbit-one { inset:90px 30px; transform:rotate(-22deg); }
.experience-page .connection-orbit .orbit-two { inset:70px 130px; transform:rotate(21deg); }
.experience-page .connection-orbit .orbit-three { inset:10px 235px; transform:rotate(58deg); }
.experience-page .orbit-center { display:none; }
.connection-coda { display:flex; align-items:center; gap:35px; justify-content:space-between; margin-top:76px; text-align:left; color:#96a78c; font-size:11px; line-height:1.7; }
.connection-coda>span:last-child { text-align:right; }
.connection-coda em { font-family:var(--serif); font-size:22px; font-weight:400; letter-spacing:-.02em; }
.coda-line { height:1px; background:#354b3c; flex:1; }
.experience-page .site-footer { background:var(--am-forest-deep); padding-top:50px; border-top:1px solid #2d4337; }
.experience-page .footer-main { padding-bottom:38px; }
.experience-page .footer-main>p { font-size:27px; }
.experience-page .footer-contact { font-size:51px; letter-spacing:-.04em; }
.footer-signature { font-family:var(--serif); font-size:clamp(150px,23.7vw,355px); font-weight:400; line-height:.76; letter-spacing:-.055em; color:#294236; position:relative; text-align:center; margin:20px 0 48px; padding-bottom:14px; }
.footer-signature>span { position:absolute; font-family:var(--sans); font-size:10px; line-height:1.5; letter-spacing:.2em; text-transform:uppercase; left:50%; top:53%; transform:translate(-50%,-50%); white-space:nowrap; color:#abb99e; }
.experience-page .footer-bottom { font-size:10px; padding-top:24px; }
.experience-page .access-dialog { background:var(--am-ivory); border:1px solid #c3c9b5; padding:54px 47px 34px; overflow-x:hidden; }
.experience-page .access-dialog:before { content:""; position:absolute; pointer-events:none; width:185px; height:230px; right:-60px; top:-75px; border:1px solid #d9ddcf; border-radius:50% 50% 0 0; transform:rotate(-22deg); }
.experience-page .access-dialog .eyebrow { color:var(--am-muted); }
.experience-page .access-dialog h2 { font-size:79px; letter-spacing:-.05em; }
.experience-page .dialog-description { font-size:14px; }
.experience-page .access-card { background:rgba(255,255,255,.15); border-color:#cdd4c1; padding:22px 18px; }
.experience-page .access-card strong { font-size:14px; }
.experience-page .access-card>span:nth-child(2)>span { font-size:12px; line-height:1.65; }
.experience-page .access-card:hover { background:#e6ebdc; border-color:#92a27f; }
.experience-page .dialog-note,.experience-page .dialog-explore { font-size:12px; }
.experience-page .dialog-close { width:44px; height:44px; z-index:1; }
/* Progressive enhancement: observer adds .is-revealed after CSS is ready. */
.experience-enhanced .experience-page [data-reveal] { transition:opacity 1s var(--am-ease),transform 1.1s var(--am-ease); }
.experience-enhanced .experience-page [data-reveal]:not(.is-revealed) { opacity:0; transform:translateY(28px); }
.experience-enhanced .experience-page [data-reveal="fade"]:not(.is-revealed) { transform:none; }
.experience-enhanced .experience-page [data-reveal="line"]:not(.is-revealed) { transform:translateY(12px); }
.experience-enhanced .experience-page [data-reveal].is-revealed { opacity:1; transform:none; }
.experience-enhanced .experience-page [data-reveal]:focus-within { opacity:1; transform:none; transition:none; }
html[data-motion="paused"] .experience-page [data-reveal] { opacity:1!important; transform:none!important; transition:none!important; }
html[data-motion="paused"] .horizon-photo img { transform:scale(1.12); }
html[data-motion="paused"] .horizon-arch { transform:none; }
@media(min-width:1700px) {
  .experience-page .hero-content { padding-top:24vh; }
  .experience-page .hero h1 { font-size:146px; }
  .experience-page .vision { padding-block:130px; }
  .experience-page .vision-grid { gap:13%; }
  .experience-page .vision-copy { padding-top:65px; }
  .horizon-photo-window { height:650px; }
  .horizon h2 { font-size:104px; }
  .horizon-layout { gap:11%; }
}
@media(max-width:1200px) {
  .experience-page .shell { width:calc(100% - 96px); }
  .experience-page .site-header { padding-inline:48px; }
  .experience-page .hero h1 { font-size:103px; }
  .experience-page .hero { min-height:860px; }
  .hero-margin-note { right:16px; }
  .chapter-nav { right:6px; }
  .experience-page .hero-content { padding-top:200px; }
  .experience-page .vision-grid { gap:7%; }
  .experience-page .vision-grid h2 { font-size:85px; }
  .experience-page .vision-copy .lead { font-size:17px; }
  .principles-composition { grid-template-columns:.6fr 1.4fr; gap:7%; }
  .experience-page .principle,.experience-page .principle+.principle { gap:15px; }
  .experience-page .principle-symbol { margin-right:0; }
  .experience-page .principle>div { gap:18px; }
  .experience-page .principle h3 { font-size:32px; min-width:125px; }
  .experience-page .principle p { min-width:190px; font-size:11px; }
  .horizon-layout { gap:7%; }
  .horizon-photo-window { height:510px; }
  .horizon h2 { font-size:68px; }
  .horizon-story-bottom { gap:18px; margin-top:30px; }
  .horizon-story-bottom p { font-size:13px; }
  .places-intro-wrap { width:235px; margin-right:0; }
  .experience-page .places-heading h2 { font-size:87px; }
  .experience-page .connection h2 { font-size:104px; }
  .experience-page .connection { min-height:800px; }
}
@media(max-width:900px) {
  .experience-page .shell { width:calc(100% - 72px); }
  .experience-page .site-header { padding-inline:36px; }
  .experience-page .hero h1 { font-size:95px; }
  .experience-page .vision-grid { gap:5%; grid-template-columns:1.1fr 1fr; }
  .experience-page .vision-grid h2 { font-size:75px; }
  .experience-page .vision-copy { padding-top:30px; }
  .vision-compass { width:120px; height:120px; margin-bottom:27px; }
  .experience-page .vision-copy .lead { font-size:16px; }
  .experience-page .vision-copy>p:not(.lead) { font-size:13px; }
  .principles-composition { grid-template-columns:1fr 2.4fr; gap:7%; margin-top:65px; }
  .principles-label { font-size:37px; }
  .experience-page .principle-symbol { display:none; }
  .horizon-top-note { font-size:10px; }
  .horizon-layout { gap:6%; }
  .horizon h2 { font-size:58px; }
  .horizon-photo-window { height:450px; max-height:none; }
  .horizon-photo figcaption { flex-direction:column; gap:3px; }
  .horizon-small { font-size:10px; }
  .horizon-story-bottom { gap:15px; }
  .horizon-story-bottom p { font-size:12px; }
  .experience-page .places-heading h2 { font-size:75px; }
  .places-intro-wrap { width:210px; }
  .experience-page .places-heading { gap:35px; }
  .experience-page .places-intro { font-size:13px; }
  .experience-page .connection h2 { font-size:90px; }
  .experience-page .hero-bottom { flex-wrap:wrap; gap:20px; }
  .experience-page .hero-bottom .scroll-link { display:none; }
}
@media(max-width:760px) {
  .experience-page .shell { width:calc(100% - 48px); }
  .experience-page .site-header,.experience-page .site-header.is-scrolled { height:78px; padding-inline:24px; }
  .experience-page .brand-wordmark { font-size:12px; letter-spacing:.17em; }
  .experience-page .brand-emblem { width:29px; height:29px; }
  .experience-page .main-nav { gap:6px; font-size:16px; background:var(--am-forest); }
  .experience-page .header-access { padding:11px 22px; }
  .chapter-nav,.hero-margin-note { display:none; }
  .experience-page .hero { min-height:844px; height:100svh; max-height:none; }
  .experience-page .hero-content { padding-top:156px; padding-bottom:172px; }
  .experience-page .hero-image { object-position:64% center; }
  .experience-page .hero-shade { background:linear-gradient(90deg,rgba(6,28,28,.76),rgba(7,29,29,.46) 60%,rgba(7,29,29,.12)),linear-gradient(0deg,rgba(6,21,21,.91),transparent 35%,transparent 80%,rgba(7,21,22,.22)); }
  .experience-page .hero h1 { font-size:clamp(70px,17.5vw,105px); line-height:.91; margin:29px 0 27px; letter-spacing:-.05em; }
  .experience-page .hero-eyebrow { font-size:9px; letter-spacing:.17em; gap:10px; }
  .experience-page .hero-intro { font-size:14px; line-height:1.8; margin-bottom:28px; }
  .experience-page .hero-actions { flex-direction:column; gap:12px; }
  .experience-page .button { padding:15px 23px; min-height:52px; font-size:12px; gap:34px; }
  .experience-page .text-button { font-size:12px; min-height:44px; }
  .experience-page .hero-bottom { bottom:23px; padding-top:18px; gap:16px; }
  .experience-page .locations { font-size:10px; }
  .experience-page .image-disclosure { font-size:10px; }
  .experience-page .hero-tools { width:100%; }
  .experience-page .motion-toggle { width:44px; height:44px; }
  .experience-page .vision { padding:65px 0 61px; }
  .experience-page .section-kicker { gap:18px; }
  .experience-page .section-kicker .small-mark { font-size:27px; }
  .experience-page .eyebrow { font-size:10px; letter-spacing:.16em; }
  .experience-page .vision-grid { grid-template-columns:1fr; gap:31px; margin-top:36px; }
  .vision-prelude { font-size:11px; margin-bottom:27px; }
  .vision-prelude br { display:none; }
  .experience-page .vision-grid h2 { font-size:clamp(62px,15.5vw,83px); line-height:.98; letter-spacing:-.05em; }
  .experience-page .vision-copy { padding-top:0; margin:0; max-width:none; position:relative; }
  .vision-compass { position:absolute; right:-13px; bottom:-10px; margin:0; opacity:.38; width:108px; height:108px; z-index:0; }
  .experience-page .vision-copy .lead { position:relative; font-size:17px; line-height:1.65; margin-bottom:19px; }
  .experience-page .vision-copy>p:not(.lead) { position:relative; font-size:14px; max-width:none; line-height:1.9; margin-bottom:25px; }
  .experience-page .vision-copy .editorial-link { position:relative; z-index:1; }
  .experience-page .editorial-link { font-size:12px; gap:33px; }
  .principles-composition { display:block; margin-top:52px; }
  .principles-label { font-size:31px; line-height:1.2; margin:0 0 24px; display:flex; gap:7px; align-items:center; }
  .principles-label br { display:none; }
  .principles-label>span { display:inline-block; margin:0 0 0 auto; font-size:28px; }
  .experience-page .principle,.experience-page .principle+.principle { min-height:122px; padding:24px 0; gap:17px; }
  .experience-page .principle-index { margin-top:7px; width:16px; font-size:12px; }
  .experience-page .principle>div { display:block; }
  .experience-page .principle h3 { font-size:35px; margin-bottom:9px; }
  .experience-page .principle p { font-size:12px; min-width:0; line-height:1.75; }
  .experience-page .principle p br { display:none; }
  .horizon { padding:45px 0 30px; }
  .horizon-top { padding-top:22px; gap:20px; }
  .horizon-top-note { display:none; }
  .horizon-layout { display:flex; flex-direction:column; gap:0; align-items:stretch; margin:28px 0 34px; }
  .horizon-photo { padding-top:13px; padding-right:43px; }
  .horizon-photo-window { height:365px; max-height:none; border-radius:50% 50% 0 0 / 41% 41% 0 0; }
  .horizon-photo figcaption { flex-direction:column; font-size:10px; gap:2px; margin-top:15px; line-height:1.8; }
  .horizon-photo figcaption>span:last-child { font-size:10px; }
  .horizon-story { padding:39px 0 10px 27px; }
  .horizon-small { font-size:11px; line-height:1.7; margin-bottom:21px; }
  .horizon h2 { font-size:clamp(51px,13vw,73px); line-height:1.04; letter-spacing:-.045em; }
  .horizon-story-bottom { margin-top:28px; gap:19px; }
  .horizon-story-bottom p { font-size:14px; line-height:1.8; max-width:290px; }
  .horizon-star { font-size:33px; margin-top:2px; }
  .horizon-arch { width:460px; height:800px; right:-210px; top:34%; }
  .horizon-arch>span { border-color:rgba(192,204,171,.13); }
  .horizon-bottom { font-size:17px; gap:12px; line-height:1.2; letter-spacing:-.015em; }
  .horizon-bottom-line { min-width:10px; }
  .experience-page .places { padding:65px 0 59px; }
  .experience-page .places-heading { flex-direction:column; align-items:flex-start; gap:26px; margin-bottom:31px; }
  .experience-page .places-heading .eyebrow { margin-bottom:28px; }
  .experience-page .places-heading h2 { font-size:clamp(61px,15.5vw,84px); line-height:.99; letter-spacing:-.05em; }
  .places-intro-wrap { display:flex; flex-direction:row-reverse; justify-content:space-between; gap:25px; width:100%; max-width:none; margin:0; }
  .places-flourish { font-size:34px; margin:0; }
  .experience-page .places-intro { font-size:14px; max-width:270px; line-height:1.85; }
  .experience-page .gallery-stage { height:480px; margin-inline:-24px; border-radius:0; }
  .experience-page .gallery-stage:before { inset:12px; border-color:rgba(245,242,233,.2); }
  .experience-page .gallery-slide figcaption { left:27px; bottom:35px; gap:14px; padding-right:65px; }
  .experience-page .gallery-category { font-size:10px; letter-spacing:.13em; }
  .experience-page .gallery-caption { font-size:44px; line-height:1.02; letter-spacing:-.04em; }
  .experience-page .gallery-visit { width:45px; height:45px; right:25px; bottom:35px; font-size:25px; }
  .experience-page .gallery-bar { gap:15px; margin-top:24px; }
  .experience-page .gallery-bar>p { font-size:12px; line-height:1.6; max-width:51%; }
  .experience-page .gallery-count { font-size:11px; gap:6px; min-width:43px; margin-right:0; }
  .experience-page .gallery-controls { gap:6px; }
  .experience-page .circle-button { width:44px; height:44px; font-size:20px; }
  .experience-page .places-bottom { margin-top:28px; padding-top:26px; gap:23px; }
  .experience-page .places-bottom>p { font-size:12px; }
  .experience-page .connection { min-height:710px; padding:69px 0 32px; }
  .experience-page .connection .eyebrow { margin-bottom:35px; font-size:10px; }
  .experience-page .connection h2 { font-size:clamp(57px,14vw,79px); line-height:1.02; letter-spacing:-.045em; }
  .experience-page .connection-copy { font-size:14px; line-height:1.85; margin:29px 0 30px; }
  .experience-page .connection .button { gap:42px; }
  .experience-page .connection-note { font-size:10px; line-height:1.8; margin-top:19px; }
  .experience-page .connection-orbit { width:700px; height:670px; left:50%; top:43%; opacity:.21; }
  .connection-coda { margin-top:59px; gap:20px; font-size:10px; }
  .connection-coda em { font-size:20px; }
  .experience-page .site-footer { padding-top:35px; }
  .experience-page .footer-main { padding-bottom:31px; gap:29px; }
  .experience-page .footer-main>p { font-size:25px; }
  .experience-page .footer-contact { font-size:37px; gap:20px; margin-top:10px; }
  .footer-signature { font-size:27vw; line-height:.9; margin:10px -2px 30px; padding-bottom:8px; letter-spacing:-.045em; }
  .footer-signature>span { font-size:8px; top:55%; letter-spacing:.15em; }
  .experience-page .footer-bottom { font-size:10px; padding-top:23px; gap:19px 16px; }
  .experience-page .access-dialog { padding:45px 25px 29px; }
  .experience-page .access-dialog h2 { font-size:65px; line-height:.94; }
  .experience-page .access-card { padding:20px 13px; gap:12px; }
  .experience-page .access-card strong { font-size:14px; }
  .experience-page .access-card>span:nth-child(2)>span { font-size:12px; }
  .experience-page .dialog-note,.experience-page .dialog-explore { font-size:12px; }
  .experience-enhanced .experience-page [data-reveal]:not(.is-revealed) { transform:translateY(19px); }
}
@media(max-width:360px) {
  .experience-page .shell { width:calc(100% - 36px); }
  .experience-page .site-header,.experience-page .site-header.is-scrolled { padding-inline:18px; }
  .experience-page .brand-wordmark { font-size:11px; }
  .experience-page .hero h1 { font-size:57px; }
  .experience-page .hero-content { padding-top:150px; }
  .experience-page .hero-eyebrow { font-size:8px; }
  .experience-page .vision-grid h2 { font-size:58px; }
  .horizon-photo { padding-right:27px; }
  .horizon-photo-window { height:345px; }
  .horizon-story { padding-left:15px; }
  .horizon h2 { font-size:49px; }
  .horizon-bottom { font-size:16px; gap:8px; }
  .experience-page .places-heading h2 { font-size:57px; }
  .experience-page .gallery-stage { margin-inline:-18px; }
  .experience-page .gallery-caption { font-size:40px; }
  .experience-page .gallery-bar { gap:10px; }
  .experience-page .gallery-bar>p { font-size:11px; max-width:46%; }
  .experience-page .connection h2 { font-size:53px; }
  .experience-page .connection-copy { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) {
  .experience-enhanced .experience-page [data-reveal],.experience-enhanced .experience-page [data-reveal]:not(.is-revealed) { opacity:1!important; transform:none!important; transition:none!important; }
  .horizon-photo img { transform:scale(1.12); }
  .horizon-arch { transform:none; }
  .experience-page .button:hover { transform:none; }
}
/* Keep the complete opening composition balanced on shorter laptop displays. */
@media(min-width:761px) and (max-height:850px) {
  .experience-page .hero { min-height:740px; }
  .experience-page .hero-content { padding-top:145px; padding-bottom:100px; }
  .experience-page .hero h1 { font-size:82px; margin:24px 0 22px; }
  .experience-page .hero-intro { margin-bottom:24px; }
  .experience-page .hero-bottom { bottom:18px; padding-top:17px; }
}
