/* Motion is progressive enhancement: content and navigation work without it. */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
body{isolation:isolate;overflow-x:clip}
body::before,body::after{content:"";position:fixed;inset:-7%;z-index:-1;pointer-events:none}
body::before{background:radial-gradient(ellipse at 10% 25%,#e8772212,transparent 44%),radial-gradient(ellipse at 90% 70%,#c8a04018,transparent 45%);animation:ambient-drift 24s ease-in-out infinite alternate}
body::after{background-image:radial-gradient(circle,#c8a04025 1px,transparent 1.5px);background-size:68px 68px;mask-image:linear-gradient(transparent,#0006 25%,#0005 75%,transparent);animation:ambient-drift 32s ease-in-out infinite alternate-reverse}
@keyframes ambient-drift{from{transform:translate3d(-1%,-1%,0)}to{transform:translate3d(2%,2%,0)}}
.sun-halo{animation:none;background:none;mask-image:none;overflow:hidden;contain:paint}
.sun-halo::before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from 0deg,rgba(200,160,64,.4) 0deg 1deg,transparent 1deg 8deg);mask-image:radial-gradient(circle,transparent 56%,black 57%,black 68%,transparent 69%);animation:halo-turn 90s linear infinite}
@keyframes halo-turn{to{transform:rotate(360deg)}}
.effects-paused::before,.effects-paused::after,.effects-paused .sun-halo::before{animation-play-state:paused}
.motion-toggle{border:0;background:none;color:inherit;font:inherit;padding:8px 0;text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.motion-toggle[hidden]{display:none}

.header{background:var(--cream);backdrop-filter:none;view-transition-name:site-header;transition:box-shadow .45s ease,border-color .45s ease}
.header .header-inner{min-height:84px}
.header.is-scrolled{background:var(--cream);box-shadow:0 8px 32px #6b1d1d10;border-bottom-color:#c8a04055}
.header .brand-logo{width:76px;height:76px;background:transparent;mix-blend-mode:normal}
.brand-logo{transition:transform .55s var(--ease-out),filter .55s ease}
.brand:hover .brand-logo,.brand:focus-visible .brand-logo{transform:translateY(-2px) scale(1.035);filter:drop-shadow(0 4px 5px #c8a04030)}
.header .navigation a{font-size:15px;font-weight:700}
.navigation a{transition:color .25s ease,transform .35s var(--ease-out)}
.header-actions a{font-weight:700}
.header-phone{font-size:12px}
.header .button.small{font-size:13px}
.header .language{font-size:15px}
.navigation a:after{height:4px;width:100%;border-radius:4px;bottom:11px;background:linear-gradient(90deg,var(--saffron),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .48s var(--ease-out),box-shadow .35s ease}
.navigation a:hover:after,.navigation a:focus-visible:after,.navigation a[aria-current]:after{width:100%;transform:scaleX(1);box-shadow:0 3px 8px #e8772225}
.navigation a:hover,.navigation a:focus-visible{color:var(--maroon);transform:translateY(-2px) scale(1.08)}
.language,.header-phone{transition:transform .3s var(--ease-out),color .3s ease}
.language:hover,.header-phone:hover{transform:translateY(-2px) scale(1.06);color:var(--saffron)}
.header :is(.navigation a,.header-actions a,.menu-toggle){position:relative;isolation:isolate}
.header :is(.navigation a,.header-actions a,.menu-toggle)::before{content:"";position:absolute;inset:2px -7px;border-radius:12px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center,#e8772224 0%,#c8a04018 48%,transparent 72%);border:1px solid #c8a04040;opacity:0;transform:scale(.55)}
.header :is(.navigation a,.header-actions a,.menu-toggle):is(:hover,:focus-visible)::before{animation:nav-wave .85s var(--ease-out) both}
@keyframes nav-wave{0%{opacity:0;transform:scale(.55)}30%{opacity:.8}100%{opacity:0;transform:scale(1.2)}}
.header .button:is(:hover,:focus-visible){transform:translateY(-2px) scale(1.045)}
.header :is(.navigation a,.header-actions a,.menu-toggle):active{transform:scale(.97)}
.menu-toggle{transition:transform .4s var(--ease-out)}
.menu-toggle:is(:hover,:focus-visible){transform:scale(1.08)}
.burger-lines{width:23px;height:20px;display:block;position:relative}
.burger-lines span{position:absolute;left:0;right:0;height:2px;border-radius:3px;background:currentColor;transition:transform .45s var(--ease-out),opacity .25s ease,top .45s var(--ease-out);transform-origin:center}
.burger-lines span:nth-child(1){top:2px}.burger-lines span:nth-child(2){top:9px}.burger-lines span:nth-child(3){top:16px}
.menu-toggle[aria-expanded=true] .burger-lines span:nth-child(1){top:9px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .burger-lines span:nth-child(2){opacity:0;transform:scaleX(.25)}
.menu-toggle[aria-expanded=true] .burger-lines span:nth-child(3){top:9px;transform:rotate(-45deg)}

.hero-photo:after{z-index:3;pointer-events:none}
.hero-image-slide .photo-label{position:absolute;z-index:4;text-shadow:0 1px 8px #0009}
.destination-photos figure{position:absolute;inset:0}
.gallery-controls{z-index:4;box-shadow:0 8px 25px #25150d24;transition:box-shadow .3s ease}
.gallery-controls button{transition:transform .35s var(--ease-out),background .3s ease,color .3s ease;border-radius:50%}
.gallery-controls button:hover,.gallery-controls button:focus-visible{background:var(--maroon);color:var(--cream);transform:scale(1.08)}
.gallery-controls button:active{transform:scale(.94)}
.gallery-controls [data-gallery-count]{display:inline-block;font-variant-numeric:tabular-nums}
.slide-controls>div>button{overflow:hidden;border:0!important;border-radius:4px;transition:background .35s ease,color .35s ease,transform .35s var(--ease-out)}
.slide-controls>div>button::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:3px;background:var(--gold);transform:scaleX(.35);opacity:.35;transition:transform .5s var(--ease-out),opacity .4s ease,background .4s ease}
.slide-controls>div>button[aria-pressed=true]{background:#e8772212;color:var(--maroon)}
.slide-controls>div>button[aria-pressed=true]::after{transform:scaleX(1);opacity:1;background:var(--maroon)}
.slide-controls>div>button:hover{transform:translateY(-3px);background:#e8772212}
.slide-controls>div>button span{display:inline-block;font-size:11px;font-variant-numeric:tabular-nums}
.slide-pause{transition:background .3s ease,transform .4s var(--ease-out);border-radius:50%}
.slide-pause:hover{background:#e8772220;transform:scale(1.12)}
.button{transition:transform .35s var(--ease-out),box-shadow .35s ease,background .3s ease}
.button:hover{transform:translateY(-3px);box-shadow:0 9px 22px #6b1d1d15}
.button:active{transform:translateY(0)}
.button svg,.text-button svg,.text svg{transition:transform .4s var(--ease-out)}
.button:hover svg,.text-button:hover svg,.text:hover svg{transform:translateX(3px)}
.destination-card,.room-card{transition:box-shadow .5s ease,border-color .5s ease}
.destination-card:hover,.room-card:hover{border-color:#c8a04080;box-shadow:0 12px 35px #6b1d1d0d}
.reveal-pending{opacity:0}

@media(max-width:860px){
  .header .header-inner{min-height:72px}
  .header .brand-logo{width:64px;height:64px}
  .navigation,.navigation.open{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px;max-height:calc(100dvh - 110px);overflow-y:auto;transform-origin:top;transition:opacity .3s ease,transform .45s var(--ease-out),visibility 0s .45s;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px) scaleY(.96)}
  .navigation.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scaleY(1);transition:opacity .3s ease,transform .45s var(--ease-out),visibility 0s}
  .navigation a{opacity:0;transform:translate(0,-8px);transition:opacity .2s ease,transform .3s var(--ease-out),color .2s ease}
  .navigation.open a{opacity:1;transform:translate(0,0);transition:opacity .4s ease calc(var(--link-index)*40ms),transform .5s var(--ease-out) calc(var(--link-index)*40ms),color .2s ease}
  .navigation.open a:is(:hover,:focus-visible){transform:translateY(-2px) scale(1.04);transition-delay:0s}
  .navigation.open a:active{transform:scale(.97)}
  .navigation a:after{left:12px;right:12px;width:auto!important;bottom:9px}
}

/* Native cross-document transitions preserve URLs, normal link behavior and Back. */
@view-transition{navigation:auto}
main{view-transition-name:page-content}
::view-transition-old(root),::view-transition-new(root){animation:none}
::view-transition-group(site-header){animation-duration:.5s;animation-timing-function:var(--ease-out)}
::view-transition-old(site-header){animation:header-fade-out .35s ease both}
::view-transition-new(site-header){animation:header-fade-in .5s ease both}
::view-transition-old(page-content){animation:page-pop-out .48s var(--ease-out) both}
::view-transition-new(page-content){animation:page-pop-in .65s var(--ease-out) both}
@keyframes header-fade-out{to{opacity:0}}
@keyframes header-fade-in{from{opacity:0}to{opacity:1}}
@keyframes page-pop-out{to{opacity:0;transform:scale(.99)}}
@keyframes page-pop-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@supports not (view-transition-name:page-content){main{animation:page-pop-in .65s var(--ease-out) both}}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal-pending{opacity:1}.motion-toggle{display:none}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
.hero-photo,.destination-photos{touch-action:pan-y}
@media(prefers-reduced-motion:no-preference){.page-entry-fallback main{animation:page-pop-in .65s var(--ease-out) both}}
/* Fit the added gallery link without changing the mobile navigation. */
@media(min-width:861px) and (max-width:1200px){.header .navigation a{font-size:12px}.header .navigation{gap:12px}.header .header-phone{display:none}.header .button.small{font-size:11px;padding:10px 12px}.header .header-actions{gap:8px}}

/* Continuous amenity strips. Original cards remain readable without JavaScript. */
.essentials:has(.amenity-strips){overflow:hidden}
.amenity-strips{margin:36px calc((100% - 100vw)/2) 0}
.amenity-strip-tools{width:min(1280px,calc(100% - 112px));margin:0 auto 14px;text-align:right}
.amenity-strip-tools .text-button{min-height:44px;border-bottom:1px solid var(--gold)}
.amenity-strip-row{overflow-x:auto;margin-block:18px;scrollbar-width:thin}
.amenity-strip-track{display:flex;width:max-content}
.amenity-strip-group{display:flex;flex-shrink:0;gap:20px;padding-right:20px}
.amenity-strip-card{flex:0 0 280px;width:280px;min-height:180px;padding:28px;background:var(--paper);border:1px solid var(--line);border-radius:4px}
.amenity-strip-card>svg{width:29px;height:29px;color:#a06b35;margin-bottom:16px}
.amenity-strip-card h3{font-size:22px;line-height:1.3}
.amenity-strip-card p{font-size:12px;line-height:1.8;margin-top:10px}
.amenities-running .amenity-strip-row{overflow:hidden}
.amenities-running .amenity-strip-track{animation:amenity-strip-scroll var(--strip-duration,56s) linear infinite;will-change:transform}
.amenities-running .amenity-strip-row:last-child .amenity-strip-track{animation-direction:reverse}
.amenities-running:hover .amenity-strip-track,.amenities-running:focus-within .amenity-strip-track,[data-strip-paused="true"] .amenity-strip-track,[data-strip-visible="false"] .amenity-strip-track,.effects-paused .amenity-strip-track{animation-play-state:paused}
@keyframes amenity-strip-scroll{to{transform:translate3d(-50%,0,0)}}
@media(max-width:700px){.amenity-strip-tools{width:calc(100% - 40px)}.amenity-strip-card{flex-basis:240px;width:240px;min-height:175px;padding:24px}.amenity-strip-card h3{font-size:21px}.amenity-strip-group{gap:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){.amenity-strips{margin-inline:0}.amenity-strip-row{overflow:visible}.amenity-strip-track{display:block;width:auto;animation:none!important;transform:none!important;will-change:auto}.amenity-strip-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:0;gap:16px}.amenity-strip-card{width:auto;min-height:0}.amenity-strip-group[aria-hidden="true"],.amenity-strip-tools{display:none}}

/* Larger, easier-to-read FAQ typography. */
.faq .eyebrow{font-size:12px;letter-spacing:1.8px}
.faq h2{font-size:clamp(38px,3.5vw,50px)}
.faq summary{font-size:18px;line-height:1.55;gap:24px;padding-block:3px}
.faq summary svg{width:22px;height:22px;flex-shrink:0}
.faq details{padding:22px 0}
.faq details>p{font-size:16px;line-height:1.85;margin-top:18px;color:#665b50}
@media(max-width:700px){.faq h2{font-size:38px}.faq summary{font-size:17px;gap:16px}.faq details>p{font-size:16px;line-height:1.8}.faq details{padding:20px 0}}

/* Devotional ornament and quiet RRR monogram behind the home hero. */
.hero::after{
  content:"RRR";position:absolute;z-index:0;left:0;top:12%;pointer-events:none;
  font-family:var(--serif);font-size:clamp(180px,20vw,330px);font-weight:500;line-height:1;letter-spacing:-.13em;
  color:#9a6b3510;-webkit-text-stroke:1px #a87a4560;text-shadow:0 0 50px #c99a6125;
  opacity:.22;transform:translate3d(0,14px,0) rotate(-7deg);animation:rrr-emboss 12s ease-in-out infinite alternate;
}
.hero-copy{isolation:isolate}
.hero-copy>*:not(.hero-lotus){position:relative;z-index:2}
.hero-lotus{position:absolute;z-index:1;right:-36px;top:-8px;width:108px;height:100px;color:#b78643;opacity:.55;pointer-events:none;filter:drop-shadow(0 5px 12px #c59a6f38);animation:lotus-glow 7s ease-in-out infinite alternate}
.hero-lotus svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.hero .hero-location{font-size:14px;font-weight:700;letter-spacing:2px;line-height:1.5;gap:11px;margin-bottom:25px}
.hero .hero-location svg{width:19px;height:19px}
.hero .hero-location>span{width:68px}
@keyframes rrr-emboss{from{opacity:.14;transform:translate3d(0,14px,0) rotate(-7deg)}to{opacity:.26;transform:translate3d(5px,5px,0) rotate(-7deg)}}
@keyframes lotus-glow{from{opacity:.38;transform:translateY(4px)}to{opacity:.64;transform:translateY(-3px)}}
.effects-paused .hero::after,.effects-paused .hero-lotus{animation-play-state:paused}
@media(max-width:860px){.hero::after{top:5%;left:4%;font-size:clamp(150px,28vw,250px);opacity:.14}.hero-lotus{right:4%;top:-12px;width:88px;height:84px}.hero .hero-location{font-size:13px;letter-spacing:1.6px}}
@media(max-width:700px){.hero::after{top:11%;left:1%;font-size:clamp(130px,31vw,190px);opacity:.12}.hero-lotus{right:0;top:-7px;width:62px;height:60px;opacity:.38}.hero .hero-location{font-size:12px;letter-spacing:1.25px;gap:8px}.hero .hero-location svg{width:17px;height:17px}.hero .hero-location>span{width:42px}}
@media(max-width:374px){.hero .hero-location{font-size:11px;letter-spacing:1px}.hero-lotus{width:50px;opacity:.25}}
@media(prefers-reduced-motion:reduce){.hero::after,.hero-lotus{animation:none!important;transform:none!important}}

/* One restrained, solid-color devotional design across all four home slides. */
.hero{isolation:isolate}
.hero::before{
  content:"";position:absolute;z-index:-1;left:50%;top:0;bottom:0;width:100vw;
  transform:translateX(-50%);pointer-events:none;background:#f8f3eb;
  box-shadow:inset 0 1px #bd98545c,inset 0 -1px #bd98543d;
}
.hero .hero-copy::before{
  content:"";position:absolute;z-index:-1;top:18px;right:-50px;width:min(31vw,345px);aspect-ratio:1;
  border-radius:50%;pointer-events:none;background:repeating-conic-gradient(from 4deg,#ad752a 0deg 1deg,transparent 1deg 12deg);
  -webkit-mask:radial-gradient(circle,transparent 0 56%,#000 57% 58%,transparent 59% 63%,#000 64% 65%,transparent 66%);
  mask:radial-gradient(circle,transparent 0 56%,#000 57% 58%,transparent 59% 63%,#000 64% 65%,transparent 66%);
  opacity:.12;animation:welcome-mandala 80s linear infinite;
}
.hero .hero-copy::after{content:"";position:absolute;left:-26px;top:60px;bottom:30px;width:1px;pointer-events:none;background:linear-gradient(transparent,#b88a48 25%,#e3c68f 58%,transparent);opacity:.48}
.hero .hero-location{color:#713020}
.hero h1{color:#651e1d;text-shadow:0 8px 20px #6b1d1d08}
.hero h1 em{color:#a65d32}
.hero .hero-buttons .button:not(.text){background:linear-gradient(125deg,#eda14e,#df822f);border-color:#bb7638;box-shadow:0 6px 16px #86471d1b,inset 0 1px #fff6}
.hero .hero-visual::before{border-color:#bc914e;box-shadow:0 0 0 2px #d8b87955,0 9px 25px #743d2519}
.hero .hero-photo{box-shadow:0 13px 30px #48251d24}
.hero .hero-photo::after{inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(to top,#28130fc4 0%,#40251d18 24%,transparent 50%);box-shadow:inset 0 0 0 7px #28160f12,inset 0 0 0 8px #e4c78a80}
.hero .sun-halo::before{background:repeating-conic-gradient(from 0deg,#c98a3845 0deg 1deg,transparent 1deg 8deg)}
.hero .opening-seal{background:#fffaf2;border-color:#cba76f;box-shadow:0 7px 18px #4f281d20,0 0 0 2px #fff7e497}
@keyframes welcome-mandala{to{transform:rotate(360deg)}}
.effects-paused .hero-copy::before{animation-play-state:paused!important}
@keyframes rrr-emboss{from{opacity:.09;transform:translate3d(0,11px,0) rotate(-7deg)}to{opacity:.15;transform:translate3d(3px,6px,0) rotate(-7deg)}}
@keyframes lotus-glow{from{opacity:.26;transform:translateY(3px)}to{opacity:.39;transform:translateY(-2px)}}
.hero-lotus{filter:drop-shadow(0 3px 8px #c59a6f20)}
@media(max-width:860px){.hero .hero-copy::before{right:0;top:0;width:240px;opacity:.09}.hero .hero-copy::after{left:-14px;top:45px;bottom:22px}}
@media(max-width:700px){.hero .hero-copy::before{width:180px;right:-22px;opacity:.07}.hero .hero-copy::after{display:none}.hero .hero-photo::after{box-shadow:inset 0 0 0 5px #28160f10,inset 0 0 0 6px #e4c78a70}}
@media(prefers-reduced-motion:reduce){.hero .hero-copy::before{animation:none!important}}

/* A light peach-gold ribbon, centered behind the foreground content. */
.hero-ribbon{position:absolute;z-index:1;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;pointer-events:none}
.hero-ribbon svg{display:block;width:100%;height:100%;overflow:visible;transform:translateY(-26%)}
.hero-ribbon .ribbon-shadow,.hero-ribbon .ribbon-main,.hero-ribbon .ribbon-highlight,.hero-ribbon .ribbon-current{fill:none;stroke-linecap:round;stroke-linejoin:round}
.ribbon-shadow{stroke:#9f763012;stroke-width:64;transform:translateY(5px)}
.ribbon-main{stroke:url(#hero-ribbon-ink);stroke-width:56}
.ribbon-highlight{stroke:#fff5e4bd;stroke-width:2;transform:translateY(-19px)}
.ribbon-current{stroke:#b68a4f;stroke-width:3;stroke-dasharray:5 170;animation:ribbon-flow 18s linear infinite;opacity:.42}
.ribbon-diya,.ribbon-lotus{transform-box:fill-box;transform-origin:center;animation:ribbon-float 5.5s ease-in-out infinite alternate}
.ribbon-diya-two{animation-delay:-2.2s}
.ribbon-lotus{animation-delay:-1.2s;fill:#ffdb9e;stroke:#8c3d15;stroke-width:1.5}
.diya-bowl{fill:#edaa56;stroke:#6b2d10;stroke-width:1.4}.diya-rim{fill:none;stroke:#ffe0ab;stroke-width:2}
.diya-flame{fill:#ffe1a0;stroke:#8d3b12;stroke-width:1.3;transform-box:fill-box;transform-origin:center bottom;animation:diya-flicker 2.2s ease-in-out infinite alternate}
.ribbon-sparkles{fill:#d57e35;stroke:#a4501a;stroke-width:1.5;stroke-linecap:round;animation:ribbon-sparkle 4s ease-in-out infinite alternate}
@keyframes ribbon-flow{to{stroke-dashoffset:-700}}
@keyframes ribbon-float{to{transform:translateY(-9px) rotate(3deg)}}
@keyframes diya-flicker{to{transform:scale(.88,1.14) rotate(4deg)}}
@keyframes ribbon-sparkle{to{opacity:.4}}
.effects-paused .hero-ribbon *{animation-play-state:paused!important}
@media(max-width:700px){.hero-ribbon{opacity:.83}.ribbon-main{stroke-width:46}.ribbon-shadow{stroke-width:55}.ribbon-highlight{transform:translateY(-15px)}}
@media(prefers-reduced-motion:reduce){.hero-ribbon *{animation:none!important}}
.hero .hero-copy,.hero .hero-visual{z-index:2}
.hero .hero-description{color:#58483e}

/* Landscape frame matches all five 1200 × 800 interior photographs. */
.hero .hero-visual{align-self:center;width:100%;max-width:620px;justify-self:center;padding:70px 10px 0}
.hero .hero-visual::before{display:none}
.hero .hero-photo{
  height:auto;aspect-ratio:3 / 2;border-radius:28px;overflow:hidden;
  outline:1px solid #bc965c;outline-offset:7px;
  background:#eee3d1;box-shadow:0 15px 32px #48251d22;
}
.hero .hero-image-slide{border-radius:inherit}
.hero .hero-image-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;border-radius:inherit}
.hero .hero-photo::after{
  inset:0;border-radius:inherit;
  background:linear-gradient(to top,#28130f30,transparent 30%);
  box-shadow:inset 0 0 0 1px #f5dfb878;
}
.hero .hero-image-slide .photo-label{
  left:auto;right:18px;bottom:18px;max-width:calc(100% - 36px);padding:6px 12px;
  font-size:11px;letter-spacing:1px;text-align:right;border-radius:20px;
  background:#30231dcc;color:#fffaf2;text-shadow:none;border:1px solid #ffffff30;
}
.hero .opening-seal{
  position:absolute;left:50%;bottom:auto;top:0;transform:translateX(-50%) rotate(-4deg);
  width:max-content;max-width:calc(100% - 40px);min-height:80px;margin:0;
  padding:13px 18px 13px 13px;gap:14px;border:1px solid #c5a064;border-radius:0;
  background:#fffaf2;
  box-shadow:3px 3px 0 #dfd3be,0 8px 20px #4f281d1a;
}
.hero .opening-seal img{width:52px;height:52px;flex-shrink:0;filter:none}
.hero .opening-seal>span{font-size:13px;line-height:1.5;color:#8d3730}
.hero .opening-seal b{font-family:Numbers,monospace;font-size:18px;line-height:1.5;font-weight:400;letter-spacing:1.7px;color:#8d3730;margin-top:4px}
.hero .hero-visual .slide-controls{margin-top:22px}
.hero .sun-halo{width:174px;height:174px;top:25px;right:-25px}
@media(max-width:700px){
  .hero .hero-visual{max-width:560px;padding:62px 8px 0}
  .hero .hero-photo{height:auto;aspect-ratio:3 / 2;border-radius:20px;outline-offset:5px}
  .hero .hero-image-slide .photo-label{right:12px;bottom:12px;font-size:10px;letter-spacing:.5px;padding:5px 10px}
  .hero .opening-seal{min-height:72px;margin:0;padding:11px 16px 11px 12px;gap:12px;border-radius:0}
  .hero .opening-seal img{width:46px;height:46px}
  .hero .opening-seal>span{font-size:12px}
  .hero .opening-seal b{font-size:17px}
  .hero .sun-halo{width:130px;height:130px;top:32px;right:-10px}
}

/* Give the photo a larger share of the hero while preserving its 3:2 crop. */
@media(min-width:1100px){
  .hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:40px}
}
.hero .hero-visual{max-width:760px}
@media(max-width:700px){.hero .hero-visual{max-width:680px}}

/* The photo's top line joins the lower arc of the circular logo. */
.hero{padding-top:24px}
.hero .hero-visual{--brand-frame-top:105px;--brand-ring-size:210px;--brand-ring-radius:105px;padding-top:var(--brand-frame-top)}
.hero .hero-photo{outline:none}
.hero .hero-photo::before{
  content:"";position:absolute;z-index:3;inset:0;pointer-events:none;
  border:1px solid #bc965c;border-top:0;border-radius:inherit;
  background:
    linear-gradient(#bc965c,#bc965c) left top / calc(50% - var(--brand-ring-radius)) 1px no-repeat,
    linear-gradient(#bc965c,#bc965c) right top / calc(50% - var(--brand-ring-radius)) 1px no-repeat;
}
.hero .opening-seal-brand{
  top:var(--brand-frame-top);width:var(--brand-ring-size);aspect-ratio:1;max-width:calc(100% - 48px);
  min-height:0;padding:21px;display:grid;place-items:center;
  transform:translate(-50%,-50%);transform-origin:center;
  border:0;background:none;box-shadow:none;
  isolation:auto;mix-blend-mode:normal;
}
.hero .opening-seal-brand::before{
  content:"";display:block;position:absolute;inset:0;pointer-events:none;
  border:1px solid #eedab8b8;border-radius:50%;
  background:linear-gradient(135deg,#ffffff80 0%,#ffffff38 42%,#fff6e64d 72%,#ffffff70 100%);
  -webkit-backdrop-filter:blur(9px) saturate(1.08);
  backdrop-filter:blur(9px) saturate(1.08);
  box-shadow:inset 0 2px 3px #ffffffb8,inset 0 -7px 14px #b88b5517,
    0 8px 20px #4f281d18,0 0 0 3px #fffaf226;
}
.hero .opening-seal-brand::after{
  content:"";position:absolute;inset:0;pointer-events:none;border:1px solid #bc965c;
  border-radius:50%;clip-path:inset(50% -2px -2px -2px);
}
.hero .opening-seal-brand img{
  width:100%;height:auto;max-width:none;display:block;mix-blend-mode:normal;
  transform:none;
  filter:drop-shadow(0 1px 1px #fffaf2cc);
}
.hero .sun-halo{top:60px}
@media(max-width:700px){
  .hero .hero-visual{--brand-frame-top:90px;--brand-ring-size:180px;--brand-ring-radius:90px;padding-top:var(--brand-frame-top)}
  .hero .opening-seal-brand{top:var(--brand-frame-top);width:var(--brand-ring-size);min-height:0;padding:21px}
  .hero .opening-seal-brand img{width:100%;height:auto}
  .hero .sun-halo{top:60px}
}
.trust.destination-distances{width:100%;margin:0 0 30px;padding:22px 0 26px;border-top:1px solid var(--line)}
.destination-distances p:has(strong)>span{display:block}
.destination-distances>div{min-width:0;padding-inline:12px}
@media(max-width:700px){
  .trust.destination-distances{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 0;margin-bottom:24px;padding-block:20px}
  .destination-distances>div:nth-child(2){border-right:0}
}
.contact-aside .contact-email{
  display:block;width:fit-content;margin:-12px 0 24px;color:var(--maroon);
  font-size:15px;font-weight:600;line-height:1.5;text-decoration:underline;
  text-decoration-color:#c89a5f;text-underline-offset:4px;overflow-wrap:anywhere;
}
.footer-grid .footer-email{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.contact-email:hover,.footer-email:hover{color:#b45d2f}
.home-destination-card{display:flex;flex-direction:column;min-width:0}
.home-destination-card .destination-distance{display:flex;align-items:center;gap:12px;padding:18px 16px;border-bottom:1px solid var(--line);min-height:88px;background:#fbf5eb}
.destination-distance>svg{width:25px;height:25px;color:#b77b31;flex-shrink:0}
.destination-distance p{margin:0;line-height:1.4}
.destination-distance strong{display:block;font-family:var(--serif);font-size:25px;font-weight:400;color:var(--maroon)}
.destination-distance span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.home-destination-card .destination-info{display:flex;flex-direction:column;flex:1}
.home-destination-card .destination-info .text-button{align-self:flex-start;margin-top:auto}
.home-destination-card .home-destination-photo{flex-shrink:0}
.destination-photo-credit{margin-top:18px;font-size:11px;line-height:1.7;color:var(--muted)}
.destination-photo-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.home-destination-card .destination-distance{padding:16px 18px;min-height:82px}.destination-photo-credit{font-size:12px}}
