@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#101010;--ink:#f0ede7;--muted:#96938f;--line:#ffffff20;--red:#852b36}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #c46a76;outline-offset:5px}::selection{background:var(--red)}header{position:fixed;z-index:20;top:0;left:0;width:100%;padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;transition:.4s;border-bottom:1px solid transparent}header.scrolled{background:#121212bf;backdrop-filter:blur(22px);border-color:var(--line);border-radius:0 0 12px 12px}.wordmark{font-size:21px;line-height:.8;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.mark{width:26px;height:28px;border:1px solid #bc5964;display:grid;place-items:center;color:#bc5964;font-weight:500;letter-spacing:-3px;padding-right:3px}.wordmark small{display:block;font-size:9px;letter-spacing:5px;margin-top:8px}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav a:not(.button){color:#bebbb7}nav a:hover{color:white}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 23px;border:1px solid #ffffff36;font-size:12px;font-weight:600;letter-spacing:1.3px;background:transparent;color:var(--ink);transition:.25s}.button.primary{background:var(--red);border-color:var(--red)}.button:hover{background:#a2414c;border-color:#a2414c}.menu{display:none;background:transparent;border:1px solid var(--line);color:white;padding:12px}.wrap{width:92%;max-width:1440px;margin:auto}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#aaa6a1}.hero{position:relative;min-height:850px;height:95vh;max-height:1100px;overflow:hidden;padding-top:185px;background:radial-gradient(ellipse at 70% 35%,#4e17212e,transparent 60%)}.hero h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(70px,10.7vw,172px);line-height:.88;letter-spacing:-.02em;margin:30px 0 24px;font-weight:600;position:relative;z-index:2;max-width:1100px}.hero h1 span{color:#a4a09a}.hero h1 em{font-style:normal;color:var(--ink);position:relative}.hero h1 em:after{content:'';position:absolute;bottom:5%;left:0;width:100%;height:4px;background:var(--red)}.hero .intro{max-width:380px;line-height:1.65;color:#aaa6a1;position:relative;z-index:2}.hero-actions{display:flex;gap:12px;margin-top:28px;position:relative;z-index:2}.hero-film{position:absolute;width:37%;height:58%;right:-3%;top:26%;transform:rotate(9deg);opacity:.24;overflow:hidden;border:1px solid #fff4}.hero-film img{height:100%;width:100%;object-fit:cover;filter:grayscale(1);animation:drift 14s alternate infinite}.hero-bottom{position:absolute;bottom:35px;left:4%;right:4%;display:flex;justify-content:space-between;color:#74716e;font-size:11px;letter-spacing:2px}.tiny-cross{color:#8b3742}.credits{padding:45px 0 55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.credits .eyebrow{text-align:center;margin-bottom:35px}.marquee{overflow:hidden;position:relative}.marquee:before,.marquee:after{content:'';position:absolute;z-index:3;top:0;bottom:0;width:6%;pointer-events:none}.marquee:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.marquee:after{right:0;background:linear-gradient(-90deg,var(--bg),transparent)}.track{display:flex;width:max-content;animation:marquee 100s linear infinite}.marquee:hover .track,.marquee:focus-within .track,.marquee.playing .track{animation-play-state:paused}.logos{display:flex;align-items:center;gap:80px;padding:0 40px}.logos img{width:160px;height:50px;object-fit:contain;filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.6}.section{padding:120px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:40px}h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(45px,6vw,92px);font-weight:600;line-height:.97;letter-spacing:-.01em;margin:18px 0}p{line-height:1.7}.section-head p{color:var(--muted);max-width:330px;font-size:14px}.text-link{font-size:12px;letter-spacing:1.4px;border-bottom:1px solid #a74c59;padding-bottom:8px}.reels .track{animation-duration:120s;gap:18px;padding:14px 9px}.media{position:relative;background:#212020;overflow:hidden;isolation:isolate;border:1px solid #ffffff18;border-radius:8px}.reels .media{width:235px;aspect-ratio:9/16;flex:none}.media img,.media video{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:filter .6s,transform .6s;filter:grayscale(.95) brightness(.65)}.media:hover img,.media.active img,.media:hover video,.media.active video{filter:grayscale(0) brightness(1);transform:scale(1.025)}.media video{display:none}.media.active video{display:block}.media:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b);pointer-events:none;z-index:1}.media .caption{position:absolute;z-index:2;bottom:22px;left:20px;right:18px;pointer-events:none}.caption small{display:block;font-size:10px;letter-spacing:1.7px;color:#c6c1bc;margin-bottom:7px}.caption strong{font-size:18px;font-weight:500}.play,.expand{position:absolute;z-index:4;border:1px solid #ffffff50;color:white;background:#15151566;backdrop-filter:blur(8px);width:44px;height:44px;border-radius:50%;display:grid;place-items:center}.play{top:16px;left:16px}.expand{right:16px;top:16px;border-radius:4px;font-size:20px}.media .badge{position:absolute;bottom:80px;left:20px;font-size:10px;z-index:3;color:#ddd;letter-spacing:1px}.reels-note{display:flex;justify-content:space-between;gap:24px;margin:32px auto 0;font-size:12px;color:var(--muted)}.statement{padding:110px 0 140px;border-bottom:1px solid var(--line)}.statement h2{font-size:clamp(52px,8.8vw,138px)}.statement span{color:#575451}.statement .accent{color:#a5505c}.services{display:grid;grid-template-columns:1fr 1.4fr;gap:9vw}.service{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:40px 1fr}.service:last-child{border-bottom:1px solid var(--line)}.service summary{list-style:none;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-size:32px;display:flex;justify-content:space-between}.service summary::-webkit-details-marker{display:none}.service summary:after{content:'+';color:#777;font-family:'DM Sans';font-weight:400}.service details[open] summary:after{content:'−'}.service>span{font-size:11px;color:#a5505c;margin-top:9px}.service p{color:#a29f9a;font-size:14px;margin:15px 30px 0 0}.drone{position:relative;min-height:720px;display:flex;align-items:center;overflow:hidden;border-block:1px solid var(--line)}.drone>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.5) brightness(.38);transform:scale(1.02)}.drone:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080808e8,#08080840)}.drone .wrap{z-index:2;position:relative}.drone h2{font-size:clamp(65px,8vw,125px)}.drone h2 span{color:#c67984}.drone p{max-width:470px;color:#c9c5bf}.drone .fine{font-size:12px;color:#aba59e;max-width:570px}.badges{display:flex;gap:35px;margin:35px 0}.badges span{border-left:2px solid #a74c59;padding-left:15px;font-size:12px;line-height:1.7;letter-spacing:1px}.philosophy{display:flex;justify-content:space-between;align-items:start;gap:60px}.steps{width:52%}.step{padding:25px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.step strong{font-size:clamp(25px,3vw,44px);font-weight:500}.step span{color:#8b8380;font-size:12px}.preview-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}.preview-grid .media{aspect-ratio:16/10}.preview-grid .media:nth-child(2){aspect-ratio:1/1;grid-row:span 2}.preview-grid .media:nth-child(3){aspect-ratio:16/8}.about{display:grid;grid-template-columns:1.25fr 1fr;gap:12vw;border-top:1px solid var(--line)}.about p{color:#aaa6a1;max-width:400px}.about aside{display:flex;align-items:center;justify-content:center;border:1px solid var(--line);aspect-ratio:1.4;font-family:'Barlow Condensed';font-size:100px;background:radial-gradient(ellipse,#56202a33,transparent 70%);position:relative}.about aside small{position:absolute;bottom:24px;left:24px;font:11px 'DM Sans';letter-spacing:2px;color:#8b8480}.contact{border-top:1px solid var(--line);background:radial-gradient(ellipse at 0% 60%,#4c1b252e,transparent 65%);display:grid;grid-template-columns:1.2fr 1fr;gap:9vw}.contact h2{font-size:clamp(55px,6.8vw,105px)}.contact h2 span{color:#9a4652}form{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-self:center}label{font-size:12px;color:#b8b3ac;display:block}input,select,textarea{width:100%;border:0;border-bottom:1px solid #ffffff35;padding:13px 0;background:transparent;color:var(--ink);border-radius:0;font-size:16px}select option{background:#222}textarea{resize:vertical;min-height:85px}.full{grid-column:1/-1}form .button{width:100%;margin-top:5px}.form-note{font-size:12px;color:#8d8580;line-height:1.6;margin:0}footer{border-top:1px solid var(--line);padding:45px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:35px;align-items:start}.footer-links{display:flex;gap:25px;font-size:12px;color:#a29b95}.social-pending{font-size:12px;color:#777}.footer-bottom{display:flex;justify-content:space-between;margin-top:70px;color:#77716c;font-size:11px;letter-spacing:1px}.portfolio-hero{padding-top:175px}.portfolio-hero h1{font:600 clamp(90px,14vw,210px)/.9 'Barlow Condensed';letter-spacing:-.03em;margin:25px 0}.portfolio-hero p{max-width:470px;color:#a49e98}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:55px 0 40px}.filters button{background:transparent;color:#98918b;border:1px solid var(--line);padding:12px 20px;font-size:12px;letter-spacing:1px}.filters button.active{color:white;border-color:var(--red);background:#662330}.portfolio-grid{columns:3;column-gap:22px}.portfolio-grid .media{break-inside:avoid;margin-bottom:22px;aspect-ratio:var(--ratio);width:100%}.portfolio-grid .media[hidden]{display:none}.gallery-note{font-size:12px;color:#89837d;margin:35px 0 90px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}dialog{padding:0;border:1px solid var(--line);background:#111;color:white;width:min(950px,95vw);max-height:95vh}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:18px}.modal-head button{background:transparent;color:white;border:1px solid var(--line);padding:10px 14px}dialog video{display:block;width:100%;max-height:72vh;background:black}dialog p{font-size:12px;color:#aaa;padding:0 20px}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes drift{to{transform:scale(1.12) translateX(-2%)}}@media(hover:hover){.service:hover{border-color:#91404b}.service:hover p{color:#ccc}.media:hover{border-color:#91404b}}@media(max-width:850px){nav{gap:16px}nav a:not(.button){display:none}.menu{display:block}nav.open{position:absolute;top:80px;left:4%;right:4%;padding:22px;background:#181818f5;display:flex;flex-direction:column;align-items:stretch}nav.open a:not(.button){display:block;padding:10px}.hero{min-height:750px;padding-top:170px;height:90svh}.hero h1{font-size:clamp(70px,13vw,110px)}.hero-film{width:65%;right:-25%;top:30%;opacity:.18}.section{padding:80px 0}.services,.about,.contact{grid-template-columns:1fr;gap:45px}.philosophy{display:block}.steps{width:100%;margin-top:40px}.section-head{align-items:start}.section-head p{max-width:230px}.portfolio-grid{columns:2}.drone{min-height:650px}.about aside{display:none}.footer-main{flex-wrap:wrap}.footer-links{flex-wrap:wrap}.statement{padding:80px 0}.logos{gap:50px}.reels .media{width:205px}}@media(max-width:520px){header{padding:20px 5%}.wrap{width:90%}.hero{min-height:725px;padding-top:145px}.hero h1{font-size:19.5vw;margin-top:35px}.hero .intro{font-size:14px;max-width:280px}.hero-bottom{font-size:9px;left:5%;right:5%}.hero-bottom span:last-child{display:none}.eyebrow{font-size:10px}.section-head{display:block}.section-head p{max-width:300px}.reels .media{width:195px}.reels-note{display:block;line-height:2}.reels-note a{display:inline-block;margin-top:12px}.statement h2{font-size:15vw}.preview-grid{grid-template-columns:1fr}.preview-grid .media:nth-child(2){aspect-ratio:4/3;grid-row:auto}.preview-grid .media:nth-child(3){aspect-ratio:4/3}.badges{gap:22px}.badges span{font-size:10px}.contact h2{font-size:15vw}form{gap:20px}.footer-bottom{line-height:1.8;display:block}.footer-bottom span{display:block}.portfolio-grid{columns:1}.portfolio-grid .media{max-height:650px}.filters{gap:8px}.filters button{padding:12px 15px}.portfolio-hero{padding-top:150px}.portfolio-hero h1{font-size:23vw}.philosophy h2{font-size:14vw}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.track,.hero-film img{animation:none}.reveal{opacity:1;transform:none;transition:none}*{transition:none!important}.marquee{overflow-x:auto}}
@media(max-width:850px){.contact>div>div{padding-right:5vw}.contact form{margin-left:5vw!important;margin-right:5vw!important}}
@media(max-width:520px){.hero h1 em{display:block;width:max-content}.hero{min-height:830px}.hero h1{font-size:18.5vw}.hero-bottom{bottom:24px}}

/* STELA opening: solid accents and a period that becomes the page. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#stela-intro[hidden]{display:none!important}
#stela-intro{--intro-accent:#b85966;position:fixed;inset:0;z-index:100;background:#090909;color:#f0ede7;display:grid;place-items:center;opacity:1;transition:opacity .65s ease;overflow:hidden}
html.intro-pending,html.intro-pending body{overflow:hidden}
html.intro-pending header,html.intro-pending main,html.intro-pending footer{pointer-events:none}
#stela-intro.leaving{opacity:0;pointer-events:none}
.intro-brand{position:absolute;top:34px;left:4vw;font-size:12px;font-weight:700;letter-spacing:3px;color:#aaa39e;transition:opacity .3s}
.intro-brand span{color:var(--intro-accent)}
.intro-stage{position:relative;width:min(1100px,92vw);height:230px;display:grid;place-items:center}
.intro-phrase{grid-area:1/1;margin:0;text-align:center;font-family:'DM Sans',Arial,sans-serif;font-size:clamp(30px,4.3vw,64px);font-weight:600;letter-spacing:-.045em;line-height:1.3;opacity:0;transform:translateY(12px);transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1);color:var(--intro-accent)}
.intro-phrase.visible{opacity:1;transform:translateY(0)}
.intro-phrase.exiting{opacity:0;transform:translateY(-10px)}
.intro-lead{position:relative;display:inline-block;white-space:pre}
.intro-white{position:absolute;inset:0;color:#f0ede7;white-space:pre;clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.45,0,.25,1)}
.intro-phrase.swept .intro-white{clip-path:inset(0 0 0 0)}
.intro-accent{color:var(--intro-accent);white-space:nowrap}
.intro-period{display:inline-block;width:.135em;height:.135em;background:var(--intro-accent);border-radius:50%;margin-left:.065em;vertical-align:baseline}
.intro-travel-dot{position:fixed;border-radius:50%;z-index:3;background:var(--intro-accent);pointer-events:none;will-change:transform;transform-origin:center}
.intro-bottom{position:absolute;bottom:30px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;color:#77716d;z-index:4}
#intro-skip{border:1px solid #ffffff29;background:#09090960;padding:13px 19px;color:#bdb7b1;font-size:12px;letter-spacing:.5px;min-height:44px;border-radius:3px;transition:color .25s,border-color .25s}
#intro-skip:hover{color:#f0ede7;border-color:var(--intro-accent)}
.dot-transition .intro-brand,.dot-transition .intro-bottom>span{opacity:0}
.dot-transition .intro-stage{opacity:0;transition:opacity .3s ease}
@media(max-width:600px){.intro-phrase{font-size:clamp(28px,7vw,42px);letter-spacing:-.04em}.intro-stage{width:92vw}.intro-phrase:nth-child(2) .intro-lead{display:block}.intro-brand{left:5vw;top:26px}.intro-bottom{left:5vw;right:5vw;bottom:24px}.intro-bottom>span{font-size:9px;letter-spacing:1.3px}}
@media(prefers-reduced-motion:reduce){#stela-intro{display:none!important}html.intro-pending,html.intro-pending body{overflow:visible}html.intro-pending header,html.intro-pending main,html.intro-pending footer{pointer-events:auto}}

/* Shared arrival from a truly blank frame. */
#stela-intro:focus{outline:none}
.intro-brand,.intro-bottom{opacity:0;transform:translateY(8px);transition:opacity .65s ease,transform .65s ease}
.intro-started .intro-brand,.intro-started .intro-bottom{opacity:1;transform:translateY(0)}
.intro-period,.intro-travel-dot{display:none}
.stela-reveal{position:absolute;inset:0;z-index:2;background:#3e252b;clip-path:polygon(48% 42%,52% 42%,52% 46%,53% 46%,53% 54%,52% 54%,52% 58%,48% 58%,48% 54%,47% 54%,47% 46%,48% 46%);opacity:0;transition:opacity .45s ease}
.intro-stela{position:absolute;left:50%;top:50%;width:32px;height:auto;z-index:3;transform:translate(-50%,calc(-50% + 20px));opacity:0;filter:grayscale(1) invert(1);mix-blend-mode:screen;transition:transform .6s cubic-bezier(.22,1,.36,1),opacity .5s ease}
.stela-transition .intro-stage,.stela-transition .intro-brand{opacity:0;transition:opacity .35s ease}
.stela-transition .intro-stela{opacity:.9;transform:translate(-50%,-50%)}
.stela-transition .stela-reveal{opacity:1}
.stela-opening .intro-stela{opacity:0;transform:translate(-50%,-50%)}
.stela-opening .intro-bottom{opacity:0}
.hero h1 em:after{height:9px;bottom:1%;left:-1%;width:102%;transform:rotate(-.7deg);border-radius:60% 20% 40% 35%;clip-path:polygon(0 37%,3% 20%,12% 27%,25% 17%,38% 24%,52% 11%,68% 20%,83% 10%,97% 23%,100% 43%,98% 68%,86% 83%,69% 72%,54% 89%,39% 78%,24% 89%,10% 76%,2% 66%);opacity:.95}
@media(max-width:600px){.hero h1 em:after{height:6px}.intro-stela{width:28px}}

/* White first, then a solid left-to-right burgundy sweep. */
.intro-text{position:relative;display:inline-block;color:#f0ede7}
.intro-burgundy{position:absolute;inset:0;color:var(--intro-accent);clip-path:inset(0 100% 0 0);transition:clip-path 1.15s cubic-bezier(.45,0,.25,1)}
.intro-phrase.swept .intro-burgundy{clip-path:inset(0 0 0 0)}
.intro-break{display:none}
.brand-logo img{display:block;width:104px;height:auto;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.intro-brand img{width:96px;height:auto;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.about-logo{width:65%;height:auto;filter:grayscale(1) invert(1);mix-blend-mode:screen}
.utah-mountain{width:25px;height:20px;color:#b66a76;vertical-align:middle;margin-right:9px}
.hero h1 em:after{height:12px;bottom:-4%;transform:rotate(-1.6deg);background:repeating-linear-gradient(172deg,transparent 0 1px,#852b36e8 1px 3px,#a547536b 3px 4px),linear-gradient(90deg,#852b36,#91313f 70%,#852b36);clip-path:polygon(0 42%,2% 23%,8% 32%,16% 18%,24% 28%,32% 12%,42% 24%,51% 8%,61% 20%,72% 12%,81% 25%,90% 14%,98% 28%,100% 48%,97% 68%,89% 79%,80% 68%,71% 85%,60% 74%,50% 94%,40% 77%,29% 89%,20% 76%,11% 90%,4% 71%,1% 68%)}
@media(max-width:600px){.intro-break{display:block}.brand-logo img{width:90px}.hero h1 em:after{height:8px;bottom:-5%}}

/* A passing color wave follows reading order, including across mobile lines. */
.wave-word{position:relative;display:inline-block;color:#f0ede7}
.wave-color{position:absolute;inset:0;color:var(--intro-accent);clip-path:inset(0 100% 0 0)}
.intro-phrase.swept .wave-pass .wave-color{animation:stelaColorPass 1s cubic-bezier(.45,0,.25,1) var(--wave-delay) both}
.intro-phrase.swept .wave-hold .wave-color{animation:stelaColorHold .6s cubic-bezier(.45,0,.25,1) var(--wave-delay) both}
.wave-line{display:inline-block;white-space:nowrap}
@keyframes stelaColorPass{0%{clip-path:inset(0 100% 0 0)}35%,52%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
@keyframes stelaColorHold{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
/* The corner logo remains until the central mark and footer credit leave together. */
.stela-transition .intro-brand{opacity:1;transform:translateY(0)}
.intro-brand,.intro-bottom,.intro-stela{transition:opacity .5s ease,transform .5s ease}
.stela-opening .intro-brand,.stela-opening .intro-bottom,.stela-opening .intro-stela{opacity:0;transition:opacity .5s ease,transform .5s ease}
.stela-opening .intro-brand,.stela-opening .intro-bottom{transform:translateY(-8px)}

/* One glyph layer: no white duplicate beneath burgundy edges. */
.wave-word{padding-inline:.07em;margin-inline:-.07em;background-repeat:no-repeat}
.intro-phrase.swept .wave-word{color:transparent;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-size:400% 100%;background-position:100% 0}
.intro-phrase.swept .wave-pass{background-image:linear-gradient(90deg,#f0ede7 0%,#f0ede7 26%,#b85966 39%,#b85966 61%,#f0ede7 74%,#f0ede7 100%);animation:stelaSoftPass 1.12s cubic-bezier(.35,0,.25,1) var(--wave-delay) both}
.intro-phrase.swept .wave-hold{background-image:linear-gradient(90deg,#b85966 0%,#b85966 40%,#f0ede7 60%,#f0ede7 100%);animation:stelaSoftHold .68s cubic-bezier(.35,0,.25,1) var(--wave-delay) both}
@keyframes stelaSoftPass{from{background-position:100% 0}to{background-position:0% 0}}
@keyframes stelaSoftHold{from{background-position:100% 0}to{background-position:0% 0}}
.intro-phrase.swept .wave-word.wave-settled{animation:none;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#f0ede7;-webkit-text-fill-color:currentColor}
.intro-phrase.swept .wave-hold.wave-settled{color:var(--intro-accent)}

/* Honduras to Utah: an engraved route, revealed with the visitor's scroll. */
.origin-story{position:relative;padding:90px 0 105px;border-block:1px solid var(--line);background:radial-gradient(ellipse at 76% 42%,#591f2926,transparent 58%),linear-gradient(180deg,#121111,#0e0e0e 55%,#121010);overflow:clip}
.story-layout{display:grid;grid-template-columns:minmax(300px,.88fr) minmax(390px,1.12fr);gap:5vw;align-items:start}
.story-copy{position:relative;padding-left:52px}
.story-intro{padding:35px 0 42px;max-width:580px}
.story-intro h2{font:600 clamp(58px,7.5vw,112px)/.88 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.025em;margin:28px 0 22px}
.story-intro p,.story-step p{max-width:460px;color:#aaa39d;line-height:1.75;font-size:15px}
.story-chapters{position:relative}
.story-chapters:before,.story-chapters:after{content:'';position:absolute;left:-34px;top:4px;bottom:4px;width:1px;background:#ffffff23}
.story-chapters:after{background:var(--story-accent,#9c4651);height:var(--story-progress,0%);bottom:auto;transition:height .18s linear;box-shadow:0 0 12px #a3435055}
.story-step{min-height:66svh;display:flex;flex-direction:column;justify-content:center;padding:35px 0;border-bottom:1px solid #ffffff14;position:relative;opacity:.55;transition:opacity .45s ease}
.story-step:before{content:'';position:absolute;left:-39px;top:50%;width:9px;height:9px;border-radius:50%;background:#302c2b;border:1px solid #79716d;transform:translateY(-50%);transition:background .35s,border-color .35s,box-shadow .35s,scale .35s}
.story-step.is-active{opacity:1}
.story-step.is-active:before{background:#b75a66;border-color:#d18b91;box-shadow:0 0 0 5px #b75a6624,0 0 20px #a94450aa;scale:1.14}
.story-step__index{display:flex;align-items:center;gap:13px;color:#bd6974;font-size:13px;letter-spacing:2px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.story-step.is-active .story-step__index{transform:translateY(-2px) scale(1.025)}
.story-step__index span{color:#77716e;font-size:10px;letter-spacing:2.2px}
.story-step h3{font:500 clamp(34px,4.3vw,58px)/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:.005em;margin:18px 0 10px}
.story-step p{margin:6px 0 0;max-width:400px}
.story-end{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0 10px;color:#837b76;font-size:10px;letter-spacing:2px}
.story-end .text-link{color:#d2c9c2}
.story-visual{position:sticky;top:92px;height:min(790px,calc(100svh - 112px));min-height:540px;border:1px solid #ffffff1b;background:linear-gradient(145deg,#1a1717f5,#101011 60%);border-radius:4px 4px 90px 4px;overflow:hidden;box-shadow:0 24px 90px #0006}
.story-visual:before{content:'';position:absolute;inset:12px;border:1px solid #c9a99c17;border-radius:2px 2px 82px 2px;pointer-events:none;z-index:2}
.story-visual__top,.story-visual__bottom{position:absolute;z-index:3;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;color:#8b817c;font-size:9px;letter-spacing:1.8px}
.story-visual__top{top:26px}.story-visual__bottom{bottom:24px}.story-coordinates{color:#b46a73}.story-live{color:#aaa09a;transition:color .3s}
.story-visual[data-stage="3"] .story-live{color:#ca7b84}
.story-map{position:absolute;inset:62px 0 58px;width:100%;height:calc(100% - 120px);overflow:visible;transform:none}
.map-tablet{fill:#151313;stroke:#9d746b;stroke-opacity:.29;stroke-width:1.2}
.map-grid{fill:url(#map-grid);opacity:.65}.map-glow{fill:url(#map-glow);opacity:.45;transition:opacity .7s}
.story-visual[data-stage="0"] .map-glow{opacity:.25}.story-visual[data-stage="1"] .map-glow,.story-visual[data-stage="2"] .map-glow{opacity:.8}.story-visual[data-stage="3"] .map-glow{opacity:.68}
.place-labels{opacity:.72}.place-labels text{transition:fill .35s,opacity .35s}
.story-visual[data-stage="0"] .place-labels text:nth-child(1),.story-visual[data-stage="1"] .place-labels text:nth-child(n+5),.story-visual[data-stage="2"] .place-labels text:nth-child(n+8),.story-visual[data-stage="3"] .place-labels text:nth-child(n+2):nth-child(-n+4){fill:#d3a0a0;opacity:1}
.route-segment{stroke-dasharray:var(--route-length,1);stroke-dashoffset:var(--route-offset,1);transition:stroke-dashoffset .12s linear}
.route-point{fill:#d08b87;stroke:#241518;stroke-width:4;opacity:.25;transition:opacity .4s,scale .35s;transform-box:fill-box;transform-origin:center}
.route-halo{fill:none;stroke:#b85966;stroke-width:1;opacity:0;transition:opacity .5s}
.route-point.is-reached{opacity:.9}.route-point.is-current{opacity:1;scale:1.2}
.route-halo.is-lit{opacity:.72;animation:route-breathe 2.8s ease-in-out infinite}
.remote-point{fill:#d0a4a0;opacity:0;transition:opacity .45s}
.story-visual[data-stage="3"] .remote-point{opacity:.9}
@keyframes route-breathe{50%{opacity:.25;scale:.82}}
@media(max-width:900px){.story-layout{grid-template-columns:1fr;gap:28px}.story-copy{padding-left:42px;order:2}.story-visual{position:sticky;top:78px;z-index:1;order:1;height:min(70svh,650px);min-height:420px}.story-intro{padding:25px 0 16px}.story-intro h2{font-size:clamp(56px,12vw,92px)}.story-step{min-height:61svh}.story-chapters:before,.story-chapters:after{left:-27px}.story-step:before{left:-32px}}
@media(max-width:560px){.story-visual{position:relative;top:auto}.origin-story{padding:52px 0 65px}.story-layout{width:90%;gap:12px}.story-visual{top:70px;height:54svh;min-height:375px;max-height:520px;border-radius:3px 3px 48px 3px}.story-visual:before{inset:8px;border-radius:2px 2px 42px 2px}.story-visual__top,.story-visual__bottom{left:18px;right:18px;font-size:8px;letter-spacing:1.25px}.story-visual__top{top:18px}.story-visual__bottom{bottom:17px}.story-map{inset:45px 0 48px;height:calc(100% - 93px)}.story-map text{font-size:10px}.story-copy{padding-left:35px}.story-intro{padding:22px 0 8px}.story-intro h2{font-size:15vw;margin:20px 0 15px}.story-intro p,.story-step p{font-size:14px}.story-step{min-height:57svh;padding:24px 0}.story-chapters:before,.story-chapters:after{left:-22px}.story-step:before{left:-27px;width:8px;height:8px}.story-step h3{font-size:clamp(32px,9vw,46px)}.story-end{font-size:8px;letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){.story-step,.story-step__index,.story-map,.route-point,.route-halo,.map-glow,.story-live{transition:none}.route-halo.is-lit{animation:none}.story-step{opacity:1}}


/* A real, labeled map replaces the previous illustrative sketch. */
.story-intro{padding:18px 0 12px}
.story-step{min-height:40svh;padding:24px 0}
.story-step h3{margin:13px 0 8px}
.story-step p{margin-top:3px;line-height:1.58}
.story-visual{isolation:isolate}
.story-map{position:absolute;inset:62px 0 58px;width:100%;height:calc(100% - 120px);overflow:hidden;background:#141112;z-index:0;transform:none!important;transition:none!important}
.story-map:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 65% 46%,#7b263522,transparent 54%),linear-gradient(180deg,#0b08081b,transparent 28%,#09080835);mix-blend-mode:multiply;z-index:450}
.story-map .leaflet-tile-pane{filter:grayscale(1) invert(.88) hue-rotate(180deg) brightness(.52) contrast(1.14)}
.story-map .leaflet-container,.story-map.leaflet-container{background:#111}
.story-map .leaflet-control-attribution{background:#101010d9;color:#aaa39f;font:9px/1.35 'DM Sans',sans-serif;padding:2px 5px;border-radius:2px}
.story-map .leaflet-control-attribution a{color:#d4c9c3}
.story-map .leaflet-pane,.story-map .leaflet-control{z-index:400}
.story-map .leaflet-overlay-pane{z-index:410}
.story-map .leaflet-tooltip{background:#111;color:#e6ded8;border:1px solid #8d3743;box-shadow:0 5px 18px #0008;font:10px/1.3 'DM Sans',sans-serif;letter-spacing:1.1px;text-transform:uppercase;border-radius:2px;padding:5px 7px}
.story-map .leaflet-tooltip:before{border-right-color:#8d3743}
.map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#a79b95;background:radial-gradient(ellipse at 60% 45%,#571d272e,transparent 65%);font-size:10px;letter-spacing:1.5px}
.map-fallback a{color:#d6c8c1;text-decoration:underline;text-underline-offset:4px}
.map-route-dot{width:11px;height:11px;border-radius:50%;background:#bf626d;border:2px solid #f0d2cf;box-shadow:0 0 0 5px #b8596633,0 0 18px #b85966a8}
.map-city-dot{width:8px;height:8px;border-radius:50%;background:#bf626d;border:1.5px solid #eed6d2;box-shadow:0 0 0 3px #b859662b}
@media(max-width:900px){.story-step{min-height:39svh}}
@media(max-width:560px){.story-step{min-height:38svh;padding:20px 0}.story-intro{padding:14px 0 8px}.story-map{inset:45px 0 48px;height:calc(100% - 93px)}.story-map .leaflet-control-attribution{font-size:8px}.story-visual__bottom{gap:8px}.story-live{font-size:7px}}
@media(prefers-reduced-motion:reduce){.story-map .leaflet-zoom-animated{transition:none!important}}


/* State outlines, glow, and geographic markers for the chapter-based story map. */
.story-map .leaflet-overlay-pane path{vector-effect:non-scaling-stroke}
.story-map .leaflet-overlay-pane path.leaflet-interactive{transition:fill-opacity .35s ease,opacity .35s ease}
.story-map .map-city-dot{display:block;width:7px;height:7px;border:1px solid #f0d1d1;border-radius:50%;background:#bc5a67;box-shadow:0 0 0 3px #aa46552f,0 0 11px #b94c5e8c;transition:transform .42s cubic-bezier(.2,.8,.2,1),opacity .3s}
.story-map .map-airport-dot{display:block;width:13px;height:13px;border:1px solid #f0d1d1;border-radius:50%;background:#b85766;box-shadow:0 0 0 5px #b8576638,0 0 20px #ba5966;animation:airport-pulse 2.2s ease-in-out infinite}
.story-map .map-route-dot{display:block}
.story-visual[data-stage="0"] .story-live{color:#c17880}
@keyframes airport-pulse{50%{box-shadow:0 0 0 8px #b8576615,0 0 24px #ba5966}}
@media(prefers-reduced-motion:reduce){
 .story-map .leaflet-overlay-pane path{transition:none!important}
 .story-map .map-airport-dot{animation:none}
}

/* Client credits are a slow, draggable rail with clear directional controls. */
.credits-head{position:relative;width:92%;max-width:1440px;min-height:28px;margin:0 auto 35px;display:flex;align-items:center;justify-content:center}
.credits .eyebrow{text-align:center;margin:0}
.credits-controls{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;gap:7px}
.credits-controls button{width:34px;height:30px;padding:0;display:grid;place-items:center;border:1px solid #ffffff26;background:#111;color:#bcb5b0;font-size:17px;line-height:1;transition:color .2s,border-color .2s,background .2s}
.credits-controls button:hover{color:var(--ink);border-color:#b85766;background:#b8576618}
.credits .marquee{overflow:hidden!important;touch-action:pan-y;cursor:grab}
.credits .marquee.is-dragging{cursor:grabbing;user-select:none}
.credits .track{animation:none!important;will-change:transform}
.credits .logos,.credits .logos img{-webkit-user-drag:none;user-select:none}
@media(max-width:640px){.credits-head{min-height:38px;margin-bottom:27px;padding-right:88px;justify-content:flex-start}.credits .eyebrow{text-align:left;font-size:10px;line-height:1.5}.credits-controls{top:0;transform:none}.credits-controls button{width:36px;height:34px}}

/* Identity and mobile polish */
.brand-logo img,.intro-brand img{filter:none;mix-blend-mode:normal}
.footer-main{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:6vw;align-items:start}
.footer-brand p,.footer-info p{font-size:13px;line-height:1.9;color:#a29b95;margin:20px 0 0}
.footer-label{font-size:10px;letter-spacing:1.8px;color:#b85766}
.footer-label-spaced{margin-top:22px}
.footer-info a{color:#d6d0c9;text-decoration:none}
.footer-info a:hover{color:#fff}
.footer-links{margin-top:18px}
@media(max-width:850px){header nav{display:flex;gap:0;margin-left:auto;position:static}header nav a:not(.button){display:none}header .menu{display:none}header nav .button{padding:13px 18px}}
@media(max-width:640px){.credits-head{padding-right:0}.credits-controls{display:none}.footer-main{grid-template-columns:1fr 1fr;gap:34px 22px}.footer-brand{grid-column:1/-1}.footer-brand img{width:90px}.footer-info p{font-size:12px}.footer-links{gap:18px}}

/* Goal-based inquiry choices */
.goal-fieldset{border:0;padding:0;margin:0;min-width:0}
.goal-fieldset legend{font-size:12px;color:#b8b3ac;padding:0}
.goal-hint{font-size:11px;color:#807a75;margin:5px 0 12px;line-height:1.3}
.goal-choice{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #ffffff24;color:#e1ddd7!important;font-size:14px!important;cursor:pointer}
.goal-choice input{appearance:none;width:18px;height:18px;flex:none;border:1px solid #ffffff55;border-radius:3px;background:transparent;padding:0;margin:0;cursor:pointer}
.goal-choice input:checked{border-color:#b85766;background:#b85766;box-shadow:inset 0 0 0 4px #151313}
.goal-choice input:focus-visible{outline:2px solid #c46a76;outline-offset:4px}
.drone-kicker{display:flex;align-items:center;gap:12px;margin-bottom:5px}
.drone-icon{width:44px;height:30px;color:#c67984;flex:none}
@media(max-width:520px){.goal-choice{font-size:13px!important}.drone-icon{width:38px;height:26px}}

/* Drag-controlled media rails */
.credits .track,.reels .track{animation:none}
.credits .marquee,.reels.marquee{cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.credits .marquee.is-dragging,.reels.marquee.is-dragging{cursor:grabbing}
.logos .skyshare-logo{width:185px;height:50px;object-fit:contain}
.credits-head{padding-right:0}
.final-cta{display:block!important;padding-left:4vw}
.final-cta>p{max-width:460px;color:var(--muted)}
.final-cta>.button{margin-top:14px}
@media(max-width:520px){.hero h1{font-size:clamp(54px,17.5vw,76px)}.logos .skyshare-logo{width:165px}.final-cta{padding-left:0}}


/* V17 hero, program and story refinements */
.hero h1{margin-bottom:46px;line-height:.91}
.hero h1 em{display:inline-block;padding-bottom:.10em}
.hero h1 em:after{height:5px;bottom:-1%;left:-1%;width:102%;opacity:.92;filter:blur(.12px)}
.hero .intro{max-width:535px;font-size:clamp(15px,1.15vw,17px);line-height:1.7}
.hero-bottom{justify-content:center;text-align:center;left:0;right:0;bottom:30px;color:#a9a29d;letter-spacing:2.4px}
.hero-bottom span{padding:8px 16px;border-top:1px solid #ffffff24}
.work-accent{color:#bd6874}
.services-program{padding:125px 0 135px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(180deg,#101010,#131010 54%,#0d0d0d)}
.program-heading{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:56px}
.program-heading h2{font-size:clamp(58px,7.2vw,108px);margin:22px 0 0;line-height:.9}
.program-heading>p{max-width:400px;color:#aaa6a1;line-height:1.7;margin:0 0 4px}
.program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ffffff25;border-bottom:1px solid #ffffff25}
.program-item{position:relative;min-height:275px;padding:28px 26px 28px 0;border-right:1px solid #ffffff20;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s}
.program-item+ .program-item{padding-left:25px}
.program-item:last-child{border-right:0}
.program-item:hover{transform:translateY(-5px);border-color:#a44a57}
.program-number{display:block;font:500 13px 'DM Sans',sans-serif;color:#b65e6b;letter-spacing:1.5px;margin-bottom:46px}
.program-item h3{font:600 clamp(24px,2.4vw,37px)/.98 'Barlow Condensed',Impact,sans-serif;letter-spacing:.01em;margin:0 0 17px;color:#f0ede7}
.program-item p{font-size:13px;line-height:1.7;color:#a39e99;margin:0;max-width:260px}
.program-drone-icon{width:37px;height:27px;color:#c47a84;position:absolute;top:23px;right:22px}
.story-page .story-main{padding-top:92px}
.story-page .origin-story{padding-top:45px}
.story-back{padding:10px 0 75px}
.northern-logo{width:185px!important;height:52px!important;object-fit:contain!important;filter:none!important;opacity:.9!important}
nav .button{padding:12px 15px;font-size:10px;letter-spacing:.9px;white-space:nowrap}
@media(hover:hover){.program-item:hover .program-number{color:#e09aa4}}
@media(max-width:850px){.program-heading{display:block}.program-heading>p{max-width:540px;margin-top:24px}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-item{min-height:230px;padding:24px 20px 25px 0}.program-item+.program-item{padding-left:20px}.program-item:nth-child(2){border-right:0}.program-item:nth-child(n+3){border-top:1px solid #ffffff20}.program-item:nth-child(3){padding-left:0}.program-item:nth-child(4){padding-right:0}.program-number{margin-bottom:35px}header .button{padding:10px 12px;font-size:9px;letter-spacing:.6px}.hero{height:92svh;min-height:760px}}
@media(max-width:600px){.hero{min-height:760px;height:94svh;padding-top:150px}.hero h1{font-size:clamp(62px,16.8vw,92px);line-height:.93;margin:25px 0 34px;letter-spacing:-.025em}.hero h1 em{padding-bottom:.14em}.hero h1 em:after{height:6px;bottom:-1.5%;left:-.5%;width:101%}.hero .intro{max-width:100%;width:min(100%,390px);font-size:14px;line-height:1.62}.hero-bottom{bottom:24px;font-size:9px;letter-spacing:1.6px}.hero-bottom span{padding:8px 5px}.hero-actions{margin-top:22px}.program-heading h2{font-size:clamp(58px,14vw,82px)}.services-program{padding:85px 0 90px}.program-heading{margin-bottom:38px}.program-grid{grid-template-columns:1fr}.program-item,.program-item+.program-item,.program-item:nth-child(3),.program-item:nth-child(4){min-height:auto;padding:22px 0 24px;border-right:0;border-top:1px solid #ffffff20}.program-item:first-child{border-top:0}.program-number{margin-bottom:20px}.program-item h3{font-size:34px}.program-item p{max-width:390px}.program-drone-icon{top:18px;right:2px}.northern-logo{width:145px!important}.story-page .story-main{padding-top:75px}.story-page .origin-story{padding-top:22px}header nav .button{font-size:8px;letter-spacing:.35px;padding:9px 9px}header .brand-logo img{width:94px}.story-back{padding-bottom:50px}}
@media(max-width:360px){header{padding-left:4%;padding-right:4%}header .brand-logo img{width:78px}header nav .button{font-size:7.5px;padding:8px 7px}.hero h1{font-size:16.8vw}}

/* V18 refinements */
.program-heading .eyebrow-accent{color:#cc7c87}
.program-icon{position:absolute;top:22px;right:22px;width:36px;height:28px;color:#bd6874;transition:transform .45s cubic-bezier(.2,.8,.2,1),color .35s}
.program-item{transition:transform .45s cubic-bezier(.2,.8,.2,1),background-color .35s,background .35s}
.program-item:hover{transform:translateY(-4px);border-color:#ffffff20!important;background:linear-gradient(135deg,#852b3610,transparent 76%)}
.program-item:hover .program-icon{transform:translateY(-2px) scale(1.08);color:#d28b94}
.program-item:hover .program-number{color:#d28b94}
.program-drone-icon{display:none}
@media(min-width:851px){.credits{padding-top:58px;padding-bottom:65px}.credits-head{margin-bottom:32px}#work.section{padding-top:62px}}
@media(max-width:850px){.program-icon{top:20px;right:20px}}
@media(max-width:600px){.program-icon{top:18px;right:2px}.program-item:hover{transform:translateY(-2px)}}

/* Balance the brand rail and give the next section a tighter handoff. */
.logos img,.logos .skyshare-logo,.logos .northern-logo{width:180px!important;height:50px!important;object-fit:contain!important;filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.66!important}
.northern-logo{filter:none!important;opacity:.82!important}
@media(min-width:851px){.credits-head{transform:translateY(10px)}.credits .marquee{margin-top:3px}}
/* Center the final invitation on desktop; keep the mobile reading edge aligned. */
#contact.contact{display:block;padding:116px 0 128px}
#contact .final-cta{width:min(92%,1320px);max-width:1320px;margin:0 auto;padding:0;text-align:center}
#contact .final-cta h2{max-width:1180px;margin:24px auto 20px;font-size:clamp(72px,9.2vw,138px);line-height:.9}
#contact .final-cta>p{max-width:640px;margin:0 auto;color:var(--muted)}
#contact .final-cta>.button{margin-top:25px}
@media(max-width:640px){.logos img,.logos .skyshare-logo,.logos .northern-logo{width:150px!important;height:46px!important}#contact.contact{padding:82px 0 90px}#contact .final-cta{text-align:left}#contact .final-cta h2{font-size:clamp(38px,10.2vw,52px);line-height:.96;margin:21px 0 18px}#contact .final-cta>p{margin:0;max-width:420px}#contact .final-cta>.button{margin-top:20px}}
@media(min-width:851px){.program-item h3{min-height:2em}}
@media(max-width:640px){.program-item h3{min-height:0}}
@media(max-width:370px){#contact .final-cta h2{font-size:clamp(31px,10.2vw,36px)}}
