
:root{--air:#73CDD8;--sail:#fff;--ink:#0B2B36;--shell:#F4F1EA;--sand:#E9E1D2;--grass:#7E8C6B;--coral:#D77A61;--claret:#6C2F3A;--inksoft:#244650;--line:rgba(11,43,54,.16);--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--script:"Allura",cursive;--typewriter:"Special Elite",monospace;--shadow:0 24px 70px rgba(5,30,38,.15);--radius:26px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--shell)}body{margin:0;background:var(--shell);color:var(--ink);font-family:var(--sans);overflow-x:hidden}img,video{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}::selection{background:var(--air);color:var(--ink)}.eo-noise{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.035;mix-blend-mode:multiply;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='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E")}.eo-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--air);z-index:1000;box-shadow:0 0 18px var(--air)}.eo-halo{position:fixed;left:0;top:0;width:42px;height:42px;border:1px solid rgba(115,205,216,.75);border-radius:50%;pointer-events:none;z-index:998;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .25s,height .25s,border .25s}.eo-halo span{position:absolute;left:50%;top:50%;width:6px;height:6px;background:var(--air);border-radius:50%;transform:translate(-50%,-50%)}.eo-halo.hover{width:74px;height:74px;border-color:#fff}.eo-nav{position:fixed;top:0;left:0;right:0;height:82px;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,64px);transition:.45s ease;color:#fff}.eo-nav.scrolled{height:68px;background:rgba(244,241,234,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:var(--ink);border-bottom:1px solid var(--line)}.eo-nav-logo{width:90px;height:62px;position:relative;flex:none}.eo-nav-logo img{object-fit:contain}.eo-logo-dark{position:absolute;inset:0;opacity:0;transition:.3s}.eo-nav.scrolled .eo-logo-light{opacity:0}.eo-nav.scrolled .eo-logo-dark{opacity:1}.eo-nav-links{display:flex;gap:22px;align-items:center;font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:800}.eo-nav-links a{position:relative;padding:10px 0}.eo-nav-links a:after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:.3s}.eo-nav-links a:hover:after{transform:scaleX(1)}.eo-nav-actions{display:flex;gap:12px;align-items:center}.eo-pill{border:1px solid currentColor;border-radius:999px;padding:10px 16px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.eo-menu-btn{display:none;border:0;background:none;color:inherit;font-size:24px}.eo-drawer{position:fixed;inset:0;background:var(--ink);z-index:950;color:#fff;padding:24px;transform:translateX(100%);transition:.45s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}.eo-drawer.open{transform:none}.eo-drawer-head{display:flex;align-items:center;justify-content:space-between}.eo-drawer-head img{width:100px;height:70px;object-fit:contain}.eo-drawer-head button{background:none;border:0;color:#fff;font-size:36px}.eo-drawer-links{margin:auto 0;display:flex;flex-direction:column}.eo-drawer-links a{font-family:var(--serif);font-size:52px;line-height:1;border-bottom:1px solid rgba(255,255,255,.12);padding:12px 0}.eo-drawer p{font-family:var(--typewriter);font-size:10px;letter-spacing:.12em;color:var(--air)}.eo-hero{height:100svh;min-height:720px;position:relative;overflow:hidden;background:var(--ink)}.eo-hero-video{position:absolute;inset:0}.eo-hero-video:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,26,33,.22),rgba(5,26,33,.2) 42%,rgba(5,26,33,.75)),linear-gradient(90deg,rgba(5,26,33,.46),transparent 66%)}.eo-hero-video video{filter:saturate(.82) contrast(1.06) brightness(.84);transform:scale(1.06)}.eo-hero-side{position:absolute;left:clamp(20px,5vw,80px);top:120px;z-index:3;color:#fff;display:flex;gap:16px;align-items:center}.eo-hero-side:before{content:"";width:42px;height:1px;background:var(--air)}.eo-hero-side span{font-family:var(--typewriter);font-size:11px;letter-spacing:.1em}.eo-hero-logo-wrap{position:absolute;left:clamp(20px,5vw,80px);bottom:clamp(96px,14vh,160px);z-index:3;width:min(710px,78vw)}.eo-hero-logo-mask{height:clamp(150px,32vw,390px);width:100%;background:linear-gradient(120deg,#fff 0%,#fff 40%,var(--air) 58%,#fff 78%);background-size:220% 100%;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;animation:eoLogoShimmer 7s ease-in-out infinite;filter:drop-shadow(0 18px 35px rgba(0,0,0,.17));transform-origin:left bottom}@keyframes eoLogoShimmer{0%,18%{background-position:100% 0;transform:translateY(22px);opacity:0}30%{opacity:1;transform:translateY(0)}55%,100%{background-position:-100% 0;opacity:1}}.eo-hero-copy{position:absolute;right:clamp(20px,5vw,78px);bottom:clamp(50px,8vh,90px);z-index:4;width:min(430px,36vw);color:#fff}.eo-kicker,.eo-eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:800}.eo-eyebrow{color:var(--claret)}.eo-claret{color:var(--claret)}.eo-hero-copy h1{font-family:var(--serif);font-size:clamp(44px,5vw,78px);font-weight:500;line-height:.92;margin:14px 0 18px}.eo-hero-copy p{font-size:14px;line-height:1.75;color:rgba(255,255,255,.86);max-width:38ch}.eo-hero-cta,.eo-partner-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}.eo-btn{display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border-radius:999px;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:800;border:1px solid transparent;transition:.3s;cursor:pointer}.eo-btn-primary{background:var(--air);color:var(--ink)}.eo-btn-primary:hover{background:#fff;transform:translateY(-2px)}.eo-btn-ghost{border-color:rgba(255,255,255,.52);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(6px)}.eo-scroll-cue{position:absolute;right:38px;top:50%;z-index:4;color:#fff;writing-mode:vertical-rl;font-size:9px;letter-spacing:.26em;text-transform:uppercase}.eo-scroll-cue:after{content:"";display:inline-block;height:65px;width:1px;background:rgba(255,255,255,.55);margin-top:14px}.eo-marquee{height:64px;background:var(--air);color:var(--ink);display:flex;align-items:center;overflow:hidden}.eo-marquee-track{display:flex;gap:28px;white-space:nowrap;min-width:max-content;animation:eoMarquee 34s linear infinite;font-family:var(--typewriter);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.eo-marquee-track span:after{content:"✦";margin-left:28px;color:var(--claret)}@keyframes eoMarquee{to{transform:translateX(-50%)}}.eo-section{padding:clamp(76px,10vw,150px) clamp(20px,5vw,80px);position:relative}.eo-section.compact{padding-top:54px}.eo-container{max-width:1440px;margin:0 auto}.eo-section-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:40px;align-items:end;margin-bottom:54px}.eo-display{font-family:var(--serif);font-size:clamp(52px,7vw,116px);font-weight:500;line-height:.84;letter-spacing:-.035em;margin:12px 0 0}.eo-display.small{font-size:clamp(48px,6vw,90px)}.eo-lede{font-family:var(--serif);font-size:clamp(22px,2.2vw,36px);line-height:1.15;margin:0}.eo-body-lg{font-size:15px;line-height:1.9;color:var(--inksoft)}.eo-rule{height:1px;background:var(--line);margin:40px 0}.eo-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.8,.25,1)}.eo-reveal.in{opacity:1;transform:none}.eo-intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px}.eo-editorial-quote{font-family:var(--serif);font-size:clamp(32px,4vw,62px);line-height:1.02;margin:0}.eo-editorial-quote em{color:var(--coral);font-weight:400}.eo-signature{font-family:var(--script);font-size:44px;color:var(--air);margin-top:24px}.eo-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,31vw);gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:4px 4px 18px;scrollbar-width:none;cursor:grab}.eo-rail::-webkit-scrollbar,.eo-phone-rail::-webkit-scrollbar{display:none}.eo-story-card{scroll-snap-align:start;min-height:520px;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--ink);box-shadow:var(--shadow)}.eo-story-card img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}.eo-story-card:hover img{transform:scale(1.045)}.eo-story-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,28,35,.88))}.eo-meta{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff}.eo-story-card h3{font-family:var(--serif);font-size:34px;line-height:.98;margin:8px 0}.eo-story-card p{font-size:12px;line-height:1.6;color:rgba(255,255,255,.78);margin:0}.eo-card-number{position:absolute;z-index:2;top:20px;right:20px;color:#fff;font-family:var(--typewriter);font-size:12px}.eo-flip-section{background:var(--ink);color:#fff;overflow:hidden}.eo-flip-section .eo-eyebrow{color:var(--air)}.eo-flip-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(32px,6vw,90px);align-items:center}.eo-flip-copy h2{font-family:var(--serif);font-size:clamp(54px,7vw,110px);line-height:.84;font-weight:500;margin:10px 0 22px}.eo-flip-copy p{color:rgba(255,255,255,.7);line-height:1.8;max-width:48ch}.eo-flipdeck{position:relative;height:min(72vh,720px);min-height:560px;perspective:1600px}.eo-flip-card{position:absolute;inset:0;border-radius:28px;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.35);transform-origin:center top;transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .6s;will-change:transform}.eo-flip-card .eo-bg{position:absolute;inset:0}.eo-flip-card .eo-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(3,27,34,.84))}.eo-caption{position:absolute;z-index:2;bottom:32px;left:32px;right:32px}.eo-caption h3{font-family:var(--serif);font-size:clamp(38px,4vw,68px);line-height:.94;margin:8px 0}.eo-caption p{font-size:12px;line-height:1.6;max-width:50ch;color:rgba(255,255,255,.78)}.eo-flip-card.flipping{transform:rotateX(-88deg) translateY(-8px)!important;opacity:0!important}.eo-flip-controls{display:flex;gap:12px;margin-top:26px}.eo-round-btn{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.35);color:#fff;background:transparent;cursor:pointer;transition:.25s}.eo-round-btn:hover{background:#fff;color:var(--ink)}.eo-triad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.eo-triad article{background:var(--shell);min-height:650px;display:flex;flex-direction:column}.eo-triad-img{height:360px;overflow:hidden}.eo-triad-copy{padding:28px}.eo-tag{font-family:var(--typewriter);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--claret)}.eo-triad h3{font-family:var(--serif);font-size:45px;line-height:.92;margin:8px 0 14px}.eo-triad p{font-size:13px;line-height:1.75;color:var(--inksoft)}.eo-forks{background:var(--sand);overflow:hidden}.eo-fork-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.eo-fork-card{min-height:720px;position:relative;overflow:hidden;border-radius:var(--radius)}.eo-fork-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(8,31,36,.82))}.eo-fork-card .eo-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:34px;color:#fff}.eo-fork-card h3{font-family:var(--serif);font-size:clamp(46px,5.5vw,86px);margin:5px 0 12px;line-height:.88}.eo-fork-card p{font-size:13px;line-height:1.7;max-width:48ch;color:rgba(255,255,255,.82)}.eo-video-manifesto{height:82vh;min-height:650px;position:relative;background:var(--ink);overflow:hidden}.eo-video-manifesto:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,35,43,.76),rgba(8,35,43,.08) 70%),linear-gradient(0deg,rgba(8,35,43,.55),transparent 50%)}.eo-video-manifesto .eo-copy{position:absolute;z-index:2;left:clamp(22px,6vw,90px);top:50%;transform:translateY(-50%);color:#fff;max-width:620px}.eo-video-manifesto h2{font-family:var(--serif);font-size:clamp(58px,8vw,126px);line-height:.78;font-weight:500;margin:12px 0 24px}.eo-video-manifesto p{line-height:1.8;color:rgba(255,255,255,.78);max-width:48ch}.eo-montauk{background:var(--ink);color:#fff}.eo-montauk-hero{height:82vh;min-height:660px;position:relative;margin:0 clamp(0px,2vw,28px);overflow:hidden;border-radius:0 0 30px 30px}.eo-montauk-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(5,24,30,.86))}.eo-montauk-title{position:absolute;z-index:2;left:clamp(24px,5vw,72px);right:clamp(24px,5vw,72px);bottom:48px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.eo-montauk-title h2{font-family:var(--serif);font-size:clamp(70px,12vw,190px);font-weight:500;line-height:.72;margin:0;letter-spacing:-.04em}.eo-montauk-title p{max-width:42ch;font-size:13px;line-height:1.7;color:rgba(255,255,255,.78)}.eo-activity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.eo-activity{border-top:1px solid rgba(255,255,255,.22);padding-top:16px}.eo-activity h4{font-family:var(--serif);font-size:28px;margin:8px 0}.eo-activity p{font-size:11px;line-height:1.6;color:rgba(255,255,255,.65)}.eo-social{background:var(--air)}.eo-phone-rail{display:flex;gap:20px;overflow:auto;scroll-snap-type:x mandatory;padding:5px 0 24px;scrollbar-width:none}.eo-phone{flex:0 0 min(330px,78vw);aspect-ratio:9/16;border-radius:32px;overflow:hidden;position:relative;scroll-snap-align:start;box-shadow:0 24px 60px rgba(4,30,38,.18);background:var(--ink)}.eo-phone:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(4,24,29,.78))}.eo-phone-copy{position:absolute;z-index:2;left:20px;right:20px;bottom:24px;color:#fff}.eo-phone-copy h3{font-family:var(--serif);font-size:42px;line-height:.9;margin:7px 0 10px}.eo-phone-ui{position:absolute;z-index:3;left:18px;right:18px;top:18px;display:flex;justify-content:space-between;color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.eo-phone-logo{position:absolute;z-index:3;left:18px;top:45px;width:68px;height:48px!important;object-fit:contain}.eo-latest{background:var(--shell)}.eo-post-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.eo-post-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(5,30,38,.08);transition:.28s}.eo-post-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(5,30,38,.14)}.eo-post-card img{height:230px}.eo-post-card div{padding:20px}.eo-post-card span{font-family:var(--typewriter);font-size:10px;letter-spacing:.08em;color:var(--claret);text-transform:uppercase}.eo-post-card h3{font-family:var(--serif);font-size:32px;line-height:.96;margin:10px 0}.eo-post-card p{font-size:12px;line-height:1.65;color:var(--inksoft)}.eo-partner{background:var(--claret);color:#fff;text-align:center;overflow:hidden}.eo-ghost-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(960px,90vw);height:700px;opacity:.055;background:#fff;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat}.eo-partner .eo-container{position:relative;z-index:2;max-width:900px}.eo-partner .eo-eyebrow{color:var(--air)}.eo-partner h2,.eo-newsletter h2{font-family:var(--serif);font-size:clamp(58px,9vw,130px);line-height:.8;font-weight:500;margin:14px auto 26px}.eo-partner p,.eo-newsletter p{max-width:650px;margin:0 auto 22px;line-height:1.8;color:rgba(255,255,255,.78)}.eo-newsletter{background:#fff;text-align:center}.eo-newsletter .eo-eyebrow{color:var(--claret)}.eo-newsletter h2{color:var(--ink);max-width:920px}.eo-newsletter p{color:var(--inksoft)}.eo-form{display:flex;max-width:650px;margin:26px auto 0;gap:10px}.eo-form input{flex:1;border:1px solid var(--line);border-radius:999px;padding:16px 20px;background:var(--shell);color:var(--ink);outline:none}.eo-form button{border:0;border-radius:999px;padding:0 24px;background:var(--air);color:var(--ink);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.eo-footer{background:#071f27;color:#fff;padding:58px clamp(20px,5vw,80px) 28px}.eo-footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,.6fr);gap:40px}.eo-footer-logo{width:180px;height:125px;object-fit:contain}.eo-footer h4{font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px;color:var(--air)}.eo-footer a,.eo-footer p{display:block;font-size:12px;line-height:2;color:rgba(255,255,255,.68)}.eo-footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.46)}.eo-archive-hero{padding:160px clamp(20px,5vw,80px) 80px;background:var(--ink);color:#fff}.eo-archive-hero h1{font-family:var(--serif);font-size:clamp(64px,10vw,142px);line-height:.82;font-weight:500;margin:10px 0}.eo-archive-hero p{max-width:640px;color:rgba(255,255,255,.75);line-height:1.8}.eo-single-hero{height:86vh;min-height:660px;position:relative;background:var(--ink);overflow:hidden}.eo-single-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,26,33,.15),rgba(5,26,33,.82))}.eo-single-overlay{position:absolute;z-index:2;left:clamp(20px,6vw,92px);right:clamp(20px,6vw,92px);bottom:58px;color:#fff;max-width:980px}.eo-single-overlay h1{font-family:var(--serif);font-size:clamp(52px,8vw,118px);font-weight:500;line-height:.86;margin:12px 0 20px}.eo-single-overlay p{max-width:650px;color:rgba(255,255,255,.78);line-height:1.75}.eo-article-shell{display:grid;grid-template-columns:260px minmax(0,800px);gap:60px;max-width:1160px;margin:0 auto;padding:80px 24px}.eo-article-aside{position:sticky;top:100px;align-self:start;border-top:1px solid var(--line);padding-top:24px}.eo-article-aside img{width:140px;height:90px;object-fit:contain}.eo-article-aside p,.eo-article-aside a{font-size:12px;line-height:1.8;color:var(--inksoft)}.eo-article-aside a{color:var(--claret);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.eo-article-content{font-family:var(--sans);font-size:18px;line-height:1.85;color:var(--inksoft)}.eo-article-content h2{font-family:var(--serif);font-size:clamp(38px,4vw,58px);line-height:.98;color:var(--ink);margin:46px 0 14px}.eo-article-content p{margin:0 0 24px}.eo-article-content ul{padding-left:22px}.eo-article-content li{margin:10px 0}.eo-pagination{max-width:900px;margin:0 auto 80px;text-align:center}.eo-page .eo-article-content{max-width:880px;margin:0 auto;background:#fff;padding:clamp(26px,5vw,70px);border-radius:var(--radius);box-shadow:var(--shadow)}@media(max-width:1100px){.eo-post-grid{grid-template-columns:repeat(2,1fr)}.eo-nav-links{display:none}.eo-menu-btn{display:block}.eo-section-head,.eo-intro-grid,.eo-flip-grid,.eo-article-shell{grid-template-columns:1fr}.eo-article-aside{position:relative;top:auto}.eo-triad{grid-template-columns:1fr}.eo-fork-grid{grid-template-columns:1fr}.eo-activity-grid{grid-template-columns:repeat(2,1fr)}.eo-footer-grid{grid-template-columns:1fr 1fr}.eo-hero-copy{left:20px;right:20px;width:auto;bottom:38px}.eo-hero-logo-wrap{width:80vw;bottom:190px}.eo-hero-copy h1{font-size:48px;max-width:8ch}}@media(max-width:640px){.eo-halo{display:none}.eo-nav{height:70px;padding:0 14px}.eo-nav-logo{width:74px;height:52px}.eo-hero{min-height:740px}.eo-hero-side{left:16px;top:88px}.eo-hero-side span{font-size:9px}.eo-hero-logo-wrap{left:14px;width:88vw;bottom:245px}.eo-hero-logo-mask{height:220px}.eo-hero-copy{left:16px;bottom:28px}.eo-hero-copy h1{font-size:44px}.eo-hero-copy p{font-size:12px;line-height:1.55}.eo-scroll-cue{display:none}.eo-section{padding:72px 18px}.eo-section-head{gap:22px;margin-bottom:34px}.eo-display{font-size:58px}.eo-rail{grid-auto-columns:84vw}.eo-story-card{min-height:500px}.eo-flipdeck{min-height:500px;height:62vh}.eo-triad article{min-height:0}.eo-triad-img{height:320px}.eo-fork-card{min-height:570px}.eo-video-manifesto{min-height:650px;height:76vh}.eo-video-manifesto h2{font-size:62px}.eo-montauk-hero{min-height:680px;height:82vh;margin:0;border-radius:0 0 22px 22px}.eo-montauk-title{display:block;bottom:34px}.eo-montauk-title h2{font-size:86px;margin-bottom:20px}.eo-activity-grid{grid-template-columns:1fr 1fr}.eo-post-grid{grid-template-columns:1fr}.eo-form{flex-direction:column}.eo-form button{padding:16px}.eo-footer-grid{grid-template-columns:1fr}.eo-footer-bottom{display:block;line-height:1.8}.eo-article-shell{padding:44px 18px}.eo-article-content{font-size:17px}.eo-drawer-links a{font-size:44px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.eo-reveal{opacity:1;transform:none}}


/* =========================================================
   EASTOF.NYC v1.1 — RESPONSIVE EDITORIAL HERO LOGO
   One-time arrival instead of a permanent repeating loop.
   The lockup becomes an independent masthead zone on tablet/mobile,
   keeping it clear of the "Land. Sea. Vine. East." hero copy.
   ========================================================= */
.eo-hero-logo-wrap{display:none!important}
.eo-hero-logo-lockup{
  position:absolute;
  z-index:4;
  left:clamp(20px,5vw,80px);
  top:clamp(180px,23vh,260px);
  width:min(710px,52vw);
  min-height:230px;
  display:grid;
  grid-template-columns:minmax(22px,72px) minmax(0,1fr) minmax(22px,72px);
  grid-template-rows:1fr auto;
  align-items:center;
  column-gap:16px;
  pointer-events:none;
  opacity:0;
  transform:translateY(22px);
  animation:eoLogoLockupArrive 1.35s cubic-bezier(.18,.78,.22,1) .28s forwards;
}
.eo-hero-logo-lockup .eo-hero-logo-mask{
  grid-column:2;
  grid-row:1;
  width:100%;
  height:clamp(150px,19vw,270px);
  background:linear-gradient(110deg,#fff 0%,#fff 38%,var(--air) 53%,#fff 68%,#fff 100%);
  background-size:240% 100%;
  -webkit-mask:var(--logo) center/contain no-repeat;
  mask:var(--logo) center/contain no-repeat;
  filter:drop-shadow(0 18px 38px rgba(0,0,0,.16));
  transform:none;
  opacity:1;
  animation:eoLogoTidePass 2.15s cubic-bezier(.2,.8,.2,1) .62s 1 both;
}
.eo-logo-rule{
  grid-row:1;
  height:1px;
  width:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75));
  transform:scaleX(0);
  opacity:.8;
  animation:eoLogoRuleDraw .9s cubic-bezier(.2,.8,.2,1) 1.05s forwards;
}
.eo-logo-rule-left{grid-column:1;transform-origin:right}
.eo-logo-rule-right{grid-column:3;transform-origin:left;background:linear-gradient(90deg,rgba(255,255,255,.75),transparent)}
.eo-logo-caption{
  grid-column:1/-1;
  grid-row:2;
  justify-self:center;
  margin-top:-18px;
  font-family:var(--serif);
  font-style:italic;
  font-size:12px;
  letter-spacing:.08em;
  color:rgba(255,255,255,.72);
  opacity:0;
  transform:translateY(7px);
  animation:eoLogoCaptionIn .7s ease 1.55s forwards;
}
@keyframes eoLogoLockupArrive{
  to{opacity:1;transform:translateY(0)}
}
@keyframes eoLogoTidePass{
  0%{background-position:110% 0;filter:drop-shadow(0 18px 38px rgba(0,0,0,.12)) blur(.8px)}
  55%{filter:drop-shadow(0 18px 38px rgba(0,0,0,.18)) blur(0)}
  100%{background-position:-115% 0;filter:drop-shadow(0 18px 38px rgba(0,0,0,.18)) blur(0)}
}
@keyframes eoLogoRuleDraw{
  to{transform:scaleX(1)}
}
@keyframes eoLogoCaptionIn{
  to{opacity:1;transform:none}
}

/* Desktop hero spacing: preserve intentional negative space between masthead and copy. */
@media (min-width:1101px){
  .eo-hero-copy{bottom:clamp(48px,7vh,78px)}
}

/* Tablet: treat the logo as a dedicated editorial masthead band. */
@media (max-width:1100px){
  .eo-hero{min-height:800px}
  .eo-hero-logo-lockup{
    left:clamp(20px,5vw,52px);
    right:clamp(20px,5vw,52px);
    top:150px;
    width:auto;
    min-height:190px;
    grid-template-columns:minmax(18px,48px) minmax(0,560px) minmax(18px,48px);
    justify-content:center;
  }
  .eo-hero-logo-lockup .eo-hero-logo-mask{
    height:190px;
  }
  .eo-logo-caption{margin-top:-24px;font-size:11px}
  .eo-hero-copy{
    left:clamp(22px,5vw,52px);
    right:clamp(22px,5vw,52px);
    bottom:44px;
    width:auto;
    max-width:670px;
  }
  .eo-hero-copy h1{max-width:10ch}
}

/* Mobile: logo sits safely in its own zone above the message. */
@media (max-width:640px){
  .eo-hero{min-height:780px}
  .eo-hero-side{top:82px}
  .eo-hero-logo-lockup{
    left:16px;
    right:16px;
    top:126px;
    width:auto;
    min-height:150px;
    grid-template-columns:18px minmax(0,1fr) 18px;
    column-gap:8px;
  }
  .eo-hero-logo-lockup .eo-hero-logo-mask{
    height:148px;
    max-width:420px;
    margin-inline:auto;
  }
  .eo-logo-caption{
    margin-top:-18px;
    font-size:10px;
    letter-spacing:.07em;
  }
  .eo-hero-copy{
    left:18px;
    right:18px;
    bottom:26px;
    width:auto;
    max-width:none;
    padding-top:0;
  }
  .eo-hero-copy .eo-kicker{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:999px;
    background:rgba(5,26,33,.18);
    backdrop-filter:blur(7px);
  }
  .eo-hero-copy h1{
    font-size:clamp(42px,12vw,54px);
    line-height:.88;
    max-width:8.7ch;
    margin:12px 0 14px;
  }
  .eo-hero-copy p{
    max-width:42ch;
    font-size:12px;
    line-height:1.56;
    margin-bottom:0;
  }
  .eo-hero-cta{margin-top:18px}
}

/* Short mobile screens: compact vertically without ever colliding. */
@media (max-width:640px) and (max-height:760px){
  .eo-hero{min-height:760px}
  .eo-hero-logo-lockup{top:112px;min-height:128px}
  .eo-hero-logo-lockup .eo-hero-logo-mask{height:124px}
  .eo-logo-caption{display:none}
  .eo-hero-copy h1{font-size:42px}
  .eo-hero-copy p{font-size:11px;line-height:1.48}
  .eo-hero-cta{margin-top:14px}
}

/* Reduced motion: show final lockup immediately. */
@media (prefers-reduced-motion:reduce){
  .eo-hero-logo-lockup,
  .eo-hero-logo-lockup .eo-hero-logo-mask,
  .eo-logo-rule,
  .eo-logo-caption{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   EASTOF.NYC v1.2 — CLEAN LOGO + CAPTION LOCKUP
   - Removes side dash lines entirely.
   - Keeps the signature animated gradient as a ONE-TIME tide pass.
   - Creates explicit vertical separation between logo and caption.
   - Tablet/mobile positioning remains isolated from the hero copy.
   ========================================================= */

.eo-logo-rule,
.eo-logo-rule-left,
.eo-logo-rule-right{
  display:none!important;
}

.eo-hero-logo-lockup{
  position:absolute;
  z-index:4;
  left:clamp(20px,5vw,80px);
  top:clamp(168px,21vh,242px);
  width:min(680px,50vw);
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(18px,2.2vh,28px);
  pointer-events:none;
  opacity:0;
  transform:translateY(20px) scale(.985);
  animation:eoV12LockupIn 1.15s cubic-bezier(.18,.78,.22,1) .22s forwards;
}

.eo-hero-logo-lockup .eo-hero-logo-mask{
  width:100%;
  height:clamp(154px,18vw,252px);
  flex:0 0 auto;
  background:
    linear-gradient(
      112deg,
      rgba(255,255,255,1) 0%,
      rgba(255,255,255,1) 35%,
      var(--air) 50%,
      rgba(255,255,255,1) 66%,
      rgba(255,255,255,1) 100%
    );
  background-size:250% 100%;
  background-position:112% 0;
  -webkit-mask:var(--logo) center/contain no-repeat;
  mask:var(--logo) center/contain no-repeat;
  filter:drop-shadow(0 18px 38px rgba(0,0,0,.17));
  opacity:1;
  transform:none;
  animation:eoV12AtlanticGradient 2.35s cubic-bezier(.18,.78,.22,1) .48s 1 both;
}

.eo-logo-caption{
  position:relative;
  display:block;
  width:100%;
  margin:0!important;
  padding:0!important;
  text-align:center;
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(11px,.9vw,14px);
  line-height:1.35;
  letter-spacing:.09em;
  color:rgba(255,255,255,.78);
  opacity:0;
  transform:translateY(8px);
  animation:eoV12CaptionIn .72s ease 1.45s forwards;
}

/* A tiny floating tide glint after arrival; this does not repeat. */
.eo-logo-caption:before{
  content:"";
  display:block;
  width:34px;
  height:1px;
  margin:0 auto 12px;
  background:var(--air);
  opacity:.72;
  transform:scaleX(0);
  animation:eoV12CaptionMark .65s ease 1.62s forwards;
  transform-origin:center;
}

@keyframes eoV12LockupIn{
  0%{opacity:0;transform:translateY(20px) scale(.985)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes eoV12AtlanticGradient{
  0%{
    background-position:112% 0;
    filter:drop-shadow(0 18px 38px rgba(0,0,0,.12)) blur(.7px);
  }
  52%{
    filter:drop-shadow(0 18px 38px rgba(0,0,0,.2)) blur(0);
  }
  100%{
    background-position:-118% 0;
    filter:drop-shadow(0 18px 38px rgba(0,0,0,.18)) blur(0);
  }
}

@keyframes eoV12CaptionIn{
  to{opacity:1;transform:translateY(0)}
}

@keyframes eoV12CaptionMark{
  to{transform:scaleX(1)}
}

/* Desktop: logo remains visually independent from copy. */
@media (min-width:1101px){
  .eo-hero-logo-lockup{
    top:clamp(170px,20.5vh,230px);
    width:min(665px,49vw);
  }
}

/* Tablet: a centered masthead block with generous caption clearance. */
@media (max-width:1100px){
  .eo-hero{
    min-height:820px;
  }
  .eo-hero-logo-lockup{
    left:clamp(24px,6vw,62px);
    right:clamp(24px,6vw,62px);
    top:136px;
    width:auto;
    max-width:610px;
    margin-inline:auto;
    gap:20px;
  }
  .eo-hero-logo-lockup .eo-hero-logo-mask{
    height:184px;
  }
  .eo-logo-caption{
    font-size:12px;
    line-height:1.35;
  }
  .eo-logo-caption:before{
    margin-bottom:10px;
  }
  .eo-hero-copy{
    left:clamp(24px,5vw,54px);
    right:clamp(24px,5vw,54px);
    bottom:42px;
    width:auto;
    max-width:680px;
  }
}

/* Mobile: caption receives its own clear row below the logo. */
@media (max-width:640px){
  .eo-hero{
    min-height:800px;
  }
  .eo-hero-side{
    top:82px;
  }
  .eo-hero-logo-lockup{
    left:18px;
    right:18px;
    top:116px;
    width:auto;
    max-width:440px;
    gap:14px;
  }
  .eo-hero-logo-lockup .eo-hero-logo-mask{
    height:132px;
    width:100%;
    max-width:410px;
    margin-inline:auto;
  }
  .eo-logo-caption{
    font-size:10.5px;
    line-height:1.3;
    letter-spacing:.075em;
  }
  .eo-logo-caption:before{
    width:28px;
    margin-bottom:8px;
  }
  .eo-hero-copy{
    left:18px;
    right:18px;
    bottom:24px;
    width:auto;
    max-width:none;
  }
}

/* Short mobile screens: compact, but never allow logo/caption collision. */
@media (max-width:640px) and (max-height:760px){
  .eo-hero{
    min-height:770px;
  }
  .eo-hero-logo-lockup{
    top:104px;
    gap:10px;
  }
  .eo-hero-logo-lockup .eo-hero-logo-mask{
    height:112px;
  }
  .eo-logo-caption{
    font-size:10px;
  }
  .eo-logo-caption:before{
    display:none;
  }
  .eo-hero-copy{
    bottom:20px;
  }
}

/* Reduced motion: final state immediately visible. */
@media (prefers-reduced-motion:reduce){
  .eo-hero-logo-lockup,
  .eo-hero-logo-lockup .eo-hero-logo-mask,
  .eo-logo-caption,
  .eo-logo-caption:before{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   EASTOF.NYC v1.3 — NAV-ONLY ANIMATED LOGO
   Center hero logo removed. Atlantic Air gradient now lives
   in the existing top-left navigation logo.
   ========================================================= */

.eo-hero-logo-wrap,
.eo-hero-logo-lockup,
.eo-logo-caption,
.eo-logo-rule,
.eo-logo-rule-left,
.eo-logo-rule-right{
  display:none!important;
}

.eo-nav-logo{
  width:90px;
  height:62px;
  position:relative;
  flex:none;
  display:block;
  overflow:visible;
}

.eo-nav-logo-gradient{
  position:absolute;
  inset:0;
  display:block;
  background:linear-gradient(
    112deg,
    rgba(255,255,255,1) 0%,
    rgba(255,255,255,1) 34%,
    var(--air) 50%,
    rgba(255,255,255,1) 66%,
    rgba(255,255,255,1) 100%
  );
  background-size:250% 100%;
  background-position:112% 0;
  -webkit-mask:var(--nav-logo) center/contain no-repeat;
  mask:var(--nav-logo) center/contain no-repeat;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.16));
  opacity:0;
  transform:translateY(-4px) scale(.985);
  animation:
    eoNavLogoArrive .8s cubic-bezier(.18,.78,.22,1) .12s forwards,
    eoNavLogoAtlantic 2.45s cubic-bezier(.18,.78,.22,1) .46s 1 both;
  transition:opacity .3s ease,transform .3s ease;
}

.eo-logo-dark{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .3s ease;
  object-fit:contain;
}

.eo-nav.scrolled .eo-nav-logo-gradient{
  opacity:0!important;
  transform:translateY(-1px) scale(.98);
  animation:none;
}
.eo-nav.scrolled .eo-logo-dark{opacity:1}

@keyframes eoNavLogoArrive{
  from{opacity:0;transform:translateY(-4px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes eoNavLogoAtlantic{
  0%{background-position:112% 0;filter:drop-shadow(0 8px 20px rgba(0,0,0,.12)) blur(.35px)}
  54%{filter:drop-shadow(0 9px 22px rgba(0,0,0,.17)) blur(0)}
  100%{background-position:-118% 0;filter:drop-shadow(0 9px 22px rgba(0,0,0,.17)) blur(0)}
}

/* Rebalanced hero: lower-left editorial composition with more negative space. */
.eo-hero-copy{
  right:auto;
  left:clamp(20px,5vw,80px);
  bottom:clamp(58px,9vh,96px);
  width:min(610px,48vw);
  max-width:none;
}
.eo-hero-copy h1{
  font-size:clamp(58px,7vw,104px);
  line-height:.82;
  max-width:8.6ch;
  letter-spacing:-.035em;
  margin:14px 0 20px;
}
.eo-hero-copy p{
  max-width:48ch;
  font-size:14px;
  line-height:1.75;
}
.eo-hero-side{
  top:114px;
  left:clamp(20px,5vw,80px);
}

/* Restrained editorial vertical signature replaces the former center logo caption. */
.eo-hero:before{
  content:"THE EDIT BEYOND THE CITY";
  position:absolute;
  z-index:3;
  right:clamp(18px,4vw,56px);
  bottom:clamp(56px,8vh,92px);
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  font-family:var(--typewriter);
  font-size:8px;
  letter-spacing:.22em;
  color:rgba(255,255,255,.52);
  pointer-events:none;
}

@media (max-width:1100px){
  .eo-nav-logo{width:84px;height:58px}
  .eo-hero{min-height:800px}
  .eo-hero-copy{
    left:clamp(22px,5vw,52px);
    right:clamp(22px,5vw,52px);
    bottom:44px;
    width:auto;
    max-width:700px;
  }
  .eo-hero-copy h1{
    font-size:clamp(54px,8vw,82px);
    max-width:9ch;
  }
  .eo-hero-copy p{max-width:50ch}
  .eo-hero:before{right:18px;bottom:46px;font-size:7px}
}

@media (max-width:640px){
  .eo-nav{height:70px;padding:0 14px}
  .eo-nav-logo{width:74px;height:52px}
  .eo-hero{min-height:760px}
  .eo-hero-side{left:16px;top:88px}
  .eo-hero-copy{
    left:18px;
    right:18px;
    bottom:26px;
    width:auto;
    max-width:none;
  }
  .eo-hero-copy .eo-kicker{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.26);
    border-radius:999px;
    background:rgba(5,26,33,.18);
    backdrop-filter:blur(7px);
  }
  .eo-hero-copy h1{
    font-size:clamp(48px,13vw,62px);
    line-height:.84;
    max-width:8.2ch;
    margin:12px 0 14px;
  }
  .eo-hero-copy p{
    font-size:12px;
    line-height:1.58;
    max-width:42ch;
  }
  .eo-hero-cta{margin-top:18px}
  .eo-hero:before{display:none}
}

@media (prefers-reduced-motion:reduce){
  .eo-nav-logo-gradient{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
    background-position:50% 0!important;
  }
}


/* =========================================================
   EASTOF.NYC v1.4 — FLIP EAST SCROLLYTELLING CHAPTER
   Inspired by editorial sticky-media chapters:
   image stays pinned; each story step crossfades the media.
   ========================================================= */
.eo-flip-chapter{
  position:relative;
  background:var(--ink);
  color:#fff;
  overflow:clip;
}
.eo-flip-chapter-wrap{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  align-items:start;
  min-height:590vh;
}
.eo-flip-chapter-media{
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
  background:#061f27;
  isolation:isolate;
}
.eo-flip-layer{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.045);
  transition:
    opacity .78s cubic-bezier(.2,.72,.16,1),
    transform 1.18s cubic-bezier(.2,.72,.16,1),
    filter .9s ease;
  will-change:opacity,transform;
}
.eo-flip-layer.active{
  opacity:1;
  transform:scale(1);
}
.eo-flip-layer img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.76) contrast(1.08) brightness(.82);
}
.eo-flip-layer:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 56%,rgba(4,28,35,.22)),
    linear-gradient(180deg,rgba(4,28,35,.03),rgba(4,28,35,.12) 58%,rgba(4,28,35,.54));
}
.eo-flip-photo-meta{
  position:absolute;
  z-index:3;
  left:24px;
  right:24px;
  bottom:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:var(--typewriter);
  font-size:9px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.76);
}
.eo-flip-media-brand{
  position:absolute;
  z-index:4;
  left:24px;
  top:92px;
  right:24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
}
.eo-flip-media-brand span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
}
.eo-flip-media-brand small{
  font-family:var(--typewriter);
  font-size:8px;
  letter-spacing:.12em;
  color:rgba(255,255,255,.56);
}
.eo-flip-chapter-copy{
  position:relative;
  z-index:3;
  padding:12vh clamp(30px,6vw,90px) 18vh;
  background:var(--ink);
}
.eo-flip-chapter-intro{
  min-height:78vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:5vh;
}
.eo-flip-chapter-intro .eo-eyebrow{
  color:var(--air);
}
.eo-flip-chapter-intro h2{
  font-family:var(--serif);
  font-size:clamp(58px,6.5vw,102px);
  line-height:.84;
  font-weight:500;
  letter-spacing:-.045em;
  margin:16px 0 24px;
  max-width:8.7ch;
}
.eo-flip-chapter-intro p{
  max-width:54ch;
  font-size:14px;
  line-height:1.8;
  color:rgba(255,255,255,.66);
}
.eo-flip-step{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  opacity:.32;
  transform:translateY(42px);
  transition:
    opacity .62s cubic-bezier(.2,.72,.16,1),
    transform .62s cubic-bezier(.2,.72,.16,1);
}
.eo-flip-step.active{
  opacity:1;
  transform:none;
}
.eo-flip-step-number{
  font-family:var(--serif);
  font-size:25px;
  font-style:italic;
  color:var(--air);
}
.eo-flip-step h3{
  font-family:var(--serif);
  font-size:clamp(58px,6vw,96px);
  line-height:.86;
  font-weight:500;
  letter-spacing:-.055em;
  margin:18px 0 25px;
  text-transform:uppercase;
  max-width:8.8ch;
}
.eo-flip-step h3 em{
  font-weight:400;
  text-transform:none;
  color:var(--coral);
}
.eo-flip-step p{
  max-width:540px;
  font-size:15px;
  line-height:1.72;
  color:rgba(255,255,255,.66);
}
.eo-flip-micro{
  margin-top:26px;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.2em;
  color:rgba(255,255,255,.46);
}

/* Subtle editorial marker showing progress through the live chapter. */
.eo-flip-step:before{
  content:"";
  display:block;
  width:0;
  height:1px;
  background:var(--air);
  margin-bottom:28px;
  transition:width .65s cubic-bezier(.2,.72,.16,1);
}
.eo-flip-step.active:before{
  width:46px;
}

/* Tablet */
@media(max-width:1100px){
  .eo-flip-chapter-wrap{
    grid-template-columns:1fr 1fr;
  }
  .eo-flip-chapter-copy{
    padding-inline:clamp(26px,4vw,48px);
  }
  .eo-flip-chapter-intro h2{
    font-size:clamp(52px,7vw,78px);
  }
  .eo-flip-step h3{
    font-size:clamp(52px,6.5vw,76px);
  }
}

/* Mobile follows the attached editorial chapter pattern:
   sticky image above; story copy scrolls through a dark gradient. */
@media(max-width:780px){
  .eo-flip-chapter{
    overflow:visible;
  }
  .eo-flip-chapter-wrap{
    display:block;
    min-height:auto;
  }
  .eo-flip-chapter-media{
    position:sticky;
    top:0;
    height:62vh;
    min-height:420px;
    z-index:0;
  }
  .eo-flip-media-brand{
    top:84px;
    left:16px;
    right:16px;
  }
  .eo-flip-photo-meta{
    left:16px;
    right:16px;
    bottom:16px;
  }
  .eo-flip-chapter-copy{
    position:relative;
    z-index:2;
    padding:0 16px 9vh;
    background:transparent;
  }
  .eo-flip-chapter-intro{
    min-height:78vh;
    margin:0;
    padding:28px 18px 56px;
    justify-content:flex-end;
    border:0;
    background:
      linear-gradient(
        180deg,
        rgba(11,43,54,0) 0%,
        rgba(11,43,54,.68) 18%,
        var(--ink) 55%,
        var(--ink) 100%
      );
  }
  .eo-flip-chapter-intro h2{
    font-size:17vw;
    max-width:8ch;
  }
  .eo-flip-chapter-intro p{
    font-size:13px;
    line-height:1.65;
  }
  .eo-flip-step{
    min-height:86vh;
    padding:42px 18px 50px;
    justify-content:flex-end;
    background:
      linear-gradient(
        180deg,
        rgba(11,43,54,0) 0%,
        rgba(11,43,54,.78) 18%,
        var(--ink) 58%,
        var(--ink) 100%
      );
  }
  .eo-flip-step h3{
    font-size:17vw;
    line-height:.87;
    max-width:8.3ch;
  }
  .eo-flip-step p{
    font-size:13px;
    line-height:1.65;
  }
  .eo-flip-step-number{
    font-size:22px;
  }
}

/* Small phones */
@media(max-width:520px){
  .eo-flip-chapter-media{
    height:58vh;
    min-height:390px;
  }
  .eo-flip-chapter-intro{
    min-height:74vh;
  }
  .eo-flip-step{
    min-height:82vh;
  }
  .eo-flip-micro{
    font-size:9px;
    line-height:1.65;
  }
}

@media(prefers-reduced-motion:reduce){
  .eo-flip-layer,
  .eo-flip-step,
  .eo-flip-step:before{
    transition:none!important;
  }
}


/* =========================================================
   EASTOF.NYC v1.6 — BULLETPROOF RESPONSIVE SCROLL CHAPTER
   Mobile uses a simple sticky media window + independent copy flow.
   No negative margins, no overflow clipping, no transformed sticky parent.
   ========================================================= */

@media(max-width:780px){
  html,body{
    overflow-x:clip;
  }

  .eo-flip-chapter{
    overflow:visible!important;
    position:relative!important;
    contain:none!important;
  }

  .eo-flip-chapter-wrap{
    display:block!important;
    min-height:0!important;
    overflow:visible!important;
    position:relative!important;
  }

  .eo-flip-chapter-media{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:68px!important;
    height:44svh!important;
    height:44dvh!important;
    min-height:300px!important;
    max-height:430px!important;
    width:100%!important;
    z-index:6!important;
    overflow:hidden!important;
    background:#061f27!important;
    transform:none!important;
    -webkit-transform:none!important;
    contain:paint;
  }

  .eo-flip-layer{
    inset:0!important;
    opacity:0!important;
    transform:scale(1.028)!important;
    transition:
      opacity .52s cubic-bezier(.2,.72,.16,1),
      transform .82s cubic-bezier(.2,.72,.16,1)!important;
  }

  .eo-flip-layer.active{
    opacity:1!important;
    transform:scale(1)!important;
  }

  .eo-flip-layer img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
  }

  .eo-flip-media-brand{
    top:15px!important;
    left:16px!important;
    right:16px!important;
  }

  .eo-flip-media-brand span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 9px;
    border-radius:999px;
    background:rgba(6,31,39,.34);
    border:1px solid rgba(255,255,255,.22);
    backdrop-filter:blur(8px);
  }

  .eo-flip-media-brand small{
    padding:7px 9px;
    border-radius:999px;
    background:rgba(6,31,39,.28);
    backdrop-filter:blur(8px);
  }

  .eo-flip-photo-meta{
    left:16px!important;
    right:16px!important;
    bottom:14px!important;
  }

  .eo-flip-chapter-copy{
    position:relative!important;
    z-index:3!important;
    padding:0 16px 9vh!important;
    margin:0!important;
    background:var(--ink)!important;
  }

  .eo-flip-chapter-intro{
    min-height:70svh!important;
    min-height:70dvh!important;
    margin:0!important;
    padding:clamp(54px,9vh,86px) 2px 58px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    background:var(--ink)!important;
  }

  .eo-flip-chapter-intro h2{
    font-size:clamp(52px,15vw,76px)!important;
    line-height:.86!important;
    letter-spacing:-.045em!important;
    max-width:8.5ch!important;
    margin:14px 0 22px!important;
  }

  .eo-flip-chapter-intro p{
    font-size:13px!important;
    line-height:1.65!important;
    max-width:40ch!important;
  }

  .eo-flip-step{
    min-height:76svh!important;
    min-height:76dvh!important;
    padding:58px 2px 64px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    opacity:.28!important;
    transform:translateY(18px)!important;
    background:var(--ink)!important;
    border-bottom:1px solid rgba(255,255,255,.08);
    transition:
      opacity .46s cubic-bezier(.2,.72,.16,1),
      transform .46s cubic-bezier(.2,.72,.16,1)!important;
  }

  .eo-flip-step.active{
    opacity:1!important;
    transform:none!important;
  }

  .eo-flip-step:before{
    margin-bottom:22px!important;
  }

  .eo-flip-step-number{
    font-size:21px!important;
  }

  .eo-flip-step h3{
    font-size:clamp(48px,14.5vw,70px)!important;
    line-height:.88!important;
    max-width:8.5ch!important;
    margin:14px 0 21px!important;
  }

  .eo-flip-step p{
    font-size:13px!important;
    line-height:1.64!important;
    max-width:40ch!important;
  }

  .eo-flip-micro{
    margin-top:22px!important;
    font-size:9px!important;
    line-height:1.6!important;
    letter-spacing:.15em!important;
  }
}

@media(max-width:520px){
  .eo-flip-chapter-media{
    top:66px!important;
    height:42svh!important;
    height:42dvh!important;
    min-height:280px!important;
    max-height:380px!important;
  }

  .eo-flip-chapter-intro{
    min-height:66svh!important;
    min-height:66dvh!important;
  }

  .eo-flip-step{
    min-height:72svh!important;
    min-height:72dvh!important;
  }
}

/* Short landscape devices: keep media useful, not dominant. */
@media(max-width:900px) and (orientation:landscape){
  .eo-flip-chapter-media{
    top:62px!important;
    height:52dvh!important;
    min-height:220px!important;
    max-height:330px!important;
  }
  .eo-flip-chapter-intro,
  .eo-flip-step{
    min-height:92dvh!important;
  }
}

/* =========================================================
   v1.6 — TWO FORKS / FLIP THE STORY
   ========================================================= */

.eo-fork-flip-section{
  padding:clamp(90px,11vw,160px) clamp(20px,5vw,80px);
  background:var(--sand);
  overflow:hidden;
}

.eo-fork-flip-head{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  gap:clamp(30px,6vw,90px);
  align-items:end;
  margin-bottom:48px;
}

.eo-fork-flip-head h2{
  font-family:var(--serif);
  font-size:clamp(66px,8vw,122px);
  line-height:.78;
  letter-spacing:-.05em;
  font-weight:500;
  margin:12px 0 0;
}

.eo-fork-flip-head h2 em{
  font-weight:400;
  color:var(--claret);
}

.eo-fork-flip-intro{
  max-width:520px;
  justify-self:end;
}

.eo-fork-flip-intro p{
  font-family:var(--serif);
  font-size:clamp(22px,2vw,33px);
  line-height:1.08;
  margin:0 0 20px;
}

.eo-fork-flip-intro span{
  font-family:var(--typewriter);
  font-size:10px;
  letter-spacing:.15em;
  color:var(--claret);
  text-transform:uppercase;
}

.eo-fork-flip-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:start;
}

.eo-fork-flip-card{
  height:min(76vh,760px);
  min-height:620px;
  perspective:1800px;
  cursor:pointer;
  outline:none;
}

.eo-fork-flip-card-south{
  margin-top:74px;
}

.eo-fork-flip-inner{
  position:relative;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
  transition:transform .95s cubic-bezier(.18,.78,.22,1);
}

@media(hover:hover) and (pointer:fine){
  .eo-fork-flip-card:hover .eo-fork-flip-inner{
    transform:rotateY(180deg);
  }
}

.eo-fork-flip-card.is-flipped .eo-fork-flip-inner,
.eo-fork-flip-card:focus-visible .eo-fork-flip-inner{
  transform:rotateY(180deg);
}

.eo-fork-face{
  position:absolute;
  inset:0;
  overflow:hidden;
  border-radius:28px;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  box-shadow:var(--shadow);
}

.eo-fork-front{
  background:var(--ink);
  color:#fff;
}

.eo-fork-front img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.78) contrast(1.06);
  transition:transform 1.1s cubic-bezier(.2,.72,.16,1);
}

.eo-fork-flip-card:hover .eo-fork-front img{
  transform:scale(1.035);
}

.eo-fork-front-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(3,27,34,.1) 38%,rgba(3,27,34,.88)),
    linear-gradient(90deg,rgba(3,27,34,.25),transparent 60%);
}

.eo-fork-front-top{
  position:absolute;
  top:22px;
  left:22px;
  right:22px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  font-family:var(--typewriter);
  font-size:9px;
  letter-spacing:.13em;
  color:rgba(255,255,255,.74);
}

.eo-fork-front-copy{
  position:absolute;
  left:28px;
  right:28px;
  bottom:28px;
}

.eo-fork-front-copy h3{
  font-family:var(--serif);
  font-size:clamp(56px,6vw,92px);
  line-height:.82;
  font-weight:500;
  letter-spacing:-.045em;
  margin:8px 0 15px;
}

.eo-fork-front-copy p{
  max-width:36ch;
  font-size:13px;
  line-height:1.6;
  color:rgba(255,255,255,.74);
}

.eo-fork-turn{
  display:inline-flex;
  align-items:center;
  margin-top:22px;
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.eo-fork-back{
  transform:rotateY(180deg);
  padding:clamp(28px,4vw,54px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.eo-fork-back-north{
  background:var(--ink);
  color:#fff;
}

.eo-fork-back-south{
  background:var(--claret);
  color:#fff;
}

.eo-fork-back-index{
  font-family:var(--typewriter);
  font-size:10px;
  letter-spacing:.14em;
  color:var(--air);
}

.eo-fork-back-quote{
  font-family:var(--serif);
  font-size:clamp(38px,4vw,62px);
  line-height:.96;
  letter-spacing:-.035em;
  max-width:10ch;
  margin-top:22px;
}

.eo-fork-back p{
  max-width:52ch;
  font-size:13px;
  line-height:1.78;
  color:rgba(255,255,255,.75);
}

.eo-fork-back-tags{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.18);
  font-family:var(--typewriter);
  font-size:9px;
  line-height:1.6;
  letter-spacing:.14em;
  color:rgba(255,255,255,.56);
}

/* Tablet */
@media(max-width:1100px){
  .eo-fork-flip-head{
    grid-template-columns:1fr;
  }
  .eo-fork-flip-intro{
    justify-self:start;
  }
  .eo-fork-flip-card{
    height:68vh;
    min-height:570px;
  }
  .eo-fork-flip-card-south{
    margin-top:42px;
  }
}

/* Mobile: horizontal swipe gallery, tap to flip. */
@media(max-width:780px){
  .eo-fork-flip-section{
    padding:82px 0 94px;
  }

  .eo-fork-flip-head{
    display:block;
    padding:0 18px;
    margin-bottom:34px;
  }

  .eo-fork-flip-head h2{
    font-size:clamp(64px,19vw,88px);
    max-width:8ch;
  }

  .eo-fork-flip-intro{
    margin-top:26px;
    max-width:38ch;
  }

  .eo-fork-flip-intro p{
    font-size:24px;
    line-height:1.08;
  }

  .eo-fork-flip-grid{
    display:flex;
    gap:14px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    padding:0 18px 18px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .eo-fork-flip-grid::-webkit-scrollbar{
    display:none;
  }

  .eo-fork-flip-card,
  .eo-fork-flip-card-south{
    flex:0 0 86vw;
    width:86vw;
    height:68svh;
    height:68dvh;
    min-height:540px;
    max-height:700px;
    margin:0!important;
    scroll-snap-align:center;
  }

  .eo-fork-face{
    border-radius:24px;
  }

  .eo-fork-front-top{
    top:18px;
    left:18px;
    right:18px;
    font-size:8px;
  }

  .eo-fork-front-copy{
    left:20px;
    right:20px;
    bottom:21px;
  }

  .eo-fork-front-copy h3{
    font-size:clamp(52px,16vw,74px);
  }

  .eo-fork-back{
    padding:24px;
  }

  .eo-fork-back-quote{
    font-size:clamp(38px,11vw,52px);
  }

  .eo-fork-back p{
    font-size:12px;
    line-height:1.66;
  }
}

@media(max-width:480px){
  .eo-fork-flip-card,
  .eo-fork-flip-card-south{
    flex-basis:88vw;
    width:88vw;
    min-height:510px;
  }
}

@media(prefers-reduced-motion:reduce){
  .eo-fork-flip-inner,
  .eo-flip-layer,
  .eo-flip-step{
    transition:none!important;
  }
}


/* =========================================================
   EASTOF.NYC v1.7 — MOBILE NAV LOGO RELIABILITY
   Real logo fallback + direct CSS mask path + opacity-safe shimmer.
   ========================================================= */

.eo-nav-logo{
  isolation:isolate;
}

.eo-logo-light-fallback{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  opacity:1;
  z-index:1;
  transition:opacity .26s ease;
  pointer-events:none;
}

/* Direct relative mask URL avoids inline CSS custom-property parsing issues on mobile Safari. */
.eo-nav-logo-gradient{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  display:block!important;
  opacity:1!important;
  transform:translateZ(0) scale(1)!important;

  background-image:linear-gradient(
    112deg,
    #ffffff 0%,
    #ffffff 29%,
    var(--air) 43%,
    #dff9fc 51%,
    var(--air) 59%,
    #ffffff 73%,
    #ffffff 100%
  )!important;
  background-size:320% 100%!important;
  background-position:135% 0;

  -webkit-mask-image:url("../img/logo.png")!important;
  -webkit-mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-image:url("../img/logo.png")!important;
  mask-repeat:no-repeat!important;
  mask-position:center!important;
  mask-size:contain!important;

  filter:drop-shadow(0 7px 18px rgba(0,0,0,.14));
  will-change:background-position,filter,transform;
  pointer-events:none;
  animation:
    eoV17NavGradientSweep 2.85s cubic-bezier(.18,.78,.22,1) .18s 1 both,
    eoV17NavLogoSettle .72s cubic-bezier(.18,.78,.22,1) .05s 1 both!important;
}

/* Re-triggered by JS on pageshow / BFCache restore. */
.eo-nav-logo-gradient.eo-logo-replay{
  animation:none!important;
}
.eo-nav-logo-gradient.eo-logo-replay.eo-logo-replay-go{
  animation:
    eoV17NavGradientSweep 2.85s cubic-bezier(.18,.78,.22,1) .08s 1 both,
    eoV17NavLogoSettle .72s cubic-bezier(.18,.78,.22,1) 0s 1 both!important;
}

@keyframes eoV17NavGradientSweep{
  0%{
    background-position:135% 0;
    filter:drop-shadow(0 7px 18px rgba(0,0,0,.12));
  }
  48%{
    filter:drop-shadow(0 9px 24px rgba(115,205,216,.24));
  }
  100%{
    background-position:-135% 0;
    filter:drop-shadow(0 7px 18px rgba(0,0,0,.16));
  }
}

@keyframes eoV17NavLogoSettle{
  0%{transform:translate3d(0,-3px,0) scale(.985)}
  100%{transform:translate3d(0,0,0) scale(1)}
}

/* Light hero state: fallback and animated overlay are both present. */
.eo-nav:not(.scrolled) .eo-logo-light-fallback{
  opacity:1!important;
}
.eo-nav:not(.scrolled) .eo-nav-logo-gradient{
  opacity:1!important;
}

/* Scrolled light navigation: clean Atlantic Ink logo. */
.eo-nav.scrolled .eo-logo-light-fallback{
  opacity:0!important;
}
.eo-nav.scrolled .eo-nav-logo-gradient{
  opacity:0!important;
  animation:none!important;
}
.eo-nav.scrolled .eo-logo-dark{
  opacity:1!important;
  z-index:3;
}

/* Mobile gets a slightly more obvious Atlantic sweep at the exact original logo footprint. */
@media(max-width:780px){
  .eo-nav-logo-gradient{
    background-image:linear-gradient(
      108deg,
      #ffffff 0%,
      #ffffff 24%,
      #bceef3 39%,
      var(--air) 48%,
      #e8fbfd 56%,
      #ffffff 72%,
      #ffffff 100%
    )!important;
    background-size:360% 100%!important;
    animation:
      eoV17MobileGradientSweep 3.15s cubic-bezier(.16,.78,.2,1) .12s 1 both,
      eoV17NavLogoSettle .7s cubic-bezier(.18,.78,.22,1) .02s 1 both!important;
  }

  .eo-nav-logo-gradient.eo-logo-replay.eo-logo-replay-go{
    animation:
      eoV17MobileGradientSweep 3.15s cubic-bezier(.16,.78,.2,1) .05s 1 both,
      eoV17NavLogoSettle .7s cubic-bezier(.18,.78,.22,1) 0s 1 both!important;
  }

  @keyframes eoV17MobileGradientSweep{
    0%{
      background-position:145% 0;
      filter:drop-shadow(0 6px 15px rgba(0,0,0,.12));
    }
    42%{
      filter:drop-shadow(0 8px 21px rgba(115,205,216,.34));
    }
    100%{
      background-position:-145% 0;
      filter:drop-shadow(0 7px 17px rgba(0,0,0,.16));
    }
  }
}

/* Reduced motion keeps the logo plainly visible rather than suppressing it. */
@media(prefers-reduced-motion:reduce){
  .eo-logo-light-fallback{
    opacity:1!important;
  }
  .eo-nav-logo-gradient{
    animation:none!important;
    opacity:.6!important;
    transform:none!important;
    background-position:50% 0!important;
  }
  .eo-nav.scrolled .eo-logo-light-fallback,
  .eo-nav.scrolled .eo-nav-logo-gradient{
    opacity:0!important;
  }
}


/* =========================================================
   EASTOF.NYC v1.8 — LIVE MOBILE ANIMATED LOGO FIX
   Uses a real animated APNG instead of a CSS mask animation.
   This removes mobile Safari mask/keyframe initialization as a dependency.
   ========================================================= */
.eo-nav-logo-gradient{display:none!important}
.eo-nav-logo{isolation:isolate}
.eo-logo-light-fallback,
.eo-logo-animated,
.eo-logo-dark{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}
.eo-logo-light-fallback{
  z-index:1!important;
  opacity:1!important;
  transition:opacity .28s ease!important;
}
.eo-logo-animated{
  z-index:2!important;
  opacity:1!important;
  display:block!important;
  transform:none!important;
  filter:drop-shadow(0 7px 18px rgba(0,0,0,.14));
  transition:opacity .28s ease!important;
  pointer-events:none;
}
.eo-logo-dark{
  z-index:3!important;
  opacity:0!important;
  transition:opacity .28s ease!important;
}
.eo-nav:not(.scrolled) .eo-logo-light-fallback,
.eo-nav:not(.scrolled) .eo-logo-animated{
  opacity:1!important;
}
.eo-nav:not(.scrolled) .eo-logo-dark{
  opacity:0!important;
}
.eo-nav.scrolled .eo-logo-light-fallback,
.eo-nav.scrolled .eo-logo-animated{
  opacity:0!important;
}
.eo-nav.scrolled .eo-logo-dark{
  opacity:1!important;
}

/* Mobile retains the exact compact logo footprint; the animation asset itself is rasterized at >4x display size. */
@media(max-width:780px){
  .eo-logo-animated{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    -webkit-transform:translateZ(0)!important;
    transform:translateZ(0)!important;
  }
  .eo-nav.scrolled .eo-logo-animated{opacity:0!important}
}

/* Respect reduced motion: show the static white logo instead of animated APNG. */
@media(prefers-reduced-motion:reduce){
  .eo-logo-animated{display:none!important}
  .eo-nav:not(.scrolled) .eo-logo-light-fallback{opacity:1!important}
}
