:root{--ink:#102637;--muted:#526576;--blue:#0871d1;--ice:#eff5f8;--line:#cbd8e0;--dark:#081923;--accent:#9bddff;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fafcfd}a{color:inherit;text-underline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #e39933;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em;font-weight:600}h1{font-size:clamp(3rem,6.5vw,6.6rem);margin-bottom:28px}h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:25px}h3{font-size:1.6rem}p{margin-bottom:1.3rem}button{border:0}.eyebrow,.micro{font-size:.69rem;letter-spacing:.16em;font-weight:700;line-height:1.65}.eyebrow{color:#225975;margin-bottom:24px}.fine{font-size:.8rem;color:var(--muted);max-width:850px;margin-top:25px}.section{padding:100px max(5vw,24px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:45px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);max-width:330px}.section-heading .text-link{white-space:nowrap}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;min-height:52px;padding:14px 24px;border:1px solid var(--blue);background:var(--blue);color:white;text-decoration:none;font-size:.88rem;font-weight:700;border-radius:4px;transition:background .25s,transform .25s;max-width:100%}.button:hover{background:#085da8;transform:translateY(-3px)}.button span,.text-link span{font-size:1.3em}.button.outline{border-color:#adc0cd;background:#10283977}.button.outline:hover{background:#17394f}.text-link{display:inline-flex;gap:30px;align-items:center;font-weight:700;font-size:.9rem;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:15px;z-index:100}.skip:focus{top:10px}.review-bar{padding:5px;text-align:center;background:#e3eff5;font-size:.7rem}.site-header{display:flex;align-items:center;justify-content:space-between;padding:12px 4vw;gap:25px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e3e9ed}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:700;font-size:1.15rem;letter-spacing:.09em;line-height:1.2}.brand img{width:72px;height:56px;object-fit:contain}.brand small{display:block;font-size:.48rem;letter-spacing:.15em;margin-top:8px}.site-header nav{display:flex;gap:26px;align-items:center}.site-header nav>a{font-size:.82rem;font-weight:700;text-decoration:none}.site-header .button{padding:10px 18px;min-height:44px}.menu-toggle{display:none}.hero{position:relative;color:white;min-height:710px;min-height:min(850px,calc(100svh - 81px));display:flex;flex-direction:column;justify-content:center;background:var(--dark);isolation:isolate;overflow:hidden}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-media img{width:100%;height:100%;object-position:center;animation:drift 22s ease-out both}.hero-shade{z-index:-1;background:linear-gradient(90deg,#071a2ae8,#0a1e3299 58%,#0a1e3255),linear-gradient(0deg,#071722aa,transparent 45%)}.hero-content{padding:90px 5vw 120px}.hero h1{font-size:clamp(3.1rem,6.1vw,6rem);max-width:1120px}.hero h1 em{font-weight:400;font-style:normal;color:#ade0ff}.hero .eyebrow{color:#d5e8f4;font-size:.65rem}.hero-description{font-size:1.1rem;color:#e2edf4;max-width:740px;line-height:1.8}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.hero-bottom{position:absolute;bottom:0;left:5vw;right:5vw;border-top:1px solid #c1d6e64d;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:.65rem;letter-spacing:.08em}.hero-bottom>a{text-decoration:none}.hero-modes{display:flex;gap:20px}.hero-modes button{background:none;color:#cbdbe6;padding:10px 0;font-size:.7rem;border-bottom:2px solid transparent}.hero-modes button[aria-pressed=true]{color:#fff;border-color:#8dd4ff}.intro-band{display:grid;grid-template-columns:1fr 1.4fr;gap:0 60px;background:var(--ice);padding-block:65px;border-bottom:1px solid var(--line)}.intro-band .eyebrow{grid-column:1/-1}.intro-band h2{font-size:2.3rem;margin:0}.intro-band>p:last-child{font-size:1.1rem;margin:0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 26px}.service-card{background:white;border-bottom:1px solid var(--line);padding-bottom:28px}.service-visual{position:relative;overflow:hidden;aspect-ratio:1.5}.service-visual img{width:100%;height:100%;transition:transform .65s}.service-card:hover img{transform:scale(1.055)}.service-number{position:absolute;bottom:14px;left:14px;background:#0b2236eb;color:#d4ebfa;font-size:.65rem;padding:6px 12px;letter-spacing:.12em}.service-copy{padding:25px 5px 0}.service-copy h3 a{text-decoration:none}.service-copy h3{font-size:1.55rem;margin-bottom:15px}.service-copy p{color:var(--muted);font-size:.95rem}.thermal-section{background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;position:relative}.thermal-visual{position:relative;padding:30px;border:1px solid #416276;background:linear-gradient(135deg,#123449,#07121e)}.thermal-visual img{width:100%;aspect-ratio:1;object-fit:contain}.thermal-border{position:absolute;inset:14px;border:1px solid #88cbe255;pointer-events:none}.thermal-border:before,.thermal-border:after{content:'+';position:absolute;color:#add7ec;font-size:20px;line-height:1;top:-10px;left:-6px}.thermal-border:after{top:auto;left:auto;bottom:-8px;right:-6px}.image-label{font-size:.6rem;letter-spacing:.13em;margin:20px 0 0;color:inherit}.thermal-section .eyebrow{color:var(--accent)}.thermal-copy>p:not(.eyebrow){color:#b7c9d7}.thermal-tabs{display:flex;gap:16px;border-bottom:1px solid #476071;margin:30px 0 24px}.thermal-tabs button{color:#bdcfdc;background:none;padding:10px 0 14px;font-size:.8rem;border-bottom:2px solid transparent}.thermal-tabs button[aria-pressed=true]{color:white;border-color:var(--accent)}.thermal-description{min-height:210px}.thermal-description h3{font-size:1.35rem}.thermal-description p{font-size:.93rem;color:#bfd0dc}.thermal-description .text-link{color:var(--accent)}.thermal-copy .fine{font-size:.74rem}.mission-section{background:#e9f1f5}.mission-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:50px}.mission-options{display:flex;flex-direction:column}.mission-options button{display:flex;gap:24px;align-items:center;text-align:left;padding:25px 20px;border-bottom:1px solid #bacbd6;background:transparent;color:var(--ink);font-size:1.12rem;transition:background .3s}.mission-options button>span:first-child{font-size:.72rem;color:#496e85}.mission-options button>span:last-child{margin-left:auto}.mission-options button[aria-pressed=true]{background:var(--dark);color:white}.mission-options button[aria-pressed=true]>span{color:#bce1fa}.mission-result{padding:38px;background:white;border-top:3px solid var(--blue);min-height:350px}.mission-result h3{font-size:2rem}.mission-result p,.mission-result li{color:var(--muted)}.mission-result ul{padding-left:20px;margin-bottom:25px}.work-section{background:#fff}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px 24px}.gallery figure{margin:0}.gallery-open{position:relative;display:block;overflow:hidden;background:var(--ice)}.gallery img{aspect-ratio:1.3;width:100%;height:auto;transition:transform .6s}.gallery-open:hover img{transform:scale(1.05)}.gallery figure[data-category=thermal] img{object-fit:contain;background:var(--dark)}.enlarge{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink)}figcaption{padding-top:20px}figcaption .micro{color:#526b7c;font-size:.58rem}figcaption h3{font-size:1.2rem;margin:10px 0}figcaption p{color:var(--muted);font-size:.85rem}.gallery-tools{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:30px}.gallery-tools>p{font-size:.8rem;color:var(--muted);white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{padding:11px 19px;border:1px solid #b6c8d4;border-radius:2px;color:var(--ink);background:transparent;font-size:.82rem;min-height:44px}.filters button[aria-pressed=true]{background:var(--dark);color:white;border-color:var(--dark)}dialog{width:min(1300px,96vw);max-width:96vw;height:94svh;max-height:94svh;background:#091823;color:#fff;border:1px solid #526778;padding:20px 28px}dialog::backdrop{background:#020b12ed}dialog[open]{display:flex;flex-direction:column;gap:12px}.lightbox-toolbar,.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.lightbox-toolbar p{font-size:.65rem;letter-spacing:.12em;margin:0}.lightbox-toolbar button,.lightbox-bottom button{background:#213b4f;color:white;border:1px solid #607689;padding:10px 16px;min-height:44px;font-size:.8rem;white-space:nowrap}#lightbox-image{min-height:0;flex:1;object-fit:contain;width:100%}.lightbox-bottom p{font-size:.8rem;margin:0;max-width:660px}.process-section{background:var(--ice)}.process-grid{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.process-grid li{border-top:1px solid #aebfc9;padding-top:25px}.big-number{font-size:4.6rem;line-height:1;color:#627c90;letter-spacing:-.07em;display:block;margin-bottom:35px}.process-grid h3{font-size:1.5rem}.process-grid p{font-size:.95rem;color:var(--muted)}.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq-section>div>p:not(.eyebrow){color:var(--muted)}.faqs details{border-bottom:1px solid var(--line)}.faqs summary{display:flex;justify-content:space-between;gap:20px;list-style:none;font-weight:700;padding:23px 0;font-size:1rem}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{color:var(--blue);font-size:1.3rem}.faqs details[open] summary span{transform:rotate(45deg)}.faqs details p{color:var(--muted);font-size:.95rem;padding-right:25px}.project-cta{background:#0c538e;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:45px;position:relative;overflow:hidden}.project-cta:before{content:'';position:absolute;width:550px;height:550px;border:1px solid #ffffff20;border-radius:50%;right:-40px;top:-170px;pointer-events:none}.project-cta .eyebrow{color:#d1edff}.project-cta h2{max-width:800px}.project-cta p:last-child{max-width:600px;color:#d4e6f4;margin:0}.project-cta .button{background:#fff;color:#114c7a;border-color:#fff;flex-shrink:0;z-index:1}.page-intro{background:#eaf2f6;padding-top:80px;padding-bottom:75px}.page-intro h1{max-width:1200px;font-size:clamp(3rem,6vw,5.7rem)}.page-intro>p:last-child{font-size:1.2rem;max-width:850px;color:var(--muted);margin-bottom:0}.service-lead{display:grid;grid-template-columns:1.35fr 1fr;gap:55px;align-items:stretch}.service-photo{min-width:0;display:flex;flex-direction:column}.service-photo img{width:100%;height:440px;object-fit:cover}.service-photo:has(img[src*="thermal"]) img{object-fit:contain;background:var(--dark)}.deliverable-panel{background:var(--ice);padding:38px}.deliverable-panel h2{font-size:2.4rem}.deliverable-panel ul{padding-left:20px}.deliverable-panel li{padding:8px 0}.deliverable-panel>p:not(.eyebrow){font-size:.8rem;color:var(--muted);margin-top:25px}.detail-grid,.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-top:25px}.detail-grid h2,.values h2{font-size:1.8rem}.detail-grid p,.values p{color:var(--muted)}.service-note{background:var(--ice);padding-block:45px}.service-note h2{font-size:1.6rem}.service-note p{max-width:1000px;margin-bottom:12px}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.about-layout img{height:660px;width:100%}.about-layout p:not(.eyebrow){color:var(--muted)}.values article{border-top:1px solid var(--line);padding-top:24px}.values span{font-size:.8rem;display:block;margin-bottom:24px;color:var(--blue)}.region-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.region-grid img{aspect-ratio:1.5;width:100%;height:auto;margin-bottom:30px}.region-grid h2{font-size:2rem}.region-grid p{color:var(--muted)}.narrow{max-width:1050px;margin:auto}.narrow h2{font-size:2rem;margin-top:35px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contact-layout aside h2{font-size:2.2rem}.contact-layout aside .email{font-size:1rem;overflow-wrap:anywhere}.contact-checklist{padding-top:40px;margin-top:40px;border-top:1px solid var(--line)}.contact-checklist h3{font-size:1.4rem}.contact-checklist ol{padding-left:20px;color:var(--muted);line-height:2}form{padding:38px;background:var(--ice)}form h2{font-size:2.5rem}.form-notice{font-size:.87rem;color:var(--muted);margin-bottom:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-grid label{font-size:.82rem;font-weight:700;display:flex;flex-direction:column;gap:7px}.form-grid .wide{grid-column:1/-1}input,textarea,select{min-height:48px;width:100%;min-width:0;border:1px solid #93aabd;border-radius:2px;background:white;color:var(--ink);padding:12px;font-weight:400;font-size:1rem}textarea{resize:vertical}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status:not(:empty){margin-top:20px;padding:20px;border:1px solid #6791ab;background:white;font-size:.9rem}#form-status a{display:inline-block;margin-top:15px}.button:disabled{opacity:.6;cursor:default}footer{padding:65px 5vw 25px;background:#071722;color:#cfdae3}.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding-bottom:50px}.footer-brand{display:flex;gap:40px;align-items:center;font-size:1.8rem;text-decoration:none;color:white;letter-spacing:.04em;margin-bottom:20px}.footer-brand span{font-size:2.5rem;color:var(--accent)}footer h2{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#b1c7d6;margin-bottom:25px}footer a:not(.footer-brand){display:block;font-size:.85rem;text-decoration:none;margin-bottom:11px}footer a:hover{text-decoration:underline}footer p{font-size:.85rem;color:#9cb3c4}.email{overflow-wrap:anywhere}.motion-control{background:transparent;color:#d9e5ed;border:1px solid #5d7889;padding:9px 14px;font-size:.8rem;min-height:44px}.footer-bottom{display:flex;justify-content:space-between;gap:40px;border-top:1px solid #2c4454;padding-top:25px}.footer-bottom>p{max-width:550px;font-size:.7rem;margin:0}.footer-bottom>div{display:flex;gap:25px}.footer-bottom a{font-size:.7rem!important;white-space:nowrap}[hidden]{display:none!important}body.dialog-open{overflow:hidden}.reveal{transition:opacity .6s ease,transform .6s ease}.reveal.awaiting{opacity:0;transform:translateY(22px)}.reveal.visible{opacity:1;transform:none}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduced-motion .reveal{opacity:1;transform:none}@keyframes drift{from{transform:scale(1.07)}to{transform:scale(1)}}@media(min-width:1600px){.section,footer{padding-left:max(5vw,calc((100vw - 1440px)/2));padding-right:max(5vw,calc((100vw - 1440px)/2))}}@media(max-width:1050px){.brand span{font-size:.95rem}.brand small{font-size:.4rem}.site-header nav{gap:18px}.site-header{padding-inline:25px}.hero-bottom>span{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.thermal-section{gap:40px}.section{padding-block:75px}.mission-layout{gap:30px}.faq-section{gap:40px}.contact-layout{gap:35px;grid-template-columns:.7fr 1.3fr}.service-lead{gap:30px}.deliverable-panel{padding:25px}.service-photo img{height:100%;min-height:350px}.footer-top{gap:30px}.footer-bottom{display:block}.footer-bottom>div{margin-top:20px}}
@media(max-width:800px){.site-header{flex-wrap:wrap;padding:10px 20px;gap:10px}.brand img{width:54px;height:44px}.brand span{font-size:.9rem}.brand small{font-size:.42rem}.menu-toggle{display:block;border:1px solid var(--line);background:white;color:var(--ink);padding:9px 12px;font-size:.8rem;min-height:44px}.menu-toggle span{margin-left:12px}.site-header nav{width:100%;flex-wrap:wrap;padding:15px 0;gap:18px 25px}.js .site-header nav:not(.open){display:none}.hero{min-height:700px}.hero-content{padding:85px 6vw 170px}.hero h1{font-size:clamp(2.7rem,8.3vw,4.5rem)}.hero-description{font-size:1rem;max-width:530px}.hero .eyebrow{max-width:310px;font-size:.58rem}.hero-shade{background:linear-gradient(90deg,#071a2aeb,#0a1e3299),linear-gradient(0deg,#071722cc,transparent)}.hero-bottom{display:block;padding:16px 0;left:6vw;right:6vw}.hero-modes{justify-content:space-between;margin-bottom:12px;gap:10px}.hero-bottom>a{font-size:.65rem}.hero-actions .button{font-size:.8rem;gap:18px;padding:12px 18px}.section{padding:60px 6vw}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>.text-link{margin-top:24px}.section-heading .text-link{white-space:normal}.intro-band{display:block}.intro-band h2{margin-bottom:20px}.intro-band>p:last-child{font-size:1rem}.service-grid{gap:35px 20px}.service-copy h3{font-size:1.4rem}.service-copy p{font-size:.9rem}.service-number{font-size:.55rem;left:10px;bottom:10px}.thermal-section{grid-template-columns:1fr;gap:40px}.thermal-visual{max-width:560px;width:100%;padding:25px}.thermal-copy{max-width:650px}.thermal-description{min-height:0}.thermal-tabs{gap:22px}.mission-layout{grid-template-columns:1fr}.mission-options button{padding:19px 15px;font-size:1rem}.mission-result{padding:28px;min-height:0}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px}.gallery-tools{display:block}.gallery-tools>p{margin-top:15px}.process-grid{grid-template-columns:1fr;gap:30px}.big-number{font-size:3.5rem;margin-bottom:20px}.faq-section{grid-template-columns:1fr;gap:40px}.project-cta{display:block}.project-cta>.button{margin-top:30px}.page-intro h1{font-size:clamp(2.7rem,8vw,4.4rem)}.page-intro>p:last-child{font-size:1.05rem}.service-lead,.about-layout,.contact-layout{grid-template-columns:1fr;gap:35px}.service-photo img{height:360px;min-height:0}.deliverable-panel{padding:30px}.detail-grid,.values{grid-template-columns:1fr;gap:30px}.detail-grid h2{font-size:1.7rem}.detail-grid article:not(:last-child){padding-bottom:20px;border-bottom:1px solid var(--line)}.about-layout img{height:450px}.region-grid{grid-template-columns:1fr}.contact-layout aside .email{font-size:1rem}.contact-checklist{margin-top:25px;padding-top:25px}.contact-layout form{padding:28px}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.footer-top>div:first-child{grid-column:1/-1}.footer-brand{max-width:350px}.footer-bottom>div{flex-wrap:wrap;gap:18px}dialog{padding:14px}.lightbox-bottom{flex-wrap:wrap;gap:12px}.lightbox-bottom p{order:3;width:100%;font-size:.75rem}.lightbox-toolbar p{font-size:.5rem}}
@media(max-width:480px){.hero{min-height:700px}.hero-content{padding-top:60px}.hero h1{font-size:2.85rem}.hero-description br{display:none}.hero-actions{gap:12px}.hero-actions .button{min-width:185px}.service-grid,.gallery{grid-template-columns:1fr}.gallery img{aspect-ratio:1.35}.service-visual{aspect-ratio:1.55}.service-card{padding-bottom:25px}.thermal-tabs{gap:14px}.thermal-tabs button{font-size:.72rem}.thermal-visual{padding:20px}.thermal-border{inset:8px}.image-label{font-size:.53rem}.form-grid{grid-template-columns:1fr}.contact-layout form{padding:24px 20px}.form-grid .wide{grid-column:auto}.footer-top{grid-template-columns:1fr}.footer-top>div:first-child{grid-column:auto}.footer-top{gap:30px}.brand small{letter-spacing:.08em}.brand span{font-size:.83rem}.brand{gap:7px}.section h2{font-size:2.1rem}.detail-grid h2,.service-note h2,.region-grid h2{font-size:1.6rem}.filters button{font-size:.75rem;padding:9px 13px}.page-intro h1{font-size:2.8rem}.mission-result h3{font-size:1.7rem}.lightbox-toolbar p{max-width:150px}.service-photo img{height:270px}.about-layout img{height:350px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal.awaiting{opacity:1;transform:none}}
h1,h2,h3,p,button{overflow-wrap:break-word}.section>*,.form-grid>*,.footer-top>*,.service-grid>*{min-width:0}
/* Purposeful motion and service-specific visual proof. */
.hero-motion{position:absolute;top:22px;right:5vw;z-index:2;background:#071923c9;border:1px solid #9bb8cb;color:#e3f2fc;font-size:.68rem;letter-spacing:.05em;padding:9px 14px;min-height:44px;border-radius:3px}.hero-content>.eyebrow{animation:rise-in .7s both}.hero h1{animation:rise-in .9s .12s both}.hero-description{animation:rise-in .9s .25s both}.hero-actions{animation:rise-in .9s .38s both}.hero-media img{animation:drift 20s ease-in-out infinite alternate}.hero-modes button{position:relative;transition:color .3s}.hero-modes button:after{content:'';position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:#a5e6ff;transform:scaleX(0);transform-origin:left;transition:transform .4s}.hero-modes button[aria-pressed=true]:after{transform:scaleX(1)}.site-header nav>a:not(.button){position:relative}.site-header nav>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav>a:hover:after{transform:scaleX(1)}.button span,.text-link span{transition:transform .3s}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}.service-card{transition:transform .45s,box-shadow .45s,border-color .45s}.service-card:hover{transform:translateY(-7px);border-color:#2183b5;box-shadow:0 18px 35px -25px #14374f77}.service-copy{padding-inline:12px}.service-visual:after{content:'';position:absolute;inset:9px;border:1px solid #b5e7ff00;pointer-events:none;transition:border-color .4s,inset .4s}.service-card:hover .service-visual:after{inset:14px;border-color:#b5e7ff90}.service-card .service-number{z-index:2}.mission-art{position:relative;background:#091f2d;width:100%;height:100%;overflow:hidden}.mission-art svg{display:block;width:100%;height:100%;min-height:230px;object-fit:contain}.art-label{position:absolute;top:13px;left:17px;font-size:.53rem;color:#c6e7f7;letter-spacing:.12em}.service-photo .mission-art{height:440px}.service-photo .mission-art svg{min-height:0}.mission-art .draw-route{animation:route-flow 14s linear infinite;animation-play-state:paused}.mission-art .plan-beacon{transform-box:fill-box;transform-origin:center;animation:beacon 4s ease-in-out infinite;animation-play-state:paused}.fx-active .draw-route,.fx-active .plan-beacon{animation-play-state:running}.thermal-trace{position:absolute;left:14px;right:14px;top:14px;height:1px;background:#b2e9ff;box-shadow:0 0 13px #98daff;pointer-events:none;animation:frame-trace 7s ease-in-out infinite;animation-play-state:paused}.fx-active .thermal-trace{animation-play-state:running}.thermal-border{transition:border-color .5s}.thermal-visual:hover .thermal-border{border-color:#c1efffcc}.thermal-tabs button{transition:color .3s,border-color .3s}.mission-result.switching,.thermal-description.switching{animation:panel-in .45s both}.enlarge{transition:background .3s,color .3s,transform .3s}.gallery-open:hover .enlarge{background:#0871d1;color:#fff;transform:rotate(45deg)}.gallery figure:nth-child(3n+2),.service-card:nth-child(3n+2){transition-delay:70ms}.gallery figure:nth-child(3n+3),.service-card:nth-child(3n+3){transition-delay:140ms}.process-grid li{position:relative}.process-grid li:before{content:'';position:absolute;left:0;top:-1px;width:0;height:2px;background:#1687cd;transition:width 1.2s ease}.process-grid li.visible:before{width:100%}.process-grid li:nth-child(2):before{transition-delay:.2s}.process-grid li:nth-child(3):before{transition-delay:.4s}.project-cta:after{content:'';position:absolute;width:400px;height:400px;border:1px dashed #ffffff25;border-radius:50%;right:35px;top:-95px;pointer-events:none;animation:orbit 45s linear infinite;animation-play-state:paused}.project-cta.fx-active:after{animation-play-state:running}.hero:not(.fx-active) .hero-media img{animation-play-state:paused}.reduced-motion .hero-motion{border-color:#b8d7e8}.reduced-motion .thermal-trace{display:none}.reduced-motion .process-grid li:before{width:100%}.reduced-motion .hero-media img{transform:none}.reduced-motion .service-card:hover,.reduced-motion .service-card:hover img,.reduced-motion .gallery-open:hover img,.reduced-motion .enlarge,.reduced-motion .button:hover{transform:none!important}@keyframes rise-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{from{opacity:.2;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes route-flow{to{stroke-dashoffset:-192}}@keyframes beacon{50%{opacity:.35;transform:scale(1.16)}}@keyframes frame-trace{0%,100%{top:14px;opacity:.4}50%{top:calc(100% - 14px);opacity:.9}}@keyframes orbit{to{transform:rotate(360deg)}}@media(max-width:800px){.hero-motion{top:15px;right:6vw}.hero-content{padding-top:95px}.service-photo .mission-art{height:350px}.mission-art svg{min-height:210px}.art-label{font-size:.5rem}.thermal-trace{left:9px;right:9px}}@media(prefers-reduced-motion:reduce){.thermal-trace{display:none}.hero-media img{transform:none}.service-card:hover,.gallery-open:hover img{transform:none!important}}
.thermal-visual [data-thermal-visual]>.mission-art{aspect-ratio:1}.thermal-visual [data-thermal-visual=animals]>img{object-fit:cover}.thermal-visual [data-thermal-visual]>.image-label{min-height:20px}.region-grid .image-label{margin:-12px 0 25px;font-size:.63rem}.mission-art .art-label{max-width:calc(100% - 30px)}

.credentials{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-block:32px;border-bottom:1px solid var(--line);background:#f2f7fa}.credentials>div{position:relative;padding-left:38px}.credential-mark{position:absolute;left:0;top:0;color:#2562ab;font-size:1.5rem}.credentials strong{display:block;font-size:.95rem;line-height:1.4}.credentials small{display:block;color:#4d6476;font-size:.75rem;margin-top:7px;line-height:1.5}#form-status details{margin-top:24px}#form-status textarea{width:100%;color:#142a3a;background:white;padding:16px;border:1px solid #8298a7}
@media(max-width:800px){.credentials{grid-template-columns:1fr;gap:24px;padding-block:30px}}

.service-card{display:flex;flex-direction:column}.service-copy{display:flex;flex-direction:column;flex:1}.service-copy .text-link{align-self:flex-start;margin-top:auto}.service-copy p{margin-bottom:25px}
/* A fuller visual archive, with purposeful motion and quiet conversion points. */
.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;z-index:1000;pointer-events:none;background:#0871d1;transform:scaleX(var(--read,0));transform-origin:left}.archive-section{background:#eaf1f5}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.story-card{background:#fff;border:1px solid #d2dfe7;border-radius:7px;overflow:hidden;box-shadow:0 12px 35px #0d2b3f08;transition:transform .4s,box-shadow .4s}.story-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px #0d2b3f15}.story-photo{display:block;position:relative;overflow:hidden}.story-photo img{width:100%;height:270px;transition:transform 1s cubic-bezier(.2,.6,.3,1)}.story-card:hover img{transform:scale(1.035)}.story-photo>span{position:absolute;bottom:16px;left:16px;right:16px;width:fit-content;max-width:calc(100% - 32px);padding:7px 10px;background:#091c2cee;color:#fff;font-size:.56rem;letter-spacing:.12em;line-height:1.5}.story-card>div{padding:28px}.story-card h3{font-size:1.75rem;line-height:1.13}.story-card h3 a{text-decoration:none}.story-card p{color:var(--muted);font-size:.95rem}.section-end{display:inline-block;margin-top:40px}.story-chapter{padding:35px 0 70px;border-top:1px solid var(--line)}.chapter-copy{display:grid;grid-template-columns:.65fr 1fr 1.2fr;gap:35px;padding-top:30px;align-items:start}.chapter-copy h2{font-size:2.4rem}.chapter-copy>p:last-child{color:var(--muted);font-size:1.05rem}.chapter-gallery{margin-top:20px}.gallery .archive-frame{margin:0}.archive-frame figcaption h3{font-size:1.1rem;margin:18px 0 10px;letter-spacing:-.025em}.archive-frame figcaption p{font-size:.85rem;color:var(--muted)}.archive-intro{max-width:800px;color:var(--muted);font-size:1.08rem;margin-bottom:40px}.archive-next{padding:35px 0 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:35px}.archive-next>p{max-width:700px;margin:0}.service-archive{background:#eff5f8}.evidence-gallery{gap:35px 25px}.video-section{background:#091d2b;color:#f3f8fc}.video-section .eyebrow{color:#a3d9f6}.video-section .text-link{color:#c1e6ff}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.video-section .video-grid{grid-template-columns:1fr}.video-card{min-width:0;border:1px solid #b5c9d6;border-radius:7px;overflow:hidden;background:#fff;color:var(--ink)}.video-card video{display:block;width:100%;height:auto;background:#071a25;aspect-ratio:16/9}.video-card>div{padding:28px}.video-card .eyebrow{font-size:.56rem;color:#235c78}.video-card h3{font-size:1.9rem}.video-card p:not(.eyebrow){color:var(--muted)}.video-section .video-card{display:grid;grid-template-columns:1.6fr 1fr;align-items:center;background:#0e2a3b;color:white;border-color:#315267}.video-section .video-card .eyebrow{color:#a3d9f6}.video-section .video-card p:not(.eyebrow){color:#cfdee8}.capture-options{background:#f3f7f9}.capture-options .detail-grid article{padding:30px;border:1px solid #cad8e2;background:white;border-radius:6px;display:flex;flex-direction:column}.capture-options .detail-grid article h3{font-size:1.85rem;margin-top:25px}.capture-options ul{padding-left:19px;color:#435d70;font-size:.9rem;margin-bottom:30px}.capture-options .button{margin-top:auto;gap:20px}.option-tag{font-size:.6rem;letter-spacing:.12em;font-weight:700;color:#225975;border-bottom:1px solid var(--line);padding-bottom:18px}.resource-promo{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;background:#e7f1f6}.resource-promo>div>p:not(.eyebrow){max-width:530px;color:var(--muted)}.resource-links a{display:block;padding:25px 0;border-bottom:1px solid #b5cbd8;text-decoration:none;font-size:1.18rem;font-weight:600;transition:padding-left .25s,color .25s}.resource-links a:hover{padding-left:10px;color:#085da8}.resource-links span{display:block;font-size:.6rem;letter-spacing:.12em;color:#335c72;margin-bottom:8px}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:35px}.section-head>p{max-width:370px;color:var(--muted)}.section-head h2{margin-bottom:0}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:start}.split img{width:100%;border-radius:7px;max-height:600px}.info-card h3{font-size:1.7rem}.resource-checklist{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0;list-style:none}.resource-checklist li{padding:22px;background:#eaf1f5;border:1px solid #c5d7e2;border-radius:5px}.resource-checklist label{display:flex;gap:16px;cursor:pointer}.resource-checklist input{accent-color:#0871d1;width:22px;height:22px;flex:none;margin:2px 0 0}.resource-checklist strong{display:block;font-size:1rem;margin-bottom:7px}.resource-checklist label>span>span{display:block;color:var(--muted);font-size:.9rem}.resource-next{background:#0e2a3b;color:#fff}.resource-next .eyebrow,.resource-next .fine{color:#b9d8e9}.resource-next .lead{max-width:800px}.resource-next>.button{margin-bottom:20px}.shot-select{margin-top:10px;min-height:44px;padding:10px 12px;background:#eaf3fa;color:#14547b;border:1px solid #b5cedf;border-radius:4px;font-size:.78rem;transition:background .25s,color .25s}.shot-select[aria-pressed=true]{background:#123d58;color:white}.shotlist-bar{position:sticky;bottom:15px;z-index:30;display:flex;gap:25px;align-items:center;justify-content:center;margin:35px auto 0;padding:16px 20px;background:#102b3eeF;color:white;border:1px solid #4a7690;box-shadow:0 10px 50px #071a2a30;border-radius:7px;backdrop-filter:blur(14px);max-width:900px}.shotlist-bar p{margin:0}.shotlist-clear{color:#e5f0f7;background:transparent;text-decoration:underline;min-height:44px}.deliverable-choices{border:1px solid #aebfcb;border-radius:5px;padding:18px;margin:5px 0 10px;display:flex;flex-wrap:wrap;gap:13px 22px}.deliverable-choices legend{font-size:.8rem;padding:0 7px}.deliverable-choices label{display:flex;align-items:center;gap:9px;font-size:.8rem}.deliverable-choices input{width:19px;height:19px;margin:0;accent-color:#0871d1}.form-grid fieldset.wide{grid-column:1/-1}.contact-layout #selected-views{padding:20px;background:#eaf2f7;border:1px solid #a8c7db;border-radius:5px;margin:25px 0}.contact-layout #selected-views h3{font-size:1.1rem}.contact-layout #selected-views p,.contact-layout #selected-views ul{font-size:.82rem}.paired-capture{display:grid;grid-template-columns:1fr 1fr;gap:20px}.paired-capture figure{margin:0}.paired-capture img{width:100%;aspect-ratio:1.3;object-fit:contain;background:#0c2231}.paired-capture figcaption{padding:15px 0;font-weight:600;font-size:.85rem}.pair-context{max-width:850px;color:var(--muted);font-size:.95rem;margin:20px 0 0}.mobile-project{display:none}.gallery figure .gallery-open{overflow:hidden}.portfolio-section .gallery{gap:45px 25px}.service-archive .gallery img{aspect-ratio:1.6;object-fit:cover}.site-header nav{gap:23px}.site-header nav>a:not(.button){font-size:.79rem}.archive-next .button{flex:none}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.resource-grid img{width:100%;aspect-ratio:1.6}.resource-grid article{border:1px solid var(--line);border-radius:6px;overflow:hidden;padding-bottom:25px}.resource-grid article>div{padding:25px}.resource-grid h2{font-size:2rem}.resource-grid .text-link{display:inline-block;margin-top:15px}
@media(max-width:1100px){.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story-photo img{height:250px}.chapter-copy{grid-template-columns:1fr 1.3fr}.chapter-copy .eyebrow{grid-column:1/-1;margin-bottom:0}.video-section .video-card{grid-template-columns:1fr}.site-header nav{gap:15px}.capture-options .detail-grid{gap:18px}.capture-options .detail-grid article{padding:24px}}
@media(max-width:800px){.story-grid,.video-grid,.resource-grid{grid-template-columns:1fr}.story-card{display:grid;grid-template-columns:1fr 1fr}.story-photo img{height:100%;min-height:250px}.story-card>div{padding:25px}.chapter-copy,.resource-promo,.split{grid-template-columns:1fr;gap:25px}.chapter-copy .eyebrow{grid-column:auto}.chapter-copy h2{font-size:2.2rem;margin-bottom:0}.section-head{display:block}.section-head>p{margin-top:22px}.resource-promo{gap:35px}.archive-next{display:block}.archive-next .button{margin-top:25px}.resource-checklist{grid-template-columns:1fr}.story-chapter{padding-bottom:35px}.video-card>div{padding:24px}.paired-capture{gap:14px}.shotlist-bar{bottom:75px;flex-wrap:wrap;gap:12px;padding:15px;justify-content:space-between}.shotlist-bar p{font-size:.85rem}.shotlist-bar .button{font-size:.78rem;min-height:44px}.shotlist-clear{font-size:.75rem}.mobile-project{display:block;position:fixed;bottom:12px;right:15px;z-index:25;background:#0866b9;color:white;padding:12px 18px;text-decoration:none;border:1px solid #b9ddf6;border-radius:5px;box-shadow:0 5px 25px #051d2c33;font-size:.83rem;font-weight:700;min-height:44px}footer{padding-bottom:90px}.service-archive .gallery img{aspect-ratio:1.5}.capture-options .detail-grid{gap:25px}.resource-grid h2{font-size:1.8rem}}
@media(max-width:480px){.story-card{display:block}.story-photo img{height:230px;min-height:0}.story-card>div{padding:24px}.paired-capture{grid-template-columns:1fr}.paired-capture img{max-height:350px}.story-grid{gap:25px}.chapter-gallery{gap:25px}.resource-checklist li{padding:18px}.shotlist-bar .button{padding:10px 12px}.shotlist-bar p{width:100%}.deliverable-choices{display:grid;grid-template-columns:1fr}.resource-links a{font-size:1.05rem}.capture-options .detail-grid article h3{font-size:1.6rem}}
@media print{.site-header,footer,.mobile-project,.reading-progress,.review-bar,.skip,.resource-next,.project-cta,.button,.shotlist-bar{display:none!important}body{background:white!important;color:#111!important;font-size:11pt}.section{padding:20px 0!important}.page-intro h1{font-size:30pt}.section h2{font-size:22pt}.detail-grid,.resource-checklist{display:block}.resource-checklist li,.info-card{break-inside:avoid;margin-bottom:12px;background:white!important;border:1px solid #888}.reveal.awaiting{opacity:1;transform:none}.split{display:block}.split img{max-height:180px;object-fit:contain}.resource-checklist input{appearance:auto}a{color:#111!important}.resource-checklist label>span>span,.fine{color:#333!important}}

/* Resource library: editorial depth, diagrams and accessible exploration. */
.nav-group{position:relative}.nav-group summary{display:flex;align-items:center;gap:7px;list-style:none;font-size:.82rem;font-weight:700;padding:14px 0}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary>span{font-size:.8rem;transition:transform .2s}.nav-group[open] summary>span{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:100%;left:-24px;width:300px;padding:12px;background:#fff;border:1px solid var(--line);box-shadow:0 22px 50px #07192324;border-radius:6px}.nav-dropdown a{display:block;text-decoration:none;padding:14px 16px;border-radius:3px}.nav-dropdown a:hover{background:var(--ice)}.nav-dropdown strong{display:block;font-size:.9rem}.nav-dropdown small{display:block;color:var(--muted);font-size:.75rem;line-height:1.5;margin-top:5px}.library-intro{background:linear-gradient(135deg,#eff6fa,#fbfdfe);border-bottom:1px solid var(--line);padding-block:100px 80px}.library-intro h1{max-width:1150px}.library-intro>p:last-child{font-size:1.2rem;max-width:780px;color:var(--muted)}.path-grid,.home-library-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid var(--line)}.path-grid>a,.home-library-links>a{padding:38px;text-decoration:none;position:relative;overflow:hidden;background:#fff;transition:background .3s}.path-grid>a+a,.home-library-links>a+a{border-left:1px solid var(--line)}.path-grid>a:hover,.home-library-links>a:hover{background:#e8f3fa}.path-grid span,.home-library-links>a>span:first-child{font-size:.65rem;letter-spacing:.14em;font-weight:700;color:#32647f}.path-grid h2{font-size:2rem;margin-top:25px}.path-grid p,.home-library-links p{color:var(--muted);max-width:330px}.path-grid>a>span:last-child,.home-library-links>a>span:last-child{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);width:40px;height:40px;border-radius:50%;font-size:1.4rem;transition:transform .3s}.path-grid>a:hover>span:last-child,.home-library-links>a:hover>span:last-child{transform:rotate(45deg)}.home-library-links h3{margin-top:24px;font-size:2rem}.library-home{background:#eaf2f7}.library-tools{display:grid;grid-template-columns:2fr 1fr auto;gap:24px;align-items:end;margin-bottom:40px}.library-tools label,.glossary-search{font-size:.78rem;font-weight:700;letter-spacing:.03em;display:block}.library-tools input,.library-tools select,.glossary-search input{display:block;width:100%;margin-top:9px;padding:14px;border:1px solid #9db6c6;border-radius:3px;min-height:52px;background:#fff;color:var(--ink);font-size:.95rem}.library-tools>p{font-size:.8rem;color:var(--muted);margin-bottom:17px}.learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}.learn-card{background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.learn-card[hidden]{display:none}.learn-card-visual{display:block;overflow:hidden;aspect-ratio:1.6;background:#0c2536}.learn-card-visual img{width:100%;height:100%;transition:transform .7s}.learn-card:hover .learn-card-visual img{transform:scale(1.06)}.learn-card>div:last-child{padding:28px;display:flex;flex-direction:column;flex:1}.learn-card h3{font-size:1.65rem;line-height:1.17}.learn-card h3 a{text-decoration:none}.learn-card h3 a:hover{text-decoration:underline}.learn-card>div>p:not(.micro){color:var(--muted);font-size:.95rem}.learn-card .text-link{margin-top:auto;align-self:start}.learn-card .micro{color:#38647a}.topic-glyph{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;font-size:5.2rem;color:#a0dcfa;background:radial-gradient(ellipse at 50% 100%,#214c62,transparent),repeating-linear-gradient(90deg,transparent 0 39px,#24485d55 40px),repeating-linear-gradient(0deg,transparent 0 39px,#24485d55 40px)}.topic-glyph span{font-size:.64rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.learning-footnote{background:#eaf2f7}.learning-footnote p{font-size:1.1rem;max-width:800px;color:var(--muted)}.learning-footnote .text-link{margin-right:30px;margin-top:16px}.editorial-hero{padding-block:35px 65px;background:linear-gradient(130deg,#f3f8fb,#e8f1f6)}.breadcrumbs{display:flex;align-items:center;gap:12px;font-size:.76rem;color:#3c5c70;margin-bottom:55px;flex-wrap:wrap}.editorial-title{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center}.editorial-title h1{font-size:clamp(2.6rem,4.9vw,5.2rem);max-width:850px}.editorial-dek{font-size:1.15rem;line-height:1.75;color:#3e5e72;max-width:680px}.article-meta{font-size:.58rem;letter-spacing:.1em;font-weight:700;color:#4a6778;margin-top:32px}.article-meta>span{padding-inline:8px}.article-hero-photo,.sensor-figure{margin:0}.article-hero-photo img{width:100%;height:auto;aspect-ratio:1.3;object-fit:cover;border-radius:4px}.article-hero-photo figcaption,.sensor-figure figcaption,.article-inline-photo figcaption{font-size:.72rem;color:#516a7c;line-height:1.65;margin-top:13px}.sensor-stage{position:relative;border-radius:5px;overflow:hidden;background:#0b2232}.sensor-stage svg{display:block;width:100%}.sensor-chip{position:absolute;top:22px;left:22px;color:#b4d9eb;font-size:.57rem;letter-spacing:.14em;border:1px solid #5e91ac55;background:#0a2232cc;padding:6px 10px}.takeaways{background:#102b3d;color:#dcecf6;padding-block:45px}.takeaways>.eyebrow{color:#9bcde9}.takeaways>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.takeaways p{margin:0;font-size:.95rem;line-height:1.8;padding-left:39px;position:relative}.takeaways p>span{position:absolute;left:0;top:0;font-size:.65rem;letter-spacing:.1em;color:#91d2f4}.editorial-layout{display:grid;grid-template-columns:240px minmax(0,800px);gap:7vw;justify-content:center;align-items:start;padding-block:80px}.article-toc{position:sticky;top:120px;border-top:2px solid #2c6688;padding-top:22px;font-size:.83rem}.article-toc .eyebrow{margin-bottom:18px}.article-toc ol{padding-left:19px;line-height:1.6}.article-toc li{padding:0 0 13px 4px}.article-toc a{color:#476176;text-decoration:none}.article-toc a:hover,.article-toc a[aria-current=true]{color:#075e9d;text-decoration:underline}.article-toc>a{display:block;margin-top:25px;font-size:.76rem}.article-section{padding-bottom:42px;margin-bottom:45px;border-bottom:1px solid #d3dfe6;scroll-margin-top:125px}.article-section h2{font-size:clamp(1.9rem,2.7vw,2.65rem);line-height:1.15;letter-spacing:-.035em}.article-section>p:not(.micro):not(.section-citations){font-size:1.06rem;line-height:1.95;color:#304b5e}.article-section .micro{color:#53788f}.article-bullets{padding:24px 25px 24px 43px;background:#eef5f9;border-left:3px solid #3698ce;font-size:1rem;color:#334f64}.article-bullets li{padding:5px 0 5px 4px}.section-citations{font-size:.72rem;line-height:1.9;color:#4b697d;margin-top:28px}.section-citations a{overflow-wrap:anywhere}.article-inline-photo{margin:36px 0 0}.article-inline-photo img{width:100%;height:auto;border-radius:4px}.article-sources{padding:30px;background:#edf4f8;scroll-margin-top:125px}.article-sources h2{font-size:2rem}.article-sources>p{font-size:.92rem;color:#4b6678}.article-sources ol{padding-left:22px}.article-sources li{margin-bottom:22px;font-size:.88rem;line-height:1.6;overflow-wrap:anywhere}.article-sources li>span{display:block;font-size:.68rem;color:var(--muted);margin-top:5px}.article-next{display:grid;grid-template-columns:1.4fr 1fr;gap:10vw;background:#102d40;color:#f1f8fc}.article-next .eyebrow{color:#9cdaff}.article-next h2{font-size:clamp(2rem,3.2vw,3.5rem)}.article-next p{color:#c7dce9;max-width:650px}.article-next>div:last-child{padding-top:45px}.article-next .text-link{display:flex;margin-bottom:20px;font-size:.9rem;line-height:1.7;justify-content:space-between;color:#c8e5f6}.article-next h3{font-size:1.2rem;margin-bottom:25px}.fleet-intro{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.fleet-intro p{max-width:600px;color:var(--muted)}.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-scope{background:#eaf2f7}.fleet-scope p{max-width:790px;font-size:1.1rem;color:var(--muted)}.workflow-strip{padding-block:50px;background:#102b3d;color:#e2f1f9}.workflow-strip ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;list-style:none;gap:32px;margin:0}.workflow-strip li{position:relative;border-top:1px solid #48748f;padding-top:22px}.workflow-strip li>span{font-size:.65rem;color:#93d2f6;letter-spacing:.1em}.workflow-strip h2{font-size:1.6rem;margin-top:16px;margin-bottom:14px}.workflow-strip p{font-size:.86rem;line-height:1.7;color:#bad1df;margin-bottom:0}.model-lab{background:#e5eff5}.model-lab-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:5vw;align-items:center}.model-stage{background:#0b2434;border-radius:5px;overflow:hidden;position:relative}.model-stage svg{display:block;width:100%}.diagram-label{position:absolute;bottom:15px;left:22px;color:#b6d6e7;font-size:.56rem;letter-spacing:.12em;margin:0;background:#0b2434c9;padding:5px 7px}.model-layer{opacity:0;transition:opacity .7s}.model-base{opacity:.4;transition:opacity .7s}.model-stage[data-model-stage=photos] .model-photos,.model-stage[data-model-stage=points] .model-points,.model-stage[data-model-stage=mesh] .model-mesh,.model-stage[data-model-stage=texture] .model-texture{opacity:1}.model-stage[data-model-stage=texture] .model-base{opacity:0}.model-stage[data-model-stage=points] .model-base{opacity:.15}.lab-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:30px}.lab-controls button{padding:13px 15px;background:#f8fbfd;border:1px solid #b9ccd8;border-radius:4px;text-align:left;font-size:.8rem;color:#25465e;font-weight:700;transition:background .2s,color .2s}.lab-controls button[aria-pressed=true]{background:#0e659f;border-color:#0e659f;color:#fff}.lab-explanation h3{font-size:2rem;line-height:1.15}.lab-explanation p{color:#405f74}.lab-explanation .eyebrow{font-size:.65rem}.lab-controls button:hover{box-shadow:0 3px 10px #23486018}.glossary-search{max-width:700px;margin-bottom:25px}.glossary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:35px}.glossary-grid>div{background:#fff;padding:30px}.glossary-grid>div[hidden]{display:none}.glossary-grid dt{font-size:1.7rem;font-weight:700;letter-spacing:-.04em;line-height:1.2;margin-bottom:20px}.glossary-grid dd{margin:0}.glossary-grid p{font-size:.92rem;color:var(--muted)}.glossary-grid .text-link{font-size:.8rem}.capture-story-preview{display:grid;grid-template-columns:1fr 1.2fr;gap:6vw;background:#eaf2f7;align-items:center}.capture-story-preview>div>p{max-width:550px;color:var(--muted)}.capture-story-preview>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:20px}.capture-story-preview figure{margin:0}.capture-story-preview img{width:100%;aspect-ratio:.85;border-radius:4px}.capture-story-preview figure:nth-child(2){margin-top:60px}.capture-story-preview figcaption{font-size:.74rem;margin-top:15px;color:var(--muted)}.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}.archive-frame{margin:0}.archive-frame img{width:100%;height:auto;aspect-ratio:1.5;border-radius:4px}.archive-frame figcaption{padding:22px 8px}.archive-frame h2{font-size:1.6rem;line-height:1.2}.archive-frame figcaption p:not(.micro){color:var(--muted);font-size:.95rem}.video-chapters{display:flex;flex-wrap:wrap;gap:8px;margin-block:22px}.video-chapters button{font-size:.72rem;padding:9px 12px;border:1px solid #acbeca;border-radius:4px;background:#eef5f9;color:#244a61;text-align:left}.video-chapters button span{color:#587586;margin-left:8px}.video-chapters button[aria-pressed=true]{background:#0d6199;color:#fff}.video-chapters button[aria-pressed=true] span{color:#dbf1fe}.chapter-status{font-size:.74rem;color:var(--muted);margin-top:12px}.media-field-notes{background:#eaf2f7}.media-field-notes .detail-grid{padding:0}.media-field-notes h3{font-size:1.7rem}.media-field-notes .detail-grid p{font-size:1rem;color:var(--muted)}
@media(min-width:1450px){.editorial-layout{gap:110px}.learn-card>div:last-child{padding:35px}}
@media(max-width:1120px){.site-header nav{gap:17px}.brand{font-size:1rem}.brand img{width:58px}.brand small{font-size:.41rem}.site-header .button{font-size:.72rem;padding:10px 13px;gap:15px}.site-header nav>a,.nav-group summary{font-size:.75rem}.learn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-title{gap:4vw;grid-template-columns:1.1fr 1fr}.editorial-layout{grid-template-columns:200px minmax(0,1fr);gap:6vw}.path-grid>a,.home-library-links>a{padding:27px}.path-grid h2,.home-library-links h3{font-size:1.65rem}.glossary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.site-header .menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100svh - 85px);overflow:auto;flex-direction:column;align-items:stretch;padding:20px 5vw 35px;background:#fff;border-bottom:1px solid var(--line);gap:0}.site-header nav.open{display:flex}.site-header nav>a,.nav-group summary{font-size:.94rem;padding:15px 0}.site-header nav>.button{margin-top:15px;padding:15px 20px;align-self:start;min-width:190px}.nav-group{border-bottom:1px solid #e2ebf0}.nav-group summary{justify-content:space-between}.nav-dropdown{position:static;width:auto;box-shadow:none;border:0;border-radius:0;background:#f2f7fa;padding:4px 10px 10px}.nav-dropdown strong{font-size:.88rem}.editorial-title{grid-template-columns:1fr}.editorial-title h1{max-width:800px;font-size:clamp(2.6rem,7vw,4.6rem)}.article-hero-photo img{aspect-ratio:1.7}.sensor-figure{max-width:690px}.editorial-layout{grid-template-columns:1fr}.article-toc{position:static;border:1px solid var(--line);padding:25px}.article-toc ol{columns:2;column-gap:35px;margin-bottom:0}.article-toc li{break-inside:avoid}.article-toc>a{margin-top:15px}.article-section{scroll-margin-top:100px}.editorial-body{max-width:800px}.model-lab-layout{grid-template-columns:1fr;gap:35px}.lab-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.fleet-intro{grid-template-columns:1fr;gap:40px}.workflow-strip ol{gap:18px}.workflow-strip h2{font-size:1.25rem}.workflow-strip p{font-size:.78rem}.article-next{gap:6vw}.library-tools{grid-template-columns:1.5fr 1fr}.library-tools>p{grid-column:1/-1;margin:0}.capture-story-preview{grid-template-columns:1fr;gap:40px}}
@media(max-width:600px){.library-intro{padding-block:70px 55px}.library-intro>p:last-child{font-size:1.05rem}.path-grid,.home-library-links{grid-template-columns:1fr}.path-grid>a+a,.home-library-links>a+a{border-left:0;border-top:1px solid var(--line)}.path-grid>a,.home-library-links>a{padding:28px}.path-grid h2,.home-library-links h3{font-size:1.9rem;margin-block:18px}.path-grid p,.home-library-links p{max-width:none}.path-grid>a>span:last-child,.home-library-links>a>span:last-child{position:absolute;right:25px;top:65px}.learn-grid,.fleet-grid{grid-template-columns:1fr;gap:25px}.learn-card h3{font-size:1.6rem}.learn-card>div:last-child{padding:25px}.learn-card-visual{aspect-ratio:1.8}.library-tools{grid-template-columns:1fr;gap:20px}.library-tools>p{margin-top:2px}.breadcrumbs{margin-bottom:32px;font-size:.7rem}.editorial-hero{padding-top:25px}.editorial-title h1{font-size:2.7rem;letter-spacing:-.04em}.editorial-dek{font-size:1.05rem}.article-meta{font-size:.54rem;line-height:2}.article-meta>span{padding-inline:3px}.article-hero-photo img{aspect-ratio:1.4}.takeaways>div{grid-template-columns:1fr;gap:22px}.takeaways p{font-size:.91rem}.takeaways{padding-block:35px}.editorial-layout{padding-block:45px;gap:42px}.article-toc ol{columns:1}.article-section{margin-bottom:35px;padding-bottom:30px}.article-section h2{font-size:1.9rem}.article-section>p:not(.micro):not(.section-citations){font-size:1rem;line-height:1.9}.article-sources{padding:23px}.article-sources h2{font-size:1.75rem}.article-next{grid-template-columns:1fr;gap:20px}.article-next>div:last-child{padding-top:25px}.model-lab .section-heading>p{max-width:none}.lab-controls{grid-template-columns:1fr 1fr}.lab-explanation h3{font-size:1.75rem}.diagram-label{font-size:.45rem;left:10px;bottom:10px}.workflow-strip ol{grid-template-columns:1fr;gap:24px}.workflow-strip li{display:grid;grid-template-columns:26px 85px 1fr;gap:15px;align-items:start;padding-top:20px}.workflow-strip h2{font-size:1.1rem;margin:0}.workflow-strip p{font-size:.82rem}.glossary-grid{grid-template-columns:1fr}.glossary-grid>div{padding:27px}.archive-grid{grid-template-columns:1fr;gap:25px}.capture-story-preview>div:last-child{gap:13px}.capture-story-preview figure:nth-child(2){margin-top:35px}.capture-story-preview figcaption{font-size:.68rem}.sensor-chip{font-size:.45rem;top:12px;left:12px}.learning-footnote .text-link{display:flex;margin-right:0;width:fit-content;max-width:100%}.section-citations{font-size:.68rem}}
.reduced-motion .model-layer,.reduced-motion .model-base,.reduced-motion .learn-card-visual img,.reduced-motion .path-grid>a>span,.reduced-motion .home-library-links>a>span{transition:none}.reduced-motion .learn-card:hover .learn-card-visual img{transform:none}
@media(prefers-reduced-motion:reduce){.model-layer,.model-base,.learn-card-visual img,.path-grid>a>span,.home-library-links>a>span{transition:none}.learn-card:hover .learn-card-visual img{transform:none}}
@media print{.article-toc,.lab-controls,.library-tools,.glossary-search,.video-chapters{display:none!important}.editorial-title,.editorial-layout,.article-next{display:block}.article-section{break-inside:avoid}.section-citations,.article-sources{font-size:10pt}.takeaways{color:#000;background:#fff}.takeaways .eyebrow{color:#000}.learn-grid{display:block}.learn-card{break-inside:avoid;margin-bottom:20px}.learn-card-visual{max-width:300px}.model-lab{display:none}}
.equipment-archive{background:#edf4f8}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.equipment-grid figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden}.equipment-grid img{width:100%;aspect-ratio:1.2;object-fit:cover}.equipment-grid figure:last-child img{object-position:center 45%}.equipment-grid figcaption{padding:25px}.equipment-grid h3{font-size:1.4rem;line-height:1.2}.equipment-grid p{font-size:.9rem;color:var(--muted);margin-bottom:0}.fleet-comparison{background:#fff}.table-scroll{overflow-x:auto;max-width:100%;border:1px solid var(--line);border-radius:4px}.fleet-comparison table{border-collapse:collapse;width:100%;min-width:620px;text-align:left}.fleet-comparison caption{text-align:left;padding:20px 25px;background:#102d40;color:#ddecf5;font-size:.75rem;letter-spacing:.1em;font-weight:700}.fleet-comparison th,.fleet-comparison td{padding:22px 25px;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92rem;line-height:1.7}.fleet-comparison thead th{font-size:.8rem;background:#edf4f8}.fleet-comparison th[scope=row]{width:25%;color:#244d66;font-size:.83rem}.fleet-comparison tbody tr:last-child th,.fleet-comparison tbody tr:last-child td{border-bottom:0}.service-learning{background:#eaf2f7}.service-learning h2{font-size:clamp(2rem,3.2vw,3rem)}.service-learning>div{display:flex;gap:28px;flex-wrap:wrap}.service-learning .text-link{line-height:1.7}.story-deeper .video-grid{margin-top:45px}.sensor-cone{animation:sensor-breathe 6s ease-in-out infinite;animation-play-state:paused}.fx-active .sensor-cone{animation-play-state:running}@keyframes sensor-breathe{50%{opacity:.28}}.reduced-motion .sensor-cone{animation:none}@media(prefers-reduced-motion:reduce){.sensor-cone{animation:none}}@media(max-width:800px){.equipment-grid{grid-template-columns:1fr}.equipment-grid figure{display:grid;grid-template-columns:1fr 1fr}.equipment-grid img{height:100%;aspect-ratio:1}.fleet-comparison th,.fleet-comparison td{padding:17px;font-size:.83rem}.service-learning>div{flex-direction:column;align-items:start;gap:20px}}@media(max-width:500px){.equipment-grid figure{display:block}.equipment-grid img{height:auto;aspect-ratio:1.35}.equipment-grid figure:last-child img{aspect-ratio:1.1;object-fit:contain;background:#e3edf3}.equipment-grid figcaption{padding:22px}.service-learning .text-link{font-size:.85rem}}
.library-intro>div>p:last-child{font-size:1.2rem;max-width:780px;color:var(--muted)}.library-intro.with-cover{display:grid;grid-template-columns:1.2fr 1fr;gap:5vw;align-items:center;padding-block:75px}.library-intro.with-cover h1{font-size:clamp(2.8rem,4.8vw,5rem)}.library-intro.with-cover>div>p:last-child{font-size:1.05rem}.resource-cover{margin:0;min-width:0;position:relative}.resource-cover img{width:100%;height:auto;object-fit:cover;border-radius:4px}.resource-cover figcaption{font-size:.57rem;letter-spacing:.14em;font-weight:700;color:#4f7389;margin-top:15px}.learn-cover>div{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;transform:rotate(-2deg)}.learn-cover img{aspect-ratio:1.3;transition:transform .7s}.learn-cover img:nth-child(even){transform:translateY(22px)}.learn-cover:hover img:nth-child(odd){transform:translateY(-5px)}.learn-cover figcaption{margin-top:40px}.fleet-cover>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fleet-cover img{aspect-ratio:.65}.fleet-cover img:nth-child(2){margin-top:35px}.workflow-cover img{aspect-ratio:1.1}.resource-cover:after{content:'';position:absolute;inset:20px -10px 40px 10px;border:1px solid #5887a64d;border-radius:4px;pointer-events:none}.resource-cover figcaption{position:relative;z-index:1}.library-intro.with-cover .eyebrow{font-size:.62rem}@media(max-width:900px){.library-intro.with-cover{grid-template-columns:1.1fr 1fr;gap:30px}.library-intro.with-cover h1{font-size:2.9rem}.library-intro.with-cover>div>p:last-child{font-size:.95rem}.resource-cover figcaption{font-size:.48rem}}@media(max-width:650px){.library-intro.with-cover{grid-template-columns:1fr;gap:35px;padding-block:55px}.library-intro.with-cover h1{font-size:2.8rem}.resource-cover{max-width:100%}.learn-cover>div{transform:none}.learn-cover img{aspect-ratio:1.5}.fleet-cover img{aspect-ratio:1.1}.fleet-cover img:nth-child(2){margin-top:20px}.workflow-cover img{aspect-ratio:1.5}.resource-cover:after{inset:15px 0 40px 10px}.library-intro>div>p:last-child{font-size:1.05rem}}.reduced-motion .learn-cover img{transition:none}.reduced-motion .learn-cover:hover img:nth-child(odd){transform:none}@media(prefers-reduced-motion:reduce){.learn-cover img{transition:none}.learn-cover:hover img:nth-child(odd){transform:none}}

/* Purposeful color identifies the work; motion supports orientation and feedback. */
:root{--teal:#006c67;--violet:#5544a5;--copper:#964219;--gold:#75521b;--focus:#ab4210}
html.reduced-motion{scroll-behavior:auto}
[data-discipline]{--discipline:#17678e;--discipline-soft:#edf6fa}
[data-discipline="thermal"]{--discipline:var(--copper);--discipline-soft:#fff1e7}
[data-discipline="mapping"]{--discipline:var(--teal);--discipline-soft:#e8f8f3}
[data-discipline="creative"]{--discipline:var(--violet);--discipline-soft:#f0edff}
[data-discipline="flight"]{--discipline:var(--gold);--discipline-soft:#fff6df}
[data-discipline="data"]{--discipline:#17678e;--discipline-soft:#edf6fa}
.breadcrumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:18px max(5vw,24px);font-size:.78rem;color:var(--muted);background:#f7fafb;border-bottom:1px solid var(--line)}
.breadcrumbs a{color:var(--ink);text-underline-offset:4px}
.breadcrumbs span[aria-current]{overflow-wrap:anywhere}
#nav a[aria-current="page"],.nav-dropdown a[aria-current="page"]{color:#005ca5;text-decoration:underline;text-underline-offset:6px}
.visitor-paths{background:#f9fbfc;padding-top:65px;padding-bottom:70px}
.visitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.visitor-grid>a{position:relative;display:block;text-decoration:none;padding:30px;border:1px solid var(--line);border-top:4px solid var(--discipline);background:linear-gradient(140deg,#fff 35%,var(--discipline-soft));border-radius:8px;transition:transform .25s,box-shadow .25s;overflow:hidden}
.visitor-grid>a:hover{transform:translateY(-5px);box-shadow:0 16px 30px #10263712}
.path-index{font-weight:700;font-size:.72rem;letter-spacing:.13em;color:var(--discipline)}
.visitor-grid h3{font-size:1.7rem;margin:18px 0 12px;line-height:1.15}
.visitor-grid p{margin:0 0 25px;color:var(--muted)}
.path-action{font-weight:700;color:var(--discipline);display:block}
.capabilities-section{background:linear-gradient(180deg,#fff 65%,#eff6f8)}
.service-card{border-radius:8px;overflow:hidden;border:1px solid var(--line);border-bottom:4px solid var(--discipline)}
.service-copy{position:relative;background:linear-gradient(150deg,#fff 55%,var(--discipline-soft))}
.service-card h3 a{color:var(--ink)}
.service-card .text-link{color:var(--discipline)}
.service-number{background:#081923e8!important;color:#fff!important;border-left:4px solid var(--discipline)}
.learn-card{border-top:4px solid var(--discipline);border-radius:6px;background:linear-gradient(160deg,#fff 60%,var(--discipline-soft));overflow:hidden;transition:transform .25s,box-shadow .25s}
.learn-card:hover{transform:translateY(-4px);box-shadow:0 16px 26px #1026370d}
.learn-card .micro,.learn-card>.eyebrow,.learn-card .eyebrow{color:var(--discipline)}
.learn-card .guide-workflow-link{margin-top:14px;font-weight:700;font-size:.86rem;color:var(--discipline);display:block}
.editorial-hero{border-bottom:4px solid var(--discipline)}
.editorial-hero .eyebrow{color:var(--discipline)}
.article-next{background:linear-gradient(120deg,#0d2939,#122339 70%,#252b47)}
.article-next-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:24px}
.article-next-actions .text-link{display:inline-block;padding:12px 0}
.library-home{background:linear-gradient(140deg,#0d2939,#122339 70%,#252b47);color:white}
.library-home .eyebrow,.library-home .section-heading p{color:#c6d9e4}
.home-library-links>a{background:#ffffff0a;border-color:#ffffff3b;color:white;border-radius:6px;transition:background .25s,transform .25s}
.home-library-links>a:nth-child(1){border-top:3px solid #ffc46b}
.home-library-links>a:nth-child(2){border-top:3px solid #78ddca}
.home-library-links>a:nth-child(3){border-top:3px solid #c1b2ff}
.home-library-links>a:hover{background:#ffffff15;transform:translateY(-4px)}
.home-library-links>a p,.home-library-links>a span{color:#d6e3ec}
.library-quick-topics{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 28px}
.library-quick-topics>span{font-size:.8rem;font-weight:700;margin-right:6px}
.library-quick-topics button{font:inherit;font-size:.8rem;border:1px solid #b0c7d1;border-radius:30px;padding:9px 15px;background:#fff;color:var(--ink);cursor:pointer}
.library-quick-topics button:hover{background:#e4f3f2;border-color:var(--teal)}
.path-grid>article{padding:30px;border:1px solid var(--line);border-top:4px solid var(--discipline);border-radius:6px;background:var(--discipline-soft)}
.path-grid>article>span{font-size:.74rem;font-weight:700;letter-spacing:.08em;color:var(--discipline)}
.path-grid>article h2{font-size:1.65rem;margin:18px 0 10px}
.path-grid>article p{color:var(--muted)}
.path-grid>article ol{padding-left:20px;margin:20px 0 0}
.path-grid>article li{padding:6px 0}
.path-grid>article a{color:var(--discipline);font-weight:700;text-underline-offset:4px}
.project-finder{background:#f0f6f8;scroll-margin-top:95px}
.finder-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:30px;align-items:start}
.finder-options{display:grid;gap:8px}
.finder-options button{display:grid;grid-template-columns:25px 1fr 18px;gap:12px;align-items:center;text-align:left;width:100%;font:inherit;font-weight:700;padding:18px;border:1px solid #bdcdd5;border-radius:5px;background:white;color:var(--ink);cursor:pointer;transition:background .2s,transform .2s}
.finder-options button>span:first-child{font-size:.73rem;font-weight:400;color:#526576}
.finder-options button:hover{transform:translateX(3px);background:#e4eff3}
.finder-options button[aria-pressed="true"]{color:white;background:var(--ink);border-color:var(--ink)}
.finder-options button[aria-pressed="true"]>span:first-child{color:#c7dfeb}
.finder-result{position:relative;padding:38px;border:1px solid #bdcdd5;border-top:5px solid var(--discipline);border-radius:6px;background:linear-gradient(135deg,white 35%,var(--discipline-soft));overflow:hidden}
.finder-result>.eyebrow{color:var(--discipline);position:relative}
.finder-result h3{font-size:clamp(1.7rem,2.8vw,2.5rem);line-height:1.13;max-width:15em;margin:15px 0 20px;position:relative}
.finder-result h4{font-size:.85rem;margin:25px 0 8px}
.finder-result ul{padding-left:20px;margin:0 0 24px}
.finder-result li{padding:4px 0}
.finder-limit{padding:15px 18px;border-left:3px solid var(--discipline);background:#ffffffa8;font-size:.86rem;color:var(--muted)}
.finder-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:20px 0 25px;font-size:.85rem;font-weight:700}
.finder-links a{color:var(--discipline);text-underline-offset:4px}
.finder-result .button{background:var(--discipline);border-color:var(--discipline)}
.finder-result .fine{margin:18px 0 0}
.finder-signal{position:absolute;right:-60px;top:-50px;width:230px;height:230px;opacity:.12;pointer-events:none}
.finder-signal span{position:absolute;inset:0;border:1px solid var(--discipline);border-radius:50%}
.finder-signal span:nth-child(2){inset:25px}.finder-signal span:nth-child(3){inset:50px}.finder-signal span:nth-child(4){inset:75px}
.source-capture{background:#f0f6f8}.source-capture>div:first-child{max-width:650px;margin-bottom:30px}
.source-capture-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.source-capture-photos figure{margin:0}.source-capture-photos img{aspect-ratio:4/3;object-fit:cover;width:100%;border-radius:6px}.source-capture-photos figcaption{font-size:.8rem;padding:10px 0}
.service-lead[data-discipline] .deliverable-panel{background:var(--discipline-soft);border-top:4px solid var(--discipline)}
.service-lead[data-discipline] .deliverable-panel .button{background:var(--discipline);border-color:var(--discipline)}
.form-steps{display:flex;gap:10px;list-style:none;padding:0;margin:22px 0;font-size:.78rem;font-weight:700;flex-wrap:wrap}
.form-steps li{display:flex;gap:8px;align-items:center}
.form-steps li:not(:last-child)::after{content:'→';margin:0 5px;color:#526576}
.form-steps span{display:grid;place-items:center;width:24px;height:24px;background:var(--ink);color:white;border-radius:50%;flex-shrink:0}
.form-error-summary{background:#fff2ef;border:2px solid #a52f24;border-radius:4px;padding:18px;margin:20px 0;color:#7b211a}
.form-error-summary h3{font-size:1.05rem;margin:0 0 8px}.form-error-summary ul{margin:0;padding-left:20px}.form-error-summary a{color:#7b211a}
.field-error{font-size:.8rem;color:#8f261b;font-weight:700;margin:7px 0 0}
#inquiry [aria-invalid="true"]{border:2px solid #a52f24;background:#fff9f7}
.brief-ready{border-top:4px solid var(--teal);margin-top:30px;padding-top:25px}
.brief-ready h3{font-size:1.45rem;margin:0 0 12px}
.brief-next{padding:18px;background:#e5f2ed;border-left:3px solid var(--teal)}
.brief-recipient{font-size:.85rem;overflow-wrap:anywhere}
.brief-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.brief-actions .button{font-size:.85rem;padding:12px 16px}
.brief-actions button:not(.button){font:inherit;cursor:pointer}
.brief-field{display:block;font-weight:700;font-size:.85rem;margin-top:20px}
.brief-field textarea,#project-brief-text{display:block;width:100%;min-height:300px;font:400 .9rem/1.6 ui-monospace,monospace;background:#fff;border:1px solid #a6bbc7;border-radius:4px;padding:15px;margin-top:8px;resize:vertical}
.copy-feedback{font-size:.85rem;font-weight:700;color:var(--teal);margin:15px 0}.copy-feedback:empty{display:none}
.form-edit-note{padding:16px 18px;border-left:3px solid var(--gold);background:#fff6df;font-size:.86rem}
.contact-layout{align-items:start}.contact-layout>aside{position:sticky;top:110px}
.contact-checklist{background:linear-gradient(130deg,#e9f6f2,#eef2ff);border-left:4px solid var(--teal);border-radius:4px;padding:22px!important}
.contact-checklist h3{margin-top:0}
.hero .hero-description{max-width:44em}
.hero-actions .outline{background:#0b1d2c69}
section[id]{scroll-margin-top:100px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(min-width:1100px){.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-card h3{font-size:1.5rem}.service-copy{padding:24px}.service-copy p{font-size:.9rem}}
@media(max-width:900px){.visitor-grid{gap:12px}.visitor-grid>a{padding:23px}.visitor-grid h3{font-size:1.45rem}.finder-layout{gap:20px}.finder-result{padding:25px}}
@media(max-width:700px){.visitor-grid,.finder-layout{grid-template-columns:1fr}.visitor-grid>a{padding:24px}.visitor-grid p{margin-bottom:16px}.visitor-paths .section-heading{gap:20px}.finder-options{grid-template-columns:repeat(2,minmax(0,1fr))}.finder-options button{grid-template-columns:1fr;font-size:.8rem;gap:6px;padding:14px;min-height:88px}.finder-options button>span:last-child{display:none}.finder-result{padding:25px}.source-capture-photos{grid-template-columns:1fr}.contact-layout>aside{position:static}.form-steps{font-size:.72rem;gap:5px}.form-steps li:not(:last-child)::after{margin:0}.breadcrumbs{font-size:.72rem}.article-next-actions{align-items:stretch;flex-direction:column}.article-next-actions .button{text-align:center}.path-grid>article{padding:25px}}
@media(max-width:380px){.form-steps li:not(:last-child)::after{display:none}.form-steps{gap:10px}.brief-actions{flex-direction:column}.brief-actions .button{text-align:center;justify-content:center}.finder-result{padding:21px}.finder-options{gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.visitor-grid>a:hover,.learn-card:hover,.home-library-links>a:hover,.finder-options button:hover{transform:none}}
.reduced-motion .visitor-grid>a:hover,.reduced-motion .learn-card:hover,.reduced-motion .home-library-links>a:hover,.reduced-motion .finder-options button:hover{transform:none}
#nav .button[aria-current="page"]{color:#fff;text-decoration:none;box-shadow:inset 0 -3px #a7d7ff}
.video-chapters button span{color:#496474}
.video-chapters button[aria-pressed="true"] span{color:inherit}
.glossary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}
.glossary-grid dt{overflow-wrap:anywhere}
.footer-brand{overflow-wrap:anywhere;min-width:0}
#prepared-project-brief{display:block;width:100%;min-height:300px;font:400 .9rem/1.6 ui-monospace,monospace;background:#fff;border:1px solid #a6bbc7;border-radius:4px;padding:15px;margin-top:8px;resize:vertical}
.footer-top{grid-template-columns:1.15fr .9fr 1fr 1.2fr;gap:35px}
.footer-brand{gap:12px;flex-wrap:wrap;font-size:1.55rem}
@media(max-width:1000px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}}
@media(max-width:600px){.footer-top{grid-template-columns:1fr;gap:30px}}

/* Direct inquiry feedback stays readable while the request is in flight. */
#inquiry[aria-busy="true"] .form-grid{opacity:.72}
#inquiry button:disabled{cursor:default;transform:none}
#inquiry[aria-busy="true"] button[type="submit"]{background:#244c66;border-color:#244c66}
#form-status:not(:empty){border-left:3px solid #0871d1;padding:22px;background:#edf5fb;margin-top:24px;overflow-wrap:anywhere}
#form-status h3{font-size:1.3rem;margin-bottom:12px}
#form-status p:last-child{margin-bottom:0}
/* Actual 3D work: a lightweight local preview precedes each optional viewer. */
.model-proof-preview{display:grid;grid-template-columns:1fr 1.25fr;gap:4rem;align-items:center;background:linear-gradient(135deg,#122d42,#152136 60%,#28213c);border-block:1px solid #75d7eb33}
.model-proof-preview h2,.model-collection-intro h1{max-width:900px}.model-proof-preview p{max-width:540px}.model-preview-image{display:block;position:relative;overflow:hidden;border-radius:16px;border:1px solid #8bd9ef55;background:#f4f3ed;transition:transform .3s,border-color .3s}.model-preview-image:hover{transform:translateY(-5px);border-color:#94e5f5}.model-preview-image img{display:block;width:100%;height:auto}.model-preview-image span{display:block;padding:18px 24px;background:#0d263a;color:#c8f6ff;font-size:.7rem;letter-spacing:.12em}
.model-collection-intro{background:radial-gradient(ellipse at 80% 20%,#235b6044,transparent 60%),linear-gradient(130deg,#0b1e2e,#1d1a37);padding-bottom:3rem}.model-collection-intro h1 em{color:#8cdeeb;font-style:normal}.model-collection-intro>.fine{max-width:850px}.model-jump-links{display:flex;flex-wrap:wrap;gap:12px;margin:2rem 0}.model-jump-links a{padding:12px 18px;border:1px solid #82d5e755;border-radius:40px;color:#d5f7ff;font-size:.85rem}.model-jump-links a:hover{background:#376a7944}
.model-collection{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:1.5rem}.polycam-card{min-width:0;background:#102739;border:1px solid #78c5d638;border-radius:18px;overflow:hidden;scroll-margin-top:120px}.polycam-card.model-featured{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}.polycam-stage{position:relative;aspect-ratio:1100/620;background:#f3f2ed;overflow:hidden;min-width:0}.model-featured .polycam-stage{height:100%;aspect-ratio:auto;min-height:360px}.polycam-poster{display:block;width:100%;height:100%;object-fit:contain;background:#f3f2ed}.polycam-poster[hidden],.polycam-actions [hidden]{display:none!important}.model-stage-label{position:absolute;top:16px;left:16px;padding:7px 12px;background:#102739e8;color:#c4f4ff;font-size:.62rem;letter-spacing:.1em;border-radius:4px;pointer-events:none}.polycam-stage:has(iframe) .model-stage-label{display:none}.polycam-frame{display:block;width:100%;height:100%;border:0;min-height:300px}.polycam-copy{padding:2rem}.polycam-copy h2{font-size:clamp(1.7rem,2.2vw,2.7rem);line-height:1.1;margin-block:.8rem 1.2rem}.polycam-copy p{max-width:65ch}.polycam-copy .eyebrow{color:#9ce3f2;font-size:.66rem}.polycam-card:nth-child(2){border-color:#d58aa155}.polycam-card:nth-child(2) .eyebrow{color:#f0b3c8}.polycam-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1.5rem 0 1rem}.polycam-actions .button{font-size:.8rem;min-height:48px}.polycam-actions .button:disabled{opacity:.75;cursor:wait}.polycam-status{min-height:3em}.model-credit{font-size:.72rem;color:#9db8c8;padding-top:1rem;border-top:1px solid #7fc5d329}.model-credit a{color:#bbebf7}.model-use-cases .detail-grid{padding:0}.model-use-cases .detail-grid article{border-top:2px solid #80dfec}.model-use-cases .detail-grid article:nth-child(2){border-color:#c399ec}.model-use-cases .detail-grid article:nth-child(3){border-color:#e9bd80}.model-scope{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;background:#102638}.model-scope p{max-width:70ch}
@media(max-width:1000px){.model-proof-preview{gap:2rem}.polycam-card.model-featured{display:block}.model-featured .polycam-stage{height:auto;aspect-ratio:1100/620;min-height:0}.polycam-copy{padding:1.5rem}.model-scope{gap:2rem}}
@media(max-width:760px){.model-proof-preview,.model-scope,.model-collection{grid-template-columns:1fr}.model-proof-preview{gap:1.5rem}.model-collection{gap:1.5rem}.model-jump-links{gap:8px}.model-jump-links a{font-size:.76rem}.polycam-stage{aspect-ratio:1/1;min-height:300px}.model-featured .polycam-stage{aspect-ratio:1/1;min-height:300px}.polycam-copy{padding:1.4rem}.polycam-actions{gap:.8rem}.polycam-actions .button{width:100%;justify-content:space-between}.model-scope{gap:1rem}}
@media(prefers-reduced-motion:reduce){.model-preview-image{transition:none}.model-preview-image:hover{transform:none}}

.model-proof-preview,.model-collection-intro,.polycam-card,.model-scope{color:#e9f4fc}.model-proof-preview h2,.model-collection-intro h1,.polycam-card h2,.model-scope h2{color:#e9f4fc}.model-proof-preview p,.model-collection-intro p,.polycam-card p,.model-scope p{color:#c2d8e6}.model-proof-preview .fine,.model-collection-intro .fine,.polycam-card .fine{color:#b0cad9}.model-scope a{color:#b3eafa}.polycam-card .text-link{color:#c4efff}.model-credit{color:#afcad9!important}

/* The capture-to-record story uses real model stills and a readable process. */
.cr-preview{background:radial-gradient(ellipse at 90% 20%,#237d763d,transparent 65%),#102b3a;grid-template-columns:1.1fr 1fr;gap:4rem}
.cr-preview-copy h2{font-size:clamp(2.2rem,3.6vw,3.6rem)}
.cr-preview-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;position:relative}
.cr-preview-steps:before{content:'';position:absolute;left:13px;top:24px;bottom:24px;width:1px;background:linear-gradient(#82e1d8,#bba9f5,#edc18d)}
.cr-preview-steps li{display:grid;grid-template-columns:28px 1fr;gap:20px;position:relative;padding:13px 0}
.cr-preview-steps .micro{align-self:start;background:#102b3a;border:1px solid #8bdacd70;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-size:.55rem;color:#b2eee7}
.cr-preview-steps h3{font-size:1.08rem;margin:0 0 3px;color:#f0f9ff}
.cr-preview-steps p{font-size:.82rem;line-height:1.6;margin:0}
.cr-hero-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:center}
.cr-page-hero h1{font-size:clamp(2.8rem,4.8vw,5rem)}
.cr-page-hero .editorial-dek{font-size:1.12rem;line-height:1.8}
.cr-hero-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:28px}
.cr-hero-actions .text-link,.cr-hero-poster .text-link{color:#b3eafa;font-size:.83rem}
.cr-hero-poster{margin:0;min-width:0;border:1px solid #8bcae55c;border-radius:14px;overflow:hidden;background:#122e43;box-shadow:0 24px 75px #0003;transition:transform .4s,border-color .4s}
.cr-hero-poster:hover{transform:translateY(-4px);border-color:#9bdfeb}
.cr-hero-poster img{width:100%;height:auto;display:block}
.cr-hero-poster figcaption{padding:25px}.cr-hero-poster p{font-size:.85rem;line-height:1.7}
.cr-flow{list-style:none;padding:0;margin:35px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.cr-flow li{border-top:3px solid #43aeb5;background:#edf5f7;padding:23px 20px;border-radius:0 0 8px 8px;transition:transform .3s,background .3s;min-width:0}
.cr-flow li:nth-child(2){border-color:#638fcf}.cr-flow li:nth-child(3){border-color:#a17dca}.cr-flow li:nth-child(4){border-color:#c58f70}.cr-flow li:nth-child(5){border-color:#4b9e80}
.cr-flow li:hover{transform:translateY(-4px);background:#e3f1f4}
.cr-flow h3{font-size:1.15rem;line-height:1.35;margin:18px 0 14px}.cr-flow p{font-size:.87rem;line-height:1.8;margin:0;color:#425b6c}
.cr-value{background:linear-gradient(120deg,#edf6f5,#f4f0f9)}.cr-value .detail-grid{padding:0}.cr-value article{border-top:1px solid #8ab7bd;padding-top:24px}
.cr-value h3{font-size:1.45rem;line-height:1.3;margin:18px 0}.cr-value .micro{color:#466a7c}
.cr-thermal-grid{grid-template-columns:1fr 1fr;padding:0;gap:28px}.cr-thermal-grid article{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f6f6f2}
.cr-thermal-grid figure{margin:0}.cr-thermal-grid img{width:100%;height:auto;display:block}.cr-thermal-grid figcaption{padding:28px}.cr-thermal-grid h3{font-size:1.5rem;line-height:1.3}.cr-thermal-grid p{font-size:.95rem;line-height:1.8;margin-bottom:0}.cr-thermal-context>.fine{max-width:100ch;margin-top:25px}
.cr-delivery-scope h3{font-size:1.5rem;color:#e9f4fc}.cr-scope-list{padding-left:20px;color:#c2d8e6}.cr-scope-list li{padding:8px 0;line-height:1.8}
#record-workflow{scroll-margin-top:110px}
@media(max-width:1100px){.cr-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.cr-hero-layout{grid-template-columns:1fr 1fr;gap:2rem}.cr-preview{gap:2rem}}
@media(max-width:760px){.cr-preview,.cr-hero-layout,.cr-thermal-grid{grid-template-columns:1fr}.cr-hero-layout{gap:2.5rem}.cr-flow{grid-template-columns:1fr 1fr}.cr-hero-actions{align-items:start;flex-direction:column}.cr-page-hero h1{font-size:clamp(2.6rem,9vw,4.2rem)}.cr-preview-steps{margin-top:10px}.cr-thermal-grid figcaption{padding:23px}}
@media(max-width:480px){.cr-flow{grid-template-columns:1fr}.cr-flow li{padding:23px}.cr-hero-poster figcaption{padding:22px}.cr-hero-actions .button{font-size:.82rem;max-width:100%;text-align:left}.cr-flow h3{font-size:1.3rem;margin-top:15px}.cr-preview-steps li{gap:16px}}
.reduced-motion .cr-hero-poster,.reduced-motion .cr-flow li{transition:none}.reduced-motion .cr-hero-poster:hover,.reduced-motion .cr-flow li:hover{transform:none}
@media(prefers-reduced-motion:reduce){.cr-hero-poster,.cr-flow li{transition:none}.cr-hero-poster:hover,.cr-flow li:hover{transform:none}}

.cr-hero-poster .micro{color:#abd7e8}

.cr-resources{background:#fff}.cr-resource-grid{grid-template-columns:1fr;gap:0;padding:0}
.cr-resource-grid article{display:grid;grid-template-columns:150px minmax(150px,.8fr) minmax(0,1.6fr);gap:30px;align-items:start;border-top:1px solid #bed0da;padding:26px 0}
.cr-resource-grid article:last-child{border-bottom:1px solid #bed0da}
.cr-resource-grid .micro{color:#456779;line-height:1.8}.cr-resource-grid h3{font-size:1.35rem;line-height:1.35;margin:0}
.cr-resource-grid p{font-size:.95rem;line-height:1.85;margin:0}
.cr-detail-story{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem;align-items:center}
.cr-detail-copy p:not(.eyebrow){max-width:65ch;font-size:1.04rem;line-height:1.9;color:#425b6c}
.cr-detail-figure{min-width:0;margin:0;background:#fff;border:1px solid #b7cbd6;border-radius:12px;overflow:hidden}
.cr-detail-figure img{display:block;width:100%;height:auto}.cr-detail-figure figcaption{padding:24px}
.cr-detail-figure p{font-size:.86rem;line-height:1.75;color:#425b6c;margin-bottom:0}
.cr-thermal-grid{max-width:1320px;margin-inline:auto}.cr-thermal-grid img{aspect-ratio:5/4;object-fit:contain;background:#102638}
@media(max-width:1000px){.cr-resource-grid article{grid-template-columns:120px minmax(130px,.8fr) minmax(0,1.5fr);gap:20px}.cr-detail-story{gap:2rem}.cr-detail-copy p:not(.eyebrow){font-size:.98rem}}
@media(max-width:760px){.cr-resource-grid article{grid-template-columns:1fr;gap:12px;padding:25px 0}.cr-resource-grid h3{font-size:1.5rem}.cr-detail-story{grid-template-columns:1fr;gap:25px}.cr-detail-figure figcaption{padding:22px}}
.cr-toolchain{background:linear-gradient(125deg,#eaf5fa,#f1f2fb 58%,#fff1e9)}
.cr-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cr-tool-grid article{min-width:0;display:flex;flex-direction:column;background:#ffffffeb;border:1px solid #bdd0dd;border-top:4px solid #2d65bd;border-radius:12px;padding:28px}
.cr-tool-grid article:nth-child(2){border-top-color:#0a8583}.cr-tool-grid article:nth-child(3){border-top-color:#bc693f}
.cr-tool-grid h3{font-size:1.7rem;margin:20px 0 12px}.cr-tool-grid p{font-size:.95rem;line-height:1.85;color:#425b6c}
.cr-tool-grid details{margin:12px 0 25px;border-top:1px solid #d9e3eb;padding-top:18px}.cr-tool-grid summary{cursor:pointer;font-size:.9rem;font-weight:650;color:#244f82;line-height:1.7}
.cr-tool-grid details p{font-size:.88rem;margin-bottom:0}.cr-tool-grid .text-link{margin-top:auto;font-size:.87rem}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.cr-tool-grid article{transition:transform .3s,box-shadow .3s}.cr-tool-grid article:hover{transform:translateY(-5px);box-shadow:0 16px 36px #183d5812}}
.reduced-motion .cr-tool-grid article{transition:none}.reduced-motion .cr-tool-grid article:hover{transform:none}
@media(max-width:760px){.cr-tool-grid{grid-template-columns:1fr;gap:20px}.cr-tool-grid article{padding:26px}.cr-tool-grid h3{font-size:1.8rem}}

/* Actual service outputs: preserve model geometry and identify processed imagery. */
.service-proof{position:relative;width:100%;height:100%;background:#071e2d;overflow:hidden}
.service-proof-label{position:absolute;top:12px;left:12px;right:12px;z-index:2;color:#fff;font-size:.53rem;font-weight:700;letter-spacing:.09em;line-height:1.45;text-shadow:0 1px 3px #000;background:#071e2de8;padding:6px 8px;width:fit-content;max-width:calc(100% - 24px)}
.service-proof.model-proof{background:#f5f4ee}
.service-visual .service-proof.model-proof img{object-fit:contain;padding:20px 6px 24px}
.service-visual .service-proof.map-proof img{object-fit:cover}
.service-photo .service-proof{height:440px;display:flex;align-items:center;justify-content:center}
.service-photo .service-proof img{width:100%;height:100%;min-height:0;object-fit:contain}
.service-photo .map-proof img{max-width:650px;max-height:440px;padding:50px 24px}
@media(max-width:800px){.service-photo .service-proof{height:350px}.service-photo .map-proof img{max-height:350px}}

.service-visual .service-proof.search-proof img{object-fit:contain;background:#071e2d}
.service-copy .service-source-credit{font-size:.66rem;line-height:1.55;margin-top:-8px;margin-bottom:20px;color:#526576}
.service-source-credit a{text-decoration-thickness:1px;text-underline-offset:2px}
.service-photo .search-proof img{object-fit:contain}

/* Original thermography lessons: vivid teaching graphics with readable controls. */
.thermal-room-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:5vw;align-items:center;background:radial-gradient(ellipse at top right,#ffdfbb55,transparent 60%),#f8fbfc}
.thermal-room-hero h1{font-size:clamp(2.8rem,4.9vw,5.2rem)}
.thermal-room-hero figure,.thermal-concept-figure{margin:0;min-width:0}
.thermal-room-hero img{width:100%;aspect-ratio:1.2;border-radius:6px;box-shadow:22px 22px 0 #bf68351a}
.thermal-room-hero figcaption,.thermal-concept-figure figcaption{font-size:.76rem;color:var(--muted);margin-top:24px;line-height:1.7}
.thermal-foundation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;background:#102a3a;color:#edf7fa}
.thermal-foundation-grid article>span{font-size:.66rem;letter-spacing:.12em;color:#ffce96;font-weight:700}
.thermal-foundation-grid h2{font-size:1.8rem;margin-top:23px}
.thermal-foundation-grid p{color:#c4d6e0;margin-bottom:0}
.thermal-lesson-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.thermal-lesson-grid article{padding:35px;border:1px solid #e2c3ac;border-radius:6px;background:linear-gradient(140deg,#fff 45%,#fff2e8);border-bottom:4px solid #a4471f;transition:transform .25s,box-shadow .25s}
.thermal-lesson-grid article:hover{transform:translateY(-4px);box-shadow:0 18px 36px #1532470c}
.thermal-lesson-grid h3{font-size:1.85rem;margin-block:24px 20px;line-height:1.15}
.thermal-lesson-grid h3 a{text-decoration:none}
.thermal-lesson-grid h3 a:hover{text-decoration:underline}
.thermal-lesson-grid p{font-size:.96rem;color:var(--muted);margin-bottom:0}
.thermal-lesson-grid .micro{color:#94411c}
.thermal-learning-preview{display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;background:linear-gradient(115deg,#fff2e6,#f3f9fc)}
.thermal-learning-preview h2{font-size:clamp(2.2rem,3.4vw,3.7rem)}
.thermal-learning-preview>div>p:not(.eyebrow){color:var(--muted);max-width:670px}
.thermal-learning-preview ol{list-style:none;padding:0;margin:0;align-self:center;border-top:1px solid #d8b99e}
.thermal-learning-preview li{border-bottom:1px solid #d8b99e}
.thermal-learning-preview li a{display:flex;justify-content:space-between;gap:20px;padding:23px 0;text-decoration:none;font-size:1.1rem;font-weight:700}
.thermal-learning-preview li a:hover{color:#a03f19}
.thermal-learning-preview li span{color:#91421e;font-size:.75rem}
.thermal-scale-lab{background:#f0f5f8}
.thermal-span-controls{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 27px;border:0;padding:0}
.thermal-span-controls legend{font-size:.84rem;font-weight:700;margin-bottom:14px}
.thermal-span-controls label{display:flex;align-items:center;gap:12px;background:#fff;padding:16px 22px;border:1px solid var(--line);border-radius:4px;cursor:pointer}
.thermal-span-controls input{width:20px;height:20px;accent-color:#95401e;margin:0}
.thermal-span-controls label:has(input:checked){border-color:#99441e;box-shadow:inset 0 0 0 1px #99441e;background:#fff6ec}
.thermal-scale-stage{background:#102a3a;color:#e6f2f8;padding:35px;border-radius:6px}
.thermal-demo-label{display:flex;justify-content:space-between;gap:20px;font-size:.65rem;letter-spacing:.13em;font-weight:700;flex-wrap:wrap;margin-bottom:30px;color:#d2e4ed}
.thermal-swatches{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.thermal-swatch{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;transition:background .5s;border-radius:3px}
.thermal-swatch span{font-size:1.6rem;font-weight:700;line-height:1;color:#102637;background:#fffffff2;padding:10px;border-radius:3px}
.thermal-swatch small{font-size:.65rem;letter-spacing:.13em;font-weight:700;background:#102637e8;padding:5px 10px;color:#fff}
.swatch-0{background:#a9576b}.swatch-1{background:#be5e62}.swatch-2{background:#d4715b}.swatch-3{background:#e47f55}.swatch-4{background:#ef8d50}
.thermal-demo-legend{display:flex;align-items:center;gap:18px;margin-block:25px;font-size:.8rem}
.thermal-demo-legend>div{height:13px;flex:1;border:1px solid #a0b6c8;border-radius:2px;background:linear-gradient(90deg,#122553,#754392 25%,#be5e62 45%,#ef8d50 60%,#f5c36f 80%,#fff2bc)}
.thermal-scale-stage>p{max-width:850px;margin-bottom:0;color:#d2e4ed}
.thermal-scale-lab .span-tight{display:none}
.thermal-scale-lab:has(input[value=tight]:checked) .span-wide{display:none}
.thermal-scale-lab:has(input[value=tight]:checked) .span-tight{display:block}
.thermal-scale-lab:has(input[value=tight]:checked) .swatch-0{background:#122553}
.thermal-scale-lab:has(input[value=tight]:checked) .swatch-1{background:#754392}
.thermal-scale-lab:has(input[value=tight]:checked) .swatch-2{background:#d4715b}
.thermal-scale-lab:has(input[value=tight]:checked) .swatch-3{background:#f5b265}
.thermal-scale-lab:has(input[value=tight]:checked) .swatch-4{background:#fff2bc}
.thermal-application-room,.thermal-background{display:grid;grid-template-columns:1fr 1.15fr;gap:6vw;align-items:start}
.thermal-application-room h2,.thermal-background h2{font-size:clamp(2rem,3vw,3rem)}
.thermal-scenarios details,.thermal-faq details{border-top:1px solid var(--line);padding-block:24px}
.thermal-scenarios details:last-child,.thermal-faq details:last-child{border-bottom:1px solid var(--line)}
.thermal-scenarios summary,.thermal-faq summary{font-size:1.2rem;font-weight:700;line-height:1.4}
.thermal-scenarios details[open] summary,.thermal-faq details[open] summary{margin-bottom:24px;color:#8a3d1c}
.thermal-scenarios p,.thermal-faq p{font-size:.96rem;color:var(--muted);max-width:850px}
.thermal-scenarios strong{color:var(--ink)}
.thermal-scenarios p:last-child,.thermal-faq p:last-child{margin-bottom:0}
.thermal-reading-links{background:linear-gradient(125deg,#e3f3f1,#edf2fd)}
.thermal-reading-links>div>p:not(.eyebrow){max-width:760px;color:var(--muted)}
.thermal-background{background:#fff9f3}
.thermal-training-credit{padding:30px;background:#fff2e5;border:1px solid #e7c7aa;border-radius:5px;margin-block:30px}
.thermal-training-credit .eyebrow{color:#87421c}
.thermal-training-credit p{font-size:.91rem;color:#483c32;line-height:1.8}
.thermal-training-credit .fine{font-size:.76rem;margin-bottom:0}
.thermal-background .thermal-training-credit{margin:0}
.thermal-background .text-link{font-size:.88rem;display:flex;width:fit-content;max-width:100%;margin-top:22px}
.thermal-faq{max-width:1200px;margin-inline:auto}
.thermal-guide-nav{padding-block:15px}
.thermal-guide-nav .text-link{font-size:.88rem}
.thermal-concept-figure svg{width:100%;height:auto;display:block;border-radius:6px}
.thermal-energy-path{stroke-dasharray:9 10;animation:thermal-energy-flow 3s linear 2}
@keyframes thermal-energy-flow{to{stroke-dashoffset:-57}}
@media(max-width:950px){.thermal-room-hero{grid-template-columns:1fr;gap:45px}.thermal-room-hero figure{max-width:750px}.thermal-room-hero img{aspect-ratio:1.7}.thermal-learning-preview,.thermal-application-room,.thermal-background{grid-template-columns:1fr;gap:40px}.thermal-foundation-grid{gap:25px}.thermal-foundation-grid h2{font-size:1.55rem}.thermal-swatch{min-height:155px}}
@media(max-width:650px){.thermal-room-hero h1{font-size:2.8rem}.thermal-room-hero img{box-shadow:10px 10px 0 #bf68351a}.thermal-foundation-grid,.thermal-lesson-grid{grid-template-columns:1fr}.thermal-foundation-grid article+article{border-top:1px solid #3e5868;padding-top:25px}.thermal-foundation-grid h2{font-size:1.9rem}.thermal-lesson-grid article{padding:26px}.thermal-lesson-grid h3{font-size:1.7rem}.thermal-scale-stage{padding:20px 14px}.thermal-span-controls{display:grid}.thermal-span-controls label{padding:15px}.thermal-demo-label{font-size:.55rem}.thermal-swatches{gap:4px}.thermal-swatch{min-height:125px;gap:15px}.thermal-swatch span{font-size:1rem;padding:7px 4px}.thermal-swatch small{font-size:.5rem;letter-spacing:.03em;padding:4px}.thermal-demo-legend{gap:9px;font-size:.68rem}.thermal-scale-stage>p{font-size:.85rem}.thermal-training-credit{padding:23px}.thermal-learning-preview li a{font-size:1rem}.thermal-faq summary,.thermal-scenarios summary{font-size:1.1rem}}
.reduced-motion .thermal-energy-path{animation:none}.reduced-motion .thermal-swatch,.reduced-motion .thermal-lesson-grid article{transition:none}.reduced-motion .thermal-lesson-grid article:hover{transform:none}
@media(prefers-reduced-motion:reduce){.thermal-energy-path{animation:none}.thermal-swatch,.thermal-lesson-grid article{transition:none}.thermal-lesson-grid article:hover{transform:none}}
@media print{.thermal-room-hero,.thermal-foundation-grid,.thermal-lesson-grid,.thermal-application-room,.thermal-background{display:block}.thermal-span-controls{display:none}.thermal-scale-stage{print-color-adjust:exact;-webkit-print-color-adjust:exact}.thermal-lesson-grid article{break-inside:avoid;margin-bottom:20px}.thermal-scenarios details p{display:block!important}}
