@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dm-sans.woff2) format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/dm-serif-display.woff2) format('woff2')}
/* Composition follows the supplied references: clear navigation, one hero action, photographic journey cards. Fonts are free OFL families. */
:root{--paper:#fff;--ink:#242927;--muted:#686c68;--line:#dedfd9;--forest:#284435;--accent:#284435;--serif:'DM Serif Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body.jvc-site{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.jvc-site h1,body.jvc-site h2{font-family:var(--serif);font-weight:400;color:inherit;letter-spacing:-.025em;line-height:1.12;margin:0 0 24px}body.jvc-site h1{font-size:clamp(44px,5vw,72px)}body.jvc-site h2{font-size:clamp(34px,3.15vw,46px)}body.jvc-site h3{font-family:var(--sans);font-size:22px;line-height:1.35;letter-spacing:-.02em;font-weight:600;color:inherit;margin:0 0 16px}body.jvc-site p{margin:0 0 24px}body.jvc-site a{color:inherit;text-decoration:none}body.jvc-site button,body.jvc-site input,body.jvc-site select,body.jvc-site textarea{font:inherit}body.jvc-site button{cursor:pointer}body.jvc-site img{display:block;max-width:100%;height:auto}body.jvc-site button:focus-visible,body.jvc-site a:focus-visible{outline:2px solid #55826a;outline-offset:5px}
.wrap{width:calc(100% - 112px);max-width:var(--max);margin:0 auto}.section{padding:88px 0}.eyebrow{display:block;font-size:12px;line-height:1.5;font-weight:600;letter-spacing:.09em;text-transform:uppercase;margin-bottom:20px;color:var(--muted)}.light{color:white!important}.body-large{font-size:18px;line-height:1.8;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:14px 28px;border:1px solid transparent;border-radius:40px;font-size:16px;font-weight:600;line-height:1.4;transition:background .2s,box-shadow .2s}.btn:hover{box-shadow:0 3px 10px #0001}.btn-cream{background:#fff;color:var(--ink)!important}.btn-cream:hover{background:#f4f3ed}.btn-dark{background:var(--forest);color:#fff!important}.btn-dark:hover{background:#183526}.text-link{display:inline-flex;align-items:center;gap:12px;padding:0 0 3px;border:0;border-bottom:1px solid currentColor;background:none;font-size:15px;font-weight:500;line-height:1.5;color:inherit}.text-link:hover{color:var(--forest)}.text-link span,.btn span{font-size:17px}.skip-link{position:fixed;top:-100px;left:12px;background:white;padding:10px;z-index:99999}.skip-link:focus{top:10px}
.site-header{height:88px;position:relative;z-index:100;background:#fff;border-bottom:1px solid #e9e9e3}.header-inner{height:100%;width:calc(100% - 80px);max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;flex-shrink:0}.brand b{display:block;font-family:var(--serif);font-size:30px;font-weight:400;line-height:1;letter-spacing:-.04em}.brand small{display:block;font-size:9px;letter-spacing:.35em;text-align:center;margin-top:8px}.brand img.brand-upload{max-width:170px;max-height:50px;width:auto;height:auto}.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:32px}.primary-nav a{font-size:15px;font-weight:500;white-space:nowrap}.primary-nav li{position:relative}.primary-nav a:hover{text-decoration:underline;text-underline-offset:5px}.primary-nav .sub-menu{display:none;position:absolute;left:-20px;top:100%;min-width:220px;padding:22px;background:#fff;box-shadow:0 8px 20px #0001;flex-direction:column;align-items:flex-start;gap:14px}.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:flex}.header-actions{display:flex;align-items:center;gap:26px}.header-cta{background:var(--forest);color:white!important;padding:12px 24px;border-radius:30px;font-size:14px;font-weight:600;white-space:nowrap;line-height:1.5}.language-menu{font-size:13px;white-space:nowrap}.language-menu details{position:relative}.language-menu summary{cursor:pointer;list-style:none}.language-options{position:absolute;top:30px;right:0;min-width:145px;display:grid;gap:14px;padding:20px;background:#fff;color:var(--ink);box-shadow:0 8px 24px #0002}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:10px}.menu-toggle span{width:23px;height:1.5px;background:currentColor;display:block;margin:6px 0}.mobile-menu-cta{display:none}
.hero{height:min(720px,calc(100svh - 176px));min-height:580px;position:relative;overflow:hidden;background:#304739;color:#fff;display:flex;align-items:center}.hero-picture,.hero-shade{position:absolute;inset:0}body.jvc-site .hero-picture img{width:100%;height:108%;object-fit:cover;object-position:50% 43%;will-change:transform}.hero-shade{background:linear-gradient(90deg,#10241cb3 0%,#10241c50 40%,#10241c05 75%),linear-gradient(0deg,#10241c55,transparent 25%)}.hero-content{position:relative;z-index:2;padding:0 0 28px}.hero-content h1{font-size:clamp(52px,4.6vw,68px)!important;max-width:610px;line-height:1.05;letter-spacing:-.025em;margin:0 0 24px}.hero-content p{max-width:440px;font-size:19px;color:#fff;line-height:1.6;margin-bottom:30px}.hero-content .btn{min-width:218px}.hero-bottom{position:absolute;bottom:24px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#ffffffcf}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s}.hero-video.is-playing{opacity:1}.hero-video-toggle{border:1px solid #ffffff60;color:#fff;background:transparent;font-size:12px;padding:7px 12px}
.promise-strip{border-bottom:1px solid #e9e9e3;background:#fff}.promise-strip>.wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:25px 0}.promise-strip span{font-size:15px;font-weight:500;text-align:center;flex:1}.promise-strip span+span{border-left:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:36px}.section-head h2{margin-bottom:14px;max-width:740px}.section-head p{margin:0;max-width:650px;color:var(--muted);font-size:17px}.section-head>.text-link{flex-shrink:0;margin-bottom:4px}.experiences-section{background:#f8f7f3;overflow:hidden}.journey-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.journey-rail::-webkit-scrollbar{display:none}.rail-item{flex:0 0 calc((100% - 56px)/3);scroll-snap-align:start;min-width:0;display:flex}.rail-item[hidden]{display:none}.journey-card{width:100%;min-width:0;display:flex;flex-direction:column}.journey-photo{display:block;overflow:hidden;background:#e8e9e4;border-radius:3px}.journey-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.journey-card:hover .journey-photo img{transform:scale(1.035)}.journey-meta{margin:20px 0 9px;font-size:13px;color:var(--muted);line-height:1.4}.journey-meta span{margin:0 6px}.journey-card h3{font-size:22px!important;line-height:1.32!important;margin-bottom:20px!important;min-height:58px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.journey-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.journey-bottom{margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);line-height:1.5}.journey-bottom strong{font-size:16px;color:var(--ink);font-weight:600}.journey-bottom>a{white-space:nowrap;color:var(--ink);font-size:13px;text-decoration:underline!important;text-underline-offset:4px}.rail-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;color:var(--muted);font-size:13px}.carousel-controls{display:flex;gap:10px}.carousel-controls button{border:1px solid #cccfc7;background:transparent;border-radius:50%;width:42px;height:42px;line-height:1;font-size:21px;color:var(--ink)}.carousel-controls button:hover{background:#fff}
.intro-section{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}.intro-visual{margin:0;min-width:0}.intro-visual>img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:3px}.intro-visual figcaption{font-size:12px;color:var(--muted);margin-top:12px}.intro-copy{max-width:465px}.intro-copy h2{max-width:460px}.intro-copy .body-large{margin-bottom:28px}
.destination-section{background:#f1f3ec;padding:80px 0}.destination-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:75px;align-items:center}.destination-copy>p{color:var(--muted);max-width:480px}.destination-copy h2{max-width:420px}.destination-tabs{display:flex;flex-wrap:wrap;gap:8px 20px;margin:25px 0}.destination-tabs button{padding:5px 0;border:0;border-bottom:1.5px solid transparent;color:var(--muted);background:none;font-size:14px}.destination-tabs button.active{border-color:var(--forest);color:var(--forest);font-weight:600}.destination-description{min-height:140px}.destination-description h3{font-size:20px!important;margin-bottom:12px!important}.destination-description p{font-size:15px;color:var(--muted);line-height:1.7;margin:0 0 25px}.map-canvas{position:relative;aspect-ratio:600/520;min-width:0}.map-canvas svg{width:100%;height:100%;overflow:visible}.province-outline{fill:#e0e7d8;stroke:#bac7b0;stroke-width:1.2;stroke-linejoin:round}.map-region{fill:#8a9a80;font-size:13px;letter-spacing:5px;font-family:var(--sans)}.map-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;background:none;border:0;color:var(--forest);padding:8px;z-index:3}.map-pin>span{display:block;width:10px;height:10px;background:var(--forest);border:2px solid #f1f3ec;border-radius:50%;box-shadow:0 0 0 1px var(--forest);transition:transform .3s}.map-pin b{font-size:13px;font-weight:500;margin-top:7px;background:#f1f3ecb3;padding:0 4px;border-radius:2px;line-height:1.5}.map-pin.active>span{box-shadow:0 0 0 7px #28443518;transform:scale(1.25)}.map-pin.active b{font-weight:700}.map-note{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:12px;color:var(--muted)}
.process-section{padding-bottom:84px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}.process-card{border-top:1px solid var(--line);padding-top:24px}.step-number{display:block;font-size:14px;font-weight:500;color:var(--muted);margin-bottom:20px}.process-card h3{font-size:22px!important;margin-bottom:13px!important}.process-card p{color:var(--muted);font-size:16px;margin:0;line-height:1.75}
.trust-section{border-top:1px solid #e9e9e3;padding:70px 0;background:#f8f7f3}.trust-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.trust-copy h2{font-size:38px!important;max-width:440px}.trust-copy>p{color:var(--muted);max-width:470px}.trust-promises{display:grid;gap:24px}.trust-promises>div{padding-left:24px;border-left:2px solid #bac7b0}.trust-promises h3{font-size:17px!important;margin-bottom:7px!important}.trust-promises p{font-size:15px;color:var(--muted);line-height:1.65;margin:0!important}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.journal-photo{display:block;overflow:hidden;margin-bottom:20px;border-radius:3px}.journal-photo>img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .65s}.journal-photo:hover>img{transform:scale(1.035)}.journal-card h3{font-size:23px!important;line-height:1.3!important;margin:0!important}.journal-card .eyebrow{font-size:12px;margin-bottom:10px}.journal-card>p{font-size:15px;margin-top:15px!important}.journal-card .text-link{margin-top:16px}
.cta-section{display:grid;grid-template-columns:1.2fr 1fr;min-height:430px;background:#243f31;color:#fff;overflow:hidden}.cta-copy{padding:74px max(56px,calc((100vw - 1280px)/2));padding-right:70px;align-self:center}.cta-copy h2{font-size:46px!important;max-width:550px;margin-bottom:22px!important}.cta-copy p{font-size:17px;color:#e2e9e3;max-width:470px;margin-bottom:28px!important}.cta-photo{position:relative;min-width:0}.cta-photo img{width:100%;height:100%!important;object-fit:cover;position:absolute;inset:0}
.site-footer{padding:64px 0 24px;background:#fff}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:65px;padding-bottom:50px}.footer-wordmark{display:block;font-family:var(--serif);font-size:34px;letter-spacing:-.04em;line-height:1}.footer-wordmark small{font-family:var(--sans);display:block;font-size:9px;letter-spacing:.35em;margin-top:12px;margin-left:37px}.footer-brand>p{font-size:14px;color:var(--muted);max-width:270px;margin:24px 0 18px!important}.footer-planner{font-size:14px}.social-links{display:flex;gap:14px;flex-wrap:wrap;font-size:13px;margin-top:20px}.footer-column h3{font-family:var(--sans)!important;font-size:15px!important;letter-spacing:0!important;font-weight:600;margin-bottom:20px!important}.site-footer .footer-column ul,.site-footer .footer-column li{display:block;list-style:none;padding:0;gap:0}.footer-column ul{margin:0}.footer-column li{font-size:14px;color:var(--muted);margin:0 0 12px}.footer-column a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:25px;font-size:12px;color:var(--muted)}
.planner-dialog{max-width:510px;width:calc(100% - 32px);max-height:calc(100svh - 40px);overflow-y:auto;border:0;border-radius:5px;background:#fff;color:var(--ink);padding:44px;box-shadow:0 20px 80px #0003;margin:auto}.planner-dialog::backdrop{background:#17251d99;backdrop-filter:blur(3px)}.planner-dialog h2{font-size:38px!important;margin:10px 0 22px!important}.planner-dialog>p{font-size:16px;color:var(--muted)}.dialog-close{position:absolute;top:12px;right:16px;background:none;border:0;font-size:28px!important;color:var(--ink);padding:5px 10px}.planner-choices{display:grid;margin:24px 0;gap:0}.planner-choices a{border-top:1px solid var(--line);padding:14px 0;font-size:15px}.planner-choices a:last-child{border-bottom:1px solid var(--line)}.planner-dialog .btn{font-size:14px;gap:15px}.planner-dialog .form-note{margin-top:18px!important}
.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.revealed){opacity:1;transform:none}#trp-floater-ls,.trp-floating-switcher{display:none!important}
html[lang^=zh]{--serif:'Noto Serif CJK SC','Songti SC',serif;--sans:'DM Sans','Noto Sans CJK SC',sans-serif}html[lang^=zh] .hero-content h1{letter-spacing:0;line-height:1.25}html[lang^=zh] body.jvc-site h2{line-height:1.35;letter-spacing:0}

.brand b,.footer-wordmark{font-family:'DM Serif Display',Georgia,serif}
