:root{--ink:#20372d;--muted:#5b6b5f;--paper:#f7f5ec;--lime:#d7ed9b;--line:#dcded2;--coral:#ed8b6b;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid #df6a42;outline-offset:4px}
.skip-link{position:absolute;top:-80px;left:16px;z-index:1000;padding:12px 18px;background:var(--ink);color:#fff;border-radius:0 0 10px 10px}.skip-link:focus{top:0}
.wrap{max-width:1440px;margin-inline:auto;padding-inline:clamp(22px,5vw,88px)}
.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:11px;font-size:27px;font-weight:850;letter-spacing:-1.6px;white-space:nowrap}
.brand-mark{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:50%;font-size:24px}.brand-mark svg{width:32px;height:32px}
.brand-dot{color:#e1775b}
.nav{display:flex;align-items:center;gap:clamp(22px,3vw,50px);font-size:14px;font-weight:650}
.nav>a:not(.nav-cta):hover,.text-link:hover{color:#ad583e}
.nav-cta{border:1.5px solid var(--ink);border-radius:100px;padding:15px 23px;transition:transform .2s ease,background .2s ease}
.nav-cta:hover{background:var(--lime);transform:translateY(-2px)}
.nav-cta span,.button span{margin-left:17px}.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:50% 50%;gap:0;min-height:690px;padding-top:24px;padding-bottom:78px;align-items:center}
.hero-copy{position:relative;z-index:1;padding-top:22px;padding-right:30px}
.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.19em;line-height:1.5}
.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:34px}.sparkle{color:#e47d5e;font-size:23px;line-height:.7}
h1,h2,p{margin-top:0}
h1{font-family:var(--serif);font-size:clamp(70px,6.8vw,116px);letter-spacing:-.075em;line-height:.96;font-weight:400;margin-bottom:31px;white-space:nowrap}
h1 em,h2 em{font-weight:400}.highlight{position:relative;white-space:nowrap}.highlight::after{content:'';position:absolute;bottom:-12px;left:1%;width:96%;height:14px;background:var(--coral);border-radius:50%;transform:rotate(-2deg);clip-path:polygon(0 70%,10% 45%,50% 35%,90% 28%,100% 51%,99% 70%,50% 80%,5% 100%)}
.hero-lead{color:var(--muted);font-size:clamp(16px,1.6vw,19px);line-height:1.7;max-width:480px;margin:42px 0 29px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;padding:18px 25px;border-radius:100px;font-weight:750;font-size:14px;transition:transform .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #20372d26}.button-dark{background:var(--ink);color:#fff}.button-light{background:var(--lime);color:var(--ink)}
.text-link{font-size:14px;font-weight:750;border-bottom:1px solid currentColor;padding-bottom:5px}.text-link span{margin-left:10px}
.hero-footer{font-size:10px;font-weight:800;letter-spacing:.16em;margin-top:84px;display:flex;align-items:center;gap:12px}.hero-footer-line{display:block;width:26px;height:1px;background:var(--ink)}
.hero-art{position:relative;min-width:0;width:100%;max-width:650px;justify-self:end;padding:0 15px 10px 0}.hero-illustration{display:block;width:100%;height:auto;transform:rotate(1.5deg);border-radius:28px;box-shadow:0 32px 55px #263b1e1c}
.art-sticker{position:absolute;right:-15px;bottom:10px;width:130px;height:130px;border-radius:50%;background:#f0a489;border:2px solid var(--ink);display:grid;place-content:center;text-align:center;transform:rotate(12deg);font-size:12px;line-height:1.3;font-weight:900;letter-spacing:.12em}.art-sticker span{font-size:23px;line-height:1}
.marquee{overflow:hidden;background:var(--lime);border-block:1px solid var(--ink)}.marquee-inner{width:max-content;padding:17px 0;white-space:nowrap;font-size:14px;font-weight:850;letter-spacing:.15em;animation:drift 28s linear infinite}.marquee-inner span{margin:0 27px;color:#a14c39;font-size:18px}@keyframes drift{to{transform:translateX(-50%)}}
.intro{padding-top:130px;padding-bottom:140px;display:grid;grid-template-columns:30% 70%;gap:0}
.section-kicker{display:flex;align-items:center;gap:14px}.kicker-icon{display:inline-grid;place-items:center;border-radius:50%;height:34px;width:34px;border:1.5px solid var(--ink);letter-spacing:0;font-size:11px}
.intro h2,.section-heading h2,.map-copy h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.08}
.intro h2{font-size:clamp(45px,5.2vw,80px);max-width:860px;margin:0 0 33px}.underline-swish{font-style:italic;text-decoration:underline;text-decoration-color:var(--coral);text-decoration-thickness:4px;text-underline-offset:8px}
.intro-bottom{display:flex;justify-content:space-between;gap:25px;align-items:end}.intro-bottom p{max-width:590px;color:var(--muted);font-size:17px;line-height:1.75;margin:0}.round-arrow{flex:none;width:68px;height:68px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:28px;transition:background .2s,transform .2s}.round-arrow:hover{background:var(--lime);transform:rotate(45deg)}
.places-section{background:#e9eddb;padding:110px 0 126px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading h2{font-size:clamp(53px,5.2vw,80px);margin:25px 0 0}.section-heading p{max-width:255px;font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 5px}
.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.place-card{height:435px;border-radius:17px;overflow:hidden;position:relative;padding:24px 26px;display:flex;flex-direction:column;justify-content:space-between;border:1.4px solid var(--ink);transition:transform .2s ease,box-shadow .2s ease}.place-card:hover{transform:translateY(-7px);box-shadow:0 17px 0 #20372d1e}.card-one{background:#d8dfb3}.card-two{background:#f3cfac}.card-three{background:#d1e1e7}.card-top,.card-bottom{position:relative;z-index:1}.card-top{display:flex;justify-content:space-between;align-items:start}.card-number{font-size:11px;font-weight:800;letter-spacing:.15em}.card-arrow{border:1.5px solid currentColor;border-radius:50%;width:37px;height:37px;display:grid;place-items:center;font-size:19px}.card-scene{position:absolute;inset:90px 0 60px;display:grid;place-items:center}.card-scene svg{width:min(100%,330px);height:100%;transition:transform .3s}.place-card:hover .card-scene svg{transform:translateY(-7px) scale(1.05)}.card-label{font-size:12px;font-weight:650;display:block;margin-bottom:6px}.card-bottom strong{display:block;font-family:var(--serif);font-size:clamp(29px,3vw,45px);font-weight:400;letter-spacing:-.045em}
.map-section{padding-block:135px;display:grid;grid-template-columns:36% 64%;min-height:660px}.map-copy{background:var(--ink);color:#fff;padding:clamp(38px,4.3vw,75px);border-radius:20px 0 0 20px;display:flex;align-items:start;flex-direction:column;justify-content:center}.map-copy .kicker-icon{border-color:#d4eab4}.map-copy h2{font-size:clamp(48px,4.5vw,73px);margin:28px 0}.map-copy h2 em{color:var(--lime)}.map-copy p{line-height:1.75;color:#c4d0c3;font-size:15px;max-width:350px;margin-bottom:30px}.map-note{margin-top:38px;color:#aabeb0;font-size:11px}.map-frame{min-height:535px;border:1px solid #bfccbd;border-left:0;border-radius:0 20px 20px 0;overflow:hidden;background:#e7ecdc}.map-frame iframe{display:block;width:100%;height:100%;border:0;min-height:535px}
.closer{border-top:1px solid var(--line);padding-top:70px;padding-bottom:90px;display:flex;align-items:center;justify-content:space-between;gap:35px}.closer-symbol{font-size:60px;color:#d98066}.closer p{font-family:var(--serif);font-size:clamp(30px,3vw,49px);max-width:650px;letter-spacing:-.045em;margin:0}.closer p em{color:#8a9e61}.closer a{font-size:13px;font-weight:700;border-bottom:1px solid;padding-bottom:5px;white-space:nowrap}
.site-footer{background:#eae9dd}.footer-inner{min-height:125px;display:flex;justify-content:space-between;align-items:center;gap:30px}.site-footer .brand{font-size:23px}.site-footer .brand-mark{font-size:22px;width:36px;height:36px}.footer-inner>span{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.hero{min-height:560px}.hero-footer{margin-top:45px}h1{font-size:clamp(62px,7vw,88px)}.hero-art{padding-right:0}.art-sticker{width:105px;height:105px;right:-7px;font-size:10px}.intro{grid-template-columns:26% 74%}.map-section{grid-template-columns:42% 58%}.map-copy{padding:38px}}
@media(max-width:760px){.site-header{height:82px}.nav{display:none}.mobile-nav{display:block;border:1.5px solid var(--ink);border-radius:40px;font-size:12px;font-weight:800;padding:11px 15px}.brand{font-size:24px}.brand-mark{width:37px;height:37px}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:75px}.hero-copy{padding:0}.eyebrow{font-size:10px;margin-bottom:25px}h1{font-size:clamp(64px,12vw,100px)}.hero-lead{margin-top:36px}.hero-footer{display:none}.hero-art{margin:52px auto 0;max-width:560px;padding:0 10px 0 0}.art-sticker{right:0;bottom:-25px}.intro{grid-template-columns:1fr;gap:35px;padding-block:90px}.intro h2{font-size:clamp(45px,8vw,72px)}.places-section{padding-block:84px}.section-heading{align-items:start;flex-direction:column;gap:15px}.section-heading p{max-width:440px}.place-grid{grid-template-columns:1fr;gap:14px}.place-card{height:330px}.card-scene{inset:45px 0 22px}.card-scene svg{max-width:300px}.map-section{grid-template-columns:1fr;padding-block:90px}.map-copy{border-radius:18px 18px 0 0;padding:42px}.map-copy h2{font-size:63px}.map-frame,.map-frame iframe{min-height:430px}.map-frame{border:1px solid #bfccbd;border-top:0;border-radius:0 0 18px 18px}.closer{padding-block:55px;flex-wrap:wrap}.closer-symbol{font-size:45px}.closer p{order:2;width:100%}.footer-inner{padding-block:30px;flex-wrap:wrap;gap:18px}.footer-inner>span:nth-child(2){display:none}}
@media(max-width:420px){.wrap{padding-inline:20px}.site-header .brand{font-size:22px}h1{font-size:clamp(55px,13.6vw,68px)}.hero-actions{gap:24px}.button{padding:17px 20px}.hero-art{margin-top:44px}.art-sticker{height:88px;width:88px;font-size:8px}.intro-bottom{align-items:start;flex-direction:column}.round-arrow{width:53px;height:53px}.place-card{height:310px}.map-copy h2{font-size:53px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
