/* Sen Vàng — contemporary editorial design system. */
:root{--forest:#103b30;--ink:#193d33;--cream:#faf8f2;--gold:#c7a564;--burgundy:#802e42;--muted:#55695e;--ease:cubic-bezier(.22,1,.36,1)}
body{font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:#d9c798;color:#103b30}h1,h2,h3{font-family:'DM Sans',Arial,sans-serif;font-weight:500;text-wrap:balance}h1,h2{letter-spacing:-.055em}h1 em,h2 em{font-family:'Noto Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(52px,6.8vw,100px);line-height:1.03}h2{font-size:clamp(34px,4vw,58px);line-height:1.1}p{font-size:16px;line-height:1.8;text-wrap:pretty}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:600}.section{padding:clamp(64px,8vw,120px) max(6vw,calc((100vw - 1280px)/2));scroll-margin-top:115px}.section-title{margin-bottom:36px}.textlink{font-size:14px;line-height:1.6;font-weight:500}.button{border-radius:100px;font-size:14px;font-weight:600;letter-spacing:0;padding:16px 26px;min-height:52px;gap:18px;transition:background .25s,transform .4s var(--ease),box-shadow .4s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 24px #103b3015}.button:active{transform:translateY(0)}a:focus-visible,button:focus-visible{outline:3px solid #ba9251;outline-offset:5px}
/* Compact, persistent navigation with readable active states. */
header{position:sticky;top:0;height:100px;padding:8px max(4vw,calc((100vw - 1400px)/2));background:#faf8f2f5;backdrop-filter:blur(18px);z-index:40;border-bottom:1px solid #183d3212;transition:box-shadow .3s}body.is-scrolled header{box-shadow:0 8px 28px #133a3010}header .brand-pair{gap:12px;padding:0}header .brand-pair img,header .brand-pair a:first-child img{width:78px;height:76px}header .brand-pair a:last-child img{width:92px;height:64px}header .brand-pair small{font-size:6px;letter-spacing:1.3px}header nav{gap:20px}header nav a{font-size:13px;position:relative;white-space:nowrap;padding:12px 0}header nav a::after{content:'';position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--burgundy);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}header nav a:hover::after,header nav a[aria-current='location']::after{transform:scaleX(1)}#language{border:1px solid #173b3025;border-radius:100px;padding:8px;min-width:60px;color:var(--ink)}
.hero{height:calc(100svh - 100px);min-height:650px;padding:7% max(6vw,calc((100vw - 1280px)/2));background-image:linear-gradient(90deg,#062a23d9 0%,#062a2380 48%,#062a2320 100%),url('assets/senvang-terrace.jpg');overflow:hidden}.hero-content{max-width:920px;padding-bottom:40px}.hero p{font-size:17px;max-width:440px;color:#f3f1e6}.hero .eyebrow{color:#e7ce96}.hero .light{background:#f7f3e9;border:1px solid #fff5}.hero-bottom{font-size:11px;letter-spacing:.06em}.altitude{text-align:left;border-color:#e1c78b66;padding-top:16px}.altitude b{font-family:'DM Sans',sans-serif;font-weight:300;font-size:62px;letter-spacing:-.06em}.altitude small{font-size:11px}.entry-arrived .hero-content{animation:hero-arrive 1.2s var(--ease) both}@keyframes hero-arrive{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}
.about{gap:8%;align-items:start}.about-copy p{font-size:18px;line-height:1.85;color:var(--muted)}.tags{gap:10px;font-size:12px}.tags span{border:1px solid #173d3020;border-radius:100px;padding:8px 13px}.tags span:before{content:'';margin:0}.forest{background:#edf0e8}.forest-grid{gap:20px}.forest-grid article{padding:30px;border:1px solid #173b3013;border-radius:18px;background:#fafbf6}.forest-grid h3,.partners h3{font-family:'DM Sans',sans-serif;font-weight:500;font-size:25px;letter-spacing:-.035em}.forest-number{font-size:12px;color:var(--burgundy);letter-spacing:.12em}.forest-grid p{color:var(--muted);font-size:15px}.experiences{background:var(--cream)}.cards{gap:28px}.cards h3{font-size:25px;line-height:1.25;letter-spacing:-.03em}.cards p{font-size:15px;color:var(--muted)}.card-art{border-radius:16px;height:auto;aspect-ratio:4/3}.photo-card span{border-radius:50%;width:42px;height:42px;display:grid;place-items:center;padding:0}.section-logo{width:100px;opacity:.85}
.gallery{background:#103b30;color:#f7f3e9}.gallery .eyebrow{color:#d9bb7c}.gallery .section-title p{color:#d4dfd7;max-width:650px}.gallery-grid{column-gap:24px}.gallery-photo{border-radius:14px;background:#244b40}.gallery-grid figure{margin-bottom:28px}.gallery-grid figcaption{color:#d2dcd4;font-size:13px;padding:0 4px}.gallery-footer .button{background:#e0c58b!important;border-color:#e0c58b!important;color:#103b30!important}.gallery-photo img{transition:filter .4s}.spa{background:#f0f2eb;gap:12%}.spa-identity{border:1px solid #173d3015;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center;padding:32px;max-width:360px;width:100%;margin:auto}.spa-identity img{max-width:270px}.spa .spa-note{font-size:13px}
/* Light fields, consistent labels and visible booking price. */
.stay{background:#faf8f2;gap:7%;border-top:1px solid #173b3015;border-bottom:1px solid #173b3015}.stay-intro>p{font-size:16px;max-width:480px;color:var(--muted)}.stay-price{border:0;background:#edf0e8;padding:24px;border-radius:16px;max-width:440px;gap:4px 12px}.stay-price strong{font-family:'DM Sans',sans-serif;font-size:50px;font-weight:500;letter-spacing:-.06em}.stay-price span{font-size:14px}.stay-price b{font-size:15px}.stay-intro .brand-pair{opacity:.75}.stay form,.partners form{border:1px solid #173b301c;border-radius:22px;background:#fffef9;padding:32px;box-shadow:0 14px 50px #173b3005;align-self:start}.formgrid{gap:20px 16px}label,.partners label{font-size:13px;font-weight:500;color:#284c3e}.stay input,.stay textarea,.partners input,.partners textarea,.partners select{background:#f5f6f0;border:1px solid #173b3026;border-radius:9px;color:#173b30;color-scheme:light;min-height:50px;font-size:16px;padding:13px 14px;transition:border-color .2s,box-shadow .2s}.stay input:focus,.stay textarea:focus,.partners input:focus,.partners textarea:focus,.partners select:focus{border-color:#597d65;box-shadow:0 0 0 3px #103b300c}.fine{font-size:12px;color:#627367}.partners{background:#edf0e8;gap:7%}.partners form h3{margin:0 0 24px}.partners form .button{width:100%}.aurelion-partner{border:1px solid #c7a56455;border-radius:18px;padding:30px;background:linear-gradient(145deg,#103b30,#082b24);box-shadow:0 18px 40px #103b3010}.aurelion-partner p{font-size:15px}.aurelion-partner .workshop-terms{font-size:12px}.aurelion-partner h3{font-size:26px}.aurelion-wordmark{font-family:'Noto Serif Display',Georgia,serif;letter-spacing:.15em}.workshop-topics li{border-radius:100px;font-size:12px}.faq{gap:8%}.faq details{padding:22px 0}.faq summary{font-weight:500;font-size:16px}.faq details p{font-size:15px}.contact{background:#e9ede2;border:0;padding:80px 24px}.contact h2{font-size:clamp(38px,5vw,64px)}.contact .eyebrow{font-size:10px}.contact .brand-pair{opacity:.8}footer{padding:40px 6%;border-top:1px solid #173b3014}footer p{font-size:12px}dialog{border-radius:20px;box-shadow:0 24px 90px #0003}dialog .close{border-radius:50%;background:#eef1e9;top:8px;right:8px;z-index:2}#photoDialog{background:#faf8f2}#fullPhoto{border-radius:8px}.dialog-actions .button{font-size:13px}
/* Quiet, one-time section reveals. Content is visible without JavaScript. */
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal-ready.is-visible{opacity:1;transform:none}.brand-intro{background:radial-gradient(ellipse at 50% 44%,#164738,#082b23 70%)}.intro-identity{filter:drop-shadow(0 12px 38px #c8a74c12)}.brand-intro.is-playing{animation:sv-out .8s var(--ease) 2.6s forwards}#skipIntro{font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.08em}.brand-intro .lotus-word{letter-spacing:.01em}
@media(min-width:901px) and (max-width:1150px){header{padding:8px 20px;gap:16px}header nav{gap:12px}header nav a{font-size:12px}header .brand-pair{gap:7px}header .brand-pair img,header .brand-pair a:first-child img{width:64px}header .brand-pair a:last-child img{width:76px}.navright{gap:4px}}
@media(max-width:900px){html{scroll-padding-top:100px}.section{scroll-margin-top:100px}.hero{min-height:calc(100svh - 100px);height:auto;max-height:none}.hero-content{max-width:700px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.cards article:last-child{grid-column:1/-1;max-width:620px}.about,.stay,.faq,.spa,.partners{grid-template-columns:1fr;gap:32px}header nav{padding:16px 24px;background:#faf8f2;max-height:calc(100svh - 100px);overflow:auto}header nav a{font-size:15px}header nav a::after{display:none}header nav a[aria-current='location']{color:var(--burgundy);font-weight:700}.menu-toggle{border-radius:50%}.spa-identity{max-width:280px}.stay-intro .brand-pair{display:none}.partners form,.stay form{padding:28px}.section-logo{width:76px}}
@media(max-width:600px){header{height:88px;padding:6px 16px;gap:8px}header .brand-pair{gap:6px}header .brand-pair img,header .brand-pair a:first-child img{width:64px;height:64px}header .brand-pair a:last-child img{width:74px;height:56px}header .brand-pair small{font-size:5px}.navright{gap:6px}#language{min-width:52px;font-size:12px}header nav{max-height:calc(100svh - 88px)}.section{padding:60px 22px;scroll-margin-top:94px}h1{font-size:clamp(40px,10.8vw,62px);letter-spacing:-.055em;line-height:1.08}h2{font-size:clamp(32px,8.4vw,45px);letter-spacing:-.045em;line-height:1.15}.hero{min-height:calc(100svh - 88px);padding:0 24px;background-position:62% center}.hero-content{padding:52px 0 32px}.hero p{font-size:16px}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero-bottom{font-size:10px;padding-bottom:22px}.altitude{padding-top:12px}.altitude b{font-size:40px}.about-copy p{font-size:17px}.forest-grid{grid-template-columns:1fr;gap:14px}.forest-grid article{padding:24px}.forest-grid h3{font-size:23px}.cards{grid-template-columns:1fr;gap:28px}.cards article:last-child{grid-column:auto}.section-title{margin-bottom:24px}.section-title .eyebrow{font-size:10px}.section-logo{display:none}.gallery-grid{columns:1;margin-top:24px}.gallery-photo{border-radius:12px}.spa-identity{max-width:240px}.stay form,.partners form{padding:22px;border-radius:16px}.stay-price{padding:22px}.stay-price strong{font-size:44px}.formgrid{gap:18px 12px}.partners select{font-size:16px}.aurelion-partner{padding:24px}.aurelion-partner .eyebrow{font-size:10px}.contact{padding:60px 22px}.contact h2{font-size:38px}footer{padding:32px 22px}.button{font-size:14px;min-height:50px}.reveal-ready{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}.button:hover{transform:none}}

/* Experiences from the host brochure */
.retreat-discover{background:#f4f1e8}.retreat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 32px}.retreat-grid article{min-width:0}.retreat-grid .gallery-photo{display:block;width:100%;height:300px;overflow:hidden;border-radius:5px}.retreat-grid .gallery-photo img{width:100%;height:100%;object-fit:cover}.retreat-grid h3{font-size:1.55rem;margin:22px 0 10px}.retreat-grid p{line-height:1.8;max-width:55ch}.brochure-panel{margin-top:48px;padding-top:28px;border-top:1px solid #cab88c;display:flex;gap:28px;justify-content:space-between;align-items:center}.brochure-panel p{max-width:65ch}.brochure-panel .button{flex-shrink:0}.contact a[href^="tel:"]{color:inherit;text-decoration:underline}@media(max-width:700px){.retreat-grid{grid-template-columns:1fr;gap:32px}.retreat-grid .gallery-photo{height:260px}.brochure-panel{display:block}.brochure-panel .button{margin-top:16px}}

/* A calm, interactive portrait of Sen Vàng. */
.retreat-discover{position:relative;isolation:isolate;overflow:hidden;scroll-margin-top:100px;background:radial-gradient(ellipse at 8% 12%,#e7e9d9 0,transparent 46%),#f4f1e8}.retreat-discover>.section-title,.retreat-grid,.brochure-panel{position:relative;z-index:1}.retreat-discover>.section-title span{font-size:.75rem;letter-spacing:.18em;color:#687650}.retreat-discover h2{max-width:850px;line-height:1.1}.discovery-orb{position:absolute;width:650px;height:650px;right:-280px;top:140px;border:1px solid #cbb57955;border-radius:50%;pointer-events:none}.discovery-orb:before,.discovery-orb:after{content:"";position:absolute;inset:45px;border:1px solid #cbb57944;border-radius:50%}.discovery-orb:after{inset:100px}.retreat-grid{gap:36px;perspective:1400px}.retreat-grid article{position:relative;padding:16px 16px 25px;background:#fffdf8;border:1px solid #cbb57940;border-radius:18px;box-shadow:0 8px 30px #123b2d08;transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease;will-change:auto}.retreat-grid article:nth-child(even){top:44px}.retreat-grid article:focus-within{border-color:#92743a;box-shadow:0 18px 48px #123b2d18}.retreat-grid .gallery-photo{border-radius:10px;height:340px;position:relative}.retreat-grid .gallery-photo img{transform:scale(1.035) translate(var(--photo-x,0px),var(--photo-y,0px));transition:transform .65s ease}.retreat-grid h3,.retreat-grid article>p{padding-inline:10px}.retreat-grid h3{font-weight:500}.retreat-grid article>p{font-size:.95rem;color:#596c60}.retreat-grid .gallery-photo:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#fff4,transparent 55%);opacity:0;transition:opacity .4s;pointer-events:none}.retreat-grid .gallery-photo:focus-visible{outline:3px solid #a78339;outline-offset:4px}.retreat-discover .brochure-panel{margin-top:90px}.motion-enabled .retreat-grid article:not(.tile-visible){opacity:0;translate:0 36px}.motion-enabled .retreat-grid article{transition:opacity .75s ease,translate .75s ease,transform .45s ease,box-shadow .45s ease}.motion-enabled .retreat-grid article.tile-visible{opacity:1;translate:0 0}@media(hover:hover) and (pointer:fine){.retreat-grid article:hover{box-shadow:0 28px 60px #123b2d20;border-color:#b49a60}.retreat-grid article:hover .gallery-photo:after{opacity:1}.retreat-grid article:hover .gallery-photo img{transform:scale(1.07) translate(var(--photo-x,0px),var(--photo-y,0px))}}@media(max-width:700px){.retreat-grid article:nth-child(even){top:0}.retreat-grid .gallery-photo{height:270px}.retreat-grid{gap:24px}.retreat-discover .brochure-panel{margin-top:35px}.discovery-orb{width:400px;height:400px;right:-250px}.retreat-grid article{padding:10px 10px 20px}}@media(prefers-reduced-motion:reduce){.retreat-grid article,.retreat-grid .gallery-photo img{transform:none!important;translate:none!important;opacity:1!important;transition:none!important}.retreat-grid .gallery-photo:after{display:none}html{scroll-behavior:auto!important}}

/* Golden journeys and immersive photo viewing */
.gold-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:1000;background:linear-gradient(90deg,#94702c,#f1d28a,#b58a38);transform-origin:left;pointer-events:none}.ornament-section{position:relative;isolation:isolate;overflow:hidden}.gold-ornament{position:absolute;z-index:-1;right:-130px;top:50px;width:470px;pointer-events:none;color:#b99952;opacity:.3;transform:translateY(var(--gold-rise,0px)) rotate(var(--gold-turn,0deg));contain:layout style}.gold-ornament svg{width:100%;stroke:currentColor;stroke-width:.85}.gold-petal{stroke-dasharray:850;stroke-dashoffset:var(--gold-draw,0)}.ornament-1{right:auto;left:-190px;top:30%;color:#e5c878;opacity:.24}.ornament-2{width:350px;right:-80px;top:0;opacity:.28}#discover .discovery-orb{display:none}
#photoDialog{box-sizing:border-box;inset:0;margin:auto;width:calc(100vw - 32px);max-width:1440px;height:calc(100dvh - 32px);max-height:none;padding:24px 28px 22px;border:1px solid #c3a15b80;border-radius:22px;background:radial-gradient(ellipse at 50% 45%,#254c3b,#071e18 75%);color:#f5efd9;overflow:hidden}#photoDialog[open]{display:flex;flex-direction:column}#photoDialog::backdrop{background:#061711e8;backdrop-filter:blur(14px)}.gallery-top{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;flex-shrink:0;font-size:15px;letter-spacing:.2em;color:#e7cd90}.gallery-top small{font-size:9px;margin-left:10px}.gallery-top #photoCount{margin-left:auto;font-size:12px;font-variant-numeric:tabular-nums}.gallery-top .close{position:static!important;width:44px;height:44px;border:1px solid #dfc48180;background:transparent;color:#f5efd9;font-size:26px;flex-shrink:0}.photo-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;gap:16px;padding:18px 0}.photo-stage #fullPhoto{position:relative;z-index:1;width:calc(100% - 128px);height:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:8px;touch-action:pan-y;user-select:none}.photo-arrow{position:relative;z-index:2;border:1px solid #c3a15b80;background:#163529;color:#f5dfad;border-radius:50%;font-size:24px;width:48px;height:48px;flex-shrink:0;cursor:pointer;transition:background .2s,transform .2s}.photo-arrow:hover{background:#436048;transform:scale(1.06)}.photo-halo{position:absolute;inset:6% 20%;border:1px solid #c9a65630;border-radius:50%;transform:rotate(-15deg);pointer-events:none}.photo-halo:after{content:"";position:absolute;inset:16px -30px;border:1px solid #c9a65626;border-radius:50%;transform:rotate(30deg)}.photo-bottom{flex-shrink:0;text-align:center}#photoCaption{font-size:clamp(18px,2vw,26px);font-weight:400;margin:0;color:#f5efd9}#photoHint{font-size:11px;color:#c2c7ad;margin:7px 0 10px}.photo-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:2px}.photo-dots button{width:24px;height:24px;border:0;background:none;cursor:pointer;position:relative;padding:0}.photo-dots button:after{content:"";position:absolute;inset:9px;border-radius:50%;background:#a99a71}.photo-dots button[aria-pressed=true]:after{inset:7px;background:#f1d28a}.photo-arrow:focus-visible,.photo-dots button:focus-visible,.gallery-top .close:focus-visible{outline:2px solid #f3d48b;outline-offset:3px}@media(max-width:600px){#photoDialog{width:100%;height:100dvh;border-radius:0;padding:16px 12px 20px}.gallery-top{font-size:12px;letter-spacing:.12em}.gallery-top small{display:none}.photo-stage{gap:4px}.photo-stage #fullPhoto{width:calc(100% - 72px)}.photo-arrow{width:32px;height:44px;font-size:20px}.gold-ornament{width:310px;right:-170px;opacity:.23}.ornament-1{left:-170px;right:auto}#photoHint{font-size:10px}.photo-bottom{padding-bottom:env(safe-area-inset-bottom)}}@media(prefers-reduced-motion:reduce){.gold-ornament{transform:none!important}.gold-petal{stroke-dashoffset:0!important}.photo-arrow{transition:none}#fullPhoto{animation:none!important}}
