/* ISPDOK 5.0 — high contrast editorial engineering interface.
   No external fonts, trackers or third-party JS. Respects reduced motion. */
@media screen {
:root{color-scheme:dark;--v5-black:#0b0d10;--v5-bg:#0e1116;--v5-panel:#171c23;--v5-panel2:#1c222b;--v5-line:rgba(220,230,240,.12);--v5-text:#f6f4ee;--v5-sub:#b6bec8;--v5-gold:#d2a478;--v5-gold-light:#efd0a8}
html{scroll-padding-top:95px}
body{font-family:"Inter","Segoe UI",system-ui,-apple-system,Arial,sans-serif;font-size:17px;line-height:1.65;letter-spacing:0;color:var(--v5-text);background:var(--v5-bg)}
.wrap{width:min(1440px,calc(100% - 96px))}
a,button{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--v5-gold);outline-offset:4px}
.staging-ribbon{padding:5px 14px;font:700 11px/1.45 "Segoe UI",Arial,sans-serif;letter-spacing:.09em;background:#dec28a;color:#282014;text-transform:uppercase}
.topline{background:#0b0d10;color:#a3adb9;font-size:12px;letter-spacing:.06em}
.topline-inner{min-height:30px}.topline a{color:#d0d5dd}
.site-header{background:rgba(12,14,19,.94);border-bottom:1px solid var(--v5-line);backdrop-filter:blur(22px)}
.header-inner{height:87px;gap:28px}
.brand{gap:13px;min-width:220px}
.brand-mark{width:52px;height:52px;background:#d2a478;border-radius:4px;position:relative;border:0;overflow:hidden;transform:rotate(0)}
.brand-mark img{display:none}
.brand-mark::before{content:"ID";font:850 22px/1 "Segoe UI",Arial,sans-serif;letter-spacing:-.11em;color:#121519;transform:translateX(-1px)}
.brand-mark::after{content:"";position:absolute;width:30px;height:1px;background:#121519;bottom:9px;right:-6px;transform:rotate(-46deg)}
.brand-text b{color:#f5f5f1;font:780 22px/1.1 "Segoe UI",system-ui,sans-serif;letter-spacing:.12em}
.brand-accent,.footer-logo span{color:#d6aa7d}
.brand-text small{color:#a3afbd;font-size:11px;letter-spacing:.035em;margin-top:6px;font-weight:500}
.desktop-nav{gap:30px}.desktop-nav a{font-size:15px;font-weight:550;letter-spacing:0;color:#d7dce2;position:relative;transition:color .2s}
.desktop-nav a:after{content:"";position:absolute;bottom:-10px;left:0;height:1px;width:0;background:var(--v5-gold);transition:width .25s}
.desktop-nav a:hover:after,.desktop-nav a[aria-current="page"]:after{width:100%}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:#e6b78c}
.btn{min-height:57px;border-radius:5px;padding:17px 29px;font:700 15px/1.25 "Segoe UI",system-ui,Arial,sans-serif;letter-spacing:0;gap:16px;transition:background .25s,transform .25s,border-color .25s,box-shadow .25s}
.btn:hover{transform:translateY(-3px)}
.btn-small{min-height:48px;padding:12px 20px;font-size:14px}
.btn-primary,.btn-light{background:var(--v5-gold);color:#151719;border:1px solid #deb68b;box-shadow:0 11px 26px rgba(195,141,93,.12)}
.btn-primary:hover,.btn-light:hover{background:#edc6a0;color:#101217;box-shadow:0 15px 38px rgba(195,141,93,.22)}
.btn-outline-light{background:rgba(255,255,255,.015);border:1px solid rgba(243,243,243,.22);color:#f5f6f7}
.btn-outline-light:hover{border-color:rgba(251,241,231,.57);background:rgba(255,255,255,.08)}
.menu-toggle{height:50px;width:52px;background:#1b212a;border:1px solid #303945;border-radius:5px;color:#f7f3ec}
.mobile-nav:not([hidden]){background:#11151b;border-color:var(--v5-line)}
.mobile-nav>a:not(.btn){font-size:16px;font-weight:550;padding:14px 7px;color:#eee7df;border-bottom-color:var(--v5-line)}
/* Hero — full bleed real construction photograph, editorial scale */
.hero-v5{min-height:740px;position:relative;background:#11151a;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.hero-v5::before{display:none}
.hero-v5-image{position:absolute;inset:0 0 0 38%;background-image:linear-gradient(90deg,#101318 0%,rgba(15,18,24,.6) 30%,rgba(10,14,18,.24) 100%),linear-gradient(0deg,rgba(9,12,16,.7),rgba(9,12,16,.08) 45%,rgba(9,12,16,.38)),url('/assets/project1.webp');background-size:cover;background-position:60% 44%;z-index:-2;filter:saturate(.65)}
.hero-v5::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101318 0%,#101318 18%,rgba(16,19,24,.93) 35%,rgba(16,19,24,.10) 82%);z-index:-1;pointer-events:none}
.hero-v5-grain{position:absolute;inset:0;opacity:.14;pointer-events:none;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.07),rgba(255,255,255,.07) 1px,transparent 1px,transparent 78px),repeating-linear-gradient(90deg,rgba(255,255,255,.045),rgba(255,255,255,.045) 1px,transparent 1px,transparent 84px);mix-blend-mode:screen}
.hero-v5-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(305px,.63fr);gap:6vw;align-items:end;padding-top:125px;padding-bottom:80px;flex:1}
.hero-v5-main{max-width:880px}
.hero-v5-kicker{display:flex;gap:14px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.15em;color:#e1c2a4;margin-bottom:36px}
.hero-v5-live{height:8px;width:8px;background:#d8ac80;border-radius:50%;box-shadow:0 0 0 5px rgba(216,172,128,.13);flex-shrink:0}
.hero-v5-divider{width:35px;height:1px;background:#a58d78}
.hero-v5 h1{color:#fff;font-size:clamp(60px,6.7vw,112px);line-height:.99;letter-spacing:-.066em;font-weight:750;margin:0 0 34px;max-width:960px;text-wrap:balance}
.hero-v5 h1 em{color:#e5bb92;font-style:normal}
.hero-v5-lead{font-size:19px;line-height:1.72;color:#d6dae0;max-width:610px;margin:0}
.hero-v5-actions{display:flex;align-items:center;gap:38px;flex-wrap:wrap;margin:34px 0 27px}
.hero-v5-link{display:inline-flex;align-items:center;gap:25px;color:#f4eee8;font-size:16px;font-weight:650;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:10px;transition:gap .2s,color .2s}
.hero-v5-link:hover{gap:33px;color:#f8cfa2}
.hero-v5-trust{color:#c8c9cb;font-size:13px;display:flex;gap:10px;align-items:center}
.hero-v5-trust-dot{width:7px;height:7px;border-radius:50%;background:#9ed0a1}
.hero-v5-aside{min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:22px;max-width:395px;justify-self:end;padding-bottom:6px}
.hero-v5-card{background:rgba(18,21,28,.91);backdrop-filter:blur(22px);border:1px solid rgba(255,255,255,.2);padding:28px 30px 30px;box-shadow:0 25px 65px rgba(0,0,0,.34)}
.hero-v5-card-head{display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.09em;color:#a9abb0;font-weight:700;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:18px}
.hero-v5-card-number{font-size:64px;line-height:1;font-weight:780;letter-spacing:-.06em;color:#f3ede7;margin:28px 0 14px;display:flex;justify-content:space-between;align-items:center}
.hero-v5-card-number span{color:#d4a478;font-size:28px;font-weight:400}
.hero-v5-card h2{font-size:24px;line-height:1.2;font-weight:680;letter-spacing:-.028em;color:#f7f5f0;margin:0 0 14px}
.hero-v5-card p{font-size:14px;line-height:1.6;color:#bfc4cc;margin:0 0 27px}
.hero-v5-card>a{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;letter-spacing:0;color:#e2b790;padding:15px 0 0;border-top:1px solid rgba(255,255,255,.17)}
.hero-v5-card>a span{font-size:22px;transition:transform .2s}.hero-v5-card>a:hover span{transform:translate(3px,-3px)}
.hero-v5-caption{display:flex;gap:14px;align-items:flex-start;justify-content:flex-end;font-size:12px;line-height:1.5;color:#ced4da;text-align:right;text-shadow:0 3px 7px #101318}
.hero-v5-caption>span:first-child{font-weight:700;color:#efd2b6}
.hero-v5-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.24);padding-top:21px;padding-bottom:24px;font-size:11px;font-weight:680;letter-spacing:.15em;color:#b9bec7;position:relative}
.hero-v5-bottom a{color:#e2bf9b;display:flex;gap:15px}
/* Trust and section rhythm */
.metrics{background:#0d1015;border-bottom:1px solid var(--v5-line)}
.metrics-grid>div{padding:34px 32px 32px;border-right-color:var(--v5-line)}
.metrics strong{font-size:clamp(33px,2.8vw,45px);letter-spacing:-.05em;color:#f8f4ee;font-weight:730}
.metrics span{font-size:14px;color:#aeb8c6;line-height:1.5}
.metric-plus{color:#dbaf88}
.section{padding:112px 0}
.section-services,.section-approach,.section-projects,.section-steps,.section-faq{background:#11151b!important}
.section-approach,.section-steps,.section-faq{background:#0c1015!important}
.eyebrow{font-size:13px;font-weight:740;letter-spacing:.14em;color:#dcb18c;margin-bottom:22px}
.section-heading{margin-bottom:52px;align-items:end}
.section-heading h2,.approach-copy h2,.faq-grid h2,.two-col h2,.contact-grid h2{font-size:clamp(41px,4.2vw,66px);line-height:1.1;letter-spacing:-.053em;font-weight:720;color:#f5f4f0;max-width:875px}
.section-heading h2 span,.approach-copy h2 span,.faq-grid h2 span,.two-col h2 span,.contact-grid h2 span{color:#d1a680}
.section-heading>p{font-size:17px;color:#abb7c4;max-width:360px;line-height:1.65}
/* Service grid – irregular composition replaces uniform template tiles */
.services-grid{grid-template-columns:1.05fr 1fr 1fr;gap:16px}
.service-card{background:#1a2029;min-height:255px;padding:33px;border:1px solid #2c3440;border-radius:4px;transition:transform .3s,border-color .25s,box-shadow .3s;position:relative;overflow:hidden}
.service-card:hover{transform:translateY(-5px);border-color:#a17f5f;box-shadow:0 25px 50px rgba(0,0,0,.24)}
.service-card:first-child{grid-row:span 2;min-height:540px;background:linear-gradient(155deg,rgba(15,19,25,.58) 15%,rgba(14,17,24,.87) 57%,rgba(14,17,24,.98) 100%),url('/assets/project2.webp') center/cover}
.service-card:not(:first-child){min-height:260px}
.service-card::after{content:"↗";position:absolute;right:33px;bottom:29px;color:#e1b38c;font-size:21px;transition:transform .25s}
.service-card:hover::after{transform:translate(5px,-5px)}
.service-card-top{gap:16px}
.service-icon{width:54px;height:54px;border-radius:3px;background:#28323e;color:#ddb48c}
.service-number{font-size:13px;color:#a6afba;letter-spacing:.12em}
.service-card h3{font-size:clamp(22px,1.65vw,30px);font-weight:680;line-height:1.17;letter-spacing:-.026em;margin:30px 0 15px;color:#f5f2ed}
.service-card:first-child h3{font-size:clamp(29px,2.4vw,44px);margin-top:auto}
.service-card p{font-size:15px;line-height:1.65;color:#c0c8d0;max-width:420px;margin-bottom:30px}
.service-card-link{font-size:15px;font-weight:680;color:#e6b993;justify-content:start;gap:12px;padding-right:35px}
.service-card-link span{display:none}
/* Contextual editorial split with natural photographs */
.approach-grid{gap:7.5vw;grid-template-columns:1.02fr .98fr}
.approach-image,.approach-image>img{height:560px;min-height:0}
.approach-image>img{border-radius:2px;filter:saturate(.7) contrast(1.04)}
.approach-sticker{bottom:28px;right:-18px;background:#d6aa7e;color:#10151c;border-radius:2px;padding:21px 24px;letter-spacing:.12em;font-size:13px;box-shadow:0 20px 35px rgba(0,0,0,.22)}
.approach-sticker span{color:#10151c}
.approach-copy .lead{font-size:21px;line-height:1.55;font-weight:550;color:#e0e2e3}
.approach-copy>p:not(.lead){font-size:16px;line-height:1.8;color:#b8bdc6}
.approach-checks{gap:12px;grid-template-columns:1fr 1fr}
.approach-checks div{font-size:14px;font-weight:550;line-height:1.5;border:1px solid #2f3641;background:#191f29;border-radius:3px;padding:15px 17px}
.text-link{font-size:16px;font-weight:670;color:#e7b990}
/* Projects look like an architectural magazine */
.projects-grid,.projects-grid-all{gap:17px}
.project-card{position:relative;overflow:hidden;border:0;border-radius:3px;background:#1b212a;box-shadow:none}
.project-image{height:400px}
.project-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04);transition:transform .7s,filter .5s}
.project-card:hover .project-image img{transform:scale(1.055);filter:saturate(.94)}
.project-image:after{background:linear-gradient(180deg,rgba(6,9,13,.18) 0%,rgba(6,9,13,.05) 34%,rgba(6,9,13,.89) 100%)}
.project-year{top:22px;left:22px;font-size:12px;letter-spacing:.07em;border-radius:2px;padding:7px 12px}
.project-caption{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:22px 25px 23px;background:transparent;border:0;color:#fff}
.project-caption h3{font-size:24px;line-height:1.14;letter-spacing:-.03em;font-weight:700;color:#fff;margin:0 0 7px}
.project-caption p{font-size:14px;color:#d4d7de;margin:0}
.section-footnote{font-size:13px;color:#8995a1;margin-top:24px}
/* Linear stages, fewer boxes */
.steps-grid{gap:0;border-top:1px solid #3b434d;border-bottom:1px solid #3b434d}
.step{background:transparent;border:0;border-radius:0;border-right:1px solid #3b434d;min-height:245px;padding:26px 32px 32px}
.step:last-child{border-right:0}
.step span{font-size:13px;letter-spacing:.18em;color:#d7ab83}
.step h3{font-size:24px;color:#fff;font-weight:650;margin:55px 0 10px;letter-spacing:-.03em}
.step p{font-size:15px;line-height:1.7;color:#aebac6}
/* Digital tool showcase */
.interactive-feature{background:#0e1218!important;border-block:1px solid #28313b}
.interactive-feature-grid{gap:7vw}
.interactive-feature h2,.service-picker-section h2{font-size:clamp(43px,4.4vw,70px);font-weight:720;line-height:1.08;letter-spacing:-.052em}
.interactive-feature p,.service-picker-section p{font-size:18px;line-height:1.65;color:#b9c3cd}
.interactive-feature-points span{font-size:15px;line-height:1.5;color:#e1d7ce;border-top-color:#333e49}
.interactive-sheet{background:#1b222b;border:1px solid #414b56;border-radius:3px}
.interactive-sheet-header{font-size:13px;color:#e7bd99;border-bottom-color:#39434d}
.interactive-sheet-body>strong{font-size:clamp(29px,2.9vw,45px);font-weight:700}
.sheet-no{color:#e5bc92;font-weight:750}.sheet-status{font-size:14px}
.service-picker-section{background:#11151b!important}
.service-picker{background:#1b222a;border:1px solid #343e49;border-radius:3px;padding:35px}
.picker-options button,.portfolio-filter button{font:600 14px/1.3 "Segoe UI",system-ui,sans-serif;background:#252c35;color:#e2e5e8;border:1px solid #46505b;border-radius:4px;padding:13px 16px;transition:background .25s,border-color .25s,transform .25s}
.picker-options button:hover,.portfolio-filter button:hover{transform:translateY(-2px);border-color:#d2a478}
.picker-options button[aria-pressed="true"],.portfolio-filter button[aria-pressed="true"]{background:#4c3a2c;color:#f9e0c7;border-color:#bf916b}
.picker-result h3{font-size:30px}
.picker-result p{font-size:16px}
.picker-result a{font-size:15px}
/* FAQ accordion */
.faq-grid{gap:7vw}
.faq-list{display:grid;gap:10px}
.faq-list details{border:1px solid #303b48;background:#161d26;border-radius:4px;padding:0 24px;transition:border-color .2s}
.faq-list details:hover{border-color:#9d8068}
.faq-list summary{font-size:17px;font-weight:600;color:#f6f3ed;padding:20px 28px 20px 0}
.faq-list summary::marker{color:#d3a47b}
.faq-list p{font-size:15px;color:#c0c7d1}
/* Lead capture */
.final-cta{background:#d4ab85!important;color:#151719;position:relative}
.final-cta::before{background-image:linear-gradient(90deg,rgba(10,10,10,.07) 1px,transparent 1px),linear-gradient(rgba(10,10,10,.07) 1px,transparent 1px);opacity:.6}
.final-cta .eyebrow,.final-cta .eyebrow-light{color:#553b28}
.final-cta h2{font-size:clamp(45px,4.6vw,75px);letter-spacing:-.053em;font-weight:750;line-height:1.05;color:#1d2127}
.final-cta h2 span{color:#634b3d}
.final-cta p{font-size:18px;color:#3e3b39}
.final-cta .btn-light{background:#171c23;color:#fff;border-color:#171c23;box-shadow:none}
.final-cta .btn-light:hover{background:#39424b;color:#fff}
.final-cta .tg-link{color:#1b2127;font-size:15px;font-weight:700;border-bottom:1px solid #524a43;padding-bottom:5px}
.site-footer{background:#0b0e13;border-top:1px solid #2d3540}
.footer-grid{gap:55px}
.footer-grid h3{font-size:15px;font-weight:700;color:#eee8e3}
.footer-grid p,.site-footer a{font-size:14px;color:#b5beca;line-height:1.65}
.footer-logo{font-size:28px;font-weight:750;letter-spacing:.07em}
.footer-contact{font-size:17px!important;color:#ece2d6!important;font-weight:700}
.footer-bottom{border-color:#2e3742;color:#8f9aa8;font-size:13px}
/* Secondary pages: generous title fields and editorial content */
.page-hero{background:#141922;position:relative;overflow:hidden;padding:105px 0 110px;border-bottom:1px solid #34404e}
.page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 90% 30%,rgba(195,144,95,.15),transparent 48%),linear-gradient(90deg,transparent 89%,rgba(255,255,255,.03) 90%);background-size:100% 100%,90px 90px}
.page-hero h1{font-size:clamp(49px,5.8vw,88px);line-height:1.04;letter-spacing:-.055em;font-weight:750;color:#f8f4ee;max-width:1130px}
.page-hero p{font-size:19px;line-height:1.65;color:#bdc6d0;max-width:750px}
.breadcrumb{color:#b6bfcb;font-size:14px}
.breadcrumb a{color:#dfb48d}
.two-col h2,.contact-grid h2{font-size:clamp(39px,4vw,62px)}
.detail-card,.inputs-card,.result-band{background:#19212a;border:1px solid #313b47;border-radius:4px}
.detail-card h3{color:#f3f1ed;font-size:23px}
.detail-card p,.inputs-card li{font-size:16px;color:#b9c2cd}
.contact-grid{gap:6vw}
.contact-grid>div:first-child>p{font-size:18px;line-height:1.7;color:#bec6cf}
.contact-method span{font-size:13px;color:#9ca9b6}.contact-method a{font-size:18px;color:#f3eee8}
.contact-method>.icon{background:#27333f;color:#d8b08b;border-radius:3px}
.form-panel{background:#19212a;border:1px solid #343e4a;border-radius:4px;padding:42px}
.form-panel h2{font-size:36px}
.form-panel>p{font-size:16px}
.request-form label{font-size:15px;color:#e3e5e8}
.request-form input:not([type="checkbox"]),.request-form textarea,.request-form select{font-size:16px;padding:15px 17px;min-height:54px;border-radius:4px;border-color:#3d4752;background:#111822;color:#f5f5f2}
.request-form textarea{min-height:130px}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus{border-color:#d9a57d;box-shadow:0 0 0 3px rgba(211,165,125,.16)}
.request-form .consent-label{font-size:13px;line-height:1.6;color:#c7ccd1}
.form-note{font-size:12px}
.portfolio-filter button{min-height:45px}
/* Tool shell: refines v4, avoids 11px labels */
.aosr-intro{background:radial-gradient(circle at 95% 0%,rgba(204,157,111,.12),transparent 45%),#131922;padding:88px 0 96px}
.aosr-intro-grid{gap:7vw}
.aosr-intro h1{font-size:clamp(55px,5.7vw,88px);font-weight:760;line-height:1.01;letter-spacing:-.055em}
.aosr-intro p{font-size:19px;line-height:1.7;color:#bdc8d1}
.aosr-intro-actions span{font-size:14px;color:#afb6be}
.aosr-intro-figure{border-radius:4px;background:#1c222d;border-color:#414650}
.aosr-intro-fighead{font-size:13px}.aosr-intro-figmain{padding:24px 30px}.aosr-intro-figmain strong{font-size:20px}
.aosr-workspace-section{background:#0d1218;padding:56px 0 110px}
.aosr-note{border-radius:4px;padding:22px 28px;background:#1b232c;border-color:#42474d}
.aosr-note p{font-size:15px;line-height:1.55}
.aosr-shell{grid-template-columns:290px minmax(0,1fr);background:#161c25;border:1px solid #343e4a;border-radius:5px}
.aosr-sidebar{background:#141a23;border-right-color:#3a424d}
.aosr-step{padding:17px 13px;border-radius:4px}
.aosr-step span{width:40px;height:40px;font-size:14px;background:#282f39}
.aosr-step b{font-size:16px}.aosr-step small{font-size:12px}
.aosr-step.active{background:#403126;border-color:#986d4d}.aosr-step.active span{background:#d5a77d;color:#121519}
.aosr-editor{padding:43px 46px 35px}
.aosr-panel-top h2{font-size:clamp(33px,3.3vw,45px);font-weight:730;letter-spacing:-.036em}
.aosr-panel-top p{font-size:16px;line-height:1.6;color:#b8c3cd}
.aosr-field{font-size:15px;gap:10px;font-weight:600}
.aosr-field small{font-size:13px;color:#a4afbb}
.aosr-field input,.aosr-field textarea,.aosr-field select{font:450 16px/1.5 "Segoe UI",system-ui,Arial,sans-serif;min-height:54px;border-radius:4px;background:#101721;border-color:#3c4855;padding:13px 16px;color:#f2f1ed}
.aosr-field textarea{min-height:95px}
.aosr-registry-toolbar{background:#222b36;border-color:#414b56;border-radius:4px;padding:19px}
.aosr-registry-toolbar label{font-size:14px}.aosr-registry-toolbar select{font-size:15px;min-height:50px;border-radius:4px}
.aosr-utility{min-height:48px;font-size:14px;padding:13px 17px;border-radius:4px;background:#29323f;border-color:#45505b}
.aosr-rep{background:#1d2530;border-color:#37414d;border-radius:4px;padding:21px}
.aosr-rep h3{font-size:18px}.aosr-rep h3 span{font-size:13px}
.aosr-norm-buttons button{border-radius:4px;font-size:14px;padding:11px 14px}
.aosr-checklist{font-size:15px;padding:19px 23px;background:#30261f;border-radius:4px}
.aosr-status{font-size:14px}
.aosr-savebar label,.aosr-savebar button,.aosr-privacy-hint{font-size:14px}
/* Technical trace of ISOCPEUR: local font if installed. No proprietary binary is packaged. */
.hero-v5-card-head,.hero-v5-kicker,.hero-v5-bottom,.eyebrow,.aosr-kicker,.aosr-intro-fighead,.service-number,.metrics strong{font-family:"ISOCPEUR","Bahnschrift","Segoe UI",Arial,sans-serif}
.site-progress-bar{background:#d7a47a;height:2px}
.back-to-top{width:52px;height:52px;border-radius:4px;background:#222a34;border:1px solid #a47b5a;color:#e9b994;font-size:23px}
.reveal-on-scroll{transition-duration:.7s}
}
@media screen and (max-width:1200px){
.wrap{width:min(1440px,calc(100% - 68px))}
.desktop-nav{gap:18px}.desktop-nav a{font-size:14px}.header-cta{padding:11px 16px}
.hero-v5-inner{grid-template-columns:minmax(0,1.25fr) minmax(295px,.7fr);gap:3vw}
.hero-v5 h1{font-size:clamp(58px,6.5vw,91px)}
.services-grid{grid-template-columns:1fr 1fr}.service-card:first-child{grid-row:span 2}
}
@media screen and (max-width:1100px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:grid;place-items:center}}
@media screen and (max-width:900px){
.hero-v5{min-height:auto}.hero-v5-inner{grid-template-columns:1fr;gap:45px;padding:100px 0 65px}
.hero-v5-image{inset:0;background-position:58% 50%}
.hero-v5::after{background:linear-gradient(90deg,rgba(12,16,22,.96),rgba(12,16,22,.72)),linear-gradient(0deg,rgba(12,16,22,.82),transparent)}
.hero-v5 h1{font-size:clamp(55px,8.4vw,80px)}
.hero-v5-aside{max-width:100%;width:100%;justify-self:stretch;display:grid;grid-template-columns:1fr 1fr;align-items:end}
.hero-v5-card{max-width:480px}.hero-v5-caption{align-self:end}
.section{padding:85px 0}
.approach-grid{grid-template-columns:1fr;gap:45px}.approach-image,.approach-image>img{height:480px}
.section-heading h2,.approach-copy h2,.faq-grid h2{font-size:clamp(40px,5.2vw,57px)}
.section-heading{gap:25px}
.steps-grid{grid-template-columns:repeat(2,1fr)}.step{min-height:240px;border-bottom:1px solid #3b434d}.step:nth-child(2){border-right:0}.step:nth-last-child(-n+2){border-bottom:0}
.projects-grid{grid-template-columns:repeat(2,1fr)}
.aosr-intro-grid{gap:36px}
.aosr-shell{grid-template-columns:1fr}.aosr-sidebar{border-right:0;border-bottom:1px solid #3a414b}
}
@media screen and (max-width:700px){
html{scroll-padding-top:78px}
.wrap{width:calc(100% - 36px)}
.header-inner{height:71px;gap:14px}.brand{min-width:0}.brand-mark{height:43px;width:43px}.brand-mark::before{font-size:19px}.brand-text b{font-size:18px}.brand-text small{font-size:10px}
.hero-v5-inner{padding-top:76px;padding-bottom:45px;gap:45px}
.hero-v5-kicker{font-size:11px;gap:10px;margin-bottom:27px;letter-spacing:.1em;flex-wrap:wrap}.hero-v5-divider{width:21px}
.hero-v5 h1{font-size:clamp(48px,10.3vw,69px);line-height:1.01;letter-spacing:-.062em;margin-bottom:25px}
.hero-v5-lead{font-size:17px;line-height:1.57}
.hero-v5-actions{gap:25px;margin:30px 0}.hero-v5-actions .btn{width:auto;min-width:200px}
.hero-v5-link{font-size:15px}
.hero-v5-trust{font-size:13px;line-height:1.4}
.hero-v5-aside{grid-template-columns:1fr;gap:18px}.hero-v5-card{padding:23px 24px}
.hero-v5-card-number{font-size:53px}.hero-v5-card h2{font-size:22px}.hero-v5-caption{display:none}
.hero-v5-bottom{font-size:10px;gap:16px;padding-bottom:23px}.hero-v5-bottom>span{max-width:190px}.hero-v5-bottom a{text-align:right}
.metrics-grid{grid-template-columns:repeat(2,1fr)}.metrics-grid>div{padding:25px 13px 24px;border-bottom:1px solid var(--v5-line)}.metrics-grid>div:nth-child(odd){padding-left:0}.metrics-grid>div:nth-child(even){padding-left:13px}.metrics strong{font-size:36px}.metrics span{font-size:13px}
.section{padding:80px 0}.eyebrow{font-size:12px;margin-bottom:15px}
.section-heading{margin-bottom:33px}.section-heading h2,.approach-copy h2,.faq-grid h2{font-size:clamp(39px,8.2vw,52px);line-height:1.11}.section-heading>p{font-size:16px;line-height:1.6}
.services-grid{grid-template-columns:1fr;gap:12px}.service-card,.service-card:first-child,.service-card:not(:first-child){min-height:0;grid-row:auto;grid-column:auto;padding:25px 25px 27px}.service-card:first-child{min-height:310px}.service-card h3,.service-card:first-child h3{font-size:26px;margin:27px 0 12px}.service-card p{font-size:15px}.service-card-link{font-size:15px}
.interactive-feature h2,.service-picker-section h2{font-size:clamp(39px,8vw,54px)}
.interactive-feature p,.service-picker-section p{font-size:16px}
.interactive-feature-points{grid-template-columns:1fr 1fr}.interactive-feature-points span{font-size:14px}
.interactive-feature-grid,.picker-grid{gap:35px}.interactive-sheet-body{padding:29px 25px}
.service-picker{padding:25px 21px}.picker-options button{font-size:14px;min-height:46px}
.approach-image,.approach-image>img{height:370px}.approach-copy .lead{font-size:18px}.approach-copy>p:not(.lead){font-size:16px}.approach-checks{grid-template-columns:1fr 1fr}.approach-checks div{font-size:14px}
.projects-grid{grid-template-columns:1fr}.project-image{height:325px}.project-caption h3{font-size:23px}
.steps-grid{grid-template-columns:1fr 1fr}.step{min-height:200px;padding:20px}.step h3{font-size:22px;margin:38px 0 8px}.step p{font-size:14px}
.faq-list summary{font-size:16px;padding-block:19px}.faq-list details{padding-inline:18px}
.final-cta h2{font-size:clamp(42px,8.5vw,58px)}.final-cta p{font-size:16px}.final-cta .btn{width:100%}
.footer-grid{gap:32px}.site-footer a,.footer-grid p{font-size:14px}
.page-hero{padding:64px 0 72px}.page-hero h1{font-size:clamp(44px,9vw,62px)}.page-hero p{font-size:17px}
.form-panel{padding:30px 23px}.request-form label{font-size:15px}
.aosr-intro{padding:62px 0}.aosr-intro h1{font-size:clamp(46px,9vw,65px)}.aosr-intro p{font-size:17px}
.aosr-editor{padding:25px 18px}.aosr-field{font-size:15px}.aosr-field input,.aosr-field textarea,.aosr-field select{font-size:16px}
.aosr-paper-page{flex-shrink:0}
}
@media screen and (max-width:420px){
.wrap{width:calc(100% - 30px)}
.hero-v5 h1{font-size:clamp(43px,10.2vw,54px)}.hero-v5-actions{display:flex;flex-direction:column;align-items:stretch;gap:17px}.hero-v5-actions .btn{width:100%}.hero-v5-link{justify-content:center}
.hero-v5-card{padding:23px 20px}.service-card:first-child{min-height:300px}
.approach-checks{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid #3b434d;min-height:0;padding:22px 12px}.step h3{margin:15px 0 8px}.step:nth-child(2){border-bottom:1px solid #3b434d}
}
@media(prefers-reduced-motion:reduce){.hero-v5-card>a span,.service-card,.project-image img,.btn,.desktop-nav a:after{transition:none!important}}
/* v5.1 command menu: keyboard-first navigation */
@media screen{
.header-inner{gap:17px}
.desktop-nav{gap:24px}
.site-search-trigger{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:7px;min-width:49px;height:48px;padding:0 10px;background:transparent;border:1px solid #34404d;border-radius:5px;color:#e7e9ec;cursor:pointer;transition:border-color .22s,background .22s}
.site-search-trigger:hover,.site-search-trigger:focus-visible{border-color:#cf9e76;background:#20262d}
.site-search-trigger svg{height:21px;width:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.site-search-trigger kbd{font:600 11px/1 "Segoe UI",Arial,sans-serif;color:#9fa8b2;padding:5px 3px}
.site-command-dialog{width:min(690px,calc(100vw - 26px));max-width:690px;max-height:min(690px,86dvh);overflow:hidden;border:1px solid #51535b;border-radius:12px;background:#171d27;color:#f4f1eb;padding:0;box-shadow:0 25px 100px rgba(0,0,0,.7)}
.site-command-dialog::backdrop{background:rgba(4,6,9,.76);backdrop-filter:blur(9px)}
.site-command-top{display:flex;align-items:center;gap:15px;padding:20px 23px;border-bottom:1px solid #343e49}
.site-command-top>span{font-size:22px;color:#dcb288}
.site-command-input{flex:1;min-width:0;padding:10px 0;border:0;outline:0!important;background:transparent;color:#f5f3ef;font:550 19px/1.4 "Segoe UI",system-ui,sans-serif}
.site-command-input::placeholder{color:#8692a1}
.site-command-close{border:1px solid #414b56;padding:5px 9px;border-radius:5px;color:#b6bfca;background:#252e39;font:600 12px/1.5 "Segoe UI",Arial,sans-serif;cursor:pointer}
.site-command-body{padding:21px 17px 25px;max-height:64dvh;overflow:auto}
.site-command-label{font:700 12px/1.4 "Segoe UI",Arial,sans-serif;color:#d3a57d;letter-spacing:.12em;padding:0 12px 10px}
.site-command-list{display:grid;gap:4px}
.site-command-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid transparent;border-radius:5px;transition:background .2s,border-color .2s}
.site-command-item:hover,.site-command-item:focus-visible,.site-command-item[aria-selected="true"]{background:#27313e;border-color:#586372;outline:0}
.site-command-item strong{color:#f3f0eb;font:650 16px/1.35 "Segoe UI",system-ui,Arial,sans-serif;display:block}
.site-command-item small{color:#aab5c3;font-size:13px;display:block;margin-top:4px}
.site-command-item>span{font-size:21px;color:#d1a57b}
.site-command-empty{padding:24px 13px;color:#b8c2cd;font-size:15px}
.site-command-footer{padding:14px 22px;border-top:1px solid #343e49;color:#939eaa;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.site-command-footer kbd{border:1px solid #465260;padding:3px 7px;border-radius:3px;color:#c4ced9}
}
@media screen and (max-width:1100px){.site-search-trigger{margin-left:auto}.header-inner{gap:12px}}
@media screen and (max-width:700px){
.site-search-trigger{width:43px;min-width:43px;height:44px;padding:0}
.site-search-trigger kbd{display:none}
.approach-sticker{right:0!important;max-width:calc(100% - 12px);box-sizing:border-box}
.site-command-top{padding:15px 15px}.site-command-input{font-size:17px}.site-command-body{padding:15px 10px 20px}.site-command-item{padding:12px}
}
@media print{.site-search-trigger,.site-command-dialog{display:none!important}}
@media screen and (max-width:900px){.approach-grid{grid-template-columns:minmax(0,1fr)}.approach-image,.approach-copy{min-width:0}.approach-image>img{min-width:0}}
@media screen and (max-width:360px){
 .header-inner{gap:8px}.brand{gap:8px}.brand-text small{display:none}.brand-text b{font-size:16px;letter-spacing:.07em}
 .site-search-trigger{height:42px;width:42px;min-width:42px}.menu-toggle{height:42px;width:44px}
}
@media screen and (min-width:901px){.approach-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}.approach-grid>.approach-image,.approach-grid>.approach-copy{min-width:0}}
