:root{--ink:#263a49;--dark:#203441;--muted:#64717a;--red:#ba262a;--paper:#f5f5f1;--line:#dcded9;--white:#fff;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--white);font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.1}h1,h2{letter-spacing:-.045em}em{font-style:normal;color:var(--muted)}p{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:11px;font-weight:650;letter-spacing:.15em;line-height:1.6}.red-line{display:inline-block;width:25px;height:2px;background:var(--red);vertical-align:middle;margin-right:12px}.site-header{height:96px;max-width:var(--max);margin:auto;padding:0 4.5%;display:flex;align-items:center;gap:35px;background:white;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;white-space:nowrap}.brand img{width:48px;height:48px;object-fit:contain}.brand strong{display:block;font-size:20px;letter-spacing:-.03em;font-weight:600;line-height:1.4}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:.015em}.site-header nav{display:flex;gap:27px;align-items:center;font-size:13px}.site-header nav a:hover{color:var(--red)}.header-phone{font-size:13px;font-weight:650;white-space:nowrap;border-left:1px solid var(--line);padding-left:27px}.header-phone span{color:var(--red);margin-right:7px;font-size:18px}.menu-toggle{display:none}.hero{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.02fr 1fr;min-height:560px;background:var(--paper)}.hero-copy{padding:64px 6% 30px 8.8%;display:flex;flex-direction:column;justify-content:center;position:relative}.hero h1{font-size:clamp(35px,3.15vw,46px);margin:27px 0 24px;font-weight:500;line-height:1.2;letter-spacing:-.04em}.hero h1 span{color:var(--ink)}.hero-description{font-size:15px;line-height:1.8;max-width:400px}.hero-actions{display:flex;gap:23px;flex-wrap:wrap;align-items:center;margin-top:31px}.button{padding:15px 20px;display:inline-flex;align-items:center;gap:24px;font-size:12px;font-weight:600}.primary{color:white;background:var(--ink)}.primary:hover{background:var(--red)}.button span{font-size:22px;line-height:1}.text-link{font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:16px;line-height:1.7}.text-link:hover{color:var(--red)}.text-link span{font-size:20px;line-height:1}.hero-foot{display:flex;gap:15px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:var(--muted);letter-spacing:.015em}.cross{font-size:32px;font-weight:200;line-height:1;color:var(--red)}.hero-foot-last{margin-left:auto}.hero-image{position:relative;overflow:hidden;min-height:560px;background:#a2b2b6}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:49% center}.hero-image:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(11,28,37,.8));pointer-events:none}.image-index{position:absolute;left:29px;top:27px;background:rgba(255,255,255,.94);padding:8px 12px;font-size:9px;letter-spacing:.18em;font-weight:600}.hero-image figcaption{position:absolute;bottom:29px;left:31px;right:30px;display:flex;align-items:center;justify-content:space-between;color:white;z-index:1;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.hero-image figcaption strong{display:block;font-size:19px;font-weight:500;letter-spacing:-.01em;margin-top:6px;text-transform:none}.hero-image figcaption a{height:44px;width:44px;border:1px solid #ffffff65;display:grid;place-items:center;font-size:24px}.hero-image figcaption a:hover{background:#ffffff22}.specialties{max-width:var(--max);margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--ink);color:white;font-size:12px}.specialties i{color:#84919a;font-style:normal;font-size:20px;font-weight:300}.section{max-width:var(--max);padding:104px 6%;margin:auto}.services{display:grid;grid-template-columns:1fr 1.15fr;gap:9%}.section-intro h2,.section-heading h2,.about h2{font-size:clamp(31px,3vw,46px);margin:20px 0 25px;line-height:1.14}.section-intro>p:not(.eyebrow){font-size:14px;max-width:330px;line-height:1.8}.section-intro>.text-link{margin-top:28px}.service-list{border-top:1px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}.service-list summary{display:flex;align-items:center;gap:20px;padding:23px 0;min-height:78px}.service-list .number{color:var(--red);font-size:10px;letter-spacing:.1em}.service-list h3{font-size:21px;letter-spacing:-.025em}.expand{margin-left:auto;font-size:26px;font-weight:300;line-height:1;transition:transform .2s}.service-list details[open] .expand{transform:rotate(45deg)}.service-body{padding:0 35px 23px}.service-body p{font-size:13px;line-height:1.9}.service-body a{display:inline-block;margin-top:18px;font-size:11px;font-weight:600;border-bottom:1px solid var(--ink)}.portfolio{background:var(--paper);padding-top:84px;padding-bottom:48px}.section-heading{display:flex;gap:60px;align-items:flex-end;justify-content:space-between}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:290px;font-size:13px;line-height:1.9;margin-bottom:3px}.filters{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:37px 0 30px;flex-wrap:wrap}.filters button{background:none;border:0;border-bottom:2px solid transparent;padding:14px 0;color:var(--muted);font-size:11px}.filters button[aria-pressed=true]{border-color:var(--red);color:var(--ink);font-weight:600}.filters span{font-size:9px;margin-left:7px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.project[hidden]{display:none}.project-open{border:0;background:transparent;width:100%;text-align:left;padding:0;display:block}.project-image{position:relative;overflow:hidden;aspect-ratio:1.18;background:#d1d5d2}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project-open:hover img{transform:scale(1.035)}.project-arrow{position:absolute;bottom:13px;right:13px;background:#fffffff0;width:39px;height:39px;display:grid;place-items:center;font-size:23px;transition:background .2s}.project-open:hover .project-arrow{background:var(--red);color:white}.project-meta{display:flex;justify-content:space-between;gap:10px;text-transform:uppercase;letter-spacing:.08em;font-size:8px;color:var(--muted);padding:19px 0 12px}.project h3{font-size:21px;letter-spacing:-.03em;line-height:1.25}.project p{font-size:12px;margin-top:10px;line-height:1.7}.portfolio-bottom{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:43px;border-top:1px solid var(--line);padding-top:26px}.portfolio-bottom p{font-size:12px}.about{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;background:var(--dark);color:white}.about-visual{position:relative;min-height:445px;overflow:hidden;background:#020807}.about-visual img{width:100%;height:100%;object-fit:cover;position:absolute;opacity:.86}.about-visual span{position:absolute;bottom:28px;left:35px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#ccd5da}.about-copy{padding:63px 12% 62px 10%}.about h2{font-size:35px;margin-bottom:23px}.about em{color:#b9c6ce}.about p{color:#bac4ca;font-size:13px;line-height:1.9;margin-bottom:16px}.about .eyebrow{font-size:10px;color:#c7d1d7;margin:0}.about .text-link{margin-top:13px}.about .text-link:hover,.contact .text-link:hover{color:#d6dfe5}.questions{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;padding-top:82px;padding-bottom:87px}.questions h2{margin-bottom:0}.faq-list{border-top:1px solid var(--line)}.faq-list summary{padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:500}.faq-list summary span{font-size:22px;font-weight:300;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{font-size:13px;line-height:1.9;padding:0 30px 24px 0}.contact{background:var(--paper);max-width:var(--max);margin:auto;padding:72px 6% 0;border-top:1px solid var(--line)}.contact-top{display:grid;grid-template-columns:1fr 1.15fr;gap:9%}.contact h2{font-size:54px;line-height:1.1;margin:20px 0 24px}.contact h2 em{color:var(--red)}.contact p{font-size:13px;line-height:1.9}.contact-details{padding-top:5px}.contact-label{font-size:11px;color:var(--muted)}.big-phone{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:clamp(31px,3.7vw,54px);letter-spacing:-.035em;line-height:1.4;border-bottom:1px solid var(--line);padding:15px 0 24px;white-space:nowrap}.big-phone span{color:var(--red);font-size:45px;font-weight:300}.big-phone:hover{color:var(--red)}.contact-row{display:flex;gap:25px;justify-content:space-between;margin:26px 0;font-size:13px}.contact-row small{color:var(--muted);font-size:11px}.contact footer{border-top:1px solid var(--line);margin-top:64px;padding:25px 0;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}footer a{display:inline-flex;gap:20px}footer a span{color:var(--red)}.skip-link{position:fixed;top:-80px;left:20px;background:white;color:var(--ink);padding:15px;z-index:100}.skip-link:focus{top:10px}.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}
.drone-services p+p,.service-body .field-check{margin-top:15px}.drone-services strong{font-weight:600;color:var(--ink)}.pilot-qualifications{border-left:2px solid var(--red);padding-left:13px}
.project-image-count{position:absolute;top:13px;left:13px;background:#fffffff0;padding:5px 9px;font-size:10px;letter-spacing:.02em}.project-grid{row-gap:40px}.gallery-controls button:disabled{opacity:.35}.gallery-controls button:disabled:hover{background:transparent}
.software{display:grid;grid-template-columns:1fr 1.15fr;gap:9%;border-bottom:1px solid var(--line)}.software .software-hint{margin-top:25px;font-size:12px;color:var(--ink)}.software-list{border-top:1px solid var(--ink)}.software-list summary{display:flex;align-items:center;gap:20px;padding:24px 0}.software-list h3{font-size:20px;letter-spacing:-.025em;line-height:1.3}.software-list details[open] .expand{transform:rotate(45deg)}.software-list dl{margin:0;padding:0 0 12px}.software-list dl>div{display:grid;grid-template-columns:155px 1fr;gap:24px;padding:18px 0;border-top:1px solid var(--line)}.software-list dt{font-size:13px;font-weight:650;line-height:1.6}.software-list dt span{color:var(--red);font-weight:400}.software-list dt a:hover{color:var(--red)}.software-list dd{margin:0;font-size:12px;line-height:1.9;color:var(--muted)}
@media(max-width:1100px){.software{gap:6%}.software-list dl>div{grid-template-columns:130px 1fr;gap:18px}}
@media(max-width:760px){.software{grid-template-columns:1fr;gap:28px}.software-list summary{padding:22px 0}.software-list h3{font-size:19px}.software-list dl>div{grid-template-columns:1fr;gap:6px;padding:17px 0}.software-list dt{font-size:14px}.software-list dd{font-size:13px}}
dialog{border:0;padding:0;color:var(--ink);max-width:1080px;width:92vw;max-height:90dvh;background:var(--paper)}dialog::backdrop{background:#0b1823d9;backdrop-filter:blur(4px)}.dialog-layout{display:grid;grid-template-columns:1.4fr 1fr;min-height:520px}.dialog-gallery{display:flex;flex-direction:column;background:#192932;min-width:0}.dialog-gallery>img{width:100%;height:460px;object-fit:contain;flex:1;min-height:0}.gallery-controls{display:flex;justify-content:center;align-items:center;gap:30px;padding:14px;color:white;font-size:12px}.gallery-controls button{background:transparent;color:white;border:1px solid #74828a;width:40px;height:34px;font-size:20px}.gallery-controls button:hover{background:#ffffff22}.dialog-copy{position:relative;padding:75px 35px 35px}.dialog-close{position:absolute;right:15px;top:10px;font-size:35px;font-weight:300;line-height:1;width:44px;height:44px;background:transparent;border:0}.dialog-copy h2{font-size:33px;margin:18px 0 26px}.dialog-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;margin-bottom:18px}.project-scope{border-top:1px solid var(--line);padding-top:18px}.dialog-copy .text-link{font-size:11px}
@media(min-width:1441px){body{background:#e9ebe7}.site-header,.section{background-color:white}.portfolio{background-color:var(--paper)}}
@media(max-width:1100px){.site-header{gap:22px;padding:0 4%}.site-header nav{gap:18px}.header-phone{display:none}.hero-copy{padding-left:8%;padding-top:43px}.hero h1{font-size:36px}.hero,.hero-image{min-height:540px}.hero-actions{gap:18px}.hero-foot{margin-top:40px}.hero-foot-last{display:none}.section{padding:78px 5%}.services,.questions,.contact-top{gap:6%}.service-list h3{font-size:19px}.about-copy{padding:50px 8%}.about h2{font-size:31px}.project-grid{gap:20px}.project-meta{font-size:7px}.project h3{font-size:19px}.big-phone{font-size:38px}}
@media(max-width:760px){html{scroll-padding-top:20px}.site-header{height:82px;padding:0 5%;flex-wrap:wrap}.brand img{width:42px;height:42px}.brand strong{font-size:18px}.brand small{font-size:8px}.menu-toggle{display:flex;align-items:center;gap:12px;background:white;border:0;padding:10px 0 10px 10px;font-size:12px}.menu-toggle span{font-size:19px}.site-header nav{display:none;position:absolute;top:81px;left:0;right:0;background:white;padding:14px 5% 25px;border-bottom:1px solid var(--line);box-shadow:0 10px 15px #2034410a}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{padding:12px 0;font-size:16px}.hero{grid-template-columns:1fr}.hero-copy{padding:39px 6% 25px}.hero h1{font-size:clamp(30px,6.8vw,39px);margin:23px 0 21px;line-height:1.2}.eyebrow{font-size:9px}.hero-description{font-size:14px;max-width:440px}.hero-actions{margin-top:25px;gap:22px}.button{font-size:11px;padding:14px 17px;gap:20px}.hero-foot{margin-top:29px;padding-top:18px}.hero-foot-last{display:block}.hero-image{min-height:345px}.hero-image>img{object-position:center 56%}.hero-image figcaption{left:23px;right:23px;bottom:22px}.hero-image figcaption strong{font-size:19px}.image-index{top:20px;left:22px}.specialties{padding:20px 6%;display:grid;grid-template-columns:1fr 1fr;gap:13px;font-size:11px}.specialties i{display:none}.specialties span:before{content:"+";color:#95a8b3;margin-right:11px}.section{padding:58px 6%}.services,.questions{grid-template-columns:1fr;gap:35px}.section-intro h2,.section-heading h2{font-size:36px;margin:15px 0 19px}.section-intro>p:not(.eyebrow){max-width:none}.section-intro>.text-link{margin-top:19px}.service-list summary{padding:20px 0;gap:16px;min-height:72px}.service-list h3{font-size:20px}.service-body{padding-left:30px;padding-right:20px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:20px}.filters{gap:20px;margin-top:20px;margin-bottom:25px}.filters button{font-size:10px}.filters span{font-size:8px;margin-left:3px}.project-grid{grid-template-columns:1fr;gap:36px}.project-image{aspect-ratio:1.4}.project-meta{font-size:9px;padding-top:17px}.project h3{font-size:23px}.project p{font-size:13px;margin-top:8px}.portfolio-bottom{display:block;margin-top:32px;padding-top:23px}.portfolio-bottom .text-link{margin-top:14px}.about{grid-template-columns:1fr}.about-visual{min-height:300px;order:2}.about-visual img{object-fit:cover}.about-copy{padding:48px 6%}.about h2{font-size:34px;margin-top:18px}.about p{font-size:14px}.questions{gap:20px}.faq-list summary{font-size:14px;padding:22px 0}.contact{padding:52px 6% 0}.contact-top{grid-template-columns:1fr;gap:36px}.contact h2{font-size:49px}.contact-details{padding:0}.big-phone{font-size:43px;padding-top:10px;padding-bottom:20px}.big-phone span{font-size:35px}.contact footer{margin-top:44px}.dialog-layout{grid-template-columns:1fr;min-height:0}.dialog-gallery{order:2}.dialog-gallery>img{height:300px;flex:none}.dialog-copy{padding:55px 25px 25px}.dialog-copy h2{font-size:28px;margin:14px 0 18px}.dialog-copy p{font-size:12px}.dialog-copy .project-scope{margin-bottom:14px}dialog{width:94vw;max-height:92dvh}.dialog-close{position:fixed;right:calc(3vw + 8px);top:calc(4dvh + 8px);background:var(--paper);z-index:1}}
@media(max-width:360px){.brand{gap:8px}.brand strong{font-size:16px}.brand small{font-size:7px}.hero h1{font-size:29px}.hero-foot-last{display:none}.big-phone{font-size:35px}.filters{gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


.hero-drone{position:absolute;z-index:2;top:27px;right:27px;width:36%;max-width:250px;border:4px solid #ffffffed;border-radius:4px;overflow:hidden;box-shadow:0 10px 28px #13263230;background:#fff}.hero-drone img{width:100%;height:auto;display:block}@media(max-width:760px){.hero-drone{top:20px;right:20px;width:43%;max-width:210px;border-width:3px}}

.specialty-about{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;font-weight:600}.specialty-about:hover{color:#dce5eb}.specialty-about span{font-size:17px}
.personal{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:8%;align-items:start;background:var(--white);border-bottom:1px solid var(--line)}
.personal-photo{max-width:380px}.personal-photo>img{width:100%;aspect-ratio:4/4.7;object-fit:cover;object-position:center 40%;background:var(--paper)}.personal-photo figcaption{padding-top:19px;font-size:17px;font-weight:500;line-height:1.5}.personal-photo figcaption span{display:block;margin-top:5px;font-size:11px;color:var(--muted);font-weight:400}
.personal-copy h2{font-size:clamp(30px,2.8vw,40px);margin:17px 0 21px;letter-spacing:-.035em}.personal-copy>p:not(.eyebrow){font-size:13px;line-height:1.85;margin-bottom:17px}.personal-copy>.personal-lead{font-size:18px!important;color:var(--ink);line-height:1.55!important}
.personal-qualifications{margin-top:30px}.personal-qualifications h3{font-size:17px;line-height:1.4;letter-spacing:-.015em;margin-bottom:15px}.personal-qualifications dl{margin:0;border-top:1px solid var(--line)}.personal-qualifications dl>div{display:grid;grid-template-columns:48px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.personal-qualifications dt{font-size:11px;color:var(--red);padding-top:2px}.personal-qualifications dd{margin:0;font-size:12px;color:var(--muted);line-height:1.7}.personal-qualifications strong{display:block;color:var(--ink);font-size:13px;font-weight:500}
.personal-development{margin-top:16px}.personal-development summary{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:12px;padding:15px 0;font-weight:500}.personal-development summary span{font-size:22px;font-weight:300}.personal-development[open] summary span{transform:rotate(45deg)}.personal-development p{font-size:12px;line-height:1.85;padding-bottom:18px}.personal-links{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:26px}.personal-links .text-link{font-size:11px}
@media(max-width:760px){.specialty-about span:before{content:none}.personal{grid-template-columns:1fr;gap:30px}.personal-photo{max-width:270px}.personal-photo>img{aspect-ratio:1;object-position:center}.personal-photo figcaption{padding-top:13px;font-size:16px}.personal-copy h2{font-size:32px}.personal-copy>p:not(.eyebrow){font-size:14px}.personal-qualifications dl>div{gap:15px}.personal-links{gap:19px 25px}}

.personal-intro h2{font-size:clamp(30px,2.8vw,40px);margin:17px 0 21px;letter-spacing:-.035em}.personal-intro .personal-lead{font-size:17px;line-height:1.7;max-width:340px}.personal-copy>p:not(.eyebrow){font-size:14px}.personal-copy>p:first-child{color:var(--ink)}@media(max-width:760px){.personal-intro h2{font-size:32px}.personal-intro .personal-lead{max-width:none;font-size:16px}}

.personal-education{margin-top:42px;max-width:350px}.personal-education h3{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:23px}.education-item{border-left:2px solid var(--red);padding:0 0 0 20px;margin-top:26px}.education-item p{font-size:12px;line-height:1.75;margin:0}.education-item .education-degree{font-size:18px;font-weight:500;letter-spacing:-.02em;color:var(--ink);margin-bottom:4px}.education-item .education-school{margin-top:10px}.education-item .education-date{font-size:11px;margin-top:4px;color:var(--muted)}.personal-development summary{font-size:15px}.personal-development>p{margin:0;padding-bottom:18px}.personal-courses{display:grid;grid-template-columns:1fr 1fr;gap:23px 28px;padding-bottom:25px;margin:0}.personal-courses>div{border-top:1px solid var(--line);padding-top:15px}.personal-courses dt{font-size:13px;font-weight:500;line-height:1.6;color:var(--ink);margin-bottom:7px}.personal-courses dt a:hover{color:var(--red)}.personal-courses dt span{padding-left:5px;font-size:11px}.personal-courses dd{font-size:12px;line-height:1.8;margin:0;color:var(--muted)}@media(max-width:760px){.personal-education{margin-top:30px;max-width:none}.personal-courses{grid-template-columns:1fr;gap:18px}.education-item{padding-left:17px}.personal-education h3{margin-bottom:18px}}
