body{margin:0}
a{color:inherit}
a:hover{color:inherit}
.lid{position:relative;background:var(--ground);color:var(--ink);font-family:'Outfit',ui-sans-serif,'Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.lid :focus-visible{outline:3px solid #0F2A45;outline-offset:3px}
.lid-stage :focus-visible,.lid-headwrap :focus-visible,.lid-where :focus-visible,.lid-join :focus-visible,.lid-foot :focus-visible{outline-color:#F3C34B}
.lid-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.lid-serif{font-family:'Fraunces',Georgia,'Times New Roman',serif;font-variation-settings:"SOFT" 100,"WONK" 0;font-optical-sizing:auto}
.lid-wrap{box-sizing:border-box;width:100%;margin:0 auto;padding:0 clamp(20px,5vw,72px)}
.lid-eyebrow{margin:0 0 18px;font-weight:600;font-size:13px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}
.lid-h2{margin:0;font-weight:500;font-size:clamp(34px,4.2vw,66px);line-height:1.02;letter-spacing:-.026em;text-wrap:balance}
.lid .lid-btn{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;box-sizing:border-box;border-radius:4px;font-weight:500;font-size:16px;line-height:1;text-decoration:none;white-space:nowrap;border:0;cursor:pointer;transition:filter .15s ease}
.lid .lid-btn:hover{filter:brightness(1.06)}
.lid .lid-btn-gold{background:var(--give);color:var(--give-ink)}
.lid .lid-btn-navy{background:var(--card1-btn);color:#fff}
.lid .lid-btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(251,247,241,.55)}
.lid .lid-btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink);filter:none}
.lid .lid-btn-line{background:transparent;color:var(--sky-ink);box-shadow:inset 0 0 0 1.5px var(--sky-ink)}

.lid-defs{position:absolute;width:0;height:0;overflow:hidden}

/* The illustration set: hearts, heart-flowers, leaves, drops, wheat, bread, candy, capsules. */
.k-red{fill:var(--il-red);color:var(--il-cream)}
.k-coral{fill:var(--il-coral);color:var(--il-cream)}
.k-gold{fill:var(--il-gold);color:var(--il-red)}
.k-butter{fill:var(--il-butter);color:var(--il-red)}
.k-sky{fill:var(--il-sky);color:var(--il-cream)}
.k-blue{fill:var(--il-blue);color:var(--il-gold)}
.k-cream{fill:var(--il-cream);color:var(--il-red)}
.k-navy{fill:var(--il-navy);color:var(--il-gold)}
.k-redg{fill:var(--il-red);color:var(--il-gold)}
.lid-cl{position:absolute;display:block;overflow:visible;pointer-events:none;z-index:0}
.lid-cl .lid-b{transform-box:fill-box;transform-origin:50% 50%;opacity:0;transform:scale(.001) rotate(-35deg);transition:transform .8s cubic-bezier(.3,1.4,.5,1) var(--d,0ms),opacity .3s ease var(--d,0ms)}
.lid-cl.is-in .lid-b{opacity:1;transform:none}
.lid-s{transform-box:fill-box;transform-origin:50% 50%}
.lid-cl.is-in.is-vis .lid-s{animation:lidSway 6.5s ease-in-out var(--sd,0s) infinite alternate}
@keyframes lidSway{0%{transform:rotate(-4deg)}100%{transform:rotate(4deg)}}

.lid-headwrap{position:sticky;top:0;height:0;z-index:30}
.lid-header{position:absolute;top:0;left:0;right:0;z-index:3;height:100px;box-sizing:border-box;padding:0 clamp(20px,3.3vw,64px);display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.lid-header>*{pointer-events:auto}
.lid-logo{position:relative;display:block;width:clamp(104px,9.2vw,150px);aspect-ratio:817/320}
.lid-logo img{position:absolute;inset:0;width:100%;height:100%;display:block;transition:opacity .35s ease,filter .35s ease}
.lid-logo .lid-logo-dark{opacity:0}
.lid-header[data-tone="sky"] .lid-logo-light{opacity:0}
.lid-header[data-tone="sky"] .lid-logo-dark{opacity:1}
.lid-headwrap.is-menu .lid-logo-light{opacity:1;filter:brightness(0) invert(1)}
.lid-headwrap.is-menu .lid-logo-dark{opacity:0}
.lid .lid-give{transition:opacity .25s ease,filter .15s ease}
.lid-headwrap.is-menu .lid-give{opacity:0;pointer-events:none}
.lid-give svg,.lid-btn svg{width:20px;height:20px;flex:none}

/* Menu: a panel that unrolls from the top; the bowl-shaped tab rides on its bottom edge. */
.lid-menu{position:absolute;top:0;left:0;right:0;z-index:2;background:var(--tab);color:var(--tab-ink);transform:translate3d(0,-100%,0);transition:transform .55s cubic-bezier(.22,.8,.22,1)}
.lid-headwrap.is-menu .lid-menu{transform:none}
.lid-tab{position:absolute;top:100%;left:50%;width:156px;height:46px;margin:0 0 0 -78px;padding:0;border:0;background:none;color:var(--tab-ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
.lid-tab::after{content:"";position:absolute;left:18px;right:18px;top:0;bottom:-6px}
.lid-tab-bowl{position:absolute;left:0;top:-1px;z-index:1;display:block;width:100%;height:calc(100% + 1px);fill:var(--tab);overflow:visible}
.lid-tab-lines{position:absolute;left:50%;top:12px;z-index:2;width:26px;margin-left:-13px;display:flex;flex-direction:column;gap:5px;transition:opacity .2s ease,transform .2s ease}
.lid-tab-lines i{display:block;height:2px;border-radius:2px;background:currentColor}
.lid-tab-word{position:absolute;left:0;right:0;top:11px;z-index:2;font-weight:500;font-size:15px;line-height:20px;text-align:center;opacity:0;transform:translateY(-5px);transition:opacity .2s ease,transform .2s ease}
.lid-burst{position:absolute;left:50%;top:-20px;z-index:0;width:350px;height:150px;margin-left:-175px;overflow:visible;pointer-events:none}
.lid-burst .lid-b{transform-box:fill-box;transform-origin:50% 50%;opacity:0;transform:translate(var(--tx),var(--ty)) scale(.2) rotate(-60deg);transition:transform .26s cubic-bezier(.5,0,.75,0),opacity .2s ease}
.lid-tab:focus-visible .lid-burst .lid-b,.lid-headwrap.is-menu .lid-burst .lid-b{opacity:1;transform:none;transition:transform .6s cubic-bezier(.3,1.45,.5,1) var(--d),opacity .2s ease var(--d)}
.lid-tab:focus-visible .lid-tab-lines{opacity:0;transform:translateY(5px)}
.lid-tab:focus-visible .lid-tab-open{opacity:1;transform:none}
@media (hover:hover){
.lid-tab:hover .lid-burst .lid-b{opacity:1;transform:none;transition:transform .6s cubic-bezier(.3,1.45,.5,1) var(--d),opacity .2s ease var(--d)}
.lid-tab:hover .lid-tab-lines{opacity:0;transform:translateY(5px)}
.lid-tab:hover .lid-tab-open{opacity:1;transform:none}
}
.lid-headwrap.is-menu .lid-tab-lines,.lid-headwrap.is-menu .lid-tab-open{opacity:0}
.lid-headwrap.is-menu .lid-tab-shut{opacity:1;transform:none}
.lid .lid-tab:focus-visible{outline:none}
.lid-tab-ring{fill:none;stroke:none}
.lid .lid-tab:focus-visible .lid-tab-ring{stroke:#F3C34B;stroke-width:3px;vector-effect:non-scaling-stroke}
.lid-menu-in{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:116px clamp(20px,5vw,72px) 60px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);grid-template-areas:"nav card" "foot card";gap:0 clamp(32px,5vw,88px);visibility:hidden;opacity:0;transition:opacity .2s ease,visibility 0s linear .55s}
.lid-headwrap.is-menu .lid-menu-in{visibility:visible;opacity:1;transition:opacity .35s ease .18s,visibility 0s}
.lid-menu-nav{grid-area:nav;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 clamp(24px,4vw,64px);align-content:start}
.lid-menu-links{margin:0;padding:0;list-style:none}
.lid .lid-menu-links a{display:inline-flex;align-items:center;min-height:50px;color:var(--tab-ink);font-weight:500;font-size:clamp(20px,1.75vw,26px);letter-spacing:-.01em;text-decoration:none}
.lid .lid-menu-links a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.lid-menu-foot{grid-area:foot;align-self:end;display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,245,236,.3)}
.lid .lid-menu-pill{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;background:rgba(40,6,6,.2);color:var(--tab-ink);font-size:16px;text-decoration:none}
.lid .lid-menu-pill svg{width:18px;height:18px;flex:none}
.lid .lid-menu-small{display:inline-flex;align-items:center;min-height:44px;color:var(--tab-ink);font-size:15px;text-decoration:none}
.lid .lid-menu-pill:hover,.lid .lid-menu-small:hover{text-decoration:underline;text-underline-offset:4px}
.lid-menu-card{grid-area:card;position:relative;align-self:start;box-sizing:border-box;margin-top:10px;padding:56px 32px 34px;border-radius:4px;background:#FBF6EE;color:var(--card1-ink);text-align:center;box-shadow:inset 0 0 0 8px #FBF6EE,inset 0 0 0 9px rgba(15,42,69,.14)}
.lid-menu-card-h{margin:0;font-weight:500;font-size:clamp(28px,2.4vw,36px);line-height:1.05;letter-spacing:-.02em;color:var(--card1-ink)}
.lid-menu-card p.lid-menu-card-t{margin:12px auto 0;max-width:20em;font-size:15px;line-height:1.45}
.lid-menu-card .lid-btn{margin-top:22px}
.lid-cl-menu{left:50%;top:-50px;width:220px;height:90px;margin-left:-110px}
.lid-headwrap.is-menu .lid-cl-menu .lid-b{opacity:1;transform:none;transition-delay:calc(var(--d) + 260ms)}

.lid-track{position:relative;height:451vh}
.lid-stage{position:sticky;top:0;height:100vh;overflow:hidden;isolation:isolate;background:var(--ground)}
.lid-pat,.lid-fg{position:absolute;left:0;top:0;width:10px;height:10px;max-width:none;display:block;pointer-events:none;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
/* Mouse parallax: the field follows the pointer a little (bg less, fg more). */
.lid-par{position:absolute;inset:0;pointer-events:none;will-change:transform}
/* The field breathes: both pattern layers sway slowly in opposite directions. */
.lid-drift{position:absolute;inset:0;pointer-events:none;animation:lidDrift 17s ease-in-out infinite alternate}
.lid-drift-b{animation-name:lidDriftB;animation-duration:13s}
.lid-stage.is-covered .lid-drift{animation-play-state:paused}
@keyframes lidDrift{0%{transform:rotate(-.9deg) scale(1)}100%{transform:rotate(.9deg) scale(1.03)}}
@keyframes lidDriftB{0%{transform:rotate(1.2deg) scale(1.02) translate3d(0,-6px,0)}100%{transform:rotate(-1.2deg) scale(1) translate3d(0,6px,0)}}
.lid-q{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 24px;opacity:var(--qop,1);will-change:opacity}
.lid-q h1{margin:0;font-weight:500;font-size:clamp(30px,2.9vw,64px);line-height:1.05;letter-spacing:-.02em;text-align:center;color:var(--ink)}
.lid-ln{display:block}
.lid-slot{position:relative;display:inline-block;width:1.8955em;height:0;font-size:1.04em}
.lid-slot-art{position:absolute;left:0;bottom:-.255em;width:1.8955em;height:1.233em;overflow:visible}
.lid-glyphs{fill:var(--accent)}
.lid-zoom{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;will-change:transform}
/* While the word zooms it is drawn on the graphics card (WebGL), so nothing is repainted as you scroll. */
.lid-zoomc{position:absolute;left:0;top:0;width:100%;height:100%;display:block;pointer-events:none;visibility:hidden}
/* The window behind the counter of the "o": an upright rectangle that holds the counter and stays inside
   the ring's outer edge, so the red ring hides its edges. A plain rectangle clips on the compositor;
   a rounded one made the browser redraw a mask at every zoom step. Only transforms and opacity change. */
.lid-vbox{position:absolute;left:0;top:0;width:0;height:0;transform-origin:0 0;pointer-events:none;will-change:transform,opacity}
.lid-vwin{position:absolute;left:-283.5px;top:-379.2px;width:568px;height:759px;overflow:hidden}
.lid-ph{position:absolute;left:0;top:0;width:1280px;height:960px;max-width:none;transform-origin:0 0;will-change:transform,opacity}
.lid-ovid{position:absolute;left:-51.5px;top:-98.8px;width:640px;height:1138px;max-width:none;background:#0A1828;will-change:opacity}
.lid-scrim{position:absolute;inset:0;pointer-events:none;opacity:var(--scrim,0);will-change:opacity;background:linear-gradient(180deg,rgba(6,14,24,.42) 0%,rgba(6,14,24,0) 24%),linear-gradient(0deg,rgba(6,14,24,.7) 0%,rgba(6,14,24,.32) 38%,rgba(6,14,24,0) 64%)}

.lid-block{position:absolute;top:0;left:clamp(20px,30vw - 120px,560px);width:min(820px,calc(100% - clamp(20px,30vw - 120px,560px) - 24px));transform:translate3d(0,calc(var(--by,0) * 1px),0);opacity:var(--bshow,0);will-change:transform,opacity}
.lid-stmt{margin:0;font-weight:500;font-size:clamp(34px,3.4vw,76px);line-height:1.04;letter-spacing:-.022em}
.lid-sl{display:block;width:fit-content}
.lid-a{color:#fff}
.lid-a .lid-hl{color:var(--hl-photo)}
.lid-a .lid-sl{-webkit-mask-image:linear-gradient(90deg,#000 calc(var(--rv,1) * 130% - 30%),transparent calc(var(--rv,1) * 130%));mask-image:linear-gradient(90deg,#000 calc(var(--rv,1) * 130% - 30%),transparent calc(var(--rv,1) * 130%))}
.lid-a .lid-sl1{--rv:var(--l1,1)}
.lid-a .lid-sl2{--rv:var(--l2,1)}
.lid-a .lid-sl3{--rv:var(--l3,1)}
.lid-cite{margin:16px 0 0;font-weight:500;font-size:13px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}
.lid-a .lid-cite{opacity:var(--cite,1)}
.lid-panel{position:absolute;inset:0;overflow:hidden;transform:translate3d(0,calc(var(--edge,99999) * 1px),0);will-change:transform;background:radial-gradient(42% 15% at 16% 24%,rgba(255,255,255,.72),rgba(255,255,255,0) 72%),radial-gradient(28% 10% at 31% 31%,rgba(255,255,255,.5),rgba(255,255,255,0) 72%),radial-gradient(36% 12% at 80% 15%,rgba(255,255,255,.6),rgba(255,255,255,0) 72%),radial-gradient(52% 15% at 72% 66%,rgba(255,255,255,.5),rgba(255,255,255,0) 72%),radial-gradient(34% 11% at 8% 84%,rgba(255,255,255,.45),rgba(255,255,255,0) 72%),linear-gradient(180deg,#8CC0EA 0%,#B5D5F1 55%,#D2E5F7 100%)}
.lid-b{color:var(--sky-ink)}
.lid-panel .lid-b{transform:translate3d(0,calc((var(--by,0) - var(--edge,99999)) * 1px),0)}
.lid-b .lid-hl{color:var(--sky-hl)}
.lid-lead{margin:40px 0 0;max-width:22em;font-weight:400;font-size:clamp(18px,1.8vw,34px);line-height:1.28;letter-spacing:-.01em}
.lid-b .lid-btn{margin-top:28px}
.lid .lid-btn-red{background:var(--gift);color:#fff}
.lid .lid-btn-red:hover{filter:brightness(1.08)}
.lid-cl-sky{right:0;bottom:0;height:min(66vh,620px);width:calc(min(66vh,620px) * .5667)}
.lid .lid-hint{position:absolute;left:50%;bottom:clamp(20px,4.5vh,44px);width:46px;height:46px;border-radius:50%;background:var(--hint-bg);color:var(--hint-ink);display:grid;place-items:center;opacity:var(--hint,1);transform:translate(-50%,calc((1 - var(--hint,1)) * 26px));will-change:transform,opacity}
.lid-hint svg{width:20px;height:20px}

.lid-why{position:relative;margin-top:-28vh;padding:calc(28vh + clamp(48px,7vw,110px)) 0 clamp(90px,10vw,150px);color:var(--sky-ink);background:radial-gradient(40% 9% at 86% 30%,rgba(255,255,255,.55),rgba(255,255,255,0) 72%),radial-gradient(46% 10% at 10% 70%,rgba(255,255,255,.5),rgba(255,255,255,0) 72%),linear-gradient(180deg,rgba(210,229,247,0) 0,#D2E5F7 28vh,#E4EFFA 100%)}
.lid-why-grid{max-width:1200px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(36px,6vw,100px);align-items:end}
.lid-quote{margin:0;font-weight:400;font-size:clamp(30px,3.5vw,56px);line-height:1.12;letter-spacing:-.012em;text-wrap:balance}
.lid-quote-by{margin:22px 0 0;font-size:15px;font-weight:500;letter-spacing:.02em}
.lid-why-body{margin:40px 0 0;max-width:30em;font-size:clamp(17px,1.35vw,20px);line-height:1.55}
.lid-stat{display:flex;align-items:center;gap:20px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(15,42,69,.2)}
.lid-stat-n{font-weight:600;font-size:clamp(60px,6.4vw,104px);line-height:.85;letter-spacing:-.045em}
.lid-stat-t{max-width:15em;font-size:17px;line-height:1.35}
.lid-fig{position:relative;margin:0}
.lid-fig img{position:relative;z-index:1;display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.lid-cl-why{top:-64px;right:-78px;width:230px;height:210px;z-index:2}
.lid-fig figcaption{margin-top:10px;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}

.lid-small{position:relative;overflow:hidden;padding:clamp(90px,10vw,150px) 0;background:var(--card1);color:var(--card1-ink)}
.lid-why{overflow:hidden}
.lid-cl-candy{left:-122px;top:-62px;width:250px;height:200px;z-index:2}
.lid-small-grid{max-width:1160px;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(36px,7vw,110px);align-items:center}
.lid-small-vid{position:relative;margin:0;width:100%;max-width:420px;justify-self:center}
.lid-small-vid video{position:relative;z-index:1;display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#0F2236}
.lid-small-vid figcaption{margin-top:10px;font-size:13px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.lid-small-h{margin:0;font-weight:500;font-size:clamp(46px,6.2vw,104px);line-height:.96;letter-spacing:-.035em}
.lid-small-q{margin:28px 0 0;max-width:22em;font-size:clamp(21px,1.9vw,28px);line-height:1.3}
.lid-walker{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,2.6vw,36px);align-items:start;margin-top:clamp(40px,5vw,64px);padding-top:clamp(28px,3vw,40px);border-top:1px solid rgba(15,42,69,.2)}
.lid-walker-n{margin:0;font-weight:420;font-size:clamp(68px,7.4vw,118px);line-height:.82;letter-spacing:-.03em;color:var(--gift)}
.lid-walker-t{margin:0;max-width:26em;font-size:clamp(17px,1.35vw,20px);line-height:1.5}

/* Dark bands carry the hero's tone-on-tone shapes down both sides. */
.lid-band{position:relative;isolation:isolate;overflow:hidden}
.lid-band::before,.lid-band::after{content:"";position:absolute;top:0;bottom:0;z-index:-1;width:clamp(110px,16vw,290px);background:var(--shape);-webkit-mask:url(assets/lid-strip.svg) 0 0/100% auto repeat-y;mask:url(assets/lid-strip.svg) 0 0/100% auto repeat-y;pointer-events:none}
.lid-band::before{left:0}
.lid-band::after{right:0;transform:scaleX(-1);-webkit-mask-position:0 -460px;mask-position:0 -460px}
.lid-where{padding:clamp(90px,10vw,150px) 0;background:var(--ground);color:var(--ink)}
.lid-where.lid-band::before,.lid-where.lid-band::after{width:clamp(90px,11vw,200px)}
.lid-where-grid{max-width:1240px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5vw,84px);align-items:center;margin-top:clamp(28px,4vw,52px)}
.lid-globe-box{width:100%;max-width:560px;justify-self:center}
.lid-globe{display:block;width:100%;aspect-ratio:1/1}
.lid-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:6px 0 0;padding:0;list-style:none;font-size:14px}
.lid-legend li{display:flex;align-items:center;gap:8px}
.lid-legend i{display:block;width:10px;height:10px;border-radius:50%}
.lid-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.lid .lid-tab-btn{min-height:44px;padding:0 18px;border:0;border-radius:999px;background:transparent;box-shadow:inset 0 0 0 1px rgba(251,247,241,.32);color:var(--ink);font:500 15px/1 'Outfit',ui-sans-serif,system-ui,sans-serif;cursor:pointer}
.lid .lid-tab-btn:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.lid .lid-tab-btn.is-on{background:var(--ink);color:var(--ground);box-shadow:none}
.lid-place h3{margin:0;font-weight:500;font-size:clamp(28px,2.6vw,40px);letter-spacing:-.02em}
.lid-place p{margin:12px 0 0;max-width:30em;font-size:17px;line-height:1.55}
.lid-place-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px}
.lid-place-photos img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.lid .lid-place-link{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font-weight:500;color:var(--give)}

.lid-trip{padding:clamp(90px,10vw,150px) 0 clamp(50px,6vw,80px);color:var(--sky-ink);background:radial-gradient(44% 8% at 82% 12%,rgba(255,255,255,.6),rgba(255,255,255,0) 72%),linear-gradient(180deg,#A7CDEE 0%,#CDE2F6 46%,#E4EFFA 100%)}
.lid-trip-grid{max-width:1160px;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start;margin-top:clamp(28px,4vw,48px)}
.lid-trip-intro{margin:18px 0 0;max-width:30em;font-size:clamp(17px,1.35vw,20px);line-height:1.55}
.lid-days{list-style:none;margin:32px 0 0;padding:0;border-top:1px solid rgba(15,42,69,.22)}
.lid-days li{display:grid;grid-template-columns:6.2em minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid rgba(15,42,69,.22);font-size:clamp(17px,1.45vw,21px);line-height:1.3}
.lid-days b{font-weight:600;font-variant-numeric:tabular-nums}
.lid-trip{position:relative;overflow:hidden}
.lid-pack{position:relative;box-sizing:border-box;margin-top:44px;padding:clamp(44px,3.6vw,52px) clamp(24px,2.6vw,36px) clamp(24px,2.6vw,36px);border-radius:4px;background:#FBF6EE;box-shadow:inset 0 0 0 8px #FBF6EE,inset 0 0 0 9px rgba(15,42,69,.12)}
.lid-cl-pack{left:50%;top:-58px;width:260px;height:96px;margin-left:-130px}
.lid-pack h3{margin:0 0 6px;font-weight:500;font-size:24px;letter-spacing:-.01em}
.lid-pack p{margin:0 0 14px;font-size:15px;line-height:1.45}
.lid-pack table{width:100%;border-collapse:collapse;font-size:16px}
.lid-pack td{padding:9px 0;border-bottom:1px solid rgba(15,42,69,.16)}
.lid-pack td + td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.lid-pack tfoot td{padding-top:16px;border-bottom:0;font-weight:600;font-size:20px}
.lid-trip .lid-btn{margin-top:28px}

.lid-team{position:relative;overflow:hidden;padding:clamp(40px,5vw,72px) 0 clamp(90px,10vw,150px);color:var(--sky-ink);background:#E4EFFA}
.lid-cl-team{right:0;top:clamp(10px,3vw,40px);width:200px;height:340px}
.lid-team-intro{margin:18px 0 0;max-width:32em;font-size:clamp(17px,1.35vw,20px);line-height:1.55}
.lid-roster{max-width:1160px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:0 clamp(24px,4vw,64px);margin-top:clamp(28px,4vw,48px)}
.lid-roster section{padding:22px 0 18px;border-top:1px solid rgba(15,42,69,.22)}
.lid-roster h3{margin:0 0 8px;font-weight:600;font-size:13px;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}
.lid-roster ul{margin:0;padding:0;list-style:none}
.lid-roster li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:7px 0;font-size:18px;line-height:1.35}
.lid-roster li span{color:rgba(15,42,69,.74);font-size:16px}

.lid-join{padding:clamp(90px,10vw,150px) 0;background:var(--ground);color:var(--ink)}
.lid-join-rows{max-width:1040px;margin-top:clamp(28px,4vw,48px);border-top:1px solid rgba(251,247,241,.22)}
.lid-join-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,auto);gap:clamp(14px,3vw,48px);align-items:center;padding:clamp(24px,3vw,38px) 0;border-bottom:1px solid rgba(251,247,241,.22)}
.lid-join-row h3{margin:0;font-weight:500;font-size:clamp(28px,2.8vw,42px);letter-spacing:-.022em}
.lid-join-row p{margin:0;max-width:30em;font-size:17px;line-height:1.5}
.lid-join-note{display:block;margin-top:8px;font-size:14px;color:rgba(251,247,241,.78)}
.lid-join-row .lid-btn{justify-self:start}
.lid-gift{position:relative;box-sizing:border-box;max-width:1040px;margin-top:clamp(70px,7vw,96px);padding:clamp(52px,5vw,64px) clamp(24px,3.4vw,48px) clamp(28px,3vw,40px);border-radius:4px;background:#FBF6EE;color:var(--card1-ink);box-shadow:inset 0 0 0 8px #FBF6EE,inset 0 0 0 9px rgba(15,42,69,.14);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px clamp(28px,4vw,64px)}
.lid-cl-give{left:50%;top:-62px;width:300px;height:110px;margin-left:-150px}
.lid-gift h3{margin:0;font-weight:500;font-size:clamp(30px,3vw,44px);letter-spacing:-.022em}
.lid-gift-t{margin:12px 0 0;max-width:24em;font-size:17px;line-height:1.5}
.lid-gift-what{margin:22px 0 0;padding:0;list-style:none;border-top:1px solid rgba(15,42,69,.16)}
.lid-gift-what li{display:grid;grid-template-columns:6.4em minmax(0,1fr);gap:12px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(15,42,69,.16);font-size:16px;line-height:1.4}
.lid-gift-what b{white-space:nowrap;font-weight:600;font-size:20px;color:var(--gift);font-variant-numeric:tabular-nums}
.lid-gift-tax{margin:18px 0 0;font-size:14px;line-height:1.45;color:rgba(15,42,69,.8)}
.lid-ways{margin:0;padding:0;list-style:none;align-self:start}
.lid-ways-h{margin:0 0 4px;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase}
.lid-way{display:grid;grid-template-columns:6.2em minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(15,42,69,.16)}
.lid-way-k{font-weight:600;font-size:16px}
.lid-way-v{font-size:16px;line-height:1.4;overflow-wrap:anywhere}
.lid .lid-copy{display:inline-flex;align-items:center;justify-content:center;min-width:76px;min-height:44px;padding:0 14px;box-sizing:border-box;border:0;border-radius:4px;background:transparent;box-shadow:inset 0 0 0 1.5px rgba(15,42,69,.5);color:var(--card1-ink);font:500 15px/1 'Outfit',ui-sans-serif,system-ui,sans-serif;text-decoration:none;cursor:pointer}
.lid .lid-copy:hover{box-shadow:inset 0 0 0 1.5px var(--card1-ink)}
.lid .lid-copy.is-done{background:var(--card1-ink);color:#fff;box-shadow:none}
.lid-join .lid-join-rows{margin-top:clamp(36px,4vw,56px)}

.lid-ask{position:relative;overflow:hidden;padding:clamp(90px,10vw,140px) 0;background:var(--card1);color:var(--card1-ink)}
.lid-ask-l{position:relative;padding-bottom:190px}
.lid-cl-ask{left:-10px;bottom:0;width:240px;height:170px}
.lid .lid-ask-mail a{font-weight:500;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.lid-ask-grid{max-width:1100px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.lid-ask-intro{margin:18px 0 0;max-width:24em;font-size:clamp(18px,1.5vw,22px);line-height:1.5}
.lid-ask-mail{margin:22px 0 0;font-size:16px}
.lid-form{display:flex;flex-direction:column;gap:18px}
.lid-field{display:flex;flex-direction:column;gap:8px}
.lid-field label{font-weight:500;font-size:15px}
.lid-field input,.lid-field textarea{box-sizing:border-box;width:100%;padding:13px 14px;border:1px solid rgba(15,42,69,.38);border-radius:4px;background:#fff;color:var(--card1-ink);font:400 17px/1.4 'Outfit',ui-sans-serif,system-ui,sans-serif}
.lid-field textarea{min-height:150px;resize:vertical}
.lid-form .lid-btn{align-self:flex-start}

.lid-foot{padding:clamp(56px,6vw,80px) 0 40px;background:var(--ground);color:var(--ink)}
.lid-foot-grid{max-width:1240px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px 64px}
.lid-foot-logo{display:block;width:150px}
.lid-foot-logo img{display:block;width:100%}
.lid-foot-slogan{margin:14px 0 0;font-size:20px}
.lid-foot-nav{display:flex;flex-wrap:wrap;gap:6px 28px;max-width:560px}
.lid .lid-foot-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:16px;text-decoration:none}
.lid .lid-foot-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.lid-foot-small{max-width:1240px;margin-top:36px;font-size:13px;line-height:1.6;color:rgba(251,247,241,.76)}
.lid-foot-small p{margin:0}
.lid .lid-foot-small a{white-space:nowrap;text-decoration:none}
.lid .lid-foot-small a:hover{text-decoration:underline;text-underline-offset:3px}

@media (max-width:1180px){
.lid-cl-team{width:150px;height:255px;right:-34px}
}
@media (max-width:900px){
.lid-why-grid,.lid-small-grid,.lid-where-grid,.lid-trip-grid,.lid-ask-grid{grid-template-columns:minmax(0,1fr)}
.lid-why-fig{max-width:420px}
.lid-join-row{grid-template-columns:minmax(0,1fr)}
.lid-menu-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"nav" "foot" "card";gap:0}
.lid-menu-card{margin-top:66px;max-width:440px;width:100%;justify-self:center}
.lid-gift{grid-template-columns:minmax(0,1fr)}
.lid-ask-l{position:static;padding-bottom:0}
.lid-cl-ask{left:auto;right:-24px;bottom:clamp(40px,8vw,90px);width:170px;height:120px}
}
@media (max-width:680px){
.lid-ln{display:inline}
.lid-q h1{text-wrap:balance}
.lid-header{height:76px}
.lid-tab{width:124px;height:38px;margin-left:-62px}
.lid-tab-lines{top:9px;width:22px;margin-left:-11px;gap:4px}
.lid-tab-word{top:7px;font-size:14px}
.lid-burst{top:-16px;width:278px;height:119px;margin-left:-139px}
.lid .lid-give{min-height:44px;padding:0 14px;font-size:15px;gap:8px}
.lid-menu-in{padding:88px 20px 40px;max-height:calc(100vh - 56px);overflow-y:auto}
.lid .lid-menu-links a{min-height:46px;font-size:19px}
.lid-menu-nav{gap:0 16px}
.lid-lead{margin-top:28px}
.lid-cl-sky{height:34vh;width:calc(34vh * .5667);right:-6vw}
.lid-cl-why{top:-46px;right:-40px;width:160px;height:146px}
.lid-cl-candy{left:-84px;top:-44px;width:190px;height:152px}
.lid-cl-team{display:none}
.lid-walker{grid-template-columns:minmax(0,1fr)}
.lid-small-vid{max-width:280px}
.lid-days li{grid-template-columns:5.2em minmax(0,1fr)}
.lid-way{grid-template-columns:minmax(0,1fr) auto}
.lid-way-k{grid-column:1 / -1}
.lid-way .lid-way-v{grid-column:1}
.lid-cl-give{width:250px;height:92px;margin-left:-125px;top:-52px}
}
@media (prefers-reduced-motion:reduce){
.lid-logo img,.lid-tab-lines,.lid-tab-word{transition:none}
.lid-menu,.lid-menu-in,.lid-headwrap.is-menu .lid-menu-in{transition:none}
.lid-cl .lid-b,.lid-burst .lid-b,.lid-tab:hover .lid-burst .lid-b,.lid-headwrap.is-menu .lid-burst .lid-b{transition:none}
.lid-cl.is-in.is-vis .lid-s{animation:none}
.lid-drift{animation:none}
}

/* ===== Trip log: everything below the hero is something you'd find in the team's travel wallet ===== */
.tl{position:relative;overflow-x:clip;--tl-paper:#FBF6EE;--tl-paper2:#F2E7D6;--tl-ink:#0F2A45;--tl-red:var(--accent);--tl-sea:#CFE3F4;--tl-sea2:#BCD8EF;--tl-white:#FFFDF8;--tl-shadow:0 1px 2px rgba(15,42,69,.10),0 24px 44px -26px rgba(15,42,69,.55)}
.tl h2,.tl h3{text-wrap:balance}
.tl-label{margin:0 0 16px;font-weight:600;font-size:13px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;color:var(--gift)}
.tl-label-dark{color:var(--give)}
.tl-h{margin:0;font-weight:500;font-size:clamp(36px,4.3vw,72px);line-height:1.02;letter-spacing:-.026em}

/* The red line: one thread, section by section, drawn as you scroll */
/* the red line: one curve, each section shows its slice of it under its content */
.tl-journal,.tl-small,.tl-lk,.tl-team,.tl-ask{isolation:isolate}
.tl .lid-band::before,.tl .lid-band::after{z-index:-2}
.tl-line{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:-1}
.tl-line path{fill:none;stroke:var(--tl-red);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tl-pin circle{fill:var(--tl-red)}
.tl-pin .tl-pin-hi{fill:#fff;opacity:.55}
.tl-nib{position:fixed;left:0;top:0;z-index:30;width:24px;height:24px;margin:-12px 0 0 -12px;pointer-events:none;opacity:0;transition:opacity .25s ease;will-change:transform}
.tl-nib svg{display:block;width:100%;height:100%;overflow:visible}
.tl-nib.is-on{opacity:1}

/* --- 1. Journal page: why we go --- */
.tl-journal{position:relative;margin-top:-28vh;padding:calc(28vh + clamp(70px,8vw,130px)) clamp(16px,4vw,48px) clamp(80px,9vw,140px);background:linear-gradient(180deg,rgba(210,229,247,0) 0,#D2E5F7 28vh,#E2EEF9 58%,var(--tl-paper) 100%)}
.tl-sheet{position:relative;box-sizing:border-box;max-width:1200px;margin:0 auto;padding:clamp(44px,5vw,80px) clamp(24px,5vw,84px) clamp(48px,5vw,84px) clamp(48px,8vw,128px);background:var(--tl-paper);border-radius:3px;box-shadow:var(--tl-shadow);transform:rotate(-.5deg)}
.tl-sheet::before{content:"";position:absolute;top:0;bottom:0;left:clamp(28px,5vw,80px);width:2px;background:rgba(224,60,55,.32)}
.tl-sheet::after{content:"";position:absolute;inset:0;border-radius:3px;background:repeating-linear-gradient(180deg,transparent 0 39px,rgba(47,123,196,.085) 39px 40px);pointer-events:none}
.tl-tab{position:absolute;top:-36px;left:clamp(48px,8vw,128px);margin:0;padding:10px 20px 14px;background:var(--gift);color:#FFF6EC;font-weight:600;font-size:13px;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;border-radius:6px 6px 0 0}
.tl-journal-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:center}
.tl-quote{margin:0;font-size:clamp(30px,3.3vw,56px);line-height:1.12;letter-spacing:-.015em;font-weight:400;color:var(--tl-ink)}
.tl-by{margin:18px 0 0;font-weight:500;font-size:15px;color:var(--gift)}
.tl-body{margin:30px 0 0;max-width:28em;font-size:clamp(17px,1.35vw,21px);line-height:1.5;color:var(--tl-ink)}
.tl-s95{margin-top:30px;width:clamp(150px,13vw,190px);color:var(--gift)}
.tl-s95 svg{display:block;width:100%;height:auto;overflow:visible;transform:rotate(-12deg) scale(1.55);opacity:0;transition:transform .32s cubic-bezier(.2,1.5,.45,1),opacity .14s ease}
.tl-s95.is-in svg{transform:rotate(-12deg) scale(1);opacity:.94}
.st-ring{fill:none;stroke:currentColor;stroke-width:5}
.st-ring-thin{fill:none;stroke:currentColor;stroke-width:1.6}
.st-dash{stroke-dasharray:11 7}
.st-fill{fill:currentColor;color:currentColor}
.st-arc{fill:currentColor;font-family:Outfit,ui-sans-serif,sans-serif;font-weight:600;font-size:13.5px;letter-spacing:2.6px;text-anchor:middle}
.st-big{fill:currentColor;font-family:Outfit,ui-sans-serif,sans-serif;font-weight:600;font-size:46px;letter-spacing:-1px;text-anchor:middle}
.st-sm{fill:currentColor;font-family:Outfit,ui-sans-serif,sans-serif;font-weight:600;font-size:13px;letter-spacing:3px;text-anchor:middle}
.st-md{fill:currentColor;font-family:Outfit,ui-sans-serif,sans-serif;font-weight:600;font-size:33px;letter-spacing:2.5px;text-anchor:middle}
.st-md-s{font-size:27px;letter-spacing:1.5px}

/* a print taped to the page */
.tl-print{position:relative;margin:0;padding:12px 12px 52px;background:var(--tl-white);box-shadow:var(--tl-shadow);transform:rotate(2.6deg)}
.tl-print img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.tl-print figcaption,.tl-instant figcaption{position:absolute;left:18px;bottom:16px;font-weight:600;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--tl-ink)}
.tl-tape{position:absolute;z-index:3;top:-17px;left:50%;width:124px;height:36px;margin-left:-62px;background:rgba(243,195,75,.72);transform:rotate(-4deg);clip-path:polygon(4% 10%,96% 0,100% 30%,97% 62%,100% 100%,3% 92%,0 60%,2% 30%)}
.tl-print-why .lid-cl-why{top:-66px;right:-74px;width:220px;height:200px;z-index:4}

/* --- 2. Small things: an instant photo and a price tag --- */
.tl-small{position:relative;padding:clamp(60px,8vw,130px) clamp(20px,5vw,72px) clamp(90px,10vw,160px);background:var(--tl-paper)}
.tl-small-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,8vw,130px);align-items:center}
.tl-instant{position:relative;justify-self:end;width:min(100%,430px);margin:0;padding:16px 16px 78px;box-sizing:border-box;background:var(--tl-white);box-shadow:var(--tl-shadow);transform:rotate(-3.2deg)}
.tl-instant-img{aspect-ratio:3/4;overflow:hidden;background:#0F2236}
.tl-instant video{display:block;width:100%;height:100%;object-fit:cover;filter:sepia(.7) saturate(.35) brightness(1.3) contrast(.7);transition:filter 2.6s ease .2s}
.tl-instant.is-in video{filter:none}
.tl-instant figcaption{left:0;right:0;bottom:30px;text-align:center}
.tl-instant .lid-cl-candy{left:-118px;top:-58px;width:240px;height:192px;z-index:4}
.tl-q2{margin:26px 0 0;max-width:20em;font-size:clamp(22px,1.9vw,30px);line-height:1.3;color:var(--tl-ink)}
.tl-small-text .tl-h{color:var(--tl-ink)}
.tl-tag45{position:relative;box-sizing:border-box;max-width:440px;margin-top:44px;padding:26px 30px 28px 84px;background:var(--give);color:var(--tl-ink);clip-path:polygon(50px 0,100% 0,100% 100%,50px 100%,0 50%);transform:rotate(-2deg);filter:drop-shadow(0 14px 18px rgba(15,42,69,.18))}
.tl-tag45-hole{position:absolute;left:26px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--tl-paper);box-shadow:0 0 0 4px rgba(255,255,255,.55)}
.tl-tag45-n{margin:0;font-weight:500;font-size:60px;line-height:1}
.tl-tag45-t{margin:12px 0 0;font-size:17px;line-height:1.45}

/* --- 3. The passport --- */
.tl-pass{padding:clamp(90px,10vw,150px) clamp(16px,4vw,48px) clamp(100px,11vw,170px);background:var(--ground);color:var(--ink)}
.tl-pass-head{max-width:1040px;margin:0 auto clamp(48px,6vw,84px)}
.tl-book{position:relative;width:min(1040px,100%);margin:0 auto;aspect-ratio:1.44;perspective:2600px}
.tl-book-in{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}
.tl-page{position:absolute;top:0;width:50%;height:100%;box-sizing:border-box;background:var(--tl-paper);color:var(--tl-ink);overflow:hidden}
.tl-page::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(135deg,rgba(47,123,196,.05) 0 2px,transparent 2px 12px)}
.tl-page-r{left:50%;padding:clamp(18px,2.4vw,34px) clamp(18px,2.4vw,34px);border-radius:4px 16px 16px 4px;box-shadow:inset 18px 0 24px -18px rgba(15,42,69,.35)}
.tl-page-l{padding:clamp(18px,2.4vw,34px);border-radius:16px 4px 4px 16px;box-shadow:inset -18px 0 24px -18px rgba(15,42,69,.35)}
.tl-page-h{position:relative;z-index:1;margin:0;font-weight:600;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:rgba(15,42,69,.55)}
.tl-cover{position:absolute;left:50%;top:0;width:50%;height:100%;transform-origin:0 50%;transform-style:preserve-3d;will-change:transform;z-index:2}
.tl-cover-f,.tl-cover-b{position:absolute;inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
.tl-cover-f{display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-sizing:border-box;padding:12% 10% 14%;background:radial-gradient(120% 90% at 30% 20%,#173B63 0,#0C2747 55%,#091F3A 100%);border-radius:4px 16px 16px 4px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6),inset 0 0 0 1px rgba(243,195,75,.18);color:var(--give)}
.tl-foil-t,.tl-foil-b{font-weight:600;font-size:clamp(14px,1.6vw,22px);letter-spacing:.32em;text-transform:uppercase;text-align:center}
.tl-foil-b{font-size:clamp(12px,1.2vw,16px);letter-spacing:.42em}
.tl-foil-mark{width:46%;height:auto;overflow:visible}
.tl-foil-ring{fill:none;stroke:currentColor;stroke-width:1.6}
.tl-foil-dots{stroke-width:3;stroke-dasharray:.1 7;stroke-linecap:round}
.tl-foil-fill{fill:currentColor}
.tl-cover .tl-page{left:0;width:100%}
.tl-cover-b{transform:rotateY(180deg)}
/* the inside of the cover: a night page, mostly globe */
.tl-cover-b{padding:0;color:#FBF7F1;background:radial-gradient(75% 55% at 50% 46%,#1A4572 0,#0F2E52 52%,#0A2242 100%)}
.tl-cover-b::after{background:repeating-radial-gradient(circle at 50% 46%,rgba(243,195,75,.075) 0 1px,transparent 1px 13px);-webkit-mask:radial-gradient(circle at 50% 46%,transparent 0 47%,#000 62%);mask:radial-gradient(circle at 50% 46%,transparent 0 47%,#000 62%)}
.tl-cover-b .lid-globe{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;--globe-r:.47;--globe-y:.465;--ink:#FBF7F1;--shape:#123A63;--ground:#0F2E52;--accent:#E03C37;--give:#F3C34B}
/* the globe can be turned by hand (sideways drags only on touch screens, so the page still scrolls) */
.tl-cover-b.is-turnable{cursor:grab;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.tl-cover-b.is-grabbing{cursor:grabbing}
.tl-fields{position:absolute;left:clamp(16px,2.2vw,30px);right:clamp(16px,2.2vw,30px);top:clamp(14px,1.9vw,26px);z-index:1;display:flex;justify-content:space-between;gap:16px;margin:0;pointer-events:none}
.tl-f-r{text-align:right}
.tl-fields dt{margin:0;font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(243,195,75,.85)}
.tl-fields dd{margin:3px 0 0;font-weight:500;font-size:clamp(12px,1.1vw,15px);line-height:1.3}
.tl-legend{position:absolute;left:clamp(16px,2.2vw,30px);right:clamp(16px,2.2vw,30px);bottom:clamp(40px,4.4vw,60px);z-index:1;display:grid;gap:6px;margin:0;padding:0;list-style:none;font-size:clamp(11px,.95vw,13px);line-height:1.35;color:rgba(251,247,241,.72);pointer-events:none}
.tl-legend li{display:flex;align-items:flex-start;gap:8px}
.tl-legend b{font-weight:600;color:#FBF7F1;margin-right:4px}
.tl-legend i{flex:none;display:block;width:9px;height:9px;margin-top:.3em;border-radius:50%;box-shadow:0 0 0 2px rgba(10,34,66,.9)}
.tl-dot-r{background:var(--accent)}
.tl-dot-g{background:#F3C34B}
.tl-mrz{position:absolute;left:clamp(16px,2.2vw,30px);right:clamp(16px,2.2vw,30px);bottom:clamp(12px,1.7vw,22px);z-index:1;margin:0;font-weight:500;font-size:clamp(10px,1.05vw,15px);letter-spacing:.18em;color:rgba(251,247,241,.4);white-space:nowrap;overflow:hidden}
.tl-stamps{position:relative;z-index:1;height:calc(100% - 20px);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,1fr);gap:4% 6%;padding-top:4%;box-sizing:border-box}
.tl-st{position:relative;display:grid;place-items:center;padding:0;border:0;background:none;cursor:pointer;color:var(--gift);opacity:0;transform:scale(1.7) rotate(var(--sr,0deg));transition:opacity .16s ease var(--sd,0ms),transform .34s cubic-bezier(.2,1.5,.45,1) var(--sd,0ms);-webkit-tap-highlight-color:transparent}
.tl-st svg{display:block;width:100%;height:auto;max-height:100%;overflow:visible}
.tl-stamps.is-in .tl-st{opacity:.62;transform:scale(1) rotate(var(--sr,0deg))}
.tl-stamps.is-in .tl-st.is-on{opacity:1}
.tl-st.is-on::after{content:"";position:absolute;left:18%;right:18%;bottom:-6px;height:3px;border-radius:3px;background:currentColor}
.tl-st:focus-visible{outline:3px solid var(--give);outline-offset:4px;border-radius:12px}
@media (hover:hover){.tl-stamps.is-in .tl-st:hover{opacity:1}}
.tl-st-eth{--sr:-8deg;--sd:0ms}
.tl-st-lka{--sr:5deg;--sd:140ms;color:#2F6FB0;grid-column:2;grid-row:1}
.tl-st-ind{--sr:-4deg;--sd:280ms;color:#2F6FB0;width:78%;justify-self:center}
.tl-st-ukr{--sr:7deg;--sd:420ms}
.tl-st-mex{--sr:-6deg;--sd:560ms;color:#2F6FB0;grid-column:1 / span 2;width:56%;justify-self:center}
.tl-places{max-width:1040px;margin:clamp(48px,6vw,80px) auto 0}
.tl-place{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,80px);align-items:center}
.tl-place[hidden]{display:none}
.tl-place h3{margin:0;font-weight:500;font-size:clamp(28px,2.6vw,40px);letter-spacing:-.015em}
.tl-place p{margin:12px 0 0;font-size:18px;line-height:1.5;color:rgba(251,247,241,.88)}
.tl-place-link{display:inline-block;margin-top:16px;color:var(--give);font-weight:500}
.tl-fan{position:relative;display:flex;justify-content:center;padding:10px 0}
.tl-fan img{display:block;width:34%;aspect-ratio:4/5;object-fit:cover;margin:0 -2.5%;border:8px solid var(--tl-white);border-bottom-width:26px;box-shadow:0 22px 40px -22px rgba(0,0,0,.6);transform:rotate(-7deg) translateY(6px);transition:transform .18s ease}
.tl-fan img:nth-child(2){transform:rotate(2deg) translateY(-8px);z-index:1}
.tl-fan img:nth-child(3){transform:rotate(8deg) translateY(10px)}
@media (hover:hover){.tl-fan img:hover{transform:rotate(0) translateY(-14px) scale(1.04);z-index:2}}

/* --- 4. Sri Lanka: the map, the trip pass, the receipt --- */
.tl-lk{position:relative;padding:clamp(90px,10vw,150px) clamp(20px,5vw,72px) clamp(100px,11vw,170px);background:radial-gradient(70% 50% at 20% 30%,rgba(255,255,255,.5),rgba(255,255,255,0) 70%),linear-gradient(180deg,var(--tl-sea) 0,var(--tl-sea2) 100%);color:var(--tl-ink)}
.tl-lk-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(30px,6vw,96px);align-items:start}
/* the map: a folded paper road map, sticky beside the trip notes */
.tl-map{position:sticky;top:clamp(70px,9vh,110px)}
.tl-map-sheet{position:relative;width:min(100%,calc((100vh - 130px) * .8056));margin:0 auto;border-radius:6px;background:#F4ECDD;box-shadow:0 1px 2px rgba(15,42,69,.14),0 34px 54px -30px rgba(15,42,69,.6)}
.tl-map-sheet::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,transparent 0 31.6%,rgba(15,42,69,.07) 33.2%,rgba(255,255,255,.28) 33.4%,transparent 35.5% 64.6%,rgba(15,42,69,.07) 66.5%,rgba(255,255,255,.26) 66.7%,transparent 68.8%),linear-gradient(180deg,transparent 0 47.8%,rgba(15,42,69,.08) 49.9%,rgba(255,255,255,.3) 50.1%,transparent 52.4%)}
.tl-map svg{display:block;width:100%;height:auto;font-family:Outfit,ui-sans-serif,sans-serif}
.tl-paper-bg{fill:#F4ECDD}
.tl-sea-bg{fill:#D3E6F5}
.tl-grat{fill:none;stroke:rgba(15,42,69,.16);stroke-width:1.2;stroke-dasharray:6 7}
.tl-wl{fill:none;stroke:#A9CAE8;stroke-linejoin:round}
.tl-wl-gap{fill:none;stroke:#D3E6F5;stroke-linejoin:round}
.tl-india{fill:#EAE0CB;stroke:rgba(15,42,69,.45);stroke-width:1.6;stroke-linejoin:round}
.tl-island{fill:#FBF5E8;stroke:var(--tl-ink);stroke-width:2.4;stroke-linejoin:round}
.tl-hills path{fill:rgba(150,170,108,.17);stroke:rgba(96,116,62,.34);stroke-width:1.3}
.tl-mtn .m{fill:#C4B089;stroke:rgba(15,42,69,.55);stroke-width:1.4;stroke-linejoin:round}
.tl-mtn .snow{fill:#FFFDF8}
.tl-tea use{fill:#6B9A57}
.tl-river{fill:none;stroke:#7DB1DE;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.tl-river-t{font-weight:500;font-size:15px;letter-spacing:1.6px;fill:#4F86BC}
.tl-shoal ellipse{fill:#EFE3C6;stroke:rgba(15,42,69,.4);stroke-width:1}
.tl-note{font-weight:500;font-size:15px;letter-spacing:.4px;fill:rgba(15,42,69,.62)}
.tl-palm .tr{fill:none;stroke:#7B5B3A;stroke-width:2.6;stroke-linecap:round}
.tl-palm .fr{fill:#5E8C4E}
.tl-light .tw{fill:#FFFDF8;stroke:var(--tl-ink);stroke-width:1.6;stroke-linejoin:round}
.tl-light .st{fill:none;stroke:var(--tl-red);stroke-width:3}
.tl-light .lt{fill:#F3C34B;stroke:var(--tl-ink);stroke-width:1.2}
.tl-light .cap{fill:var(--tl-red)}
.tl-light .beam{fill:rgba(243,195,75,.42)}
.tl-boat .hull{fill:#8A5A3B}
.tl-boat .sail{fill:#FFFDF8;stroke:rgba(15,42,69,.5);stroke-width:1.2;stroke-linejoin:round}
.tl-boat .sail2{fill:#F3C34B;stroke:rgba(15,42,69,.5);stroke-width:1.2;stroke-linejoin:round}
.tl-boat .out{fill:none;stroke:#8A5A3B;stroke-width:2;stroke-linecap:round}
.tl-ele path{fill:#9AA4AF}
.tl-ele .ear{fill:#86909B}
.tl-ele .eye{fill:var(--tl-ink)}
.tl-waves{fill:none;stroke:#8DB8E0;stroke-width:2.2;stroke-linecap:round}
.tl-city circle{fill:#FFFDF8;stroke:rgba(15,42,69,.6);stroke-width:2.4}
.tl-city text{font-weight:500;font-size:19px;fill:rgba(15,42,69,.62);paint-order:stroke;stroke:#FBF5E8;stroke-width:5px;stroke-linejoin:round}
.tl-country{font-weight:600;font-size:24px;letter-spacing:9px;text-anchor:middle;fill:rgba(15,42,69,.36)}
.tl-sea{font-weight:500;font-size:16px;letter-spacing:6px;text-anchor:middle;fill:rgba(47,111,176,.72)}
.tl-sea-big{font-size:18px;letter-spacing:6px}
.tl-route-case{fill:none;stroke:#FFFDF8;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
.tl-route{fill:none;stroke:var(--tl-red);stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round}
.tl-chev{fill:var(--tl-red);stroke:#FFFDF8;stroke-width:2.2;stroke-linejoin:round;opacity:0;transition:opacity .3s ease}
.tl-chev.is-on{opacity:1}
.tl-stop .dot{fill:#FFFDF8;stroke:var(--tl-ink);stroke-width:3;transition:fill .25s ease,stroke .25s ease}
.tl-stop .n{font-weight:700;font-size:17px;text-anchor:middle;fill:var(--tl-ink);transition:fill .25s ease}
.tl-stop.is-on .dot{fill:var(--tl-red);stroke:#FFFDF8}
.tl-stop.is-on .n{fill:#FFFDF8}
.tl-stop .ring{fill:none;stroke:var(--tl-red);stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center}
.tl-stop.is-now .ring{animation:tlPulse 1.8s ease-out infinite}
@keyframes tlPulse{0%{opacity:.85;transform:scale(1)}100%{opacity:0;transform:scale(2.4)}}
.tl-stop-l{opacity:.6;transition:opacity .3s ease}
.tl-stop.is-on .tl-stop-l{opacity:1}
.tl-stop-l text{paint-order:stroke;stroke:#FBF5E8;stroke-width:6px;stroke-linejoin:round}
.tl-stop .d{font-weight:600;font-size:16px;letter-spacing:2.4px;fill:var(--gift)}
.tl-stop .p{font-weight:600;font-size:27px;fill:var(--tl-ink)}
.tl-tip{opacity:0;transition:opacity .2s ease}
.tl-tip.is-on{opacity:1}
.tl-tip use{fill:var(--tl-red);stroke:#FFFDF8;stroke-width:10px}
.tl-compass .c1{fill:rgba(255,253,248,.6);stroke:rgba(15,42,69,.35);stroke-width:1.2}
.tl-compass .c2{fill:none;stroke:rgba(15,42,69,.28);stroke-width:1;stroke-dasharray:3 4}
.tl-compass .p{stroke:rgba(15,42,69,.62);stroke-width:1;stroke-linejoin:round;fill:#FFFDF8}
.tl-compass .p.a.s{fill:var(--tl-ink)}
.tl-compass .p.b.s{fill:#90A6BC}
.tl-compass .p.n.s{fill:var(--tl-red)}
.tl-compass .hub{fill:#F3C34B;stroke:var(--tl-ink);stroke-width:1}
.tl-compass-n{font-weight:700;font-size:20px;text-anchor:middle;fill:var(--tl-ink)}
.tl-scale .k{fill:var(--tl-ink)}
.tl-scale .w{fill:#FFFDF8}
.tl-scale .o{fill:none;stroke:var(--tl-ink);stroke-width:1.4}
.tl-scale text{font-weight:500;font-size:14px;text-anchor:middle;fill:rgba(15,42,69,.72)}
.tl-cart .bx{fill:#FFFDF8;stroke:var(--tl-ink);stroke-width:2}
.tl-cart .bx2{fill:none;stroke:rgba(15,42,69,.38);stroke-width:1}
.tl-cart .t1{font-weight:600;font-size:30px;letter-spacing:6px;text-anchor:middle;fill:var(--tl-ink)}
.tl-cart .t2{font-weight:500;font-size:17px;text-anchor:middle;fill:var(--gift)}
.tl-cart .rule{stroke:rgba(15,42,69,.3);stroke-width:1}
.tl-cart .lg{font-weight:500;font-size:14px;fill:rgba(15,42,69,.82)}
.tl-cart .lg-route{fill:none;stroke:var(--tl-red);stroke-width:5;stroke-linecap:round}
.tl-cart .lg-stop{fill:var(--tl-red);stroke:#FFFDF8;stroke-width:2}
.tl-cart .lg-n{font-weight:700;font-size:12px;text-anchor:middle;fill:#FFFDF8}
.tl-cart .lg-city{fill:#FFFDF8;stroke:rgba(15,42,69,.6);stroke-width:2.4}
.tl-loc .bx{fill:#FFFDF8;stroke:var(--tl-ink);stroke-width:1.6}
.tl-loc .in{fill:#EAE0CB;stroke:rgba(15,42,69,.5);stroke-width:.8;stroke-linejoin:round}
.tl-loc .lk{fill:var(--tl-red)}
.tl-loc .ex{fill:none;stroke:var(--tl-red);stroke-width:1.2}
.tl-loc .lt{font-weight:600;font-size:11px;letter-spacing:2.5px;text-anchor:middle;fill:rgba(15,42,69,.6)}
.tl-loc .lt2{font-weight:600;font-size:12px;letter-spacing:3px;text-anchor:middle;fill:rgba(15,42,69,.45)}
.tl-fr{fill:none;stroke:var(--tl-ink);stroke-width:2}
.tl-fr-in{stroke-width:1.2}
.tl-fr-band{fill:var(--tl-ink)}
.tl-deg{font-weight:600;font-size:12px;letter-spacing:1px;fill:rgba(15,42,69,.55)}
.tl-lk-intro{margin:18px 0 0;max-width:30em;font-size:clamp(17px,1.35vw,21px);line-height:1.5}
.tl-bp{display:flex;margin-top:clamp(36px,4vw,52px);border-radius:14px;background:var(--tl-white);box-shadow:var(--tl-shadow);transform:rotate(-1.2deg)}
.tl-bp-main{flex:1;padding:22px 26px 24px}
.tl-bp-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1.5px dashed rgba(15,42,69,.25);font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.tl-bp-status{padding:7px 12px;border-radius:999px;background:var(--gift);color:#FFF6EC;letter-spacing:.12em}
.tl-bp-grid{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:16px 24px;margin:18px 0 0}
.tl-bp-grid dt{font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(15,42,69,.55)}
.tl-bp-grid dd{margin:4px 0 0;font-weight:500;font-size:clamp(18px,1.6vw,24px)}
.tl-bp-wide{grid-column:1 / -1}
.tl-bp-stub{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:150px;flex:none;padding:22px 20px;box-sizing:border-box;border-left:2px dashed rgba(15,42,69,.22);background:linear-gradient(180deg,#E8F1FA,#D7E7F6);border-radius:0 14px 14px 0}
.tl-bp-stub::before,.tl-bp-stub::after{content:"";position:absolute;left:-12px;width:22px;height:22px;border-radius:50%;background:var(--tl-sea)}
.tl-bp-stub::before{top:-11px}
.tl-bp-stub::after{bottom:-11px;background:var(--tl-sea2)}
.tl-bp-code{display:block;height:46px;background:repeating-linear-gradient(90deg,var(--tl-ink) 0 2px,transparent 2px 4px,var(--tl-ink) 4px 7px,transparent 7px 9px,var(--tl-ink) 9px 10px,transparent 10px 13px)}
.tl-bp-link{margin-top:16px;font-weight:600;font-size:14px;line-height:1.3;color:var(--tl-ink)}
.tl-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 28px;margin:clamp(30px,3.6vw,44px) 0 0;padding:0;list-style:none}
.tl-days li{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(15,42,69,.14);font-size:16px;transition:color .25s ease}
.tl-dn{flex:none;display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;box-sizing:border-box;border:2px solid var(--tl-ink);border-radius:13px;background:#FFFDF8;font-style:normal;font-weight:700;font-size:12px;color:var(--tl-ink);transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.tl-dn-fly{border-color:transparent;background:none;padding:0}
.tl-dn-fly svg{display:block;width:22px;height:20px;fill:var(--tl-ink)}
.tl-dn-home svg{transform:scaleX(-1)}
.tl-days li.is-done .tl-dn:not(.tl-dn-fly){border-color:var(--tl-red);background:var(--tl-red);color:#FFFDF8}
.tl-days li.is-now span{font-weight:600}
.tl-days li.is-now{box-shadow:inset 0 -2px 0 var(--tl-red)}
.tl-days li.is-now .tl-dn-fly svg{fill:var(--tl-red)}
.tl-days b{flex:none;width:58px;font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gift)}
.tl-rcpt{position:relative;width:min(100%,380px);margin:clamp(44px,5vw,64px) 0 0 auto;padding-bottom:22px}
.tl-rcpt-win{position:relative;overflow:hidden;padding:0 10px}
.tl-paper{position:relative;padding:26px 24px 34px;background:var(--tl-white);box-shadow:0 2px 0 rgba(15,42,69,.05);clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),95% 100%,90% calc(100% - 10px),85% 100%,80% calc(100% - 10px),75% 100%,70% calc(100% - 10px),65% 100%,60% calc(100% - 10px),55% 100%,50% calc(100% - 10px),45% 100%,40% calc(100% - 10px),35% 100%,30% calc(100% - 10px),25% 100%,20% calc(100% - 10px),15% 100%,10% calc(100% - 10px),5% 100%,0 calc(100% - 10px));will-change:transform;font-variant-numeric:tabular-nums}
.tl-paper-org{margin:0;text-align:center;font-weight:600;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gift)}
.tl-paper h3{margin:8px 0 0;text-align:center;font-weight:600;font-size:21px;letter-spacing:.02em}
.tl-paper-sub{margin:4px 0 0;text-align:center;font-size:13px;color:rgba(15,42,69,.65)}
.tl-paper table{width:100%;margin:18px 0 0;border-collapse:collapse;font-size:15px}
.tl-paper td{padding:6px 0;border-bottom:1px dotted rgba(15,42,69,.3)}
.tl-paper td:last-child{text-align:right;padding-left:10px}
.tl-paper tfoot td{padding-top:12px;border-bottom:0;border-top:2px solid var(--tl-ink);font-weight:600;font-size:18px}
.tl-paper-usd{margin:10px 0 0;text-align:right;font-weight:600;font-size:15px;color:var(--gift)}
.tl-paper-foot{margin:18px 0 0;padding-top:14px;border-top:1px dashed rgba(15,42,69,.3);text-align:center;font-size:12.5px;line-height:1.45;color:rgba(15,42,69,.7)}
.tl-slot{position:absolute;left:0;right:0;bottom:6px;height:18px;border-radius:9px;background:linear-gradient(180deg,#0F2236,#1C3B5C);box-shadow:0 10px 20px -10px rgba(15,42,69,.6)}
.tl-rcpt .lid-cl-pack{top:-52px;left:50%;width:250px;height:92px;margin-left:-125px}

/* --- 5. Who goes: luggage tags hanging from the line --- */
.tl-team{position:relative;padding:clamp(90px,10vw,150px) clamp(16px,4vw,48px) clamp(100px,11vw,160px);background:var(--tl-paper);color:var(--tl-ink)}
.tl-team-head{max-width:1180px;margin:0 auto}
.tl-team-intro{margin:18px 0 0;max-width:32em;font-size:clamp(17px,1.35vw,21px);line-height:1.5}
.tl-rail{display:flex;flex-wrap:wrap;justify-content:center;gap:96px 18px;max-width:1240px;margin:clamp(60px,7vw,100px) auto 0;padding:0;list-style:none}
.tl-lt{width:min(196px,calc((100% - 72px) / 5));padding-top:58px;opacity:0;transform:translateY(-26px) rotate(calc(var(--r) - 14deg));transform-origin:50% calc(0px - var(--hang,0px));transition:opacity .25s ease,transform .7s cubic-bezier(.25,1.6,.45,1)}
.tl-lt.is-hung{opacity:1;transform:translateY(0) rotate(var(--r))}
.tl-lt-sw{position:relative;transform-origin:50% calc(-58px - var(--hang,0px))}
.tl-lt-sw::before{content:"";position:absolute;left:50%;top:calc(-58px - var(--hang,0px));width:2px;height:calc(82px + var(--hang,0px));margin-left:-1px;background:rgba(15,42,69,.55)}
@media (hover:hover){.tl-lt:hover .tl-lt-sw{animation:tlSwing 1.3s ease-out}}
@keyframes tlSwing{0%{transform:rotate(0)}22%{transform:rotate(7deg)}46%{transform:rotate(-5deg)}68%{transform:rotate(2.5deg)}86%{transform:rotate(-1deg)}100%{transform:rotate(0)}}
.tl-lt-b{position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-height:236px;padding:64px 20px 22px;background:var(--c);color:var(--t);text-decoration:none;clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%,0 30px)}
.tl-lt-b::before{content:"";position:absolute;left:50%;top:16px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--tl-paper);box-shadow:0 0 0 5px rgba(255,255,255,.45)}
.tl-lt-role{font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.tl-lt-b b{margin-top:10px;font-weight:600;font-size:21px;line-height:1.18}
.tl-lt-home{margin-top:auto;padding-top:16px;font-size:14px;line-height:1.35;opacity:.86}
.tl-lt-blank .tl-lt-b{box-shadow:inset 0 0 0 2px rgba(15,42,69,.45)}
.tl-lt-blank .tl-lt-b::after{content:"";position:absolute;inset:8px;border:2px dashed rgba(15,42,69,.35);clip-path:polygon(24px 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%,0 24px)}
.tl-lt-ask{margin-top:auto;padding-top:16px;font-weight:600;font-size:14px;color:var(--gift)}
.tl-lt-blank b{color:rgba(15,42,69,.55)}
.tl-team-note{max-width:1180px;margin:clamp(36px,4vw,56px) auto 0;text-align:center;font-size:15px;color:rgba(15,42,69,.7)}

/* --- 6. Give: tickets --- */
.tl-give{padding:clamp(90px,10vw,150px) clamp(16px,4vw,48px) clamp(90px,10vw,140px);background:var(--ground);color:var(--ink)}
.tl-give-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(44px,6vw,100px);align-items:start}
.tl-give-t{margin:22px 0 0;max-width:26em;font-size:clamp(17px,1.35vw,21px);line-height:1.5;color:rgba(251,247,241,.88)}
.tl-prices{display:grid;gap:18px;margin:clamp(32px,4vw,48px) 0 0;padding:0;list-style:none}
.tl-prices li{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline;padding-top:18px;border-top:1px solid rgba(251,247,241,.18);font-size:17px;line-height:1.45}
.tl-price-n{font-weight:600;font-size:26px;color:var(--give);white-space:nowrap}
.tl-price-n.lid-serif{font-weight:500;font-size:34px}
.tl-tickets{position:relative}
.tl-tickets .lid-cl-give{top:-70px;right:10px;width:280px;height:104px}
.tl-tickets-h{margin:0 0 16px;font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--give)}
.tl-tk-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.tl-tk{position:relative;display:flex;min-height:84px;background:var(--tl-paper);color:var(--tl-ink);border-radius:10px;transition:transform .16s ease;-webkit-mask:radial-gradient(circle 11px at 112px 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at 112px 100%,#0000 97%,#000) bottom/100% 51% no-repeat;mask:radial-gradient(circle 11px at 112px 0,#0000 97%,#000) top/100% 51% no-repeat,radial-gradient(circle 11px at 112px 100%,#0000 97%,#000) bottom/100% 51% no-repeat}
.tl-tk:nth-child(odd){transform:rotate(-.6deg)}
.tl-tk:nth-child(even){transform:rotate(.5deg)}
@media (hover:hover){.tl-tk:hover{transform:translateY(-3px) rotate(0)}}
.tl-tk-s{display:flex;align-items:center;justify-content:center;width:112px;flex:none;padding:0 10px;box-sizing:border-box;background:var(--gift);color:#FFF6EC;font-weight:600;font-size:14px;letter-spacing:.1em;text-transform:uppercase;text-align:center;border-radius:10px 0 0 10px}
.tl-tk-m{display:flex;flex:1;align-items:center;gap:14px;min-width:0;padding:14px 16px 14px 22px;border-left:2px dashed rgba(15,42,69,.3)}
.tl-tk-v{flex:1;min-width:0;font-weight:500;font-size:16px;line-height:1.35;overflow-wrap:anywhere}
.tl .tl-tk-b{flex:none;min-width:76px;min-height:44px;padding:0 16px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--tl-ink);color:#fff;font:inherit;font-weight:500;font-size:14px;text-decoration:none;cursor:pointer;transition:background .15s ease}
.tl .tl-tk-b.is-done{background:var(--gift)}
.tl-tax{margin:20px 0 0;font-size:14px;line-height:1.5;color:rgba(251,247,241,.78)}
.tl-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1180px;margin:clamp(56px,7vw,96px) auto 0}
.tl-card{position:relative;padding:30px 30px 32px 30px;border-radius:4px;background:var(--tl-paper);color:var(--tl-ink);box-shadow:var(--tl-shadow)}
.tl-card:nth-child(1){transform:rotate(-1.4deg)}
.tl-card:nth-child(2){transform:rotate(1.1deg)}
.tl-card::before{content:"";position:absolute;top:18px;bottom:18px;left:58%;width:1px;background:rgba(15,42,69,.16)}
.tl-card-ill{position:absolute;right:22px;top:20px;width:62px;height:62px;padding:8px;box-sizing:border-box;background:#fff;box-shadow:inset 0 0 0 1.5px rgba(207,46,42,.45),0 0 0 4px #fff;transform:rotate(5deg)}
.tl-card h3{margin:0;max-width:52%;font-weight:500;font-size:26px}
.tl-card p{margin:10px 0 22px;max-width:52%;font-size:16px;line-height:1.5;color:rgba(15,42,69,.85)}
.tl .tl-card .lid-btn-ghost{color:var(--tl-ink);box-shadow:inset 0 0 0 1.5px rgba(15,42,69,.5)}
.tl .tl-card .lid-btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--tl-ink)}

/* --- 7. Ask: an airmail envelope --- */
.tl-ask{position:relative;padding:clamp(90px,10vw,150px) clamp(16px,4vw,48px) clamp(100px,11vw,170px);background:var(--tl-paper);color:var(--tl-ink)}
.tl-ask-grid{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,6vw,100px);align-items:center}
.tl-ask-l{position:relative;padding-bottom:clamp(90px,12vw,170px)}
.tl-ask-intro{margin:20px 0 0;max-width:24em;font-size:clamp(17px,1.35vw,21px);line-height:1.5}
.tl-ask-mail{margin:16px 0 0;font-size:16px;line-height:1.6}
.tl-ask-mail a{color:var(--tl-ink);font-weight:500}
.tl-ask-l .lid-cl-ask{left:-6px;bottom:0;width:220px;height:156px}
.tl-env{padding:14px;border-radius:8px;background:repeating-linear-gradient(-45deg,var(--gift) 0 16px,var(--tl-white) 16px 26px,#1E4B7A 26px 42px,var(--tl-white) 42px 52px);box-shadow:var(--tl-shadow);transform:rotate(1.2deg)}
.tl-env-in{position:relative;padding:clamp(22px,3vw,40px);background:var(--tl-white);border-radius:3px}
.tl-env-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;min-height:120px}
.tl-env-to{margin:0;font-size:17px;line-height:1.5}
.tl-env-to span{display:block;font-weight:600;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gift)}
.tl-postage{position:relative;flex:none;width:98px;height:120px;padding:6px;box-sizing:border-box;background:#E9DCC6;transform:rotate(4deg);-webkit-mask:linear-gradient(#000 0 0) content-box,radial-gradient(circle 3.6px,#0000 95%,#000) 0 0/9.4px 9.4px round;mask:linear-gradient(#000 0 0) content-box,radial-gradient(circle 3.6px,#0000 95%,#000) 0 0/9.4px 9.4px round}
.tl-postage-in{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:100%;box-sizing:border-box;padding:6px 4px 8px;background:var(--tl-paper);box-shadow:inset 0 0 0 1.5px rgba(207,46,42,.5)}
.tl-postage svg{width:100%;height:auto;margin-top:4px}
.tl-postage span{font-weight:600;font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--gift)}
.tl-postmark{position:absolute;right:62px;top:56px;display:grid;place-items:center;width:98px;height:98px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(15,42,69,.4),inset 0 0 0 7px var(--tl-white),inset 0 0 0 8.5px rgba(15,42,69,.4);color:rgba(15,42,69,.55);font-weight:600;font-size:11px;letter-spacing:.12em;transform:rotate(-14deg)}
.tl-field{display:grid;gap:6px;margin-bottom:16px}
.tl-field label{font-weight:600;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(15,42,69,.7)}
.tl-field input,.tl-field textarea{box-sizing:border-box;width:100%;padding:10px 2px;border:0;border-bottom:1.5px solid rgba(15,42,69,.35);border-radius:0;background:transparent;font:inherit;font-size:17px;color:var(--tl-ink)}
.tl-field textarea{min-height:120px;resize:vertical;background:repeating-linear-gradient(180deg,transparent 0 31px,rgba(15,42,69,.18) 31px 32px);line-height:32px;border-bottom:0}
.tl-field input:focus,.tl-field textarea:focus{outline:none;border-color:var(--gift)}
.tl-field input:focus-visible,.tl-field textarea:focus-visible{outline:3px solid rgba(207,46,42,.35);outline-offset:2px}

/* --- 8. Footer: the line comes home --- */
.tl-foot{position:relative}
.tl-foot-slogan{position:relative;font-size:clamp(20px,1.8vw,26px)}

/* --- Phones and tablets --- */
@media (max-width:1180px){
.tl-bp{flex-direction:column}
.tl-bp-stub{width:auto;flex-direction:row;align-items:center;gap:16px;border-left:0;border-top:2px dashed rgba(15,42,69,.22);border-radius:0 0 14px 14px}
.tl-bp-stub::before,.tl-bp-stub::after{display:none}
.tl-bp-code{width:90px;height:38px;flex:none}
.tl-bp-link{margin-top:0}
.tl-days{grid-template-columns:1fr}
}
@media (max-width:980px){
.tl-rail{gap:34px 18px;margin-top:clamp(40px,5vw,70px)}
.tl-lt{width:196px}
.tl-journal-grid,.tl-small-grid,.tl-lk-grid,.tl-give-grid,.tl-ask-grid,.tl-place{grid-template-columns:1fr}
.tl-print{max-width:420px;justify-self:center}
.tl-instant{justify-self:center}
.tl-map{position:relative;top:0;width:100%;max-width:560px;margin:0 auto}
.tl-map-sheet{width:100%}
.tl-rcpt{margin-left:auto;margin-right:auto}
.tl-cards{grid-template-columns:1fr}
.tl-ask-l{padding-bottom:0}
.tl-ask-l .lid-cl-ask{display:none}
}
@media (max-width:760px){
.tl-sheet{transform:none;padding:44px 22px 40px 40px}
.tl-sheet::before{left:24px}
.tl-tab{left:40px}
.tl-print-why .lid-cl-why{top:-44px;right:-26px;width:150px;height:136px}
.tl-instant .lid-cl-candy{left:-30px;top:-46px;width:170px;height:136px}
.tl-book{aspect-ratio:auto;perspective:none}
.tl-book-in{position:relative;inset:auto;display:grid;gap:18px;transform:none !important}
.tl-cover{position:relative;left:auto;width:100%;height:auto;transform:none !important}
.tl-cover-f{display:none}
.tl-page,.tl-cover-b{position:relative;left:auto;width:100%;height:auto;transform:none;border-radius:12px;min-height:0}
.tl-cover-b{aspect-ratio:.72;padding:0}
.tl-cover-b .lid-globe{--globe-r:.44}
.tl-page-r{order:2}
.tl-stamps{height:auto;grid-template-rows:auto;gap:18px 14px;padding-top:16px}
.tl-st,.tl-stamps .tl-st{opacity:.7;transform:rotate(var(--sr,0deg))}
.tl-fan img{width:42%;border-width:6px;border-bottom-width:18px}
.tl-bp{flex-direction:column;transform:none}
.tl-bp-stub{width:auto;flex-direction:row;align-items:center;gap:16px;border-left:0;border-top:2px dashed rgba(15,42,69,.22);border-radius:0 0 14px 14px}
.tl-bp-stub::before,.tl-bp-stub::after{display:none}
.tl-bp-code{width:90px;height:38px;flex:none}
.tl-bp-link{margin-top:0}
.tl-bp-grid{grid-template-columns:repeat(2,auto)}
.tl-days{grid-template-columns:1fr}
.tl-map-sm,.tl-cart,.tl-stop .d{display:none}
.tl-stop .p{font-size:34px}
.tl-stop-m{transform:scale(1.35)}
.tl-sea{font-size:20px}
.tl-city text{font-size:24px}
.tl-country{font-size:30px}
.tl-lt{width:calc(50% - 10px);max-width:200px}
.tl-tk-s{width:88px;font-size:12px}
.tl-tk{-webkit-mask:none;mask:none}
.tl-tk-m{flex-wrap:wrap}
.tl-postmark{display:none}
.tl-env{transform:none}
}

/* --- Reduced motion: everything is already in place --- */
@media (prefers-reduced-motion:reduce){
.tl-stop.is-now .ring{animation:none}
.tl-chev,.tl-stop .dot,.tl-stop .n,.tl-stop-l,.tl-dn,.tl-days li{transition:none}
.tl-s95 svg,.tl-s95.is-in svg{transform:rotate(-12deg);opacity:.94;transition:none}
.tl-instant video{filter:none;transition:none}
.tl-st,.tl-stamps.is-in .tl-st{transition:none}
.tl-lt,.tl-lt.is-hung{opacity:1;transform:rotate(var(--r));transition:none}
.tl-lt:hover .tl-lt-sw{animation:none}
.tl-nib{display:none}
}

/* --- The intro: the hand comes up, the heart drops in, the name hops in, the logo docks in the header.
   Every moving piece is its own box, so the browser can move it smoothly while the page is still loading. --- */
.lid-intro{display:none;position:fixed;inset:0;z-index:100;overflow:hidden;cursor:pointer}
.lid-intro.is-on{display:block}
.lid-intro-bg{position:absolute;inset:0;background:radial-gradient(60% 60% at 36% 46%,rgba(255,255,255,.07),rgba(255,255,255,0) 100%),var(--ground)}
.lid-intro-stage{--lw:min(640px,80vw,125vh);--u:calc(var(--lw) / 817);position:absolute;left:50%;top:50%;width:var(--lw);aspect-ratio:817/320;transform:translate(-50%,-50%)}
.lid-intro:not(.is-play) .lid-intro-stage{visibility:hidden}
.lid-intro-on .lid-intro .lid-intro-stage{visibility:visible}
.lid-intro-fly{position:absolute;inset:0;transform-origin:0 0}
.lid-intro-p,.lid-intro-drop,.lid-intro-dip{position:absolute;display:block;overflow:visible}
.lid-intro-squash,.lid-intro-wig,.lid-intro-in{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.lid-intro-hand,.lid-intro-dip,.lid-intro-lt{transform-origin:50% 100%}
.lid-intro-drop{transform-origin:50% 50%}
.lid-intro-squash{transform-origin:50% 68%}
.lid-intro-wig{transform-origin:50% 60%}
.lid-intro-b{position:absolute;left:18.97%;top:33.59%;width:calc(100 * var(--u));height:calc(100 * var(--u));margin:calc(-50 * var(--u)) 0 0 calc(-50 * var(--u));overflow:visible;opacity:0}
.lid-intro-whole{opacity:0}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-hand{animation:lidInHand .66s cubic-bezier(.2,.8,.3,1) both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-dip{animation:lidInDip .4s ease-out 1.02s both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-drop{animation:lidInDrop .62s cubic-bezier(.2,0,.6,.2) .4s both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) :is(.lid-intro-hand,.lid-intro-drop,.lid-intro-squash){will-change:transform}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-squash{animation:lidInSquash .55s ease-out 1.02s both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-wig{animation:lidInWig .65s ease-in-out 2.35s both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-whole{animation:lidInWhole .2s ease 1.12s both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-b{animation:lidInPop 1.15s cubic-bezier(.2,.75,.35,1) calc(1.06s + var(--n) * 25ms) both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-top{animation:lidInHop .55s cubic-bezier(.3,1.4,.5,1) calc(1.3s + var(--i) * 75ms) both}
:is(.lid-intro.is-play,.lid-intro-on .lid-intro) .lid-intro-bot{animation:lidInHop2 .45s cubic-bezier(.3,1.3,.5,1) calc(1.62s + var(--i) * 55ms) both}
.lid-intro-bg{transition:opacity .5s ease}
.lid-intro.is-out .lid-intro-bg{opacity:0}
.lid-intro.is-skip{opacity:0;transition:opacity .35s ease}
@keyframes lidInHand{0%{transform:translateY(calc(50vh + 20%)) rotate(-12deg)}70%{transform:translateY(-5%) rotate(2deg)}100%{transform:none}}
@keyframes lidInDip{0%{transform:none}35%{transform:translateY(8%)}100%{transform:none}}
/* the heart starts just above the top edge of the screen, so the whole fall is seen */
@keyframes lidInDrop{0%{transform:translateY(calc(-50vh - 56%)) rotate(-14deg)}100%{transform:none}}
@keyframes lidInSquash{0%{transform:none}18%{transform:scale(1.16,.8)}45%{transform:scale(.94,1.08)}72%{transform:scale(1.03,.97)}100%{transform:none}}
@keyframes lidInWig{0%{transform:none}25%{transform:rotate(-7deg)}55%{transform:rotate(6deg)}80%{transform:rotate(-2deg)}100%{transform:none}}
@keyframes lidInWhole{0%{opacity:1}100%{opacity:0}}
@keyframes lidInPop{0%{opacity:1;transform:scale(0)}45%{opacity:1;transform:translate(calc(var(--x) * var(--u)),calc(var(--y) * var(--u))) scale(var(--s)) rotate(var(--r))}100%{opacity:0;transform:translate(calc(var(--x) * 1.12 * var(--u)),calc((var(--y) * 1.12 + 190) * var(--u))) scale(var(--s)) rotate(calc(var(--r) * 2.2))}}
@keyframes lidInHop{0%{opacity:0;transform:translateY(75%) scale(.3)}55%{opacity:1;transform:translateY(-16%) scale(1.08)}80%{transform:translateY(4%) scale(.98)}100%{opacity:1;transform:none}}
@keyframes lidInHop2{0%{opacity:0;transform:translateY(55%) scale(.5)}60%{opacity:1;transform:translateY(-11%) scale(1.05)}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lid-intro{display:none !important}}
