:root{--bg:#08090b;--surface:#141518;--line:#24262b;--text:#f5f5f7;--muted:#b1b3ba;--accent:#9dc7ff;--content:1680px}
[hidden]{display:none!important}
html{scroll-padding-top:90px}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
h1,h2,h3{font-weight:600;letter-spacing:-.035em;text-wrap:balance}
h2{font-size:clamp(2.35rem,4vw,3.7rem)}
.section{padding-block:clamp(64px,6vw,96px)}
.eyebrow{font-weight:500;letter-spacing:.045em;text-transform:none;margin-bottom:18px}
.eyebrow-line,.index{display:none}
.accent{color:var(--text)}
.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}
.site-header{height:66px;background:var(--bg);border-bottom:0}
.nav-wrap{width:min(var(--content),calc(100% - 80px));max-width:none}
.brand{width:103px;height:46px}
.brand img{width:123px;height:123px}
.site-header nav{gap:32px}
.site-header nav>a:not(.nav-contact){color:#d0d1d6}
.site-header nav>a:hover{color:white}
.site-header .nav-contact{margin-left:6px;padding:9px 20px;color:#111;background:#f5f5f7;border:0;border-radius:50px;line-height:1.4}
.site-header .nav-contact:hover{color:#111;background:#fff}
.hero{width:calc(100% - 32px);max-width:none;margin:16px auto 0;min-height:630px;height:min(960px,calc(100svh - 98px));border-radius:24px;background:var(--bg)}
.hero-shade{background:linear-gradient(0deg,var(--bg) 0%,#08090be6 9%,#08090b00 57%),linear-gradient(90deg,#08090bea 0%,#08090b99 42%,#08090b1a 100%)}
.hero-inner{padding-top:18px;padding-bottom:80px}
.hero .eyebrow{color:#d2d3d8;font-size:.875rem;letter-spacing:0;margin-bottom:25px}
.hero h1{font-size:clamp(4rem,7vw,6.6rem);font-weight:600;line-height:1.02;letter-spacing:-.06em;margin-bottom:28px}
.hero h1 span{color:#d6d7dc}
.hero-description{color:#cdd0d5;line-height:1.75}
.hero-actions{margin-top:34px}
.button{font-size:.9375rem;font-weight:500;padding:16px 26px;border-radius:40px;min-height:50px}
.primary{background:#f5f5f7;color:#161719}.primary:hover{background:white}
.text-link{font-size:.9375rem;color:var(--accent);text-underline-offset:5px}
.text-link:hover{text-decoration:underline}.hero .text-link{color:#e2e5eb}
.hero-footer{bottom:29px;font-size:.8125rem;color:#bdbfc5}
.capabilities{border-bottom:0}
.capabilities>div{border:0}.capabilities>div:last-child{justify-content:flex-end}
.capabilities h2{font-size:1.125rem}.capabilities p{margin-top:6px}
.section-heading{gap:60px;margin-bottom:42px}.section-intro{max-width:370px;font-size:1.0625rem;line-height:1.65}
.service-grid{gap:26px}
.service-card{overflow:hidden;border-radius:22px;background:var(--surface);display:flex;flex-direction:column}
.service-photo img{filter:none;transition:transform .4s ease}.service-card:hover .service-photo img{transform:none}
.photo-label{left:24px;bottom:20px;padding:7px 13px;background:#0b0c0ee8;border:0;border-radius:30px}
.service-content{padding:28px 32px 30px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.service-content h3{margin:0 0 15px;font-size:1.6rem}
.service-content p{max-width:48ch;padding-bottom:20px}
.service-content .text-link{margin-top:auto;border:0;padding-block:8px;font-size:.875rem}
.custom-project{justify-content:center;margin-top:36px;padding:0;border:0}.custom-project>p{font-size:1rem;color:var(--muted)}
.about{border:0;background:var(--bg)}.about h2{font-size:clamp(3.3rem,5.4vw,5rem)}.about-copy{padding-top:28px}.about-copy p{max-width:51ch}.about-signature{margin-top:32px}
.coverage-copy{padding-top:34px}.coverage-copy>p:first-child{font-size:1.0625rem}
.faq{gap:85px}.faq .muted a{color:var(--accent);border:0}summary{font-weight:500}summary>span{color:#999eaa}
.contact{border:0;background:var(--bg)}.contact-layout{gap:80px}.contact h2{font-size:clamp(2.5rem,3.7vw,3.4rem)}.contact-copy{top:120px}
.contact-methods a{font-size:1.35rem}.contact-methods>div>span{text-transform:none;letter-spacing:0}
.form-panel{padding:0;border:0;background:transparent;border-radius:0}
.form-heading{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}
.form-heading h3{font-size:1.4rem;margin-bottom:9px}.form-heading p{font-size:.9375rem;color:var(--muted)}
.form-loading{font-size:.875rem;color:var(--muted)}.form-fallback{padding:20px 0}.form-fallback a{color:var(--accent);text-decoration:none}
.footer-top{gap:30px}.footer-top>.brand{width:103px}.social-links{font-size:.875rem}

/* Native controls and local arithmetic keep the interactive section lightweight. */
.possibilities{padding-top:12px}
.scenario-picker{border:0;display:flex;flex-wrap:wrap;width:fit-content;gap:5px;padding:5px;margin:0 0 28px;background:#1b1d21;border-radius:50px}
.scenario-picker label{cursor:pointer;position:relative;min-width:0}
.scenario-picker input{position:absolute;opacity:0;width:1px;height:1px}
.scenario-picker span{display:flex;align-items:center;justify-content:center;height:100%;padding:12px 22px;font-size:.875rem;line-height:1.4;border-radius:30px;color:#c8cbd2;transition:background .18s,color .18s}
.scenario-picker input:checked+span{background:#f2f3f5;color:#17181b}
.scenario-picker input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.scenario-panel{background:var(--surface);border-radius:24px;padding:42px}
.scenario-story{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.scenario-story h3{font-size:clamp(1.9rem,2.8vw,2.7rem);margin-bottom:22px}
.scenario-story>div>p:not(.eyebrow){color:var(--muted);max-width:35ch;font-size:1rem}
.scenario-story .eyebrow{color:var(--accent);margin-bottom:20px}
.scenario-benefits{display:grid;gap:24px}
.scenario-benefits>div{display:flex;align-items:baseline;gap:18px}
.scenario-benefits>div>span{font-size:.75rem;color:#8f929a;font-variant-numeric:tabular-nums}
.scenario-benefits p{color:var(--muted);font-size:.9375rem;line-height:1.65}
.scenario-benefits strong{display:block;color:var(--text);font-weight:500;margin-bottom:4px}
.time-planner{border-top:1px solid #ffffff17;padding-top:38px;margin-top:40px}
.planner-intro{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-bottom:34px;align-items:end}
.planner-intro .eyebrow{color:var(--muted);margin-bottom:12px}.planner-intro h3{font-size:1.65rem}
.planner-intro>p{color:var(--muted);font-size:.875rem;max-width:43ch}
.planner-layout{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}
.planner-inputs{padding:0;margin:0;border:0;min-width:0}
.range-field+.range-field{margin-top:23px}
.range-field>div{display:flex;gap:16px;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.range-field label{font-size:.875rem;color:#dcdee3}
.range-field output{font-size:.875rem;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}
.range-field input{display:block;width:100%;height:28px;padding:0;margin:0;accent-color:#a4caff;cursor:pointer}
.range-field input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.reset-example{font-size:.8125rem;color:var(--muted);border:0;background:transparent;min-height:44px;padding:8px 0;margin-top:12px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.planner-result{padding:28px 30px 30px;background:#08090b;border-radius:18px;min-width:0}
.result-eyebrow{font-size:.8125rem;color:var(--muted)}
.saving-number{display:flex;gap:12px;align-items:baseline;margin-top:12px;line-height:1.05}
#saving-value{font-size:clamp(3.7rem,5.5vw,5.2rem);font-weight:600;letter-spacing:-.065em;font-variant-numeric:tabular-nums}
#saving-unit{font-size:1.25rem;font-weight:500;color:var(--accent)}
.result-context{font-size:.8125rem;color:var(--muted);margin-top:15px}
.time-bars{display:grid;gap:21px;margin-top:32px}
.bar-label{display:flex;gap:15px;justify-content:space-between;font-size:.75rem;margin-bottom:9px;line-height:1.4}
.bar-label strong{font-weight:500;white-space:nowrap}.bar-label span{color:var(--muted)}
.bar-track{height:6px;background:#23252b;border-radius:10px;overflow:hidden}.bar-fill{height:100%;border-radius:inherit}
.bar-fill.before{background:#777d89}.bar-fill.after{background:#a4caff}
.planner-assumptions{max-width:95ch;color:#a9acb5;font-size:.8125rem;margin-top:27px;line-height:1.65}
.scenario-note{margin-top:36px;border-top:1px solid var(--line);padding-top:28px}
.scenario-note h4{font-size:1.1rem;margin:0 0 12px;font-weight:500;letter-spacing:-.015em}
.scenario-note p{max-width:76ch;color:var(--muted);font-size:.9375rem}.scenario-note .text-link{margin-top:15px}
.possibilities-contact{display:flex;width:fit-content;margin:26px auto 0}
@media(hover:hover) and (pointer:fine){.service-card:hover .service-photo img{transform:scale(1.025)}.button:hover{transform:translateY(-1px)}}
@media(max-width:1050px){
  .hero h1{font-size:5rem}.section-heading{gap:40px}.section-intro{max-width:320px}
  .service-content{padding:25px}.scenario-panel{padding:32px}
  .scenario-story,.planner-intro,.planner-layout{gap:35px}.planner-result{padding:25px}
  .range-field>div{gap:8px}.range-field label{max-width:24ch}
  .about-layout,.coverage,.faq,.contact-layout{gap:50px}
}
@media(max-width:760px){
  html{scroll-padding-top:78px}.section{padding-block:66px}
  .site-header{height:60px}.nav-wrap{width:calc(100% - 36px)}.brand{width:86px;height:44px}.brand img{width:104px;height:104px}
  .menu-toggle{gap:10px;border:0;padding:10px;border-radius:15px}.menu-lines{width:15px;height:8px}
  .site-header nav{top:60px;padding:12px 26px 25px}.site-header nav>.nav-contact{padding:13px 22px;width:fit-content}
  .hero{width:calc(100% - 16px);margin-top:8px;border-radius:20px;min-height:610px;height:calc(100svh - 76px);max-height:780px}
  .hero-image{object-position:56% 50%}.hero-shade{background:linear-gradient(0deg,var(--bg) 0%,#08090bd9 12%,#08090b00 70%),linear-gradient(90deg,#08090bed,#08090b88 80%)}
  .hero-inner{width:calc(100% - 40px);padding-top:12px;padding-bottom:80px}
  .hero h1{font-size:clamp(3.4rem,11vw,4.7rem);line-height:1.03;letter-spacing:-.05em;margin-bottom:24px}
  .hero .eyebrow{font-size:.8125rem;max-width:290px;margin-bottom:22px;letter-spacing:0}.hero-description{font-size:1rem;line-height:1.65}
  .hero-actions{gap:14px}.button{padding:15px 23px}.hero-footer{font-size:.75rem;bottom:22px;width:calc(100% - 40px)}.hero-footer>a{display:none}
  .capabilities>div+div{border:0;padding:0}.capabilities>div:last-child{justify-content:flex-start}.capabilities h2{font-size:1rem}.capabilities p{margin:0}
  h2{font-size:2.55rem}.section-heading{margin-bottom:30px}.section-intro{max-width:100%;font-size:1rem;margin-top:22px}
  .service-grid{gap:22px}.service-card{border-radius:20px}.service-content{padding:25px}.service-content h3{font-size:1.5rem}
  .photo-label{left:20px;bottom:17px}.custom-project{margin-top:28px;gap:0;align-items:center;padding:0}
  .possibilities{padding-top:5px}.scenario-picker{width:100%;flex-wrap:nowrap;gap:2px;border-radius:16px}.scenario-picker label{flex:1;text-align:center}
  .scenario-picker span{font-size:.8125rem;padding:12px 6px;border-radius:12px}
  .scenario-panel{border-radius:20px;padding:25px}.scenario-story,.planner-intro,.planner-layout{grid-template-columns:1fr;gap:30px}
  .scenario-story h3{font-size:2rem}.scenario-story>div>p:not(.eyebrow){max-width:100%}
  .scenario-benefits{gap:21px}.scenario-benefits>div{gap:15px}.planner-intro{gap:20px}.planner-intro h3{font-size:1.6rem}
  .range-field label{max-width:24ch}.range-field output{font-size:.8125rem}.planner-result{padding:25px 22px}#saving-value{font-size:4rem}
  .about-layout,.coverage,.faq{gap:30px}.about h2{font-size:3.7rem}.about-copy{padding-top:0}.about-signature{margin-top:28px;font-size:.75rem;gap:12px}
  .coverage-copy{padding-top:0}.coverage-copy>p:first-child{font-size:1rem}
  .contact-layout{gap:45px}.contact-copy{position:static}.contact h2{font-size:2.6rem}.contact-methods a{font-size:1.25rem}
  .form-heading{margin-bottom:15px}.form-panel{padding:0}.form-fallback{padding:20px 0}
  .footer-top{gap:25px}.footer-top>.brand{width:86px}.social-links{font-size:.8125rem}
}
@media(max-width:380px){
  .hero h1{font-size:3.1rem}.hero .eyebrow{font-size:.75rem}.hero{min-height:660px}.capabilities p{font-size:.75rem}
  .service-content{padding:23px}.about h2{font-size:3.2rem}.contact h2{font-size:2.25rem}
  .scenario-panel{padding:20px}.scenario-picker span{font-size:.75rem;padding-inline:5px}.range-field label{max-width:20ch}
  .saving-number{flex-wrap:wrap}.planner-result{padding-inline:18px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Native scrolling keeps manual galleries light and touch-friendly. */
.gallery-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.gallery-slide{flex:0 0 100%;min-width:0;height:100%;scroll-snap-align:start;scroll-snap-stop:always}
.service-card:hover .gallery-slide img{transform:none}
.photo-gallery .photo-label{pointer-events:none}
.gallery-controls{position:absolute;top:12px;right:12px;display:flex;align-items:center;background:#0b0c0ee8;border:1px solid #ffffff20;border-radius:24px;padding:0 3px;color:#fff}
.gallery-controls[hidden]{display:none}
.gallery-count{font-size:.75rem;text-align:center;font-variant-numeric:tabular-nums;color:#c5c8ce;min-width:34px}
.gallery-next,.gallery-prev{min-width:50px;min-height:44px;padding:0 12px;border:0;border-radius:22px;background:transparent;color:#fff;font:inherit;font-size:.75rem;font-weight:500;cursor:pointer}
.gallery-next:hover,.gallery-prev:hover{background:#ffffff16}
.gallery-next:focus-visible,.gallery-prev:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}

/* Wide imagery, with readable line lengths retained for copy. */
@media(min-width:1400px){
  .hero h1{font-size:clamp(6.6rem,7vw,8.4rem)}
  .hero-description{max-width:620px;font-size:1.125rem}
  .service-content{padding:34px 38px 36px}
  .service-content h3{font-size:1.85rem}
}
.gallery-slide{position:relative;overflow:hidden;background:#191c22}
.gallery-slide img{position:relative;z-index:1}
.gallery-slide img:not([src]){visibility:hidden}
.image-skeleton{position:absolute;inset:0;background:linear-gradient(125deg,#14171d,#272b34 55%,#171a21);pointer-events:none}
.is-ready>.image-skeleton,.has-image-error>.image-skeleton{display:none}
.image-load-error{position:absolute;inset:0;display:grid;place-items:center;padding:24px;color:var(--muted);font-size:.8125rem;text-align:center}
.is-loading.can-shimmer>.image-skeleton::after,.form-embed.is-loading.can-shimmer .form-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#ffffff05,transparent);animation:skeleton-pass 1.5s ease-in-out 3;pointer-events:none}
@keyframes skeleton-pass{to{transform:translateX(100%)}}
.form-loading{margin:0 0 18px;font-size:.8125rem;line-height:1.7}
.form-loading a{color:var(--accent);margin-left:5px;text-underline-offset:3px}
.form-embed{position:relative;overflow:hidden}
.form-skeleton{position:absolute;inset:0;z-index:1;background:var(--bg);padding:12px 0;overflow:hidden;pointer-events:none}
.form-skeleton span{display:block;width:24%;height:11px;background:#25282e;border-radius:5px;margin:10px 0 14px}
.form-skeleton i{display:block;width:100%;height:54px;background:#191c21;border:1px solid #ffffff06;border-radius:9px;margin-bottom:28px}
.form-skeleton .skeleton-message{height:140px}.form-skeleton .skeleton-submit{width:130px;height:44px;border-radius:24px}
.form-embed.is-loading iframe{opacity:0}
@media(prefers-reduced-motion:reduce){.image-skeleton::after,.form-skeleton::after{animation:none!important}}

.photo-gallery>.photo-label,.gallery-controls{z-index:3}

/* A continuous canvas; dividers remain only where they aid scanning. */
.coverage{border-bottom:0}
.contact-copy .contact-note{border-top:0;padding-top:0}
.form-heading{border-bottom:0;padding-bottom:4px}
.form-fallback,.footer-bottom{border-color:#ffffff10}
.site-header nav{background:var(--bg)}
@media(max-width:760px){.site-header nav{border-bottom:1px solid #ffffff0d}}
.per-person-result{margin-top:12px;color:#d7dbe3;font-size:.875rem;line-height:1.55}
.calculation-explainer{margin-top:25px;border:0;color:var(--muted)}
.calculation-explainer summary{padding:12px 0;color:var(--text);font-size:.875rem;cursor:pointer}
.calculation-explainer p{margin:0 0 10px;font-size:.875rem;line-height:1.7;max-width:80ch}
.calculation-explainer summary::after{content:"+";font-size:1.1rem;color:var(--muted);margin-left:auto}
.calculation-explainer[open] summary::after{content:"−"}
.planner-assumptions{margin-top:16px}
.scenario-note .text-link{font-size:.9375rem}
.gallery-next,.gallery-prev{font-size:.875rem}
@supports not (aspect-ratio:1.8){.service-photo{height:320px}@media(max-width:760px){.service-photo{height:240px}}}

.hero-credentials{display:grid;gap:4px}.hero-credentials>span:last-child{font-size:.8125rem;color:#ccd0d7}.hero-credentials>span:last-child>span{margin-inline:6px;color:#767c87}
@media(max-width:760px){.hero-inner{padding-bottom:116px}.hero-credentials{gap:5px}.hero-credentials>span:last-child{font-size:.75rem;max-width:32ch;line-height:1.6}.hero-credentials>span:last-child>span{margin-inline:3px}}

.gallery-slide img.thermal-example{object-fit:contain;background:#101216}.service-actions{margin-top:auto;display:grid;gap:2px}.service-content .service-actions .text-link{margin-top:0}.service-content .recovery-link{color:var(--muted);font-size:.8125rem}

html.reduced-effects{scroll-behavior:auto}.reduced-effects *,.reduced-effects *::before,.reduced-effects *::after{animation:none!important;transition:none!important}

/* Position the selected sunset drone beside the desktop headline. */
.hero-image{width:125%;max-width:none;object-position:50% 48%}
@media(max-width:760px){.hero-image{width:100%;height:170%;object-position:50% 50%}}
