:root{--red:#e22535;--ink:#f5f5f2;--paper:#1d1d1b;--green:#37a473;--font:"nexa",Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--green);outline-offset:6px}button,a{-webkit-tap-highlight-color:transparent}::selection{background:var(--red);color:white}.skip{color:#191a18;position:fixed;top:-60px;left:20px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}.header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper)}.brand{display:flex;align-items:center;gap:14px}.monogram{font-size:40px;font-weight:1000;font-style:italic;letter-spacing:-5px}.monogram>span{color:var(--red)}.brand-name{font-size:19px;font-weight:900;letter-spacing:2px;border-left:1px solid #bbb;padding-left:14px}.brand-name>span{display:block;font-size:8px;letter-spacing:1.5px;margin-top:6px}nav{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:700}nav>a:hover,.text-link:hover{color:var(--red)}.nav-cta{border:1px solid #ffffff40;padding:14px 20px}.nav-cta span{margin-left:26px}.hero{min-height:680px;height:calc(100svh - 92px);max-height:950px;position:relative;isolation:isolate;background:#1b1c1b;color:white;overflow:hidden}.hero-image{position:absolute;width:76%;height:100%;right:0;object-fit:cover;object-position:55% 46%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#141613 4%,#141613ed 24%,#14161350 64%,#1416131a),linear-gradient(0deg,#141613d9,transparent 35%);z-index:-2}.hero-content{padding:104px 6% 130px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:2.5px;font-weight:bold;margin:0 0 40px}.eyebrow>span{height:7px;width:7px;background:var(--red);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--font);font-weight:900;letter-spacing:-2px;line-height:1.02}h1{font-size:clamp(64px,7.8vw,124px);margin-bottom:30px}h1>span{color:var(--red)}.hero-copy{font-size:18px;line-height:1.6;color:#d9dad5;margin-bottom:30px}.button{display:inline-flex;align-items:center;gap:55px;padding:20px 25px;font-size:13px;font-weight:bold;transition:background .2s,transform .2s}.button:hover{background:var(--red);transform:translateY(-2px)}.red{background:var(--red)}.button span{font-size:21px}.hero-bottom{position:absolute;bottom:30px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#ccc;border-top:1px solid #ffffff30;padding-top:22px}.hero-bottom a span{margin-left:20px;color:white}.hero-side{position:absolute;right:22px;top:40%;writing-mode:vertical-rl;letter-spacing:3px;font-size:9px}.ticker{background:var(--paper);border-block:1px solid #ffffff26;color:white;display:flex;justify-content:space-around;align-items:center;gap:28px;overflow:hidden;white-space:nowrap;padding:23px 2%;font-family:var(--font);font-size:29px;letter-spacing:.5px}.ticker i{font-size:25px;font-style:normal;color:var(--red)}.section{padding:84px 6% 92px;scroll-margin-top:0}.section-label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;font-weight:bold;letter-spacing:1.7px;margin-bottom:52px}.tricolor{width:65px;height:5px;background:linear-gradient(90deg,var(--red) 33%,#fff 33%,#fff 66%,var(--green) 66%)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}h2{font-size:clamp(44px,5.2vw,78px);margin-bottom:30px}h2>span{color:var(--red)}.about-copy{max-width:520px;padding-top:6px}.lead{font-size:25px;font-weight:bold;line-height:1.3;letter-spacing:-.6px}.about-copy>p:not(.lead){color:#c2c2bc;font-size:15px;line-height:1.9}.text-link{display:inline-flex;gap:45px;font-weight:bold;font-size:12px;border-bottom:1px solid #ffffff40;padding:10px 0 14px}.values{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:64px;border-top:1px solid #ffffff26;padding-top:32px}.values>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 28px;border-left:1px solid #ffffff26;gap:12px}.values>div:first-child{border:0}.value-number{font-size:clamp(24px,3vw,42px);font-family:var(--font);letter-spacing:-1px}.values>div>span:last-child{font-size:8px;letter-spacing:1.5px;color:#b7b7b0}.moments{background:var(--paper);color:var(--ink)}.moments .section-label{color:#a4a79d}.moments-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px;gap:35px}.moments-heading>p{color:#a4a79d;font-size:13px;line-height:1.8;margin-bottom:36px}.gallery{display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:250px 250px;gap:20px}.gallery figure{position:relative;overflow:hidden;margin:0;background:#333}.gallery-main{grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.035)}figcaption{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(0deg,#080a08de,transparent 65%)}figcaption>span{font-size:8px;letter-spacing:2px;color:#ddd;margin-bottom:12px}h3{font-size:26px;line-height:1.15;margin-bottom:0;letter-spacing:-.5px}.gallery-main h3{font-size:36px}.join{background:var(--paper);color:white;position:relative;border-top:1px solid #ffffff26}.join .section-label{color:#ffffffbe}.join-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:6%;align-items:center}.join h2{font-size:clamp(42px,4.6vw,70px);margin-bottom:0}.join h2>span{color:var(--red)}.join-grid>div>p{font-size:15px;line-height:1.8;max-width:410px}.join-instruction{color:#ffffffc9}.email{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #ffffff70;font-size:clamp(17px,2.1vw,30px);font-weight:bold;letter-spacing:-1px;padding:18px 0;white-space:nowrap}.email:hover{color:var(--red)}.email span{font-size:35px}.join-grid>div>.email-note{font-size:10px;margin:12px 0 0;color:#ffffffaf}footer{background:#141613;color:#e7e7df;padding:40px 6%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer>span{font-size:8px;letter-spacing:1.7px;color:#91958b}.footer-brand{font-weight:900;font-size:23px;letter-spacing:-1px}.footer-brand>span{display:block;font-size:8px;letter-spacing:2px;margin-top:7px;color:#a5a79e}footer>a:last-child{font-size:10px;color:#b9bcb3}@media(min-width:1600px){.section,.header,footer{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:760px){.header{height:76px;padding:0 5%}.brand-name{font-size:15px}.monogram{font-size:32px}.brand-name>span{font-size:6px}nav{gap:10px}nav>a:not(.nav-cta){display:none}.nav-cta{padding:11px 13px;font-size:11px}.nav-cta span{margin-left:10px}.hero{height:740px;min-height:0;max-height:calc(100svh - 76px)}.hero-image{width:100%;object-position:59% center}.hero-shade{background:linear-gradient(90deg,#141613dc,#14161350),linear-gradient(0deg,#141613ee,transparent 70%)}.hero-content{padding:80px 6% 110px}h1{font-size:clamp(49px,10.8vw,80px);letter-spacing:-1.5px}.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:35px}.hero-copy{font-size:16px}.hero-side{display:none}.hero-bottom{font-size:7px;letter-spacing:1px;bottom:24px}.ticker{justify-content:start;padding:18px 6%;font-size:24px;gap:25px}.section{padding:56px 6%}.section-label{font-size:7px;letter-spacing:1.1px;margin-bottom:35px}.about-grid,.join-grid{grid-template-columns:1fr;gap:22px}h2{font-size:49px;letter-spacing:-1.5px}.lead{font-size:23px}.values{margin-top:40px;gap:15px}.values>div{padding:0 8px}.value-number{font-size:21px;letter-spacing:-.5px}.values>div>span:last-child{font-size:6px;letter-spacing:.6px;line-height:1.7}.moments-heading{display:block;margin-bottom:25px}.moments-heading>p{margin-bottom:0}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 240px;gap:12px}.gallery-main{grid-row:auto;grid-column:span 2}figcaption{padding:17px}h3{font-size:20px}.gallery-main h3{font-size:31px}figcaption>span{font-size:7px;letter-spacing:1px}.join h2{font-size:45px}.join-grid{gap:30px}.email{font-size:25px}footer{flex-wrap:wrap;padding:30px 6%}footer>span{display:none}footer>a:last-child{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.arrow{display:inline-block;width:1.15em;height:1.15em;vertical-align:middle;flex-shrink:0}

/* The poster's vertical red-white-green band stays at the page edge. */
body{padding-left:8px}
body::before{content:"";position:fixed;z-index:30;left:0;top:0;bottom:0;width:8px;pointer-events:none;background:linear-gradient(to bottom,var(--red) 0 33.333%,#fff 33.333% 66.666%,var(--green) 66.666% 100%)}
.hero{background:var(--paper)}
footer{background:var(--paper);border-top:1px solid #ffffff26}
.ticker,.value-number{font-weight:800}
@media(max-width:760px){body{padding-left:4px}body::before{width:4px}h1{font-size:clamp(43px,10.5vw,80px)}.email{font-size:clamp(19px,6vw,25px)}}
@media(max-width:760px){.values{grid-template-columns:repeat(3,minmax(0,1fr))}.values>div{min-width:0}.value-number{font-size:clamp(16px,4.7vw,21px)}.moments h2,.join h2{font-size:clamp(37px,10.5vw,49px)}.about-copy,.join-grid>div{min-width:0}.section-label>span{min-width:0}}
/* Poster-style titles and square email frame. */
h1,h2,h3,.value-number{font-family:var(--font);font-weight:900;text-transform:uppercase}
.email{border:0;background:var(--red);color:#fff;border-radius:0;padding:18px 20px;gap:12px;font-size:clamp(17px,1.9vw,28px);letter-spacing:-.5px;transition:background .2s,color .2s}
.email:hover{background:var(--red);color:#fff}
@media(max-width:760px){.email{padding:16px 12px;font-size:clamp(17px,5.5vw,25px)}.email span{font-size:25px}}
/* Center the header photograph and its introduction. */
.hero{display:flex;align-items:center;justify-content:center}
.hero-image{inset:0;width:100%;object-position:center center}
.hero-shade{background:linear-gradient(180deg,#14161385,#14161399 55%,#141613e6)}
.hero-content{width:100%;text-align:center;padding:70px 6% 110px}
.hero-content .eyebrow{justify-content:center}
.hero-content h1{font-family:var(--font);font-weight:900;text-transform:uppercase}
.hero-copy{margin-left:auto;margin-right:auto}
@media(max-width:760px){.hero-content{padding:40px 6% 100px}}
/* Adobe Fonts: Nexa Rust Slab Black 2 for the large display titles. */
h1,h2,.hero-content h1,.value-number{font-family:"nexa-rust-slab-black-2",var(--font);font-weight:900;font-style:normal;text-transform:uppercase}

/* Center the original poster introduction below its heading. */
.about-grid{grid-template-columns:minmax(0,1fr);gap:12px;text-align:center}
.about-grid h2{margin-bottom:18px}
.about-copy{width:100%;max-width:900px;margin-inline:auto;padding-top:0}
.about-copy>p:not(.lead){margin-bottom:0;font-size:clamp(16px,1.7vw,23px);line-height:1.65}

/* Smaller shadow slab lettering, with separators only between words. */
.ticker{font-family:"nexa-rust-slab-black-shadow-2","nexa-rust-slab-black-2",var(--font);font-weight:900;font-size:clamp(15px,1.55vw,22px);padding-block:19px;gap:20px}
.ticker i{font-size:20px}
@media(max-width:760px){.ticker{font-size:17px;padding-block:16px;gap:18px}.ticker i{font-size:17px}}

/* Solid black layout and centered original logo. */
:root{--paper:#000}
body,.header,.hero,.moments,.join,.ticker,footer{background-color:#000}
.header{height:164px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:24px;color:#fff}
.header .brand{grid-column:2;justify-self:center;display:block}
.brand-logo{display:block;width:140px;height:140px;object-fit:contain}
.header nav{grid-column:3;justify-self:end;gap:20px}
.header::before,footer::before{content:none}
footer{border-top:1px solid #ffffff26}
.hero-shade{background:linear-gradient(180deg,#000 0%,#000e 12%,#0008 35%,#0009 65%,#000 100%)}
@media(max-width:900px){.header{height:auto;min-height:164px;grid-template-columns:1fr;justify-items:center;gap:8px;padding-block:12px 20px}.header .brand,.header nav{grid-column:1;justify-self:center}.header nav>a:not(.nav-cta){display:block}.brand-logo{width:120px;height:120px}.header nav{gap:22px}.header .nav-cta{padding:10px 13px}}

/* Oversized crest overlaps the hero; use the same artwork in the footer. */
.header{height:104px;min-height:0;z-index:3;grid-template-columns:minmax(0,1fr) 310px minmax(0,1fr)}
.header .brand{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:1}
.brand-logo{width:310px;height:310px}
.hero-content{padding-top:180px}
footer{display:grid;grid-template-columns:minmax(0,1fr) 160px minmax(0,1fr);gap:24px;align-items:center}
.footer-brand{grid-column:2;grid-row:1;justify-self:center}
.footer-logo{display:block;width:160px;height:160px;object-fit:contain}
footer>span{grid-column:1;grid-row:1}
footer>a:last-child{grid-column:3;grid-row:1;justify-self:end}
@media(max-width:1100px){.header{height:116px;grid-template-columns:1fr;padding:12px 5% 0;align-items:start}.header nav{grid-column:1;justify-self:center;gap:20px}.header nav>a:not(.nav-cta){display:block}.header .brand{top:64px}.brand-logo{width:240px;height:240px}.hero-content{padding-top:180px}}
@media(max-width:760px){footer{grid-template-columns:1fr;justify-items:center;gap:20px}.footer-brand{grid-column:1;grid-row:1}footer>a:last-child{grid-column:1;grid-row:2;justify-self:center}.footer-logo{width:140px;height:140px}}
.header .brand{grid-column:auto;grid-row:auto}

/* Larger vertical motto using the display slab family. */
.hero-side{font-family:"nexa-rust-slab-black-2",var(--font);font-weight:900;font-size:clamp(12px,1.15vw,17px);letter-spacing:1.5px;top:50%;transform:translateY(-50%);right:24px}
/* Red join button, matching the sidebar palette. */
.header .nav-cta{background:var(--red);color:#fff;border-color:var(--red)}
.header .nav-cta:hover{background:var(--red);color:#fff;text-decoration:underline;text-underline-offset:4px}
/* Three-line red, white and green hero title. */
#hero-title{font-size:clamp(48px,6vw,92px);line-height:1.08}
#hero-title>span{display:block}
#hero-title>.title-red{color:var(--red)}
#hero-title>.title-white{color:#fff}
#hero-title>.title-green{color:var(--green)}
@media(max-width:760px){#hero-title{font-size:clamp(36px,9.4vw,64px)}.hero{min-height:710px;max-height:none;height:auto}.hero-content{padding-bottom:120px}}

.hero-content .eyebrow{font-family:"nexa-rust-slab-black-2",var(--font);font-weight:900;font-size:clamp(12px,1.3vw,19px);letter-spacing:1.3px;line-height:1.5;flex-wrap:wrap}
@media(max-width:760px){.hero-content .eyebrow{font-size:clamp(10px,2.8vw,15px);letter-spacing:.6px}}

/* Pill buttons without arrows, with uppercase labels. */
button,.button,.nav-cta,.email{border-radius:999px;text-transform:uppercase}
nav a,footer>a:last-child{text-transform:uppercase}
.button,.email{justify-content:center;gap:0}
.email{font-size:clamp(15px,1.65vw,24px);padding:20px 16px;letter-spacing:0}


.join h2>span{display:block}
.join h2>.join-title-red{color:var(--red)}
.join h2>.join-title-white{color:#fff}
.join h2>.join-title-green{color:var(--green)}
@media(max-width:760px){.email{font-size:clamp(14px,4.4vw,21px)}.header nav{gap:16px}}
/* Decorative video stays behind a dark scrim and readable text. */
.about{position:relative;isolation:isolate;overflow:hidden}
.about-video{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;container-type:size;background:#000}
.about-video iframe{position:absolute;top:50%;left:50%;width:max(calc(100cqw + 360px),calc(177.78cqh + 360px));height:max(calc(100cqh + 202.5px),calc(56.25cqw + 202.5px));transform:translate(-50%,-50%);border:0;pointer-events:none}
.about::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.96),rgba(0,0,0,.88) 25%,rgba(0,0,0,.88) 75%,rgba(0,0,0,.96))}
.about-copy>p:not(.lead){color:#fff;text-shadow:0 2px 12px #000}
.about .section-label,.about .values>div>span:last-child{color:#e2e2e2;text-shadow:0 1px 8px #000}
.about .values,.about .values>div{border-color:#ffffff40}

/* Prominent footer motto in the same Rust display family. */
footer>span{font-family:"nexa-rust-slab-black-2",var(--font);font-weight:900;font-size:clamp(13.75px,1.1875vw,17.5px);line-height:1.5;letter-spacing:.6px;color:#fff}
@media(max-width:760px){footer>span{display:block;grid-column:1;grid-row:2;text-align:center;font-size:clamp(13.75px,3.75vw,16.25px)}footer>a:last-child{grid-row:3}}

/* Use the Rust display face throughout the photo captions. */
.gallery h3,.gallery figcaption>span{font-family:"nexa-rust-slab-black-2",var(--font);font-weight:900;font-style:normal}
/* Scroll-driven frosted navigation; the artwork and menu stay crisp. */
html{scroll-padding-top:140px}
.header{position:relative;z-index:20;background:#000}
/* The frost fades into the page instead of ending at the navigation edge. */
.top-frost{position:fixed;top:0;left:8px;right:0;height:180px;z-index:19;pointer-events:none;opacity:var(--glass-progress,0);background:linear-gradient(180deg,#0008,transparent);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 28%,rgba(0,0,0,.8) 48%,rgba(0,0,0,.35) 75%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 28%,rgba(0,0,0,.8) 48%,rgba(0,0,0,.35) 75%,transparent 100%)}
@media(max-width:760px){.top-frost{left:4px;height:155px}}

/* Navigation stays in document flow; the frost is a separate overlay. */
html,body{overscroll-behavior-y:none}
.header{position:relative;top:auto;left:auto;right:auto}

/* Readable Nexa labels on the photographs. */
.gallery figcaption>span{font-family:var(--font);font-weight:700;font-size:clamp(18px,1.65vw,25px);line-height:1.35;letter-spacing:.7px;color:#fff;text-shadow:0 2px 12px #000;margin-bottom:16px}
.gallery-main figcaption>span{font-size:clamp(22px,2.2vw,34px)}
@media(max-width:760px){.gallery figcaption>span{font-size:16px;letter-spacing:.3px;margin-bottom:12px}.gallery-main figcaption>span{font-size:22px}}

/* Put the large photo labels at the top left, separate from the bottom titles. */
.gallery figcaption{background:linear-gradient(180deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.38) 30%,rgba(0,0,0,.1) 48%,rgba(0,0,0,.82) 100%)}
.gallery figcaption>span{position:absolute;top:28px;left:28px;right:28px;margin:0;font-family:var(--font);font-size:clamp(20px,2.5vw,36px);font-weight:800;line-height:1.2;letter-spacing:0;text-shadow:0 2px 16px #0008}
.gallery-main figcaption>span{font-size:clamp(26px,3.2vw,48px)}
@media(max-width:760px){.gallery figcaption>span{top:17px;left:17px;right:17px;font-size:18px}.gallery-main figcaption>span{font-size:clamp(24px,6.5vw,34px)}}
/* Gentle one-time reveals as content enters the viewport. */
.scroll-reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
.scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-reveal{opacity:1;transform:none;transition:none}}

.brand-logo{filter:drop-shadow(0 8px 24px #000c) drop-shadow(0 0 12px #ffffff20)}
@media(min-width:1101px){.hero{min-height:880px;max-height:none}.hero-content{padding-top:260px}}

/* Three balanced photo stories, staggered subtly on wide screens. */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;gap:26px;align-items:stretch;padding-bottom:0}
.gallery figure,.gallery .gallery-main{grid-column:auto;grid-row:auto;position:relative;margin:0;min-width:0;overflow:hidden;border:1px solid #ffffff20;border-radius:14px;background:#0d0d0d}
.gallery figure:nth-child(2){margin-top:0}
.gallery figure:nth-child(3){margin-top:0}
.moment-photo{position:relative;overflow:hidden;background:#151515}
.moment-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#000b 0%,#0005 25%,transparent 65%)}
.gallery .moment-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.gallery figure:hover img{transform:scale(1.045)}
.gallery figcaption{position:static;display:block;background:none;padding:26px 24px 30px;min-height:145px}
.gallery figcaption>span,.gallery-main figcaption>span{position:absolute;z-index:1;top:20px;left:20px;right:20px;margin:0;font-family:var(--font);font-size:clamp(16px,1.4vw,22px);font-weight:800;line-height:1.3;letter-spacing:.2px;text-shadow:0 2px 12px #000}
.gallery h3,.gallery-main h3{font-size:clamp(21px,1.85vw,29px);line-height:1.22;letter-spacing:-.4px;margin:0;overflow-wrap:break-word}
.gallery figure::after{content:"";position:absolute;bottom:0;left:24px;width:44px;height:3px;background:var(--red)}
.gallery figure:nth-child(2)::after{background:#fff}
.gallery figure:nth-child(3)::after{background:var(--green)}
@media(max-width:1000px){.gallery{gap:18px}.gallery figcaption{padding:22px 18px 26px;min-height:150px}.gallery figcaption>span,.gallery-main figcaption>span{left:18px;right:18px;font-size:16px}.gallery h3,.gallery-main h3{font-size:22px}}
@media(max-width:760px){.gallery{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:0;max-width:540px;margin-inline:auto}.gallery figure:nth-child(2),.gallery figure:nth-child(3){margin-top:0}.gallery figcaption{min-height:0;padding:24px 22px 28px}.gallery figcaption>span,.gallery-main figcaption>span{top:20px;left:22px;right:22px;font-size:clamp(18px,4.8vw,24px)}.gallery h3,.gallery-main h3{font-size:clamp(22px,5.6vw,29px)}.gallery figure::after{left:22px}}
@media(prefers-reduced-motion:reduce){.gallery .moment-photo img{transition:none}.gallery figure:hover img{transform:none}}

/* Aligned cards with understated photo labels. */
.gallery figure{display:flex;flex-direction:column}
.gallery figcaption{flex:1}
.gallery figcaption>span,.gallery-main figcaption>span{font-size:clamp(11px,.95vw,14px);letter-spacing:.8px;top:18px;left:20px;right:20px}
@media(max-width:760px){.gallery figcaption>span,.gallery-main figcaption>span{font-size:12px;top:18px;left:22px;right:22px}}

/* Keep the closing invitation on its own single line. */
.join h2>.join-title-green{font-size:.72em;letter-spacing:-.02em;white-space:nowrap}

/* Three-line heading for the community photo stories. */
.moments-heading h2>span{display:block}
.moments-heading h2>.moments-title-red{color:var(--red)}
.moments-heading h2>.moments-title-white{color:#fff}
.moments-heading h2>.moments-title-green{color:var(--green)}

/* Solid round separators between the community values. */
.ticker .ticker-dot{display:block;flex:0 0 14px;width:14px;height:14px;border-radius:50%;background:var(--red)}
@media(max-width:760px){.ticker .ticker-dot{flex-basis:10px;width:10px;height:10px}}
/* Red smoke and orange embers over a continuous hero photograph. */
.pyro-effect{position:absolute;top:0;left:8px;right:0;height:600px;z-index:18;pointer-events:none;overflow:hidden;-webkit-mask-image:linear-gradient(#000 0%,#000b 60%,transparent 100%);mask-image:linear-gradient(#000 0%,#000b 60%,transparent 100%)}
.pyro-effect canvas{position:absolute;inset:0;width:100%;height:100%}
.header{position:absolute;top:0;left:8px;right:0;background:transparent}
.hero{min-height:984px;height:calc(100svh + 12px);max-height:none}
.hero-content{padding-top:364px}
@media(max-width:1100px){.hero{min-height:796px;height:calc(100svh + 24px)}.hero-content{padding-top:296px}}
@media(max-width:760px){.header{left:4px}.pyro-effect{left:4px;height:460px}.hero{min-height:826px;height:auto}.hero-content{padding-top:296px}}
@media(prefers-reduced-motion:reduce){.pyro-effect canvas{display:none}}
