:root {
  --ink:#19372d; --muted:#56635d; --line:#d7ded9; --accent:#234b39;
  --surface:#fff; --soft:#f1f4f1; --sans:Arial,Helvetica,sans-serif;
  --serif:Georgia,'Times New Roman',serif; --gutter:clamp(20px,4.4vw,80px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:160px}
body{margin:0;background:var(--surface);color:var(--ink);font:1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.drone,body.home{--ink:#f3f6ef;--muted:#b5c2ba;--line:#ffffff2b;--accent:#d4e5ab;--surface:#101d1e;--soft:#182829}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
button{font:inherit;color:inherit;cursor:pointer}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
:where(a,button,summary,input):focus-visible{outline:3px solid #cf8f37;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
figure,p{margin:0}
p{overflow-wrap:break-word}
p+p{margin-top:1em}
h1,h2,h3{margin:0;font-weight:400;line-height:1.08;letter-spacing:-.04em}
h1,h2{font-family:var(--serif)}
h2{font-size:clamp(2.2rem,4vw,4rem)}
h3{font-size:1.3rem;line-height:1.25;letter-spacing:-.025em}
em{font-weight:400}
ol{padding:0;list-style:none}
:where(main,section,nav,.footer,.service-choices,.architecture-projects)>*{min-width:0}
.arrow{display:inline-block;line-height:1;flex:none;font-family:var(--sans);font-size:1.4rem}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-200%);background:#fff;color:#19372d;padding:12px 20px}
.skip-link:focus{transform:none}
.site-header{min-height:100px;padding:22px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);position:relative;z-index:30;background:var(--surface)}
.brand{width:250px;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:7px;flex:none}
.brand:hover{text-decoration:none}
.brand img{width:100%;height:auto}
.brand>span{font:0.75rem/1.3 var(--serif);letter-spacing:.2em}
.header-location{font-size:.875rem;color:var(--muted)}
.header-location span{display:block}
.header-contact,.desktop-nav>a{min-height:44px;display:inline-flex;align-items:center;gap:20px;font-size:.875rem}
.header-contact{border-bottom:1px solid var(--accent)}
.desktop-nav{display:flex;align-items:center;gap:30px;margin-left:auto}
.nav-contact{font-weight:600}
.mobile-nav{display:none}
.service-header{display:grid;grid-template-columns:auto 1fr;gap:14px 32px;padding-bottom:0;position:sticky;top:0}
.service-header .desktop-nav{justify-self:end}
.division-switch{grid-column:1/-1;display:flex;gap:4px;justify-content:flex-end;border-top:1px solid var(--line)}
.division-switch a{min-height:44px;padding:9px 20px;font-size:.875rem;display:flex;gap:14px;align-items:center;border-bottom:2px solid transparent;color:var(--muted)}
.division-switch a[aria-current]{color:var(--ink);border-bottom-color:var(--accent)}
.division-switch .division-number{font-size:.75rem;opacity:.7}
.drone-brand{width:254px}
.home-main{padding:0 var(--gutter)}
.home-intro{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:28px 0}
.home-intro h1{font:1.125rem/1.4 var(--sans);letter-spacing:0}
.home-intro p{font-size:.875rem;color:var(--muted)}
.service-choices{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.service-choice{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(520px,65svh,820px);padding:clamp(26px,4vw,62px);background:#233b38;color:#fff}
.service-choice:hover{text-decoration:none}
.choice-image{position:absolute;inset:0;z-index:-2}
.choice-image img{width:100%;height:100%;object-fit:cover;transition:transform 900ms cubic-bezier(.2,.65,.3,1)}
.choice-drone .choice-image img{object-position:53% center}
.choice-architecture .choice-image img{object-position:45% center}
.service-choice:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#08171420 0%,#08171408 20%,#08171482 58%,#081714ee 100%);z-index:-1}
.choice-topline{position:absolute;inset:28px 30px auto;display:flex;justify-content:space-between;gap:16px;font-size:.75rem;letter-spacing:.06em}
.choice-topline span:last-child{max-width:240px;text-align:right}
.choice-copy{width:100%}
.choice-copy h2{font-size:clamp(2.8rem,5.5vw,6rem);line-height:1;letter-spacing:-.055em;margin-bottom:22px}
.choice-drone h2{font-family:var(--sans);font-weight:600}
.choice-copy h2 .service-word{display:block;font-size:.45em;line-height:1.5;letter-spacing:-.015em}
.choice-copy p{font-size:1rem;line-height:1.6;max-width:390px;color:#e1e6df}
.choice-link{margin-top:32px;padding-top:18px;border-top:1px solid #ffffff65;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.875rem}
.choice-link .arrow{width:45px;height:45px;border:1px solid #ffffff75;border-radius:50%;display:grid;place-items:center;transition:background .2s,color .2s}
.home-contact{padding:25px 0 30px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 26px;font-size:.875rem}
.home-contact p{margin-right:auto;color:var(--muted)}
.home-contact a{min-height:44px;display:flex;align-items:center}
.home .footer{border-top:1px solid var(--line)}
.section{max-width:1560px;margin-inline:auto;padding:100px var(--gutter)}
.eyebrow,.project-kind{display:block;font-size:.75rem;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.eyebrow{margin-bottom:24px}
.section-heading,.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:44px}
.section-heading>p,.section-intro>p{max-width:540px;color:var(--muted);line-height:1.8;justify-self:end}
.section-heading .eyebrow{margin-bottom:16px}
.button{min-height:52px;display:inline-flex;justify-content:center;align-items:center;gap:28px;padding:14px 24px;border:1px solid var(--accent);font-size:.875rem;line-height:1.5}
.button:hover{text-decoration:none;filter:brightness(.92)}
.green-button{background:var(--accent);color:#fff}
.light-button{background:var(--accent);color:#152920}
.text-link{min-height:44px;display:inline-flex;gap:22px;align-items:center;font-size:.875rem;text-decoration:underline;text-underline-offset:6px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 25px;margin-top:30px}
.architecture-hero{max-width:1560px;margin:auto;padding:64px var(--gutter) 80px;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}
.architecture-hero h1{font-size:clamp(3.2rem,6.3vw,6.4rem);line-height:1.04;letter-spacing:-.055em;margin-bottom:28px}
.architecture-hero h1 em{color:#52705f}
.hero-description{color:var(--muted);max-width:520px;line-height:1.8}
.location-line{font-size:.75rem;letter-spacing:.09em;color:var(--muted);margin-top:26px}
.architecture-hero-visual{position:relative}
.architecture-hero-visual>img{width:100%;aspect-ratio:1;object-fit:cover}
.hero-photo-caption{font-size:.75rem;color:var(--muted);padding-top:12px;display:flex;justify-content:space-between;gap:20px;line-height:1.5}
.drone h1,.drone h2{font-family:var(--sans)}
.drone-hero{position:relative;isolation:isolate;min-height:650px;min-height:min(770px,calc(100svh - 140px));display:flex;align-items:flex-end;padding:70px var(--gutter);background:#1c3330}
.drone-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061616d9 0%,#0616169c 36%,#06161610 85%),linear-gradient(0deg,#081918aa,transparent 55%)}
.drone-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.drone-hero-content{max-width:750px}
.drone-hero h1{font-size:clamp(3.6rem,7.1vw,7.2rem);line-height:1.02;font-weight:500;letter-spacing:-.055em;margin-bottom:26px}
.drone-hero h1 span{color:#d4e5ab}
.drone-hero-content>p:not(.eyebrow){max-width:540px;color:#e2e9df;line-height:1.8}
.drone-hero .eyebrow{color:#e2e9df}
.hero-caption{position:absolute;right:var(--gutter);bottom:26px;font-size:.75rem;color:#ecf1e8}
.portfolio-jump-links{display:flex;flex-wrap:wrap;justify-content:center;gap:0;border-bottom:1px solid var(--line);padding:0 var(--gutter);background:var(--surface)}
.portfolio-jump-links a{padding:18px 26px;min-height:58px;font-size:.875rem;display:flex;align-items:center;gap:12px}
.portfolio-jump-links a+a{border-left:1px solid var(--line)}
.portfolio-jump-links span{font-size:.75rem;color:var(--muted)}
.drone-work{padding-bottom:80px}
.architecture-projects{display:grid;grid-template-columns:1fr 1fr;gap:32px}
.project-photo{min-width:0}
.image-button{width:100%;border:0;background:var(--soft);padding:0;display:block;position:relative;overflow:hidden;text-align:left}
.image-button img{width:100%;height:auto;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.image-button:focus-visible{z-index:1;outline-offset:3px}
.enlarge{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:18px;padding:8px 13px;min-height:40px;background:#fff;color:#18372b;font-size:.75rem;line-height:1.5;box-shadow:0 2px 16px #0001}
.enlarge .arrow{font-size:1.15rem}
.project-photo figcaption{padding:22px 0 0}
.project-kind{margin-bottom:9px}
.project-photo h3{margin-bottom:12px}
.project-photo p,.film-card figcaption p{font-size:1rem;color:var(--muted);line-height:1.75;max-width:560px}
.drone-projects{grid-template-columns:1.35fr 1fr;align-items:start;gap:48px}
.drone-projects .project-photo:nth-child(2){margin-top:95px}
.drone-projects .image-button img{aspect-ratio:auto;object-fit:contain}
.drawing-section{border-top:1px solid var(--line)}
.before-after{grid-template-columns:.72fr 1fr;gap:5vw;align-items:center}
.before-after .project-photo:first-child .image-button{width:86%}
.before-after .project-photo:first-child figcaption{max-width:350px}
.drawing-example-heading{margin-top:100px}
.technical-projects{gap:46px 34px}
.technical-projects .image-button{padding:22px 16px 54px;background:#f2f5f1;border:1px solid #d7dfd6}
.technical-projects .image-button img{width:100%;aspect-ratio:1.42;object-fit:contain}
.small-note{font-size:.75rem;color:var(--muted);line-height:1.7;max-width:800px;margin-top:28px}
.portfolio-social{margin-top:18px}
.services-section{border-top:1px solid var(--line)}
.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:46px 40px;counter-reset:service}
.service-item{padding-top:22px;border-top:1px solid var(--line);counter-increment:service}
.service-item:before{content:counter(service,decimal-leading-zero);display:block;font-size:.75rem;color:var(--muted);margin-bottom:22px}
.service-item h3{max-width:330px;margin-bottom:14px}
.service-item p{color:var(--muted);line-height:1.8}
.practical-section,.drone-approach{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;border-top:1px solid var(--line)}
.practical-copy h2{margin-bottom:28px}
.practical-copy>p{color:var(--muted);line-height:1.8}
.practical-copy .text-link{margin-top:24px}
.site-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.site-photo-pair figure:last-child{margin-top:100px}
.site-photo-pair img{aspect-ratio:3/4;object-fit:cover}
.site-photo-pair figcaption,.drone-pilot-photo>figcaption{font-size:.75rem;color:var(--muted);padding-top:12px;line-height:1.5}
.drone-pilot-photo img{max-height:680px;width:100%;object-fit:cover;object-position:center}
.drone-steps{margin:30px 0 0}
.drone-steps li{display:flex;gap:24px;padding:22px 0;border-top:1px solid var(--line)}
.drone-steps li>span{font-size:.75rem;color:var(--muted)}
.drone-steps h3{font-size:1.15rem;margin-bottom:10px}
.drone-steps p{color:var(--muted)}
.process{padding-top:30px}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px}
.process-grid li{border-top:1px solid var(--line);padding-top:22px}
.process-grid li>span{font-size:.75rem;color:var(--muted);display:block;margin-bottom:22px}
.process-grid h3{margin-bottom:14px;font-size:1.2rem}
.process-grid p{color:var(--muted);line-height:1.8}
.film-section{background:var(--soft);max-width:none}
.film-inner{max-width:1400px;margin:auto}
.event-showcase{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;align-items:start}
.event-reel{margin-top:100px}
.film-card figcaption{padding-top:22px}
.film-card figcaption h3{margin-bottom:12px}
.film-card figcaption a{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;font-size:.875rem;text-decoration:underline}
.reel-preview{display:block;position:relative;overflow:hidden}
.reel-preview>img{width:100%;height:auto}
.reel-preview>span{position:absolute;inset:auto 16px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#152920;background:var(--accent);padding:12px 18px;min-height:48px;font-size:.875rem}
.reel-preview:hover{text-decoration:none}
.play-symbol{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:#132327ca;border:1px solid #ffffffa6;color:#fff;display:grid;place-items:center;font-size:20px;padding-left:3px}
.event-panorama{margin-top:70px}
.event-panorama .image-button img{aspect-ratio:auto;object-fit:contain}
.event-panorama figcaption{display:flex;gap:26px;align-items:baseline;justify-content:space-between}
.event-behind-scenes{display:grid;grid-template-columns:220px 1fr;gap:45px;align-items:center;max-width:930px;margin-top:64px}
.event-behind-scenes img{max-height:290px;object-fit:cover}
.event-behind-scenes h3{margin-bottom:16px}
.event-behind-scenes p{color:var(--muted)}
.event-behind-scenes .text-link{margin-top:14px}
.rural-film{margin-top:48px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rural-film summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:22px 0;gap:22px;min-height:60px}
.rural-film summary::-webkit-details-marker{display:none}
.rural-film summary span{font-size:1.5rem;transition:transform .2s}
.rural-film[open] summary span{transform:rotate(45deg)}
.rural-film-content{padding:10px 0 35px;max-width:850px}
video{display:block;width:100%;height:auto;background:#081111}
.contact{background:var(--accent);color:#fff;padding:80px var(--gutter);display:grid;grid-template-columns:1.2fr 1fr;gap:10vw}
.drone .contact{background:#d4e5ab;color:#173327}
.contact h2{font-size:clamp(2.6rem,4.6vw,4.7rem);max-width:650px;margin-bottom:26px}
.contact>div>p{font-size:1rem;max-width:520px;line-height:1.8;opacity:.85}
.contact .button{background:#fff;color:#19372d;border-color:#fff;margin-top:30px}
.drone .contact .button{background:#19372d;color:#fff;border-color:#19372d}
.contact-details{padding-top:8px;display:flex;flex-direction:column;align-items:flex-start}
.contact-details>span{font-size:.75rem;letter-spacing:.08em;margin-top:22px;opacity:.8}
.contact-details>a{font-size:clamp(1.1rem,1.9vw,1.6rem);min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere;max-width:100%;line-height:1.5}
.contact-details>p{font-size:.875rem!important;margin-top:25px;line-height:1.8}
.crosslink{display:flex;align-items:center;gap:24px;padding:38px var(--gutter);border-bottom:1px solid var(--line)}
.crosslink>span:first-child{color:var(--muted);font-size:.875rem}
.crosslink>strong{font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.9rem);font-weight:400;margin-left:auto;line-height:1.2}
.crosslink .arrow{margin-left:15px}
.footer{background:#0b1718;color:#e6eee5;padding:55px var(--gutter) 25px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}
.footer .brand{width:235px}
.footer>div>p{font-size:.875rem;line-height:1.8;color:#b4c3b9;margin-top:23px}
.footer-links{display:flex;flex-direction:column;align-items:flex-start;font-size:.875rem}
.footer-links a{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere;max-width:100%}
.footer-address p{font-size:.875rem!important;margin:0 0 20px!important}
.footer-bottom{grid-column:1/-1;padding-top:22px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:.75rem;color:#b4c3b9}
.footer-bottom>a{min-height:44px;display:flex;align-items:center}
.lightbox{width:min(96vw,1440px);max-width:96vw;max-height:94svh;padding:0;border:1px solid #536058;background:#0f1c1b;color:#fff;overflow:auto;overscroll-behavior:contain}
.lightbox::backdrop{background:#05100ff0;backdrop-filter:blur(5px)}
.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 20px;border-bottom:1px solid #ffffff28}
.lightbox-counter{font-size:.875rem;color:#c9d4cc}
.lightbox-close,.lightbox-prev,.lightbox-next{min-height:44px;min-width:44px;background:transparent;border:1px solid #ffffff50;padding:8px 16px;font-size:.875rem;display:flex;align-items:center;justify-content:center;gap:16px}
.lightbox-close span{font-size:1.5rem;line-height:1}
.lightbox-stage{min-height:180px;padding:22px;display:grid;place-items:center}
.lightbox-image{width:100%;max-height:calc(94svh - 235px);object-fit:contain}
.lightbox-image[hidden],.lightbox-error[hidden]{display:none}
.lightbox-error{padding:35px;max-width:580px;text-align:center;line-height:1.8}
.lightbox-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;padding:0 22px 20px}
.lightbox-caption-wrap>p{font-size:.875rem;line-height:1.6;max-width:850px}
.lightbox-original{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;font-size:.875rem;color:#d4e5ab}
.lightbox-navigation{display:flex;gap:10px}
.lightbox button:disabled{opacity:.3;cursor:default}
.not-found{padding:100px var(--gutter);max-width:1100px;min-height:80svh}
.not-found h1{font-size:clamp(2.5rem,6vw,5rem);margin-bottom:30px}
.not-found .text-link{margin-top:30px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .service-choice:hover .choice-image img{transform:scale(1.045)}
 .service-choice:hover .choice-link .arrow{background:#fff;color:#1b3529}
 .image-button:hover img{transform:scale(1.018)}
 .hero-actions .button .arrow{transition:transform .2s}
 .hero-actions .button:hover .arrow{transform:translateX(4px)}
}
@media(prefers-reduced-motion:no-preference){
 .home-intro,.choice-copy,.architecture-hero-copy,.drone-hero-content{animation:arrive .65s ease-out both}
 @keyframes arrive{from{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:1100px){
 .brand{width:225px}.desktop-nav{gap:22px}
 .service-choice{padding:30px}.choice-copy h2{font-size:clamp(2.7rem,5.6vw,4.5rem)}
 .choice-topline{inset:24px 25px auto}.choice-topline span:last-child{max-width:180px}
 .architecture-hero{gap:5vw}.architecture-hero h1{font-size:clamp(3rem,6vw,4.5rem)}
 .drone-hero{min-height:660px}.drone-hero h1{font-size:5rem}
 .section{padding-top:75px;padding-bottom:75px}
 .section-heading,.section-intro{gap:40px}
 .service-list{grid-template-columns:1fr 1fr;gap:35px}
 .process-grid{grid-template-columns:1fr 1fr;gap:35px}
 .drone-projects,.event-showcase{gap:30px}
 .drone-projects .project-photo:nth-child(2),.event-reel{margin-top:70px}
 .practical-section,.drone-approach{gap:5vw}
 .contact{gap:6vw}.contact-details>a{font-size:1.2rem}
 .event-behind-scenes{gap:30px}
}
@media(max-width:760px){
 html{scroll-padding-top:135px}
 .site-header{padding:16px 20px;min-height:83px;gap:16px}
 .brand,.drone-brand{width:min(58vw,226px)}
 .brand>span{letter-spacing:.13em}
 .header-location{display:none}
 .header-contact{font-size:.875rem;gap:8px}
 .header-contact .arrow{display:none}
 .service-header{padding-bottom:0;gap:10px 14px}
 .desktop-nav{display:none}
 .mobile-nav{display:block;justify-self:end}
 .mobile-nav summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;font-size:1rem;cursor:pointer}
 .mobile-nav summary::-webkit-details-marker{display:none}
 .mobile-nav summary span{font-size:1.5rem;line-height:1}
 .mobile-nav[open] summary span{transform:rotate(45deg)}
 .mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:var(--surface);color:var(--ink);padding:6px 20px 22px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #0002;display:flex;flex-direction:column;max-height:calc(100svh - 130px);overflow:auto;overscroll-behavior:contain}
 .mobile-nav nav>a{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:1rem}
 .division-switch{justify-content:stretch;gap:0}
 .division-switch a{flex:1;justify-content:center;gap:10px;min-height:44px;padding:9px 4px;font-size:.875rem}
 .home-main{padding:0 14px}
 .home-intro{padding:20px 6px;display:block}
 .home-intro h1{font-size:1.125rem}
 .home-intro p{font-size:.875rem;margin-top:5px}
 .service-choices{grid-template-columns:1fr;gap:10px}
 .service-choice{min-height:290px;padding:25px}
 .choice-topline{inset:18px 25px auto}
 .choice-topline span:last-child{display:none}
 .choice-copy h2{font-size:clamp(2.5rem,10vw,3.2rem);margin:0 0 12px;line-height:1.06}
 .choice-copy h2 .service-word{display:inline;font-size:inherit;line-height:inherit}
 .choice-copy h2 .service-word:before{content:" "}
 .choice-architecture .choice-copy h2{font-size:clamp(2.15rem,8.5vw,2.9rem)}
 .choice-copy p{font-size:.875rem;line-height:1.6;max-width:290px}
 .choice-link{padding-top:12px;margin-top:20px;font-size:.875rem}
 .choice-link .arrow{width:34px;height:34px;font-size:1.125rem}
 .choice-drone .choice-image img{object-position:50% 45%}
 .choice-architecture .choice-image img{object-position:center 46%}
 .service-choice:after{background:linear-gradient(90deg,#091814b3,transparent),linear-gradient(0deg,#091814dd,transparent)}
 .home-contact{padding:15px 6px 24px;gap:0 18px}
 .home-contact p{width:100%;margin:0 0 5px}
 .home-contact a{font-size:.875rem;overflow-wrap:anywhere}
 .architecture-hero{grid-template-columns:1fr;padding:36px 20px 45px;gap:32px}
 .architecture-hero h1{font-size:clamp(3rem,12vw,4.8rem);max-width:560px;margin-bottom:24px}
 .architecture-hero .eyebrow{margin-bottom:18px}
 .architecture-hero-visual{max-width:600px;width:100%;justify-self:center}
 .architecture-hero-visual>img{aspect-ratio:1.12;object-fit:cover}
 .hero-description{font-size:1rem;line-height:1.75}
 .hero-actions{gap:12px 20px;margin-top:24px}
 .button{min-height:52px;font-size:1rem;padding:13px 19px;gap:22px}
 .text-link{font-size:1rem}
 .location-line{margin-top:20px}
 .drone-hero{min-height:600px;padding:48px 20px 55px}
 .drone-hero h1{font-size:clamp(3.15rem,12.5vw,5.1rem);margin-bottom:24px}
 .drone-hero-content>p:not(.eyebrow){font-size:1rem;line-height:1.7;max-width:450px}
 .drone-hero:after{background:linear-gradient(0deg,#081818f5 0%,#081818c7 45%,#08181836 100%)}
 .drone-hero-image{object-position:55% center}
 .hero-caption{right:20px;bottom:17px;font-size:.75rem}
 .portfolio-jump-links{padding:0 12px;justify-content:space-between;gap:0}
 .portfolio-jump-links a{min-height:54px;padding:14px 8px;font-size:.875rem}
 .portfolio-jump-links a+a{border-left:0}.portfolio-jump-links span{display:none}
 .section{padding:55px 20px}
 h2{font-size:clamp(2rem,8.1vw,2.8rem)}
 .section-heading,.section-intro{grid-template-columns:1fr;gap:22px;margin-bottom:32px}
 .section-heading>p,.section-intro>p{justify-self:start;max-width:560px;line-height:1.75}
 .section-heading .eyebrow{margin-bottom:12px}
 .architecture-projects,.drone-projects,.event-showcase{grid-template-columns:1fr;gap:35px}
 .drone-projects .project-photo:nth-child(2),.event-reel{margin-top:0}
 .project-photo figcaption,.film-card figcaption{padding-top:18px}
 .project-photo h3,.film-card h3{font-size:1.3rem}
 .project-photo p,.film-card figcaption p{line-height:1.75}
 .before-after .project-photo:first-child{max-width:88%}
 .before-after .project-photo:first-child .image-button{width:100%}
 .drawing-example-heading{margin-top:65px}
 .technical-projects{gap:30px}
 .technical-projects .image-button{padding:18px 10px 54px}
 .enlarge{font-size:.875rem;right:10px;bottom:10px;min-height:40px}
 .service-list{grid-template-columns:1fr;gap:26px}
 .service-item:before{margin-bottom:12px}
 .service-item h3{max-width:none;font-size:1.3rem}
 .practical-section,.drone-approach{grid-template-columns:1fr;gap:36px}
 .practical-copy h2{margin-bottom:24px}
 .drone-pilot-photo{max-width:500px}
 .drone-pilot-photo img{max-height:570px;aspect-ratio:4/5;object-fit:cover}
 .site-photo-pair{gap:12px}
 .site-photo-pair figure:last-child{margin-top:65px}
 .site-photo-pair .enlarge{font-size:.75rem;padding:7px 9px;gap:8px;right:6px;bottom:6px}
 .process-grid{grid-template-columns:1fr;gap:26px}
 .process-grid li{position:relative;padding-left:36px}
 .process-grid li>span{position:absolute;left:0;top:22px}
 .process{padding-top:10px}
 .event-panorama{margin-top:40px}
 .event-panorama figcaption{display:block}
 .event-behind-scenes{grid-template-columns:1fr;gap:25px;margin-top:40px}
 .event-behind-scenes>figure{max-width:250px}
 .rural-film{margin-top:35px}
 .rural-film summary{font-size:1rem}
 .contact{grid-template-columns:1fr;gap:35px;padding:55px 20px}
 .contact h2{font-size:clamp(2.5rem,10vw,3.4rem);margin-bottom:24px}
 .contact .button{margin-top:26px;width:100%}
 .contact-details{border-top:1px solid currentColor;padding-top:5px}
 .contact-details>a{font-size:clamp(1rem,5vw,1.4rem)}
 .crosslink{padding:28px 20px;flex-wrap:wrap;gap:10px}
 .crosslink>span:first-child{width:100%}
 .crosslink>strong{margin-left:0;font-size:1.8rem}
 .crosslink .arrow{margin-left:auto}
 .footer{padding:40px 20px max(22px,env(safe-area-inset-bottom));grid-template-columns:1fr;gap:25px}
 .footer .brand{width:220px}
 .footer>div>p{margin-top:20px}
 .footer-links a{font-size:1rem;padding:8px 0}
 .footer-address p{font-size:.875rem!important}
 .footer-bottom{gap:10px 20px;padding-top:14px}
 .footer-bottom>span:nth-child(2){display:none}
 .lightbox{width:100%;max-width:100%;max-height:100svh;border-left:0;border-right:0}
 .lightbox-toolbar{padding:12px 15px}
 .lightbox-stage{padding:18px 10px;min-height:160px}
 .lightbox-image{max-height:calc(100svh - 290px)}
 .lightbox-bottom{grid-template-columns:1fr;padding:0 16px 20px;gap:10px}
 .lightbox-navigation{justify-content:space-between}
 .lightbox-prev,.lightbox-next{min-width:110px}
}
@media(max-width:360px){
 .brand>span{letter-spacing:.07em;font-size:.75rem}
 .mobile-nav summary{gap:8px;font-size:.875rem}
 .division-switch a{gap:7px;font-size:.875rem}
 .choice-copy h2{font-size:2.35rem}
 .choice-architecture .choice-copy h2{font-size:2rem}
 .service-choice{padding:23px 20px;min-height:295px}
 .hero-actions{align-items:stretch}.hero-actions .button{width:100%}
 .drone-hero h1{font-size:2.9rem}
 .portfolio-jump-links a{font-size:.875rem;padding-inline:5px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*:before,*:after{animation:none!important;transition:none!important}
}
@media(forced-colors:active){
 .choice-copy,.choice-topline,.drone-hero-content{background:Canvas;padding:15px;color:CanvasText}
 .button,.enlarge,.division-switch a[aria-current]{border:1px solid ButtonText}
}
