:root{--paper:#f3eddf;--paper-light:#faf7ef;--ink:#203229;--forest:#24372d;--moss:#63705d;--rust:#a0523e;--gold:#ba9b61;--line:rgba(32,50,41,.22);--serif:"Fraunces",Georgia,serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);overflow-x:hidden}.grain{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E")}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:var(--ink);color:white;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{height:78px;padding:0 clamp(1.25rem,4vw,4rem);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;z-index:10;width:100%}.wordmark{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font-size:1rem;font-weight:500}.wordmark-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;font:500 10px var(--mono)}.weather{display:flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.08em;font:400 10px var(--mono)}.weather-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(186,155,97,.18)}.hero{min-height:100svh;position:relative;padding:clamp(9rem,16vw,13rem) clamp(1.25rem,8vw,8rem) 5rem;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:center;gap:4rem;overflow:hidden}.hero:before{content:"";position:absolute;width:48vw;height:48vw;border:1px solid var(--line);border-radius:50%;right:-13vw;top:15vh}.hero-copy{position:relative;z-index:1}.eyebrow,.section-index,.micro{text-transform:uppercase;letter-spacing:.14em;font:400 10px/1.5 var(--mono)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(5.3rem,13vw,12rem);font-weight:300;line-height:.72;letter-spacing:-.075em;margin:2.5rem 0}h1 em,h2 em{font-weight:500;color:var(--rust)}.hero-reveal{font-size:clamp(1.4rem,3vw,2.3rem);margin-left:clamp(2rem,14vw,12rem)}.hero-note{align-self:end;max-width:390px;font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.55}.handwritten{margin:2.5rem 0 0;font-style:italic;color:var(--rust);font-size:1.35rem}.hero-stamp{position:absolute;top:14%;right:9%;width:152px;height:152px;border:1px solid var(--rust);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:7px;transform:rotate(9deg);color:var(--rust);font:500 12px var(--mono)}.stamp-line{width:24px;border-top:1px solid}.hero-number{position:absolute;right:4%;bottom:-.2em;font:300 clamp(12rem,27vw,30rem)/.7 var(--serif);color:rgba(32,50,41,.045)}.scroll-cue{position:absolute;bottom:2rem;left:clamp(1.25rem,8vw,8rem);display:flex;gap:15px;color:inherit;text-decoration:none;font:400 10px var(--mono);text-transform:uppercase;letter-spacing:.13em}.scroll-cue span:last-child{transition:transform .2s}.scroll-cue:hover span:last-child{transform:translateY(4px)}.trip-intro,.chapter-heading{padding:clamp(6rem,11vw,11rem) clamp(1.25rem,8vw,8rem) clamp(3rem,6vw,5rem)}.trip-intro h2,.chapter-heading h2,.route-copy h2{font-size:clamp(3.3rem,7vw,7.5rem);font-weight:300;line-height:.93;letter-spacing:-.055em;margin:2rem 0 0}.journey-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:1px;background:var(--line);border-block:1px solid var(--line)}.ticket,.stay-card{background:var(--paper-light);padding:clamp(2rem,5vw,5rem)}.ticket-top{display:grid;grid-template-columns:1fr .65fr 1fr;align-items:end}.ticket-top strong{font-size:clamp(3rem,6vw,6.4rem);font-weight:300;letter-spacing:-.06em;display:block}.ticket-top small{font:400 11px var(--mono)}.align-right{text-align:right}.flight-path{display:flex;align-items:center;gap:8px;padding:0 1rem 1.1rem}.flight-path span{height:1px;background:var(--line);flex:1}.flight-path b{font:400 1.1rem var(--mono)}.ticket-times{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;font:400 12px var(--mono)}.ticket-times span:first-child,.ticket-times span:last-child{font:500 clamp(1.1rem,2vw,1.5rem) var(--mono)}.ticket-divider{border-top:1px dashed var(--line);margin:3rem -5vw 2rem}.return-row{display:flex;justify-content:space-between;align-items:end}.return-row p{margin:.5rem 0 0}.return-time{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:10px;align-items:center;font:400 10px var(--mono)}.return-time strong{font-size:1rem}.return-time i{padding:0 8px}.stay-card{background:var(--forest);color:var(--paper-light)}.stay-card h3{font-size:clamp(3rem,5vw,5.5rem);font-weight:300;line-height:.9;letter-spacing:-.055em;margin:2rem 0 .6rem}.stay-location{font-style:italic;color:#c8cebd}.stay-dates{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-block:1px solid rgba(255,255,255,.18);padding:1.5rem 0;margin:2.2rem 0}.stay-dates span,.stay-dates strong,.stay-dates small{display:block}.stay-dates span,.stay-dates small{font:300 9px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.08em}.stay-dates strong{font-size:1.05rem;margin:.3rem 0}.address{line-height:1.7;font-size:1.05rem}.button-row{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}.text-link,.copy-button{color:inherit;font:400 10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.text-link{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px}.copy-button{border:1px solid rgba(255,255,255,.4);background:none;padding:.75rem 1rem;cursor:pointer}.copy-button:hover,.copy-button:focus-visible{background:var(--paper);color:var(--forest)}.morning{padding-bottom:clamp(7rem,12vw,12rem)}.feature-card{width:min(1050px,88vw);margin-left:auto;display:grid;grid-template-columns:.35fr 1fr;background:var(--rust);color:var(--paper-light);padding:clamp(2.5rem,6vw,6rem);position:relative}.feature-card:before{content:"";position:absolute;inset:15px;border:1px solid rgba(255,255,255,.2);pointer-events:none}.feature-number{font:300 clamp(6rem,14vw,14rem)/.7 var(--serif);color:rgba(255,255,255,.16)}.feature-card h3{font-size:clamp(2.7rem,5vw,5.3rem);line-height:.95;font-weight:300;letter-spacing:-.045em;margin:1.4rem 0 2rem}.feature-card p:last-child{max-width:570px;font-size:1.1rem;line-height:1.7}.wander{background:#d9d3c2;padding-bottom:clamp(6rem,10vw,10rem)}.places{display:grid;grid-template-columns:repeat(12,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}.place{background:#d9d3c2;padding:clamp(2rem,4vw,4rem);min-height:340px;position:relative}.place:nth-child(1),.place:nth-child(4){grid-column:span 7}.place:nth-child(2),.place:nth-child(3){grid-column:span 5}.place-no{position:absolute;right:2rem;top:2rem;border:1px solid var(--ink);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:400 10px var(--mono)}.place h3{font-size:clamp(2rem,4vw,4.1rem);font-weight:300;line-height:1;letter-spacing:-.04em;margin:4rem 0 1.5rem}.place>p:last-child{max-width:440px;line-height:1.65;font-size:1.05rem}.route-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);padding:clamp(7rem,12vw,13rem) clamp(1.25rem,8vw,8rem);background:var(--paper-light)}.route-copy{position:sticky;top:3rem;align-self:start}.route{list-style:none;padding:0;margin:0}.route li{display:grid;grid-template-columns:50px 1fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--line)}.route li>span{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:400 10px var(--mono)}.route strong{font-size:clamp(1.6rem,3vw,2.7rem);font-weight:300}.route p{margin:.7rem 0 0;font:300 11px var(--mono);text-transform:uppercase;letter-spacing:.06em}.finale{min-height:90svh;background:var(--forest);color:var(--paper-light);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1.25rem}.finale h2{font-size:clamp(5rem,13vw,12rem);line-height:.76;font-weight:300;letter-spacing:-.07em;margin:3rem 0}.finale p:not(.eyebrow){font-size:1.2rem}.heart{font-size:1.2rem;color:var(--rust);margin-top:3rem}.toast{position:fixed;right:1.5rem;bottom:1.5rem;z-index:120;background:var(--paper-light);border:1px solid var(--ink);padding:1rem 1.3rem;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.1em;transform:translateY(120px);opacity:0;transition:.35s ease}.toast.show{transform:none;opacity:1}.reveal{animation:rise .9s both cubic-bezier(.2,.7,.2,1)}.delay-1{animation-delay:.18s}.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal-on-scroll.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--rust);outline-offset:4px}@media(max-width:800px){.hero{grid-template-columns:1fr;align-content:center;gap:3rem}.hero-stamp{width:100px;height:100px;right:4%;top:15%}.hero-note{margin-left:12vw}.journey-grid,.route-section{grid-template-columns:1fr}.ticket-divider{margin-left:-2rem;margin-right:-2rem}.feature-card{width:94vw;grid-template-columns:1fr}.feature-number{margin-bottom:2rem}.places{display:block}.place{min-height:290px;border-bottom:1px solid var(--line)}.route-copy{position:static}.site-header{height:68px}.weather{max-width:145px;text-align:right}.hero:before{width:95vw;height:95vw;right:-45vw}.return-row{align-items:start;gap:1rem;flex-direction:column}.return-time{width:100%}}@media(max-width:480px){h1{font-size:4.7rem}.hero{padding-top:8rem}.hero-note{margin-left:0}.hero-stamp{opacity:.45}.ticket-top strong{font-size:2.7rem}.ticket-top{grid-template-columns:1fr .45fr 1fr}.flight-path{padding-inline:.3rem}.ticket-times span:nth-child(2){font-size:9px}.stay-dates{grid-template-columns:1fr}.feature-card{margin:0;width:100%}.button-row{align-items:flex-start;gap:1.5rem}.finale h2{font-size:4.7rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-on-scroll{animation:none;transition:none;opacity:1;transform:none}.grain{display:none}}
