:root{--night:#111411;--night-2:#1a201a;--paper:#ece9de;--paper-2:#dad6c9;--sand:#dec08d;--fire:#cf754b;--muted:#99998c;--white:#f6f5ef;--mono:'JetBrains Mono',monospace;--sans:'Manrope',Arial,sans-serif;--page-pad:clamp(22px,5vw,82px);--ease:cubic-bezier(.2,.72,.18,1);color-scheme:dark;scroll-behavior:smooth}
*{box-sizing:border-box}html{scroll-padding-top:90px;background:var(--night)}body{margin:0;background:var(--night);color:var(--white);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.mono-label{font:500 9px/1.5 var(--mono);letter-spacing:.15em;text-transform:uppercase}.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--paper);color:var(--night);padding:10px 14px}.skip-link:focus{left:8px}.scroll-progress{position:fixed;z-index:100;top:0;left:0;right:0;height:2px;background:#ffffff16}.scroll-progress span{display:block;width:100%;height:100%;background:var(--sand);transform:scaleX(0);transform-origin:left center;will-change:transform}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:80px;padding:0 var(--page-pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff20;mix-blend-mode:normal;transition:background .4s ease,border-color .3s}.site-header.is-scrolled{background:#111411d9;backdrop-filter:blur(14px);border-color:#ffffff10}.brand{display:inline-flex;align-items:center;gap:13px;position:relative;z-index:52}.brand-mark{height:27px;width:28px;display:flex;align-items:flex-end;gap:2px;position:relative}.brand-mark:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--fire)}.brand-mark i{display:block;width:8px;background:var(--sand);clip-path:polygon(50% 0,100% 100%,0 100%)}.brand-mark i:nth-child(1){height:14px}.brand-mark i:nth-child(2){height:24px}.brand-mark i:nth-child(3){height:18px}.brand-word{font:600 10px/1.25 var(--mono);letter-spacing:.15em}.brand-word small{display:block;color:var(--sand);font:400 8px/1.5 var(--mono);letter-spacing:.24em}.header-right{display:flex;align-items:center;gap:30px;position:relative;z-index:52}.header-note{color:#e1dfd1a6;font:400 8px var(--mono);letter-spacing:.16em}.menu-toggle{width:44px;height:44px;padding:0;border:1px solid #ffffff50;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;transition:background .25s,border-color .25s}.menu-toggle:hover,.menu-toggle[aria-expanded=true]{background:var(--sand);border-color:var(--sand)}.menu-toggle span{height:1px;width:15px;background:var(--white);transition:transform .25s,background .25s}.menu-toggle[aria-expanded=true] span{background:var(--night)}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.menu-panel{position:fixed;z-index:51;inset:0;background:var(--night);padding:clamp(130px,19vh,210px) var(--page-pad) 60px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .75s var(--ease),opacity .4s,visibility .75s}.menu-panel.is-open{opacity:1;visibility:visible;clip-path:inset(0 0 0 0)}.menu-panel>a{font-size:clamp(38px,7.6vw,94px);font-weight:600;letter-spacing:-.075em;line-height:1.12;transition:color .25s,transform .35s var(--ease)}.menu-panel>a:hover{color:var(--sand);transform:translateX(12px)}.menu-panel>a span{vertical-align:middle;margin-right:20px;color:var(--fire);font:400 10px var(--mono);letter-spacing:.08em}.menu-kicker{position:absolute;top:116px;left:var(--page-pad);color:var(--muted)}.menu-panel>p{position:absolute;bottom:52px;right:var(--page-pad);font:400 9px/1.8 var(--mono);letter-spacing:.13em;text-align:right;text-transform:uppercase;color:var(--muted)}
.hero{height:100svh;min-height:660px;position:relative;isolation:isolate;overflow:hidden;background:#15191a}.hero-media,.hero-shade,.hero-grain{position:absolute;inset:0}.hero-media img{object-position:50% 47%;transform:scale(1.06);animation:hero-drift 16s var(--ease) forwards}.hero-shade{background:linear-gradient(90deg,#0d1112dc 0%,#1013139c 36%,#10131321 78%),linear-gradient(0deg,#0c100fd9 0%,transparent 45%,#0c100f4a 100%)}.hero-grain{opacity:.09;pointer-events:none;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='.96' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.52'/%3E%3C/svg%3E")}.hero-content{position:absolute;inset:0;padding:clamp(140px,20vh,210px) var(--page-pad) 44px;display:flex;flex-direction:column;justify-content:center;max-width:1600px;margin:auto}.hero-label{display:flex;align-items:center;gap:11px;color:#e4ded1}.live-dot{height:6px;width:6px;border-radius:50%;background:#d7ae71;box-shadow:0 0 16px #e5b978;animation:pulse 2.2s infinite}.hero h1{margin:29px 0 0;font-size:clamp(78px,14.5vw,218px);font-weight:600;letter-spacing:-.105em;line-height:.79;max-width:1120px;text-transform:uppercase}.hero h1 span{color:var(--sand)}.hero-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;max-width:1000px;margin-top:auto;padding-bottom:18px}.hero-bottom>p{margin:0;color:#e7e4d8;font-size:12px;line-height:1.65}.circle-link{height:98px;width:98px;border:1px solid #ffffff7a;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font:400 7px/1.4 var(--mono);letter-spacing:.1em;text-align:center;transition:background .3s,color .3s,transform .3s}.circle-link b{font:400 18px var(--sans)}.circle-link:hover{background:var(--sand);color:var(--night);transform:scale(1.06)}.hero-coordinate{text-align:right!important;font:400 9px/1.8 var(--mono)!important;color:#e1d9c8b3!important}.hero-side{position:absolute;right:var(--page-pad);top:50%;transform:translateY(-50%) rotate(90deg);transform-origin:right center;color:#ffffffa0;font:400 8px var(--mono);letter-spacing:.16em}.hero-side span{padding:0 12px;color:var(--fire)}.hero-index{position:absolute;left:var(--page-pad);bottom:41px;color:#ffffffa0}
.section-light{background:var(--paper);color:#181a16}.intro{position:relative;padding:clamp(94px,12vw,178px) var(--page-pad) clamp(105px,13vw,182px);overflow:hidden}.intro-topline{display:flex;justify-content:space-between;color:#727168;border-bottom:1px solid #181a162d;padding-bottom:13px}.intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:end;padding:clamp(60px,9vw,132px) 0 65px}.eyebrow{margin:0 0 24px;color:#776d59;font:500 9px var(--mono);letter-spacing:.16em}.intro-title-block h2,.field-header h2{margin:0;font-size:clamp(54px,8.8vw,134px);font-weight:600;letter-spacing:-.09em;line-height:.93}.intro-title-block h2 span{color:#a16d45}.intro-copy{padding-bottom:8px;max-width:420px}.intro-copy p{font-size:13px;line-height:1.95;color:#5d6056}.intro-copy .intro-big{font-size:21px;font-weight:500;letter-spacing:-.04em;line-height:1.48;color:#242820}.underlined-link{display:inline-flex;align-items:center;gap:24px;margin-top:18px;padding:0 0 10px;border-bottom:1px solid #23261d;font:500 9px var(--mono);letter-spacing:.11em}.underlined-link span{font-size:15px;transition:transform .25s}.underlined-link:hover span{transform:translate(4px,4px)}.intro-image{height:min(65vw,680px);min-height:360px;margin:0;position:relative;overflow:hidden;background:#60665c}.intro-image img{object-position:center 55%;transition:transform 1.2s var(--ease)}.intro-image:hover img{transform:scale(1.025)}.intro-image:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#11150fc2,transparent)}.intro-image figcaption{position:absolute;z-index:1;bottom:20px;left:24px;right:24px;display:flex;justify-content:space-between;color:#fff;font:400 8px var(--mono);letter-spacing:.13em}.intro-vertical{position:absolute;right:20px;top:55%;writing-mode:vertical-rl;color:#77776d;letter-spacing:.18em}
.story-sequence{height:400svh;position:relative;background:var(--night)}.story-pin{height:100svh;width:100%;position:sticky;top:0;overflow:hidden;isolation:isolate;background:#151716}.story-stack{position:absolute;inset:24px;overflow:hidden;background:#25251e}.story-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.91) saturate(.88);transform:scale(1.08);transition:transform 7s linear;clip-path:inset(0 0 100% 0);will-change:clip-path,transform}.story-image[data-story-image="0"]{clip-path:inset(0 0 0 0)}.story-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#101312d9 0%,#10131280 37%,transparent 76%),linear-gradient(0deg,#0a0d0b96 0%,transparent 48%,#080b0a2f 100%)}.story-topline{position:absolute;z-index:4;top:42px;left:calc(var(--page-pad) + 22px);right:calc(var(--page-pad) + 22px);display:flex;justify-content:space-between;color:#ffffffd9}.story-location{color:#ffffffaa}.story-copy{position:absolute;z-index:3;left:calc(var(--page-pad) + 22px);top:50%;transform:translateY(-45%);max-width:min(690px,72vw);transition:opacity .24s,transform .38s var(--ease)}.story-copy.is-changing{opacity:0;transform:translateY(-38%)}.story-kicker{display:flex;gap:9px;color:#e0c391}.story-kicker span{color:#fff}.story-title{font-size:clamp(66px,10vw,150px);font-weight:600;letter-spacing:-.095em;line-height:.9;text-transform:uppercase;margin:27px 0 20px}.story-title em{color:var(--sand);font-style:normal}.story-description{max-width:360px;color:#ecebe1e0;font-size:13px;line-height:1.8}.story-link{display:inline-flex;gap:26px;margin-top:20px;padding-bottom:9px;border-bottom:1px solid #ffffff83;font:400 8px var(--mono);letter-spacing:.12em}.story-link span{color:var(--sand);font-size:15px}.story-footer{position:absolute;z-index:3;left:calc(var(--page-pad) + 22px);right:calc(var(--page-pad) + 22px);bottom:39px;display:grid;grid-template-columns:1fr auto auto;gap:36px;align-items:center}.story-progress{height:1px;background:#ffffff60;position:relative}.story-progress span{position:absolute;inset:-1px auto -1px 0;width:25%;background:var(--sand);transition:width .45s var(--ease)}.story-footnote,.story-pagination{color:#ffffffbd}.story-pagination{display:flex;gap:8px}.story-pagination b{font-weight:500;color:var(--sand)}.story-pagination i{font-style:normal;color:#ffffff73}.story-triggers{position:absolute;inset:0;display:grid;grid-template-rows:repeat(4,100svh);pointer-events:none}.story-triggers>div{height:100%}
.interlude{min-height:86svh;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px var(--page-pad);text-align:center;background:radial-gradient(ellipse at 50% 70%,#473021 0,#211e18 27%,#141713 68%);overflow:hidden}.interlude-photo{position:absolute;inset:0;z-index:0;opacity:.54}.interlude-photo img{filter:brightness(.50) saturate(.66);object-position:center 52%}.interlude:before,.interlude:after{z-index:1;content:"";position:absolute;left:50%;bottom:-38vw;width:74vw;height:74vw;border:1px solid #dec08d20;border-radius:50%;transform:translateX(-50%)}.interlude:after{width:56vw;height:56vw;bottom:-29vw}.interlude-left,.interlude-right{color:#d7c6a6a6;position:relative;z-index:2}.interlude p{position:relative;z-index:2;margin:46px 0;font-size:clamp(45px,8.4vw,120px);font-weight:500;letter-spacing:-.085em;line-height:1.04}.interlude p em{color:var(--sand);font-style:normal}.interlude-right{position:absolute;bottom:34px}
.routes{height:350svh;background:#171a16;position:relative}.routes-pin{height:100svh;position:sticky;top:0;overflow:hidden;padding:95px var(--page-pad) 26px;display:flex;flex-direction:column;justify-content:space-between}.routes-heading{display:flex;align-items:end;justify-content:space-between;gap:32px}.routes-heading p{margin:0 0 12px;color:#b4a98e}.routes-heading h2{font-size:clamp(36px,5.2vw,77px);font-weight:600;line-height:.97;letter-spacing:-.08em;margin:0}.routes-heading h2 span{color:var(--sand)}.routes-instruction{display:flex;align-items:center;gap:24px;color:#e8e5d8;font:400 8px var(--mono);letter-spacing:.1em}.route-meter{color:var(--sand)}.route-window{width:100%;overflow:visible;flex:1;display:flex;align-items:center;margin-top:2vh}.route-track{display:flex;gap:18px;will-change:transform;transform:translate3d(0,0,0)}.route-card{flex:0 0 min(76vw,980px);height:min(61vh,690px);min-height:380px;position:relative;overflow:hidden;background:#30342c}.route-card>img{position:absolute;inset:0;transition:transform 1.3s var(--ease);object-position:center}.route-card:hover>img{transform:scale(1.035)}.route-card:first-child>img{object-position:center 53%}.route-card-shade{position:absolute;inset:0;background:linear-gradient(90deg,#11150f79,transparent 80%),linear-gradient(0deg,#11150fd9 0%,transparent 57%)}.route-card-top{position:absolute;top:21px;left:22px;right:22px;display:flex;justify-content:space-between;color:#fff}.route-card-bottom{position:absolute;left:clamp(22px,4vw,64px);bottom:clamp(22px,4vw,56px)}.route-card-bottom>p{color:#f4dfb9;font-size:11px}.route-card h3{margin:12px 0 27px;font-size:clamp(50px,8vw,115px);font-weight:600;line-height:.83;letter-spacing:-.09em;text-transform:uppercase}.route-card-bottom>a{display:flex;justify-content:space-between;align-items:center;gap:25px;width:min(340px,60vw);padding:13px 0;border-top:1px solid #ffffffa1;font:400 8px var(--mono);letter-spacing:.12em}.route-card-bottom>a span{font-size:15px;color:var(--sand)}.route-watermark{position:absolute;right:18px;bottom:-85px;color:#ffffff10;font-size:min(34vw,430px);font-weight:800;letter-spacing:-.14em;line-height:1}.routes-bottom{display:grid;grid-template-columns:1fr minmax(80px,250px) 1fr;gap:22px;align-items:center;color:#aaa999}.routes-bottom>span:last-child{text-align:right}.route-progress{height:1px;background:#ffffff35;position:relative}.route-progress i{position:absolute;inset:0 auto 0 0;width:33.33%;background:var(--sand);transform-origin:left;transition:width .2s}
.field-notes{padding:clamp(96px,13vw,185px) var(--page-pad);overflow:hidden}.field-header{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:66px}.field-header .mono-label{color:#776d59}.field-header h2{font-size:clamp(68px,12vw,170px);line-height:.79;text-transform:uppercase}.field-header h2 span{color:#a16d45}.field-header>p{max-width:250px;margin:0 3vw 4px 0;color:#68685f;font-size:12px}.notes-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;grid-auto-rows:clamp(240px,28vw,390px);gap:13px}.note{position:relative;overflow:hidden;margin:0;background:#77766a}.note-wide{grid-column:span 2}.note-tall{grid-row:span 2}.note img{transition:transform 1.1s var(--ease);filter:saturate(.8)}.note:hover img{transform:scale(1.045)}.note:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(0deg,#11150fd9,transparent)}.note figcaption{position:absolute;z-index:1;left:20px;right:20px;bottom:19px;display:flex;flex-direction:column;gap:7px;color:#fff}.note figcaption span{font:400 8px var(--mono);letter-spacing:.14em;color:#e9d6b3}.note figcaption b{font-size:15px;font-weight:500;letter-spacing:-.025em}
.before-you-go{min-height:790px;position:relative;padding:clamp(120px,15vw,205px) var(--page-pad) 95px;overflow:hidden;background:#181b17}.before-image,.before-shade{position:absolute;inset:0}.before-image img{object-position:center 55%;filter:saturate(.65)}.before-shade{background:linear-gradient(90deg,#111411f2 0%,#111411d9 46%,#11141173 100%),linear-gradient(0deg,#111411bb,transparent 45%)}.before-content{position:relative;z-index:2;max-width:940px}.before-content>.mono-label{color:#d6bd94}.before-content h2{font-size:clamp(58px,9vw,129px);font-weight:600;letter-spacing:-.1em;line-height:.9;margin:28px 0 52px;text-transform:uppercase}.before-content h2 em{color:var(--sand);font-style:normal}.travel-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;max-width:900px}.travel-notes p{margin:0;color:#d8d8ce;font-size:11px;line-height:1.85}.travel-notes p span{display:block;margin-bottom:12px;color:#d6bd94;font:400 8px var(--mono);letter-spacing:.09em}.end-link{display:inline-flex;align-items:center;gap:26px;margin-top:52px;padding:13px 0;border-bottom:1px solid #ffffff91;font:400 9px var(--mono);letter-spacing:.14em}.end-link span{font-size:17px;color:var(--sand)}.before-marker{position:absolute;right:var(--page-pad);bottom:34px;color:#ffffff91;writing-mode:vertical-rl}
.site-footer{background:var(--night);padding:36px var(--page-pad) 22px}.footer-top{min-height:170px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #ffffff28;padding:12px 0 34px}.footer-top>p{margin:0;color:#a6a99c;font:400 8px/1.9 var(--mono);letter-spacing:.13em}.back-to-top{display:flex;align-items:center;gap:22px;font:400 8px var(--mono);letter-spacing:.12em}.back-to-top span{color:var(--sand);font-size:17px}.footer-bottom{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:start;padding-top:18px;color:#86887f;font:400 7px/1.85 var(--mono);letter-spacing:.08em}.footer-bottom>span:last-child{text-align:right}.footer-bottom a{color:#bcb6a6}.footer-bottom a:hover{color:var(--sand)}
.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}.js [data-reveal].is-visible{opacity:1;transform:translateY(0)}.js .hero-label,.js .hero h1,.js .hero-bottom{animation:fade-up .95s var(--ease) both}.js .hero h1{animation-delay:.1s}.js .hero-bottom{animation-delay:.25s}
@keyframes fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-drift{to{transform:scale(1)}}@keyframes pulse{50%{opacity:.48;box-shadow:0 0 4px #e5b978}}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:32px}.intro-copy{max-width:570px;margin-left:auto}.intro-image{height:62vw}.intro-vertical{display:none}.route-card{flex-basis:82vw}.routes-heading{align-items:start}.routes-instruction{padding-top:8px}.notes-grid{grid-template-columns:1fr 1fr}.note-wide{grid-column:span 2}.note-tall{grid-row:span 1;grid-column:span 2;height:450px}.travel-notes{gap:20px}}
@media(max-width:640px){:root{--page-pad:20px}.site-header{height:67px}.header-note{display:none}.menu-toggle{width:40px;height:40px}.menu-panel{padding-top:125px}.menu-panel>a{font-size:clamp(36px,10vw,61px)}.menu-panel>a span{margin-right:9px}.hero{min-height:680px;height:100svh}.hero-media img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#0d1112d3,#10131349 100%),linear-gradient(0deg,#0c100fe0 0%,transparent 55%,#0c100f61 100%)}.hero-content{padding-top:138px;padding-bottom:26px}.hero h1{font-size:clamp(66px,17vw,105px);letter-spacing:-.11em;margin-top:25px}.hero-bottom{grid-template-columns:1fr auto;gap:15px}.hero-bottom .circle-link{height:78px;width:78px}.hero-coordinate{display:none}.hero-side{display:none}.hero-index{bottom:24px}.mono-label{font-size:8px}.intro{padding-top:84px;padding-bottom:86px}.intro-topline{font-size:7px}.intro-grid{padding:71px 0 43px;gap:30px}.intro-title-block h2{font-size:clamp(54px,14vw,89px)}.eyebrow{font-size:8px}.intro-copy{margin-left:0}.intro-copy .intro-big{font-size:19px}.intro-copy p{font-size:12px}.intro-image{height:105vw;min-height:390px}.intro-image img{object-position:54% center}.intro-image figcaption{left:13px;right:13px;bottom:13px;gap:8px;font-size:6px}.story-sequence{height:400svh}.story-pin{height:100svh}.story-stack{inset:9px}.story-image{object-position:57% center;clip-path:none!important}.story-scrim{background:linear-gradient(90deg,#0e110fd1,transparent 100%),linear-gradient(0deg,#090c0b9a,transparent 54%,#090c0b2f)}.story-topline{left:22px;right:22px;top:22px;gap:14px;font-size:7px}.story-copy{left:22px;right:22px;max-width:none;top:51%;transform:translateY(-40%)}.story-title{font-size:clamp(58px,15vw,91px);margin:22px 0 17px}.story-description{font-size:12px;max-width:290px}.story-link{font-size:7px}.story-footer{left:22px;right:22px;bottom:24px;grid-template-columns:1fr auto;gap:13px}.story-footnote{display:none}.story-progress{grid-column:span 2}.story-pagination{font-size:8px}.interlude{min-height:72svh;padding:72px 20px}.interlude p{font-size:clamp(42px,11.5vw,71px);margin:32px 0}.interlude:before{width:140vw;height:140vw;bottom:-72vw}.interlude:after{width:100vw;height:100vw;bottom:-51vw}.routes{height:auto}.routes-pin{height:auto;position:relative;padding:85px 20px 23px;overflow:hidden;display:block}.routes-heading{display:block}.routes-heading h2{font-size:clamp(39px,10vw,62px)}.routes-instruction{margin-top:18px;justify-content:space-between}.route-window{margin-top:26px;overflow:visible}.route-track{display:flex;flex-direction:column;gap:11px;transform:none!important}.route-card{width:100%;height:66svh;min-height:440px;flex-basis:auto}.route-card-bottom{left:22px;bottom:24px}.route-card h3{font-size:clamp(53px,13vw,77px)}.route-card-top{left:15px;right:15px;top:15px;font-size:7px}.route-watermark{font-size:190px;bottom:-44px}.routes-bottom{margin-top:23px;grid-template-columns:1fr 100px 1fr;gap:10px;font-size:6px}.field-notes{padding:88px 20px 92px}.field-header{display:block;margin-bottom:35px}.field-header h2{font-size:clamp(70px,17vw,106px)}.field-header>p{margin:20px 0 0;max-width:230px}.notes-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px;gap:8px}.note-wide{grid-column:span 2;height:235px}.note-tall{grid-column:span 2;height:245px}.note figcaption{left:12px;right:12px;bottom:12px}.note figcaption span{font-size:6px}.note figcaption b{font-size:12px}.before-you-go{min-height:950px;padding:105px 20px 82px}.before-image img{object-position:60% center}.before-shade{background:linear-gradient(90deg,#111411ed 0%,#111411b8 100%),linear-gradient(0deg,#111411c9,transparent)}.before-content h2{font-size:clamp(52px,13vw,82px);margin:24px 0 42px}.travel-notes{grid-template-columns:1fr;gap:24px}.travel-notes p{max-width:360px}.end-link{margin-top:37px}.before-marker{right:13px;bottom:25px;font-size:7px}.site-footer{padding:27px 20px 16px}.footer-top{min-height:140px;padding-bottom:25px}.footer-top>p{font-size:6px}.back-to-top{font-size:7px;gap:8px}.footer-bottom{grid-template-columns:1fr;gap:9px;font-size:6px}.footer-bottom>span:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}.story-sequence{height:auto}.story-pin{height:auto;position:relative}.story-stack{position:relative;inset:auto;height:85svh}.story-image{clip-path:none!important;opacity:0}.story-image[data-story-image="0"]{opacity:1}.story-triggers{display:none}.routes{height:auto}.routes-pin{position:relative;height:auto}.route-track{transform:none!important}}

/* Luxury editorial layer — Oct 2026 */
:root {
  --luxury-gold: #d8b77a;
  --luxury-cream: #f4efe4;
  --luxury-ink: #0b100f;
  --luxury-line: rgba(216,183,122,.34);
}
html { scroll-behavior: smooth; }
body { background: var(--luxury-ink); color: var(--luxury-cream); }
::selection { background: var(--luxury-gold); color: var(--luxury-ink); }
.site-header { backdrop-filter: blur(14px); transition: background .5s ease, border-color .5s ease, transform .5s ease; }
.site-header.is-scrolled { background: rgba(8,12,11,.78); border-bottom-color: var(--luxury-line); }
.brand-word { letter-spacing: .14em; }
.brand-word small { color: var(--luxury-gold); letter-spacing: .28em; }
.hero { isolation: isolate; }
.hero-media img { transform: scale(1.035); animation: luxury-hero-breathe 16s ease-in-out infinite alternate; filter: saturate(.9) contrast(1.08); }
.hero-shade { background: linear-gradient(90deg, rgba(7,12,11,.86) 0%, rgba(7,12,11,.24) 64%, rgba(7,12,11,.12) 100%), linear-gradient(0deg, rgba(7,12,11,.88), transparent 52%, rgba(7,12,11,.28)); }
.hero h1 { font-size: clamp(108px, 15vw, 250px); line-height: .78; letter-spacing: -.105em; text-shadow: 0 10px 45px rgba(0,0,0,.26); }
.hero h1 span, .intro-title-block h2 span, .route-card h3 span { color: var(--luxury-gold); }
.hero-label, .eyebrow, .mono-label { letter-spacing: .22em; }
.hero-bottom { border-top-color: var(--luxury-line); }
.circle-link { border-color: var(--luxury-gold); color: var(--luxury-cream); transition: transform .45s cubic-bezier(.2,.8,.2,1), background .45s, color .45s; }
.circle-link:hover { transform: rotate(12deg) scale(1.08); background: var(--luxury-gold); color: var(--luxury-ink); }
.section-light { color: var(--luxury-ink); }
.intro-title-block h2 { font-size: clamp(88px, 11vw, 190px); line-height: .82; letter-spacing: -.095em; }
.intro-copy .intro-big { font-size: clamp(22px, 2.1vw, 34px); line-height: 1.15; }
.intro-copy p, .story-description, .travel-notes p { font-size: clamp(14px, 1.05vw, 18px); line-height: 1.65; }
.intro-image, .note, .route-card, .before-image { overflow: hidden; }
.intro-image img, .note img, .route-card img, .before-image img { transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter 1.2s; }
.intro-image:hover img, .note:hover img, .route-card:hover img, .before-image:hover img { transform: scale(1.055); filter: saturate(1.08) contrast(1.06); }
.story-title { font-size: clamp(82px, 12vw, 210px); line-height: .78; letter-spacing: -.1em; }
.story-title, .routes-heading h2, .field-header h2, .before-content h2 { text-wrap: balance; }
.story-copy.is-changing { animation: luxury-copy-in .55s cubic-bezier(.2,.8,.2,1) both; }
.story-progress, .route-progress i, .scroll-progress { background: var(--luxury-gold); }
.interlude { background: #111815; }
.interlude p { font-size: clamp(56px, 8.2vw, 142px); line-height: .92; letter-spacing: -.075em; }
.routes-heading h2 { font-size: clamp(72px, 10vw, 178px); line-height: .8; letter-spacing: -.1em; }
.route-card { border: 1px solid rgba(244,239,228,.18); box-shadow: 0 24px 70px rgba(0,0,0,.18); }
.route-card h3 { font-size: clamp(70px, 9vw, 155px); line-height: .8; letter-spacing: -.09em; }
.route-watermark { color: rgba(216,183,122,.16); }
.field-header h2 { font-size: clamp(96px, 14vw, 240px); line-height: .74; letter-spacing: -.105em; }
.note { transition: transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s; }
.note:hover { transform: translateY(-8px); box-shadow: 0 22px 48px rgba(0,0,0,.18); }
.before-content h2 { font-size: clamp(74px, 10vw, 176px); line-height: .8; letter-spacing: -.095em; }
.end-link { border-color: var(--luxury-gold); }
@keyframes luxury-hero-breathe { from { transform: scale(1.035); } to { transform: scale(1.1); } }
@keyframes luxury-copy-in { from { opacity: .2; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 640px) {
  .hero h1 { font-size: clamp(78px, 20vw, 132px); }
  .intro-title-block h2 { font-size: clamp(68px, 17vw, 110px); }
  .intro-copy .intro-big { font-size: 21px; }
  .story-title { font-size: clamp(66px, 18vw, 108px); }
  .routes-heading h2 { font-size: clamp(54px, 14vw, 86px); }
  .field-header h2 { font-size: clamp(78px, 20vw, 126px); }
  .before-content h2 { font-size: clamp(62px, 16vw, 100px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-media img { animation: none; transform: none; }
  .story-copy.is-changing { animation: none; }
}

/* Campfire footer + motion pass — Oct 2026 */
.hero-media { background: #090d0c; }
.hero-video { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transform: scale(1.035); animation: luxury-hero-breathe 16s ease-in-out infinite alternate; filter: saturate(.92) contrast(1.08); }
.hero-video::-webkit-media-controls { display: none !important; }
.hero-content, .hero-side, .hero-index { animation: camp-arrive 1.1s cubic-bezier(.2,.8,.2,1) both; }
.hero-side { animation-delay: .18s; }
.hero-index { animation-delay: .32s; }
.hero-grain { opacity: .22; animation: camp-grain 8s steps(2) infinite; }
.footer-orbit { position: absolute; width: min(42vw, 560px); aspect-ratio: 1; right: 2vw; top: -56%; border: 1px solid rgba(216,183,122,.16); border-radius: 50%; pointer-events: none; }
.footer-orbit:before, .footer-orbit:after { content: ''; position: absolute; inset: 12%; border: 1px solid rgba(216,183,122,.11); border-radius: 50%; }
.footer-orbit:after { inset: 28%; border-color: rgba(244,239,228,.08); }
.footer-orbit span, .footer-orbit i, .footer-orbit b { position: absolute; display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--luxury-gold); box-shadow: 0 0 22px 5px rgba(216,183,122,.46); }
.footer-orbit span { left: 13%; top: 48%; animation: orbit-drift 8s linear infinite; }
.footer-orbit i { right: 25%; top: 16%; width: 4px; height: 4px; animation: orbit-drift 11s linear infinite reverse; }
.footer-orbit b { left: 51%; bottom: 14%; width: 3px; height: 3px; animation: orbit-drift 14s linear infinite; }
.site-footer { position: relative; overflow: hidden; padding-top: 62px; background: #080d0c; border-top: 1px solid var(--luxury-line); }
.footer-top { position: relative; z-index: 1; min-height: 210px; align-items: flex-start; }
.footer-brand .brand-word { font-size: 18px; }
.footer-manifesto { max-width: 320px; font-size: clamp(18px, 2vw, 30px) !important; line-height: 1.05; letter-spacing: -.03em; }
.footer-manifesto em { color: var(--luxury-gold); font-style: normal; }
.footer-middle { position: relative; z-index: 1; display: grid; grid-template-columns: 1.2fr .9fr 1fr; gap: 7vw; padding: 42px 0 54px; border-top: 1px solid rgba(244,239,228,.16); border-bottom: 1px solid rgba(244,239,228,.16); }
.footer-kicker { display: block; color: var(--luxury-gold); font: 500 9px/1.2 'JetBrains Mono', monospace; letter-spacing: .2em; margin-bottom: 18px; }
.footer-middle p { max-width: 310px; font-size: 17px; line-height: 1.5; color: rgba(244,239,228,.68); }
.footer-links { display: grid; gap: 12px; }
.footer-links a { display: flex; justify-content: space-between; gap: 20px; color: var(--luxury-cream); font-size: 14px; text-decoration: none; border-bottom: 1px solid rgba(244,239,228,.13); padding-bottom: 10px; transition: color .3s, padding .3s, border-color .3s; }
.footer-links a:hover { color: var(--luxury-gold); padding-left: 8px; border-color: var(--luxury-gold); }
.footer-links a span { color: rgba(244,239,228,.4); font: 10px 'JetBrains Mono', monospace; }
.footer-signal { align-self: end; }
.footer-signal strong { display: flex; align-items: center; gap: 9px; font: 500 10px 'JetBrains Mono', monospace; letter-spacing: .08em; }
.footer-signal strong i { width: 8px; height: 8px; border-radius: 50%; background: #d8b77a; box-shadow: 0 0 0 5px rgba(216,183,122,.12), 0 0 20px rgba(216,183,122,.75); animation: signal-pulse 2s ease-in-out infinite; }
.footer-bottom { position: relative; z-index: 1; padding-top: 19px; grid-template-columns: 1fr 1fr 1fr; }
.footer-bottom span:nth-child(2) { text-align: center; }
.footer-bottom span:last-child { text-align: right; }
@keyframes camp-arrive { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: translateY(0); } }
@keyframes camp-grain { 0%,100% { transform: translate(0,0); } 25% { transform: translate(1%,-1%); } 50% { transform: translate(-1%,1%); } 75% { transform: translate(1%,1%); } }
@keyframes orbit-drift { from { transform: rotate(0deg) translateX(190px) rotate(0deg); } to { transform: rotate(360deg) translateX(190px) rotate(-360deg); } }
@keyframes signal-pulse { 0%,100% { opacity: .75; transform: scale(.9); } 50% { opacity: 1; transform: scale(1.15); } }
@media (max-width: 640px) {
  .hero-video { object-position: 58% center; }
  .footer-orbit { width: 300px; right: -100px; top: -13%; }
  .footer-top { min-height: 250px; display: grid; grid-template-columns: 1fr auto; gap: 24px; }
  .footer-manifesto { grid-column: 1 / -1; font-size: 22px !important; }
  .footer-middle { grid-template-columns: 1fr; gap: 34px; padding: 36px 0 40px; }
  .footer-middle p { font-size: 15px; }
  .footer-bottom { grid-template-columns: 1fr; gap: 10px; }
  .footer-bottom span:nth-child(2), .footer-bottom span:last-child { text-align: left; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-video { animation: none; transform: none; }
  .hero-content, .hero-side, .hero-index, .hero-grain, .footer-orbit span, .footer-orbit i, .footer-orbit b, .footer-signal strong i { animation: none; }
}

/* Strong type scale + signature footer — Oct 2026 */
body { font-size: 17px; }
.hero-bottom > p, .hero-coordinate { font-size: clamp(15px, 1.25vw, 20px); line-height: 1.45; }
.intro-copy .intro-big { font-size: clamp(25px, 2.45vw, 40px); }
.intro-copy p:not(.intro-big) { font-size: clamp(16px, 1.25vw, 21px); }
.story-description { font-size: clamp(17px, 1.35vw, 23px); max-width: 540px; }
.story-link, .underlined-link, .end-link, .route-card-bottom a { font-size: clamp(11px, .85vw, 15px); letter-spacing: .16em; }
.route-card-bottom p { font-size: clamp(16px, 1.3vw, 22px); }
.travel-notes p { font-size: clamp(16px, 1.2vw, 20px); }
.travel-notes p span { font-size: 11px; letter-spacing: .15em; }
.mono-label, .eyebrow { font-size: 11px; }
.site-footer { padding-top: 90px; padding-bottom: 26px; background: radial-gradient(circle at 80% 0%, rgba(216,183,122,.13), transparent 34%), linear-gradient(145deg, #0b1512 0%, #080d0c 58%, #111d17 100%); }
.site-footer:before { content: 'CAMP'; position: absolute; left: -2vw; bottom: -9vw; color: rgba(216,183,122,.045); font: 800 clamp(180px, 28vw, 520px)/.7 Manrope, sans-serif; letter-spacing: -.12em; pointer-events: none; }
.footer-top { min-height: 290px; align-items: center; border-bottom: 0; }
.footer-brand .brand-word { font-size: clamp(20px, 2vw, 32px); }
.footer-brand .brand-word small { font-size: .48em; }
.footer-manifesto { max-width: 480px; font-size: clamp(28px, 3.8vw, 64px) !important; line-height: .92; letter-spacing: -.065em; }
.footer-middle { padding: 60px 0 66px; gap: 9vw; border-top: 1px solid rgba(216,183,122,.35); border-bottom: 1px solid rgba(216,183,122,.35); }
.footer-kicker { font-size: 11px; letter-spacing: .24em; }
.footer-middle p { max-width: 390px; font-size: clamp(18px, 1.4vw, 24px); line-height: 1.45; }
.footer-links { gap: 16px; }
.footer-links a { font-size: clamp(17px, 1.35vw, 23px); padding-bottom: 14px; }
.footer-links a span { font-size: 12px; }
.footer-signal strong { font-size: 12px; letter-spacing: .12em; }
.footer-bottom { padding-top: 25px; font-size: 11px; letter-spacing: .12em; }
.footer-orbit { width: min(48vw, 700px); top: -58%; right: -2vw; }
.back-to-top { font-size: 11px; letter-spacing: .18em; }
@media (max-width: 640px) {
  body { font-size: 16px; }
  .mono-label, .eyebrow { font-size: 9px; }
  .hero-bottom > p { font-size: 15px; }
  .intro-copy .intro-big { font-size: 24px; }
  .intro-copy p:not(.intro-big) { font-size: 16px; }
  .story-description { font-size: 16px; line-height: 1.55; }
  .route-card-bottom p { font-size: 17px; }
  .travel-notes p { font-size: 16px; }
  .site-footer { padding-top: 58px; }
  .site-footer:before { font-size: 190px; bottom: -20px; }
  .footer-top { min-height: 330px; align-items: start; }
  .footer-brand .brand-word { font-size: 19px; }
  .footer-manifesto { font-size: 33px !important; line-height: .95; }
  .footer-middle { padding: 44px 0 48px; gap: 42px; }
  .footer-middle p { font-size: 19px; }
  .footer-links a { font-size: 18px; padding-bottom: 13px; }
  .footer-bottom { font-size: 9px; line-height: 1.5; }
  .footer-orbit { width: 340px; right: -118px; top: -10%; }
}

/* Footer V2 — compact editorial structure */
.site-footer-v2 { position: relative; overflow: hidden; padding: 72px 0 24px !important; background: #0b100f !important; color: #f4efe4; }
.site-footer-v2:before { content: none !important; }
.site-footer-v2 .footer-orbit { display: none !important; }
.footer-v2-top { display: flex !important; align-items: end !important; justify-content: space-between !important; gap: 40px; min-height: 0 !important; padding-bottom: 62px; }
.footer-v2-heading h2 { margin: 22px 0 0; max-width: 760px; font: 700 clamp(64px, 8.5vw, 145px)/.8 Manrope, sans-serif; letter-spacing: -.095em; }
.footer-v2-heading h2 em { color: #d8b77a; font-style: normal; }
.footer-v2-cta { display: flex; align-items: center; gap: 18px; flex: 0 0 auto; color: #f4efe4; font: 600 10px/1.2 'JetBrains Mono', monospace; letter-spacing: .14em; text-decoration: none; padding-bottom: 12px; border-bottom: 1px solid #d8b77a; }
.footer-v2-cta b { color: #d8b77a; font-size: 25px; font-weight: 400; transition: transform .3s; }
.footer-v2-cta:hover b { transform: translateY(-5px); }
.footer-v2-rule { height: 1px; background: rgba(216,183,122,.4); }
.footer-v2-grid { display: grid !important; grid-template-columns: 1.3fr .85fr .85fr !important; gap: 10vw; padding: 55px 0 60px; }
.footer-v2-brand .footer-brand { display: inline-flex; margin-bottom: 25px; }
.footer-v2-brand .brand-word { font-size: 18px; }
.footer-v2-brand p { max-width: 320px; margin: 0; color: rgba(244,239,228,.68); font-size: 18px; line-height: 1.5; }
.footer-v2-links { display: grid !important; gap: 0; align-content: start; }
.footer-v2-links .footer-kicker, .footer-v2-status .footer-kicker { margin-bottom: 18px; }
.footer-v2-links a { display: flex; justify-content: space-between; align-items: center; color: #f4efe4; border-bottom: 1px solid rgba(244,239,228,.17); padding: 11px 0; font-size: 16px; text-decoration: none; transition: color .25s, padding .25s, border-color .25s; }
.footer-v2-links a:hover { color: #d8b77a; padding-left: 7px; border-color: #d8b77a; }
.footer-v2-links a b { color: rgba(244,239,228,.4); font: 11px 'JetBrains Mono', monospace; font-weight: 400; }
.footer-v2-status { align-self: start; }
.footer-v2-status strong { display: flex; align-items: center; gap: 10px; font: 600 13px 'JetBrains Mono', monospace; letter-spacing: .12em; }
.footer-v2-status strong i { width: 9px; height: 9px; border-radius: 50%; background: #d8b77a; box-shadow: 0 0 0 5px rgba(216,183,122,.12), 0 0 22px rgba(216,183,122,.8); animation: signal-pulse 2s infinite; }
.footer-v2-status p { margin: 24px 0 22px; color: rgba(244,239,228,.8); font-size: 25px; line-height: 1; letter-spacing: -.04em; }
.footer-coordinate { color: #d8b77a; font: 10px 'JetBrains Mono', monospace; letter-spacing: .12em; }
.footer-v2-bottom { display: flex !important; justify-content: space-between; gap: 20px; padding-top: 20px; border-top: 1px solid rgba(244,239,228,.16); color: rgba(244,239,228,.48); font: 10px 'JetBrains Mono', monospace; letter-spacing: .1em; }
@media (max-width: 640px) {
  .site-footer-v2 { padding: 54px 20px 20px !important; }
  .footer-v2-top { display: block !important; padding-bottom: 42px; }
  .footer-v2-heading h2 { font-size: clamp(61px, 17vw, 100px); margin-top: 19px; }
  .footer-v2-cta { display: inline-flex; margin-top: 34px; }
  .footer-v2-grid { display: block !important; padding: 40px 0 42px; }
  .footer-v2-brand, .footer-v2-links, .footer-v2-status { margin-bottom: 42px; }
  .footer-v2-brand p { font-size: 17px; }
  .footer-v2-links a { font-size: 17px; padding: 14px 0; }
  .footer-v2-status p { font-size: 29px; }
  .footer-v2-bottom { display: grid !important; grid-template-columns: 1fr; gap: 9px; font-size: 9px; line-height: 1.5; }
}

/* Footer V3 — social camp identity */
.site-footer-v3 { padding: 76px 0 24px !important; background: linear-gradient(135deg,#0a100e,#111c15 58%,#0a100e) !important; }
.footer-v3-top { display:flex; align-items:end; justify-content:space-between; gap:30px; padding-bottom:58px; }
.footer-v3-top h2 { margin:20px 0 0; font:700 clamp(64px,8vw,140px)/.8 Manrope,sans-serif; letter-spacing:-.1em; }
.footer-v3-top h2 em { color:#d8b77a; font-style:normal; }
.footer-v3-back { color:#f4efe4; font:600 10px 'JetBrains Mono',monospace; letter-spacing:.14em; text-decoration:none; border-bottom:1px solid #d8b77a; padding-bottom:12px; white-space:nowrap; }
.footer-v3-back b { color:#d8b77a; font-size:22px; margin-left:14px; }
.footer-v3-line { height:1px; background:rgba(216,183,122,.45); }
.footer-v3-grid { display:grid; grid-template-columns:1.35fr .82fr .82fr; gap:9vw; padding:54px 0 60px; }
.footer-v3-left .footer-brand { display:inline-flex; margin-bottom:20px; }
.footer-v3-left .brand-word { font-size:18px; }
.footer-v3-left>p { margin:0 0 28px; color:rgba(244,239,228,.7); font-size:19px; line-height:1.45; }
.footer-v3-whatsapp { display:flex; align-items:center; gap:12px; max-width:360px; color:#fff; background:#159b50; border:1px solid #39d27b; border-radius:8px; padding:14px 16px; text-decoration:none; box-shadow:0 12px 30px rgba(0,0,0,.25); transition:transform .3s, background .3s; }
.footer-v3-whatsapp:hover { transform:translateY(-4px); background:#20b965; }
.footer-v3-wa-icon { width:34px; height:34px; display:grid; place-items:center; background:#fff; color:#159b50; border-radius:50%; flex:0 0 auto; }
.footer-v3-wa-icon svg { width:21px; height:21px; fill:currentColor; }
.footer-v3-whatsapp span:nth-child(2) { display:grid; gap:4px; }
.footer-v3-whatsapp strong { font-size:14px; }
.footer-v3-whatsapp small { font:11px 'JetBrains Mono',monospace; opacity:.8; }
.footer-v3-whatsapp>b { margin-left:auto; font-size:22px; font-weight:400; }
.footer-v3-social { margin-top:30px; }
.footer-v3-social .footer-kicker { margin-bottom:13px; }
.footer-v3-social>div { display:flex; gap:9px; }
.footer-v3-social a { width:38px; height:38px; display:grid; place-items:center; color:#f4efe4; border:1px solid rgba(216,183,122,.48); border-radius:50%; font:600 16px/1 Manrope,sans-serif; text-decoration:none; transition:color .25s,background .25s,transform .25s; }
.footer-v3-social a:hover { color:#0a100e; background:#d8b77a; transform:translateY(-4px); }
.footer-v3-nav { display:grid; align-content:start; }
.footer-v3-nav .footer-kicker { margin-bottom:18px; }
.footer-v3-nav a { display:flex; justify-content:space-between; color:#f4efe4; border-bottom:1px solid rgba(244,239,228,.18); padding:12px 0; font-size:16px; text-decoration:none; transition:color .25s,padding .25s,border-color .25s; }
.footer-v3-nav a:hover { color:#d8b77a; padding-left:7px; border-color:#d8b77a; }
.footer-v3-nav a b { color:rgba(244,239,228,.4); font:11px 'JetBrains Mono',monospace; font-weight:400; }
.footer-v3-status strong { display:flex; align-items:center; gap:10px; font:600 13px 'JetBrains Mono',monospace; letter-spacing:.12em; }
.footer-v3-status strong i { width:9px; height:9px; border-radius:50%; background:#d8b77a; box-shadow:0 0 0 5px rgba(216,183,122,.12),0 0 22px rgba(216,183,122,.8); animation:signal-pulse 2s infinite; }
.footer-v3-status h3 { margin:28px 0 25px; font:500 clamp(32px,3vw,52px)/.95 Manrope,sans-serif; letter-spacing:-.07em; }
.footer-v3-status h3 em { color:#d8b77a; font-style:normal; }
.footer-coordinate { color:#d8b77a; font:10px 'JetBrains Mono',monospace; letter-spacing:.12em; }
.footer-v3-bottom { display:flex; justify-content:space-between; gap:20px; padding-top:20px; border-top:1px solid rgba(244,239,228,.17); color:rgba(244,239,228,.48); font:10px 'JetBrains Mono',monospace; letter-spacing:.1em; }
@media(max-width:640px){.site-footer-v3{padding:55px 20px 20px!important}.footer-v3-top{display:block;padding-bottom:43px}.footer-v3-top h2{font-size:clamp(61px,17vw,100px)}.footer-v3-back{display:inline-block;margin-top:30px}.footer-v3-grid{display:block;padding:40px 0}.footer-v3-left,.footer-v3-nav,.footer-v3-status{margin-bottom:45px}.footer-v3-left>p{font-size:17px}.footer-v3-whatsapp{max-width:none}.footer-v3-nav a{font-size:17px;padding:14px 0}.footer-v3-status h3{font-size:40px}.footer-v3-bottom{display:grid;grid-template-columns:1fr;gap:9px;font-size:9px;line-height:1.5}}

/* Floating WhatsApp + final footer alignment pass */
.site-footer-v3 { box-sizing: border-box; padding-left: clamp(20px,5vw,68px) !important; padding-right: clamp(20px,5vw,68px) !important; }
.site-footer-v3 > * { max-width: 1400px; margin-left: auto; margin-right: auto; }
.footer-v3-top { padding-top: 8px; }
.footer-v3-top h2 { max-width: 670px; font-size: clamp(58px,7.1vw,116px); }
.footer-v3-grid { grid-template-columns: minmax(280px,1.15fr) minmax(220px,.8fr) minmax(220px,.8fr); gap: clamp(40px,8vw,140px); }
.footer-v3-bottom { font-size: 10px; }
.camping-float-whatsapp { position: fixed; z-index: 80; left: 22px; bottom: 24px; width: 58px; height: 58px; display: grid; place-items: center; color: #fff; background: #18b957; border: 2px solid rgba(255,255,255,.88); border-radius: 50%; box-shadow: 0 8px 24px rgba(0,0,0,.32), 0 0 0 7px rgba(24,185,87,.16); text-decoration: none; transition: transform .28s, background .28s, box-shadow .28s; }
.camping-float-whatsapp:hover { transform: translateY(-5px) scale(1.06); background: #20c964; box-shadow: 0 12px 30px rgba(0,0,0,.38), 0 0 0 10px rgba(24,185,87,.2); }
.camping-float-whatsapp svg { width: 30px; height: 30px; fill: currentColor; }
.camping-float-whatsapp span { position: absolute; left: 68px; white-space: nowrap; padding: 8px 11px; color: #fff; background: #101714; border: 1px solid rgba(216,183,122,.45); border-radius: 5px; font: 600 10px 'JetBrains Mono',monospace; letter-spacing: .07em; opacity: 0; transform: translateX(-7px); pointer-events: none; transition: opacity .25s, transform .25s; }
.camping-float-whatsapp:hover span { opacity: 1; transform: translateX(0); }
@media (max-width: 640px) {
  .site-footer-v3 { padding-left: 20px !important; padding-right: 20px !important; }
  .footer-v3-top h2 { font-size: clamp(56px, 16vw, 94px); }
  .footer-v3-grid { grid-template-columns: 1fr; gap: 0; }
  .camping-float-whatsapp { left: 16px; bottom: 18px; width: 54px; height: 54px; }
  .camping-float-whatsapp svg { width: 28px; height: 28px; }
  .camping-float-whatsapp span { display: none; }
}

/* GSAP sections — Rituals + Escape */
.rituals-gsap { position:relative; min-height:260vh; background:#121b16; color:#f4efe4; }
.rituals-gsap-pin { position:sticky; top:0; height:100vh; min-height:680px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; padding:7vh clamp(20px,5vw,68px) 5vh; box-sizing:border-box; }
.rituals-gsap-head { position:relative; z-index:2; display:flex; align-items:end; justify-content:space-between; max-width:1400px; width:100%; margin:0 auto 46px; }
.rituals-gsap-head h2 { margin:18px 0 0; font:700 clamp(52px,7vw,118px)/.8 Manrope,sans-serif; letter-spacing:-.095em; }
.rituals-gsap-head h2 em { color:#d8b77a; font-style:normal; }
.rituals-gsap-count { color:#d8b77a; padding-bottom:10px; }
.rituals-gsap-window { width:100%; max-width:1400px; margin:0 auto; overflow:visible; }
.rituals-gsap-track { display:flex; gap:18px; width:max-content; }
.ritual-card { position:relative; width:min(67vw,900px); min-height:320px; aspect-ratio:1.62/1; box-sizing:border-box; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(26px,4vw,58px); overflow:hidden; background:linear-gradient(135deg,#d8b77a,#9a743d); color:#101612; }
.ritual-card:after { content:'01'; position:absolute; right:-.04em; bottom:-.2em; color:rgba(16,22,18,.12); font:800 clamp(180px,28vw,460px)/.7 Manrope,sans-serif; letter-spacing:-.15em; }
.ritual-card-fire { background:linear-gradient(135deg,#753d2a,#241510); color:#f4efe4; }
.ritual-card-stars { background:linear-gradient(135deg,#253e4a,#101c29); color:#f4efe4; }
.ritual-card-fire:after { content:'02'; color:rgba(244,239,228,.08); }.ritual-card-stars:after { content:'03'; color:rgba(244,239,228,.08); }
.ritual-card-no { position:relative; z-index:1; font:600 12px 'JetBrains Mono',monospace; letter-spacing:.16em; }
.ritual-card-icon { position:absolute; z-index:1; right:7%; top:8%; font-size:clamp(34px,4vw,64px); color:rgba(244,239,228,.72); }
.ritual-card>div:last-child { position:relative; z-index:1; }.ritual-card p { margin:0 0 18px; opacity:.7; }.ritual-card h3 { margin:0 0 18px; font:700 clamp(32px,4.5vw,76px)/.82 Manrope,sans-serif; letter-spacing:-.08em; }.ritual-card span { display:block; max-width:350px; font-size:clamp(14px,1.15vw,18px); line-height:1.45; opacity:.72; }
.rituals-gsap-foot { display:flex; align-items:center; gap:24px; max-width:1400px; width:100%; margin:42px auto 0; color:rgba(244,239,228,.52); }.rituals-gsap-line { width:180px; height:1px; background:rgba(216,183,122,.3); }.rituals-gsap-line i { display:block; width:0; height:100%; background:#d8b77a; }
.escape-cta-gsap { position:relative; min-height:92vh; display:grid; place-items:center; overflow:hidden; color:#f4efe4; }.escape-cta-gsap-bg { position:absolute; inset:-8%; background:url('../img/camping/hero-stars.jpg') center/cover; transform:scale(1.08); }.escape-cta-gsap-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,10,8,.87),rgba(5,10,8,.3)),linear-gradient(0deg,rgba(5,10,8,.8),transparent 60%); }.escape-cta-gsap-content { position:relative; z-index:1; width:min(1400px,90%); margin:auto; }.escape-cta-gsap-content h2 { margin:22px 0 26px; font:700 clamp(80px,13vw,220px)/.72 Manrope,sans-serif; letter-spacing:-.12em; }.escape-cta-gsap-content h2 em { color:#d8b77a; font-style:normal; }.escape-cta-copy { max-width:360px; margin:0 0 30px; font-size:clamp(18px,1.45vw,24px); line-height:1.35; color:rgba(244,239,228,.76); }.escape-cta-button { display:inline-flex; align-items:center; gap:26px; color:#101612; background:#d8b77a; padding:17px 21px; font:700 11px 'JetBrains Mono',monospace; letter-spacing:.12em; text-decoration:none; transition:background .3s,transform .3s; }.escape-cta-button b { font-size:22px; font-weight:400; }.escape-cta-button:hover { background:#f4efe4; transform:translateY(-4px); }.escape-cta-mark { position:absolute; z-index:1; right:clamp(20px,5vw,68px); bottom:35px; color:#d8b77a; }
@media(max-width:700px){.rituals-gsap{min-height:auto}.rituals-gsap-pin{position:relative;height:auto;min-height:0;padding:85px 20px 48px}.rituals-gsap-head{display:block;margin-bottom:32px}.rituals-gsap-head h2{font-size:clamp(55px,16vw,92px)}.rituals-gsap-count{display:block;margin-top:20px}.rituals-gsap-window{overflow:auto;margin-inline:-20px;padding-inline:20px;scrollbar-width:none}.rituals-gsap-window::-webkit-scrollbar{display:none}.rituals-gsap-track{gap:12px}.ritual-card{width:calc(100vw - 42px);min-height:390px;aspect-ratio:auto;padding:27px}.rituals-gsap-foot{margin-top:28px;gap:10px;font-size:8px}.rituals-gsap-line{flex:1}.escape-cta-gsap{min-height:78vh}.escape-cta-gsap-content{width:calc(100% - 40px)}.escape-cta-gsap-content h2{font-size:clamp(78px,21vw,140px)}.escape-cta-copy{font-size:17px}.escape-cta-mark{right:20px;bottom:22px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.rituals-gsap-track{transform:none!important}.escape-cta-gsap-bg{transform:none!important}}

/* GSAP polish pass — header-safe sticky stage + richer interaction */
.rituals-gsap { scroll-margin-top: 88px; }
.rituals-gsap-pin { top: 86px; height: calc(100vh - 86px); min-height: 594px; padding-top: 5vh; }
.rituals-gsap-head { margin-bottom: 34px; }
.rituals-gsap-head h2 { font-size: clamp(48px, 6.2vw, 104px); }
.ritual-card { width: min(60vw, 790px); min-height: 300px; aspect-ratio: 1.72 / 1; cursor: pointer; transform-style: preserve-3d; transition: transform .65s cubic-bezier(.2,.8,.2,1), box-shadow .65s, filter .65s; }
.ritual-card:before { content: ''; position: absolute; inset: 0; z-index: 0; background: radial-gradient(circle at var(--mx, 75%) var(--my, 20%), rgba(255,255,255,.3), transparent 23%), linear-gradient(120deg, transparent 30%, rgba(255,255,255,.16), transparent 70%); opacity: 0; transition: opacity .5s; pointer-events: none; }
.ritual-card:hover { transform: translateY(-12px) rotateX(2deg) rotateY(-2deg) scale(1.015); box-shadow: 0 30px 70px rgba(0,0,0,.3), 0 0 0 1px rgba(216,183,122,.6); filter: saturate(1.12); }
.ritual-card:hover:before { opacity: 1; }
.ritual-card-icon { transition: transform .7s cubic-bezier(.2,.8,.2,1), color .35s; }
.ritual-card:hover .ritual-card-icon { transform: rotate(18deg) scale(1.25); color: #fff; }
.ritual-card h3, .ritual-card span, .ritual-card p { transition: transform .55s cubic-bezier(.2,.8,.2,1), opacity .4s; }
.ritual-card:hover h3 { transform: translateX(8px); }
.ritual-card:hover span { transform: translateX(8px); opacity: 1; }
.ritual-card:hover p { transform: translateX(5px); opacity: 1; }
.rituals-gsap-line i { transition: width .2s linear; box-shadow: 0 0 12px rgba(216,183,122,.75); }
.escape-cta-gsap:after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: radial-gradient(circle at 70% 40%, transparent 0, rgba(5,10,8,.12) 42%, rgba(5,10,8,.55) 100%); mix-blend-mode: multiply; }
.escape-cta-button { position: relative; overflow: hidden; }
.escape-cta-button:before { content: ''; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.55) 45%, transparent 70%); transform: translateX(-120%); transition: transform .7s; }
.escape-cta-button:hover:before { transform: translateX(120%); }
.escape-cta-button span, .escape-cta-button b { position: relative; z-index: 1; }
@media(max-width:700px){
  .rituals-gsap-pin { top: 70px; height: auto; min-height: 0; padding-top: 68px; }
  .ritual-card { width: calc(100vw - 42px); min-height: 350px; aspect-ratio: auto; }
  .ritual-card:hover { transform: translateY(-5px) scale(1.01); }
}

/* Remove the spacer before the rituals stage */
.field-notes + .rituals-gsap { margin-top: 0 !important; }
.field-notes { padding-bottom: clamp(38px, 5vw, 72px) !important; }
.rituals-gsap-pin { justify-content: flex-start; padding-top: clamp(58px, 8vh, 92px); }
.rituals-gsap-head { flex: 0 0 auto; }
@media(max-width:700px){.field-notes{padding-bottom:44px!important}.rituals-gsap-pin{padding-top:68px}}

/* Logo scale + identity polish */
.site-header .brand { gap: 16px; }
.site-header .brand-mark { width: 40px; height: 38px; gap: 3px; }
.site-header .brand-mark i { width: 11px; }
.site-header .brand-mark i:nth-child(1) { height: 20px; }
.site-header .brand-mark i:nth-child(2) { height: 34px; }
.site-header .brand-mark i:nth-child(3) { height: 26px; }
.site-header .brand-word { font-size: 14px; line-height: 1.18; letter-spacing: .18em; }
.site-header .brand-word small { font-size: 10px; line-height: 1.45; letter-spacing: .3em; }
.site-header .brand:hover .brand-mark { transform: translateY(-2px); }
.site-header .brand-mark, .site-footer-v3 .brand-mark { transition: transform .35s cubic-bezier(.2,.8,.2,1); }
.site-footer-v3 .footer-brand { gap: 17px; }
.site-footer-v3 .footer-brand .brand-mark { width: 46px; height: 44px; gap: 3px; }
.site-footer-v3 .footer-brand .brand-mark i { width: 13px; }
.site-footer-v3 .footer-brand .brand-mark i:nth-child(1) { height: 23px; }
.site-footer-v3 .footer-brand .brand-mark i:nth-child(2) { height: 39px; }
.site-footer-v3 .footer-brand .brand-mark i:nth-child(3) { height: 30px; }
.site-footer-v3 .footer-brand .brand-word { font-size: 22px; line-height: 1.12; letter-spacing: .18em; }
.site-footer-v3 .footer-brand .brand-word small { font-size: 11px; letter-spacing: .3em; }
.site-footer-v3 .footer-brand:hover .brand-mark { transform: translateY(-3px) rotate(-2deg); }
@media(max-width:700px){
  .site-header .brand { gap: 11px; }
  .site-header .brand-mark { width: 33px; height: 32px; gap: 2px; }
  .site-header .brand-mark i { width: 9px; }
  .site-header .brand-mark i:nth-child(1) { height: 17px; }
  .site-header .brand-mark i:nth-child(2) { height: 29px; }
  .site-header .brand-mark i:nth-child(3) { height: 22px; }
  .site-header .brand-word { font-size: 12px; }
  .site-header .brand-word small { font-size: 8px; }
  .site-footer-v3 .footer-brand { gap: 13px; }
  .site-footer-v3 .footer-brand .brand-mark { width: 39px; height: 38px; }
  .site-footer-v3 .footer-brand .brand-mark i { width: 11px; }
  .site-footer-v3 .footer-brand .brand-mark i:nth-child(1) { height: 20px; }
  .site-footer-v3 .footer-brand .brand-mark i:nth-child(2) { height: 33px; }
  .site-footer-v3 .footer-brand .brand-mark i:nth-child(3) { height: 25px; }
  .site-footer-v3 .footer-brand .brand-word { font-size: 18px; }
  .site-footer-v3 .footer-brand .brand-word small { font-size: 9px; }
}

/* Cinematic entry system — Camping Egypt */
.camp-entering{overflow:hidden}
.camp-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#0a0d0c;color:#f4efe4;overflow:hidden;isolation:isolate;transition:opacity .8s cubic-bezier(.2,.8,.2,1),visibility .8s}
.camp-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.camp-loader__media,.camp-loader__veil,.camp-loader__grain{position:absolute;inset:0}
.camp-loader__media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.58) contrast(1.12) brightness(.62);transform:scale(1.12);animation:camp-loader-zoom 5s cubic-bezier(.2,.7,.2,1) forwards}
.camp-loader__veil{background:radial-gradient(circle at 50% 46%,transparent 0%,rgba(8,12,11,.22) 34%,rgba(8,12,11,.9) 100%),linear-gradient(90deg,rgba(8,12,11,.8),rgba(8,12,11,.18) 50%,rgba(8,12,11,.72))}
.camp-loader__grain{opacity:.16;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='.8'/%3E%3C/svg%3E");mix-blend-mode:screen;animation:camp-loader-grain .25s steps(2) infinite}
.camp-loader__content{position:relative;z-index:2;width:min(100% - 48px,1500px);height:min(100% - 48px,900px);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,3vw,45px) 0}
.camp-loader__top,.camp-loader__bottom{display:flex;justify-content:space-between;gap:20px;color:rgba(244,239,228,.68);font:500 9px/1.2 'JetBrains Mono',monospace;letter-spacing:.18em;text-transform:uppercase}
.camp-loader__center{text-align:center;transform:translateY(3vh);animation:camp-loader-rise 1s .22s both cubic-bezier(.2,.8,.2,1)}
.camp-loader__mark{width:54px;height:40px;display:inline-flex;align-items:flex-end;justify-content:center;gap:5px;margin-bottom:20px}
.camp-loader__mark i{display:block;width:5px;background:#d8b77a;box-shadow:0 0 22px rgba(216,183,122,.65);animation:camp-loader-bars 1.4s ease-in-out infinite alternate}
.camp-loader__mark i:nth-child(1){height:23px}.camp-loader__mark i:nth-child(2){height:38px;animation-delay:.2s}.camp-loader__mark i:nth-child(3){height:29px;animation-delay:.4s}
.camp-loader__word{margin:0;color:#f4efe4;font:600 clamp(18px,2.2vw,28px)/1 'Manrope',sans-serif;letter-spacing:.22em}.camp-loader__word small{display:block;margin-top:9px;color:#d8b77a;font:500 8px/1 'JetBrains Mono',monospace;letter-spacing:.52em}
.camp-loader__manifesto{margin:clamp(28px,4vw,58px) 0 0;color:#f4efe4;font:600 clamp(42px,7.5vw,118px)/.78 'Manrope',sans-serif;letter-spacing:-.09em;text-transform:uppercase}.camp-loader__manifesto em{color:#d8b77a;font-style:normal}
.camp-loader__line{height:1px;background:rgba(244,239,228,.22);overflow:hidden}.camp-loader__line i{display:block;width:0;height:100%;background:#d8b77a;box-shadow:0 0 18px #d8b77a;animation:camp-loader-progress 2.4s .25s cubic-bezier(.2,.8,.2,1) forwards}
.camp-loader__orbit{position:absolute;z-index:1;width:min(52vw,760px);aspect-ratio:1;border:1px solid rgba(216,183,122,.24);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-22deg);pointer-events:none}.camp-loader__orbit:before{content:"";position:absolute;inset:13%;border:1px solid rgba(244,239,228,.12);border-radius:50%}.camp-loader__orbit:after{content:"";position:absolute;left:8%;top:50%;width:6px;height:6px;border-radius:50%;background:#d8b77a;box-shadow:0 0 20px 5px rgba(216,183,122,.55);animation:camp-loader-orbit 7s linear infinite}.camp-loader__orbit--two{width:min(35vw,500px);transform:translate(-50%,-50%) rotate(54deg);border-color:rgba(244,239,228,.1)}.camp-loader__orbit--two:after{left:auto;top:7%;right:14%;width:4px;height:4px;background:#f4efe4}
@keyframes camp-loader-progress{to{width:100%}}@keyframes camp-loader-zoom{from{transform:scale(1.12)}to{transform:scale(1.02)}}@keyframes camp-loader-rise{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(3vh)}}@keyframes camp-loader-bars{to{transform:translateY(-7px);opacity:.6}}@keyframes camp-loader-orbit{to{transform:rotate(360deg) translateX(3px) rotate(-360deg)}}@keyframes camp-loader-grain{0%,100%{transform:translate(0,0)}25%{transform:translate(1%,-1%)}50%{transform:translate(-1%,1%)}75%{transform:translate(1%,1%)}}
@media(max-width:640px){.camp-loader__content{width:calc(100% - 40px);height:calc(100% - 40px)}.camp-loader__top,.camp-loader__bottom{font-size:7px;letter-spacing:.11em}.camp-loader__top span:last-child{max-width:130px;text-align:right}.camp-loader__manifesto{font-size:clamp(39px,12vw,70px)}.camp-loader__orbit{width:130vw}.camp-loader__orbit--two{width:95vw}}
@media(prefers-reduced-motion:reduce){.camp-loader__media img,.camp-loader__grain,.camp-loader__mark i,.camp-loader__orbit:after,.camp-loader__line i{animation:none}.camp-loader__line i{width:100%}}
/* Loader stability patch */
html:has(body.camp-entering),html:has(body.camp-entering) body{background:#0a0d0c}
body.camp-entering{overflow:hidden!important}
body.camp-entering> :not(.camp-loader){visibility:hidden!important}
body.camp-entering.camp-exposing> :not(.camp-loader){visibility:visible!important}
.camp-loader{will-change:opacity;backface-visibility:hidden;transform:translateZ(0)}
.camp-loader__media img{backface-visibility:hidden;will-change:transform}
/* No-flicker cinematic refinement */
.camp-loader__grain{opacity:.035!important;animation:none!important;transform:none!important}
.camp-loader__orbit:after,.camp-loader__orbit--two:after{animation:none!important;transform:none!important;opacity:.72}
.camp-loader__mark i{animation:none!important;transform:none!important;opacity:1}
.camp-loader__mark i:nth-child(2){opacity:.82}.camp-loader__mark i:nth-child(3){opacity:.9}
.camp-loader__media img{animation:camp-loader-zoom-stable 4.8s cubic-bezier(.2,.7,.2,1) forwards!important}
@keyframes camp-loader-zoom-stable{from{transform:scale(1.08)}to{transform:scale(1.02)}}
/* Navigation + SEO polish — Camping Egypt */
.menu-panel{z-index:1000!important;inset:0!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;gap:10px!important;padding:clamp(120px,15vh,175px) max(28px,var(--page-pad)) 100px!important;background:#0b100f!important;background-image:radial-gradient(circle at 78% 22%,rgba(216,183,122,.12),transparent 27%),linear-gradient(135deg,#0b100f 0%,#111815 100%)!important;opacity:1!important;visibility:hidden!important;clip-path:none!important;transform:translate3d(0,-102%,0)!important;transition:transform .72s cubic-bezier(.77,0,.18,1),visibility 0s linear .72s!important;overflow:auto!important;overscroll-behavior:contain!important}
.menu-panel.is-open{visibility:visible!important;transform:translate3d(0,0,0);transition:transform .72s cubic-bezier(.77,0,.18,1),visibility 0s linear 0s!important}
.menu-panel::before{content:"EXPLORE THE OPEN";position:absolute;top:clamp(82px,10vh,120px);left:max(28px,var(--page-pad));color:var(--sand);font:500 9px/1.2 var(--mono);letter-spacing:.2em}
.menu-panel::after{content:"CAMPING EGYPT  /  FIELD NOTES";position:absolute;right:max(28px,var(--page-pad));bottom:42px;color:rgba(244,239,228,.42);font:500 8px/1.2 var(--mono);letter-spacing:.16em;writing-mode:vertical-rl}
.menu-panel>a{position:relative;z-index:1;width:max-content;max-width:100%;font-size:clamp(36px,6.2vw,82px)!important;font-weight:600!important;line-height:.98!important;letter-spacing:-.065em!important;color:var(--cream)!important;transform:none!important;transition:color .28s ease,letter-spacing .35s ease!important}
.menu-panel>a:hover{color:var(--sand)!important;letter-spacing:-.035em!important}
.menu-panel>a span{display:inline-block;min-width:34px;margin-right:16px!important;color:var(--fire)!important;font-size:9px!important;letter-spacing:.12em!important}
.menu-panel>p{z-index:1;right:max(28px,var(--page-pad));bottom:42px!important;max-width:180px;color:rgba(244,239,228,.65)!important;font-size:9px!important;line-height:1.8!important}
.site-header{z-index:1100!important}
body.menu-open{overflow:hidden!important}
@media(max-width:640px){.menu-panel{padding:112px 20px 100px!important;gap:12px!important}.menu-panel::before{top:84px;left:20px}.menu-panel::after{display:none}.menu-panel>a{font-size:clamp(35px,10.5vw,64px)!important}.menu-panel>a span{min-width:27px;margin-right:8px!important;font-size:8px!important}.menu-panel>p{left:20px;right:auto;bottom:28px!important;text-align:left!important;font-size:8px!important}}
/* Full viewport menu fix: backdrop-filter on the header was containing the fixed panel */
.site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.menu-panel{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;max-height:none!important}
/* GSAP cinematic story transitions */
.story-sequence{isolation:isolate}
.story-image{will-change:clip-path,transform,opacity;backface-visibility:hidden;transform:translateZ(0)}
.story-copy{will-change:transform,opacity}
.story-image::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 40%,rgba(216,183,122,.12),transparent 62%);opacity:0;mix-blend-mode:screen}
.story-image.is-gsap-active::after{opacity:1;animation:story-light-sweep 1.2s ease both}
@keyframes story-light-sweep{from{transform:translateX(-35%);opacity:0}30%{opacity:.7}to{transform:translateX(35%);opacity:0}}
/* Clear visitor journey: Destinations + Tours */
.routes-heading h2 em,.tours-heading h2 em{font-style:normal;color:var(--sand)}
.tours-section{background:var(--night);color:var(--white);padding:clamp(100px,13vw,190px) var(--page-pad) clamp(80px,10vw,130px);position:relative;overflow:hidden}
.tours-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 12%,rgba(218,187,126,.12),transparent 28%),linear-gradient(180deg,transparent,rgba(0,0,0,.22));pointer-events:none}
.tours-shell{position:relative;z-index:1}.tours-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;border-bottom:1px solid #ffffff25;padding-bottom:clamp(40px,5vw,72px)}
.tours-heading h2{margin:15px 0 0;font-size:clamp(62px,9.5vw,150px);line-height:.84;letter-spacing:-.1em;font-weight:600}.tours-intro{max-width:310px;margin:0 0 4px;color:#d5d1c2b8;font-size:13px;line-height:1.8}
.tour-grid{display:grid;grid-template-columns:1.18fr 1fr 1fr;gap:16px;padding-top:clamp(38px,5vw,70px)}
.tour-card{border:1px solid #ffffff22;background:#171b17;overflow:hidden;transition:transform .5s var(--ease),border-color .35s}.tour-card:hover{transform:translateY(-8px);border-color:#d8bb7e99}.tour-card-image{height:clamp(250px,29vw,430px);position:relative;overflow:hidden}.tour-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111411b8,transparent 55%)}.tour-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease);filter:saturate(.86)}.tour-card:hover .tour-card-image img{transform:scale(1.07)}.tour-card-number{position:absolute;z-index:1;top:18px;right:20px;color:var(--sand);font:500 10px var(--mono);letter-spacing:.12em}.tour-card-body{padding:26px clamp(18px,2.3vw,34px) 30px}.tour-card-meta{display:flex;justify-content:space-between;color:#d8bb7e;font:500 8px var(--mono);letter-spacing:.13em}.tour-card h3{margin:32px 0 18px;font-size:clamp(31px,3.3vw,56px);line-height:.9;letter-spacing:-.075em;font-weight:600}.tour-card h3 em{font-style:normal;color:var(--sand)}.tour-card p{min-height:67px;color:#d5d1c2b8;font-size:12px;line-height:1.8}.tour-card a,.tours-footer a{display:flex;justify-content:space-between;align-items:center;margin-top:27px;padding-top:14px;border-top:1px solid #ffffff35;color:var(--white);font:500 8px var(--mono);letter-spacing:.12em}.tour-card a b,.tours-footer b{color:var(--sand);font-size:16px;font-weight:400}.tours-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:42px;padding-top:22px;border-top:1px solid #ffffff25;color:#ffffff7d;font:500 8px var(--mono);letter-spacing:.12em}.tours-footer a{border:0;margin:0;padding:0;gap:25px;color:var(--sand)}
@media(max-width:900px){.tours-heading{align-items:start;flex-direction:column}.tour-grid{grid-template-columns:1fr 1fr}.tour-card-featured{grid-column:span 2}.tour-card-image{height:390px}}
@media(max-width:640px){.tours-section{padding:88px 20px 75px}.tours-heading h2{font-size:clamp(64px,17vw,108px)}.tours-intro{font-size:12px}.tour-grid{display:flex;flex-direction:column;gap:12px}.tour-card-featured{order:-1}.tour-card-image,.tour-card-featured .tour-card-image{height:95vw;min-height:320px}.tour-card-body{padding:23px 18px 25px}.tour-card h3{font-size:clamp(40px,11vw,67px);margin:27px 0 15px}.tour-card p{min-height:0;font-size:12px}.tours-footer{align-items:flex-start;flex-direction:column;gap:15px;margin-top:30px}.tours-footer a{margin:0}}
/* Destinations + Tours — luxury cinema pass */
.routes,.tours-section{position:relative;isolation:isolate}
.routes:before,.tours-section:after{content:"";position:absolute;pointer-events:none;z-index:0;width:42vw;height:42vw;border-radius:50%;filter:blur(1px);opacity:.18;background:radial-gradient(circle,rgba(216,187,126,.35),transparent 68%)}
.routes:before{top:18%;right:-18vw}.tours-section:after{bottom:8%;left:-20vw}
.routes-pin,.tours-shell{position:relative;z-index:1}
.routes-heading,.tours-heading{will-change:transform,opacity}
.routes-heading .mono-label,.tours-heading .mono-label{position:relative;display:inline-flex;align-items:center;gap:12px}
.routes-heading .mono-label:before,.tours-heading .mono-label:before{content:"";display:inline-block;width:28px;height:1px;background:var(--sand);transform-origin:left;transform:scaleX(.3);transition:transform .6s ease}
.routes-heading.is-in .mono-label:before,.tours-heading.is-in .mono-label:before{transform:scaleX(1)}
.route-card{perspective:1000px;transform-style:preserve-3d;will-change:transform,opacity;box-shadow:0 24px 70px rgba(0,0,0,.2)}
.route-card:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid rgba(255,255,255,.12);opacity:0;transition:opacity .45s ease}
.route-card:hover:after{opacity:1}.route-card-top,.route-card-bottom,.route-watermark{z-index:3}
.route-card>img{will-change:transform;filter:saturate(.78) contrast(1.04)}
.route-card-shade{z-index:1;background:linear-gradient(115deg,rgba(9,13,11,.58),transparent 58%),linear-gradient(0deg,rgba(9,13,11,.96),transparent 64%)}
.route-card-bottom>a{position:relative;transition:color .3s ease,padding-left .35s ease}.route-card-bottom>a:hover{color:var(--sand);padding-left:8px}
.tour-grid{perspective:1600px}.tour-card{position:relative;transform-style:preserve-3d;will-change:transform,opacity;box-shadow:0 24px 80px rgba(0,0,0,.22)}
.tour-card:before{content:"";position:absolute;z-index:4;top:0;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:var(--sand);transition:transform .7s cubic-bezier(.77,0,.18,1)}
.tour-card:hover:before{transform:scaleX(1)}.tour-card-image{overflow:hidden}.tour-card-image:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(120deg,rgba(216,187,126,.25),transparent 35%);mix-blend-mode:screen;opacity:0;transform:translateX(-20%);transition:opacity .5s,transform .8s}.tour-card:hover .tour-card-image:before{opacity:1;transform:translateX(10%)}
.tour-card-image img{will-change:transform}.tour-card-body{position:relative;z-index:5}.tour-card-meta span:first-child{color:var(--white)}.tour-card h3{transition:transform .45s var(--ease)}.tour-card:hover h3{transform:translateX(6px)}
.tours-footer{position:relative}.tours-footer:before{content:"";position:absolute;left:0;top:-1px;width:23%;height:1px;background:var(--sand);transform-origin:left}
@media(max-width:640px){.route-card,.tour-card{box-shadow:0 14px 40px rgba(0,0,0,.18)}.routes:before,.tours-section:after{width:70vw;height:70vw;opacity:.12}.tour-card:hover{transform:none}.tour-card:hover h3{transform:none}}
/* Official Let's Camping Egypt identity */
.camp-official-logo{display:block;object-fit:contain;border-radius:50%;background:#f8f8f6;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 14px 40px rgba(0,0,0,.26)}
.camp-official-logo--loader{width:clamp(118px,12vw,166px);height:clamp(118px,12vw,166px);margin:0 auto 24px;position:relative;z-index:2;animation:official-logo-breathe 4s ease-in-out infinite}
.camp-official-logo--header{width:58px;height:58px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.site-header .brand:hover .camp-official-logo--header{transform:translateY(-2px) scale(1.04);box-shadow:0 0 0 1px rgba(216,187,126,.65),0 12px 30px rgba(0,0,0,.3)}
.camp-official-logo--footer{width:104px;height:104px;box-shadow:0 0 0 1px rgba(216,187,126,.42),0 16px 42px rgba(0,0,0,.3)}
.site-header .brand,.site-footer-v3 .footer-brand{gap:0}
.site-footer-v3 .footer-brand{align-items:center}
@keyframes official-logo-breathe{0%,100%{transform:scale(1);box-shadow:0 0 0 1px rgba(255,255,255,.16),0 14px 40px rgba(0,0,0,.26)}50%{transform:scale(1.025);box-shadow:0 0 0 1px rgba(216,187,126,.65),0 18px 48px rgba(0,0,0,.34)}}
@media(max-width:640px){.camp-official-logo--loader{width:118px;height:118px;margin-bottom:19px}.camp-official-logo--header{width:48px;height:48px}.camp-official-logo--footer{width:88px;height:88px}}
/* Camping editorial pass — clearer scale, calmer rhythm, stronger camping identity */
:root{--camp-max-copy:620px}
.hero h1{font-size:clamp(70px,10.4vw,156px)!important;line-height:.84!important;letter-spacing:-.075em!important;max-width:760px}
.hero-label{font-size:10px!important;letter-spacing:.18em!important;color:var(--sand)!important}
.intro-title-block h2{font-size:clamp(52px,6.6vw,102px)!important;line-height:.9!important;letter-spacing:-.065em!important}
.intro-copy .intro-big{font-size:18px!important;line-height:1.55!important;max-width:var(--camp-max-copy)}
.story-title{font-size:clamp(62px,8.5vw,128px)!important;line-height:.86!important;letter-spacing:-.075em!important;text-transform:none!important}
.story-description{max-width:430px!important;font-size:14px!important;line-height:1.85!important}
.routes-heading h2{font-size:clamp(54px,7vw,110px)!important;line-height:.9!important;letter-spacing:-.07em!important}
.route-card h3{font-size:clamp(44px,6vw,88px)!important;line-height:.88!important;letter-spacing:-.07em!important}
.tours-heading h2{font-size:clamp(56px,7.2vw,112px)!important;line-height:.88!important;letter-spacing:-.075em!important}
.tour-card h3{font-size:clamp(30px,3vw,48px)!important;line-height:.94!important;letter-spacing:-.06em!important}
.field-header h2{font-size:clamp(60px,8.5vw,132px)!important;line-height:.84!important;letter-spacing:-.075em!important}
.before-content h2{font-size:clamp(56px,7.5vw,116px)!important;line-height:.87!important;letter-spacing:-.075em!important}
.rituals-gsap-head h2{font-size:clamp(50px,6.5vw,96px)!important;line-height:.9!important;letter-spacing:-.07em!important}
.footer-v3-top h2{font-size:clamp(56px,7.5vw,116px)!important;line-height:.86!important;letter-spacing:-.075em!important}
.hero-side,.story-location,.routes-bottom,.tour-card-meta,.footer-kicker,.mono-label{letter-spacing:.16em!important}
@media(max-width:640px){.hero h1{font-size:clamp(58px,14vw,90px)!important;line-height:.86!important}.intro-title-block h2{font-size:clamp(50px,13vw,78px)!important}.story-title{font-size:clamp(50px,13vw,78px)!important}.story-description{font-size:12px!important}.routes-heading h2{font-size:clamp(40px,10vw,60px)!important}.route-card h3{font-size:clamp(46px,12vw,72px)!important}.tours-heading h2{font-size:clamp(52px,14vw,84px)!important}.tour-card h3{font-size:clamp(36px,10vw,60px)!important}.field-header h2{font-size:clamp(58px,15vw,90px)!important}.before-content h2{font-size:clamp(50px,12vw,74px)!important}.rituals-gsap-head h2{font-size:clamp(48px,12vw,72px)!important}}
/* Destinations spacing correction — keep heading and cards in one visual frame */
@media(min-width:641px){
  .routes-pin{justify-content:flex-start!important;padding-top:clamp(86px,9vh,112px)!important}
  .routes-heading{flex:0 0 auto!important}
  .route-window{flex:0 0 min(54vh,600px)!important;height:min(54vh,600px)!important;align-items:stretch!important;margin-top:clamp(22px,3.2vh,42px)!important}
  .route-card{height:100%!important;min-height:0!important}
  .routes-bottom{margin-top:auto!important;padding-bottom:2px}
}
@media(max-width:640px){.routes-pin{padding-top:78px!important}.route-window{margin-top:20px!important}}
/* Restore original GSAP Destinations geometry — typography remains refined */
@media(min-width:641px){
  .routes-pin{justify-content:space-between!important;padding:95px var(--page-pad) 26px!important}
  .route-window{width:100%!important;overflow:visible!important;flex:1 1 auto!important;height:auto!important;display:flex!important;align-items:center!important;margin-top:2vh!important}
  .route-track{display:flex!important;gap:18px!important;will-change:transform!important;transform:translate3d(0,0,0)}
  .route-card{flex:0 0 min(76vw,980px)!important;height:min(61vh,690px)!important;min-height:380px!important}
  .routes-bottom{margin-top:0!important;padding-bottom:0!important}
}
/* Destinations-to-Tours spacing fix: keep horizontal roam travel, remove dead scroll space */
@media (min-width: 641px) {
  .routes { height: 260svh !important; }
  .routes-pin { height: 100svh !important; }
}

/* Final Destinations timing: end the pinned journey with the last card, not dead space */
@media (min-width: 641px) {
  .routes { height: 220svh !important; }
}

/* Preserve the Destinations cinematic track layout in all browser motion modes. */
@media (min-width: 641px) {
  .routes { height: 220svh !important; }
  .routes-pin { position: sticky !important; height: 100svh !important; }
  .route-track { display: flex !important; flex-direction: row !important; transform: translate3d(0,0,0); }
}
