/*
================================================================================
IAIS WEBSITE - MAIN STYLESHEET
Pure CSS / no framework / no build step.

QUICK EDIT MAP
1) :root              = global colors, spacing, shadows, animation easing
2) SITE HEADER        = logo + navigation
3) HERO / SUBHERO     = homepage and inner-page banners
4) CARDS / 3D         = service cards + hover depth
5) FORMS              = contact / enquiry form
6) FOOTER             = footer branding/contact columns
7) RESPONSIVE         = tablet/mobile rules at the bottom

Tip: keep class names unchanged unless you also update the matching HTML/JS.
================================================================================
*/
:root{font-family:Inter,Arial,sans-serif;color:#14263e;background:#f7f9fc;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button{font:inherit}img{max-width:100%;height:auto}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:-999px;top:0;background:white;padding:12px;z-index:10}.skip:focus{left:8px}.site-header{background:#fff;border-bottom:1px solid #dfe6ef;position:sticky;top:0;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:88px}.brand img{width:195px;display:block}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:700;color:#263c59}.site-header nav a:hover,.text-link:hover{color:#1469af}.site-header nav .nav-cta{background:#0c3d76;color:#fff;padding:13px 18px;border-radius:4px}.menu-button{display:none;border:0;background:transparent;color:#092957;font-weight:700}.hero{background:radial-gradient(circle at 75% 30%,#184b84 0,#092957 42%,#061e3e 100%);color:#fff;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .85fr;gap:65px;align-items:center;padding:95px 0 103px}.eyebrow,.section-kicker{letter-spacing:.16em;font-size:12px;font-weight:800;color:#2779bc}.eyebrow{color:#80c3ef}.line{display:inline-block;width:22px;height:2px;background:#58b5eb;vertical-align:middle;margin-right:9px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,5vw,72px);letter-spacing:-.055em;line-height:1.06;margin:22px 0 25px;max-width:650px}h2{font-size:clamp(32px,3.3vw,48px);letter-spacing:-.045em;line-height:1.13}h3{letter-spacing:-.025em}.lead{font-size:19px;line-height:1.7;max-width:590px;color:#d1e1f2}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:16px 20px;text-decoration:none;font-weight:800;font-size:14px;border-radius:4px}.primary{background:#55b4ec;color:#06254b}.primary:hover{background:#82cefa}.secondary{border:1px solid #6588ac;color:#fff}.secondary:hover{background:#ffffff18}.scan{border:1px solid #7592b75c;background:#0b2d58;box-shadow:0 25px 80px #0004;min-height:420px;transform:rotate(-2deg);padding:20px}.scan-top,.scan-bottom{display:flex;justify-content:space-between;color:#a8c5df;font-size:11px;letter-spacing:.12em;font-weight:700}.scan-field{height:312px;margin:18px 0;background:repeating-linear-gradient(0deg,transparent 0 49px,#7ca6d528 50px),repeating-linear-gradient(90deg,transparent 0 58px,#7ca6d528 59px),linear-gradient(130deg,#061b3a,#174576);position:relative;overflow:hidden}.scan-axis,.scan-base{position:absolute;color:#97bbdf;font-size:10px;letter-spacing:.15em}.scan-axis{left:13px;top:14px}.scan-base{right:12px;bottom:12px}.scan-trace{position:absolute;inset:20% 7%;display:flex;align-items:center;justify-content:space-between;filter:drop-shadow(0 0 12px #55c4fa)}.scan-trace i{width:8%;height:15%;border-radius:50%;background:#64bfe9;opacity:.55}.scan-trace i:nth-child(2),.scan-trace i:nth-child(7){height:32%}.scan-trace i:nth-child(3),.scan-trace i:nth-child(6){height:66%}.scan-trace i:nth-child(4),.scan-trace i:nth-child(5){height:92%;background:#b8eaff}.scan-hotspot{position:absolute;left:48%;top:36%;height:35%;width:2px;background:#f6d28d;box-shadow:0 0 22px 7px #e7c08090}.intro{padding:100px 0}.intro-grid,.section-head,.applications,.locations,.enquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.intro-grid p,.applications p,.locations p,.enquiry p{font-size:17px;line-height:1.75;color:#576a7c}.methods{background:#eaf0f6;padding:93px 0}.section-head{align-items:end;margin-bottom:35px}.section-head p{line-height:1.6;color:#52677d}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.card{background:#fff;padding:29px 25px;min-height:335px;display:flex;flex-direction:column;border-top:3px solid #1772b8}.number{color:#3175aa;font-size:12px;font-weight:800;letter-spacing:.12em}.card h3{font-size:23px;line-height:1.25;margin:35px 0 15px}.card p{line-height:1.6;color:#52677d;font-size:15px}.card a{margin-top:auto;text-decoration:none;color:#0a5598;font-weight:800;font-size:14px}.method-note{font-size:13px;color:#61768a;margin:24px 0 0}.applications{padding:105px 0;align-items:center}.text-link{font-weight:800;color:#0a5598;text-decoration:none}.app-list{border-top:1px solid #cbd7e3}.app-list div{border-bottom:1px solid #cbd7e3;display:flex;align-items:center;gap:30px;padding:22px 0;font-size:18px;font-weight:700}.app-list b{font-size:13px;color:#358ac0}.approach{background:#092957;color:white;padding:90px 0}.approach .section-kicker{color:#8bc9ee}.approach h2{max-width:550px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:45px}.steps>div{border-top:1px solid #6784a4;padding-top:20px}.steps span{color:#79c0e9;font-size:13px;font-weight:800}.steps h3{font-size:24px;margin:27px 0 12px}.steps p{color:#c3d4e7;line-height:1.65}.locations{padding:100px 0}.location-cards{display:grid;gap:14px}.location-cards>div{background:#eaf0f6;padding:22px;display:flex;flex-direction:column;gap:7px}.location-cards strong{font-size:13px;color:#0c568f;letter-spacing:.12em}.location-cards span{line-height:1.5}.location-cards a{font-weight:700;color:#0c568f}.enquiry{background:#d9e9f5;padding:85px 0}.contact-panel{background:#fff;padding:32px;display:flex;flex-direction:column;align-items:stretch;gap:12px;justify-content:center}.outline{border:1px solid #0a4f89;color:#0a4f89}.phone{text-align:center;margin-top:10px;color:#0a4f89;font-weight:800}footer{background:#061b39;color:#d7e4f0;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-grid strong{font-size:30px;color:white}.footer-grid p{max-width:340px;line-height:1.6}.footer-grid span{font-size:12px;font-weight:800;letter-spacing:.12em;color:#92bde0}.footer-grid a{text-decoration:none}.copyright{border-top:1px solid #ffffff2b;padding-top:22px;margin-top:45px;font-size:12px;color:#afc0d2}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;padding:65px 0}.scan{max-width:590px;min-height:320px}.scan-field{height:220px}.cards{grid-template-columns:repeat(2,1fr)}.site-header nav{gap:13px}.intro-grid,.section-head,.applications,.locations,.enquiry-grid{gap:32px}}@media(max-width:640px){.wrap{width:min(100% - 36px,1160px)}.header-inner{min-height:72px}.brand img{width:155px}.menu-button{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.hero-grid{gap:35px;padding:62px 0}.lead{font-size:17px}.scan{transform:none;padding:14px;min-height:280px}.scan-field{height:190px}.intro{padding:70px 0}.intro-grid,.section-head,.applications,.locations,.enquiry-grid{grid-template-columns:1fr;gap:15px}.methods,.approach,.applications,.locations,.enquiry{padding-top:70px;padding-bottom:70px}.cards,.steps,.footer-grid{grid-template-columns:1fr}.card{min-height:260px}.steps{gap:20px}.footer-grid{gap:28px}.actions .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* About page */
.subhero{background:linear-gradient(110deg,#061e3e,#0b376c);color:#fff;padding:72px 0 90px}.subhero h1{max-width:830px}.subhero .lead{max-width:780px}.breadcrumb{display:flex;gap:12px;align-items:center;font-size:14px;color:#b5d0e9;margin-bottom:55px}.breadcrumb a:hover{color:white}.about-lead,.about-regions{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:100px;padding-bottom:100px}.about-lead p,.about-regions p{font-size:17px;line-height:1.75;color:#52677d}.about-lead strong{color:#18395b}.about-band{background:#eaf0f6;padding:90px 0}.about-band h2{max-width:650px}.about-items{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.about-items article{background:#fff;border-top:3px solid #1772b8;padding:27px;min-height:225px}.about-items span,.region-list article>span{font-size:12px;font-weight:800;letter-spacing:.13em;color:#2779bc}.about-items h3{font-size:23px;margin:27px 0 12px}.about-items p{line-height:1.6;color:#52677d}.about-footnote{margin-top:22px;color:#52677d;font-size:14px}.region-list{display:grid;gap:14px}.region-list article{background:#eaf0f6;padding:28px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.region-list h3{font-size:25px;margin:6px 0 0}.region-list p{margin:0;font-size:15px}.region-list a{color:#0a5598;font-weight:700}.region-list .external{margin-top:8px;text-decoration:none}@media(max-width:800px){.about-lead,.about-regions{gap:35px}}@media(max-width:640px){.subhero{padding:45px 0 65px}.breadcrumb{margin-bottom:40px}.about-lead,.about-regions{grid-template-columns:1fr;gap:15px;padding-top:70px;padding-bottom:70px}.about-band{padding:70px 0}.about-items{grid-template-columns:1fr}.about-items article{min-height:0}}

.history{background:#fff;padding:95px 0}.history-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;align-items:center}.history p,.history-detail p{font-size:17px;line-height:1.75;color:#52677d}.history-markers{border-top:1px solid #cadae8}.history-markers>div{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid #cadae8;align-items:center}.history-markers b{color:#0b4e89;font-size:21px}.history-markers span{line-height:1.5;color:#52677d}.history-detail{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:85px;padding-bottom:100px}.history-detail h3{font-size:23px;margin:0 0 8px}.history-detail p{margin-bottom:27px}@media(max-width:640px){.history{padding:70px 0}.history-grid,.history-detail{grid-template-columns:1fr;gap:22px}.history-detail{padding-top:70px;padding-bottom:70px}.history-markers>div{grid-template-columns:90px 1fr;gap:14px}}

.hero-photo{margin:0;position:relative;box-shadow:0 25px 80px #0004;border:1px solid #8fb4d162;overflow:hidden;background:#092957;aspect-ratio:1.03}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:25px 20px 17px;background:linear-gradient(transparent,#061e3edd);font-size:11px;letter-spacing:.14em;font-weight:800;color:#fff}@media(max-width:900px){.hero-photo{max-width:590px}}
/* Services overview */
.services-hero .button{margin-top:22px}.service-intro,.service-planning{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-top:95px;padding-bottom:95px}.service-intro>p,.service-planning p{font-size:17px;line-height:1.75;color:#52677d}.service-list{background:#eaf0f6;padding:20px 0}.service-row{display:grid;grid-template-columns:130px 1fr 170px;gap:30px;align-items:start;padding:45px 0;border-bottom:1px solid #c4d4e3;scroll-margin-top:100px}.service-row:last-child{border:0}.service-code{color:#0a69ac;font-size:13px;font-weight:800;letter-spacing:.12em;margin-top:11px}.service-row h2{font-size:clamp(28px,2.5vw,37px);margin-bottom:17px}.service-row p{color:#52677d;line-height:1.7;font-size:16px;max-width:700px}.service-row .service-context{font-size:14px}.service-row a{color:#0a5598;font-weight:800;text-decoration:none;margin-top:14px}.service-row a:hover{text-decoration:underline}.service-checklist{border-top:1px solid #cbd7e3}.service-checklist div{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid #cbd7e3;line-height:1.5;font-weight:700}.service-checklist b{color:#0a69ac;font-size:13px}.service-note{background:#dceaf5;padding:30px 0}.service-note .wrap{display:grid;grid-template-columns:150px 1fr;gap:25px}.service-note strong{color:#0b4e89}.service-note p{margin:0;line-height:1.6;color:#435b72}@media(max-width:800px){.service-row{grid-template-columns:95px 1fr;gap:20px}.service-row a{grid-column:2;margin-top:0}.service-intro,.service-planning{gap:35px}}@media(max-width:640px){.service-intro,.service-planning{grid-template-columns:1fr;gap:15px;padding-top:70px;padding-bottom:70px}.service-row{grid-template-columns:1fr;gap:7px;padding:36px 0}.service-row a{grid-column:1}.service-note .wrap{grid-template-columns:1fr;gap:8px}}
/* Method detail pages */
.method-hero .button{margin-top:22px}.method-intro,.method-planning{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:95px;padding-bottom:95px}.method-intro>p,.method-planning p{font-size:17px;line-height:1.75;color:#52677d}.method-use{background:#eaf0f6;padding:85px 0}.method-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:35px}.method-use-grid article{background:#fff;padding:27px;border-top:3px solid #1772b8}.method-use-grid h3{font-size:22px}.method-use-grid p{color:#52677d;line-height:1.65}.method-limits{background:#092957;color:#fff;padding:75px 0}.method-limits .section-kicker{color:#8bc9ee}.method-limits p:last-child{max-width:850px;color:#d1e1f2;line-height:1.75;font-size:17px}.related{display:grid;grid-template-columns:1fr 1.4fr;gap:75px;padding-top:90px;padding-bottom:90px}.related-links{display:grid;gap:10px}.related-links a{display:flex;gap:25px;justify-content:space-between;align-items:center;background:#eaf0f6;text-decoration:none;padding:19px;color:#0a5598}.related-links strong{font-size:13px}.related-links span{font-weight:700;text-align:right}@media(max-width:800px){.method-intro,.method-planning,.related{gap:35px}}@media(max-width:640px){.method-intro,.method-planning,.related{grid-template-columns:1fr;gap:15px;padding-top:70px;padding-bottom:70px}.method-use{padding:70px 0}.method-use-grid{grid-template-columns:1fr}.method-limits{padding:70px 0}}
/* Applications */
.application-hero h1{max-width:900px}.application-hero .lead{max-width:850px}.application-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:95px;padding-bottom:65px}.application-intro p,.application-sectors p,.application-next p{font-size:17px;line-height:1.7;color:#52677d}.application-intro strong{color:#18395b}.application-index{display:flex;gap:9px;flex-wrap:wrap;padding-bottom:70px}.application-index a{font-weight:700;font-size:14px;text-decoration:none;color:#0b4e89;border:1px solid #b5c8da;padding:12px 15px;background:#fff}.application-index a:hover{background:#eaf0f6}.application-guide{background:#eaf0f6;padding:85px 0}.application-guide>.wrap>h2{max-width:760px;margin-bottom:45px}.application-case{display:grid;grid-template-columns:260px 1fr;gap:45px;background:#fff;border-top:3px solid #1772b8;padding:35px 40px;margin:16px 0;scroll-margin-top:110px}.case-label>span{color:#0a69ac;font-size:12px;font-weight:800;letter-spacing:.12em}.case-label h3{font-size:26px;line-height:1.2;margin:20px 0 15px}.case-label p{color:#667b8e;line-height:1.6;font-size:15px}.case-body h4{font-size:16px;color:#163d65;margin:8px 0}.case-body p{font-size:16px;line-height:1.7;color:#52677d;margin-bottom:20px}.case-body p a{color:#0a5598;font-weight:700}.case-body .case-caution{background:#eaf3f9;border-left:3px solid #4c9acc;padding:13px 17px;margin-bottom:0;font-size:14px}.application-sectors{display:grid;grid-template-columns:1fr 1.4fr;gap:65px;padding-top:100px;padding-bottom:100px}.sector-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.sector-grid article{background:#eaf0f6;padding:25px}.sector-grid h3{font-size:20px}.sector-grid p{font-size:15px;margin:0}.application-selection{background:#092957;color:#fff;padding:85px 0}.application-selection .section-kicker{color:#8bc9ee}.application-selection .table-intro{color:#d1e1f2;font-size:16px}.table-scroll{overflow-x:auto;margin-top:30px}table{border-collapse:collapse;min-width:720px;width:100%;line-height:1.5}th,td{text-align:left;vertical-align:top;padding:18px;border-bottom:1px solid #6584a8}thead th{color:#9dd0ef;font-size:13px;letter-spacing:.1em;text-transform:uppercase}tbody th{white-space:nowrap}tbody a{color:#a2d7fb}tbody td{color:#e0eaf3}.application-next{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;padding-top:100px;padding-bottom:100px}.next-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.next-steps article{border-top:2px solid #2072ad;padding-top:20px}.next-steps b{color:#0a69ac}.next-steps h3{font-size:20px;margin:25px 0 12px}.next-steps p{font-size:15px}@media(max-width:900px){.application-intro,.application-sectors,.application-next{gap:35px}.application-case{grid-template-columns:210px 1fr;gap:25px}}@media(max-width:640px){.application-intro,.application-sectors,.application-next{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px;gap:20px}.application-index{padding-bottom:55px}.application-guide,.application-selection{padding:70px 0}.application-case{grid-template-columns:1fr;gap:12px;padding:27px 23px}.case-label h3{margin:12px 0}.sector-grid{grid-template-columns:1fr}.next-steps{grid-template-columns:1fr;gap:22px}}
/* Extended application library */
.expanded-applications{background:#f7f9fc;padding:90px 0}.expanded-applications h2{max-width:750px}.expanded-intro{font-size:17px;line-height:1.7;color:#52677d;max-width:850px}.expanded-index{display:flex;flex-wrap:wrap;gap:10px;margin:32px 0 50px}.expanded-index a{border:1px solid #b5c8da;padding:12px 16px;text-decoration:none;color:#0b4e89;font-weight:700;font-size:14px;background:#fff}.expanded-group{scroll-margin-top:110px;margin-bottom:65px}.expanded-group-head{display:grid;grid-template-columns:1fr 1.4fr;gap:55px;border-top:2px solid #0d5a9a;padding-top:24px;margin-bottom:23px}.expanded-group-head h3{font-size:clamp(27px,2.6vw,37px);margin:0}.expanded-group-head p{color:#52677d;line-height:1.65;margin:0}.expanded-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.expanded-card{background:#fff;border:1px solid #d6e2ec;padding:28px}.expanded-card h4{font-size:22px;margin:0 0 18px;color:#123b63}.expanded-card p{font-size:15px;line-height:1.65;color:#52677d;margin-bottom:14px}.expanded-card p:last-child{margin-bottom:0}.expanded-card strong{color:#163d65}.expanded-end{border-top:1px solid #b5c8da;padding-top:23px}.expanded-end p{max-width:950px;line-height:1.7;color:#52677d}.expanded-end strong{color:#163d65}@media(max-width:640px){.expanded-applications{padding:70px 0}.expanded-group-head,.expanded-grid{grid-template-columns:1fr;gap:14px}.expanded-card{padding:22px}.expanded-group{margin-bottom:50px}}
/* Contact */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,.8fr);gap:65px;padding-top:95px;padding-bottom:100px}.contact-intro{font-size:17px;line-height:1.7;color:#52677d}.proposal-form{display:grid;gap:20px;margin-top:35px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.proposal-form label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#1a3858;font-size:14px}.proposal-form label span{color:#1772b8}.proposal-form input,.proposal-form select,.proposal-form textarea{width:100%;border:1px solid #b9c9d8;border-radius:3px;background:#fff;color:#14263e;padding:13px 14px;font:inherit;font-size:16px}.proposal-form textarea{resize:vertical}.proposal-form input:focus,.proposal-form select:focus,.proposal-form textarea:focus{outline:3px solid #90c9ea;outline-offset:1px}.proposal-form .button{border:0;cursor:pointer;justify-self:start}.form-hint{color:#52677d;font-size:14px;line-height:1.6;margin:0}#form-status{font-size:14px;line-height:1.6;color:#0c4e80;margin:0}#form-status:empty{display:none}#form-status a{font-weight:700}.contact-side{display:flex;flex-direction:column;gap:16px}.contact-side-card,.contact-help{padding:28px;background:#eaf0f6}.contact-side-card h3,.contact-help h3{font-size:24px;margin:12px 0}.contact-side-card p:not(.section-kicker){line-height:1.6;color:#52677d}.contact-side-card a{display:block;color:#0a5598;font-weight:700;margin-top:12px;overflow-wrap:anywhere}.contact-help ul{padding-left:20px;color:#52677d;line-height:1.8}.contact-methods{background:#092957;color:#fff;padding:75px 0}.contact-methods .section-kicker{color:#8bc9ee}.contact-links{display:flex;flex-wrap:wrap;gap:10px}.contact-links a{border:1px solid #648db5;padding:13px 17px;text-decoration:none;color:#d9edfa;font-weight:700}.contact-links a:hover{background:#ffffff22}@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:45px}.contact-side{display:grid;grid-template-columns:1fr 1fr}.contact-help{grid-column:1/-1}}@media(max-width:640px){.contact-layout{padding-top:70px;padding-bottom:70px}.form-row,.contact-side{grid-template-columns:1fr}.contact-help{grid-column:auto}.proposal-form .button{width:100%}}

/* Three-stage inspection image */
.hero-grid{grid-template-columns:1fr 1fr;gap:48px}.hero-photo{aspect-ratio:1.48}.hero-photo img{object-fit:cover;object-position:center}.hero-photo figcaption{background:linear-gradient(transparent,#061e3eea);padding-top:38px}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-photo{aspect-ratio:1.48}}@media(max-width:640px){.hero-photo{aspect-ratio:1.48}.hero-photo figcaption{font-size:10px;padding:26px 10px 10px}}

/* Full-cover homepage inspection photograph */
.hero-cover{position:relative;isolation:isolate;min-height:clamp(630px,70vh,790px);display:flex;align-items:center;background:#092957}
.hero-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:-2}
.hero-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,44,.91) 0%,rgba(3,23,48,.79) 31%,rgba(4,25,49,.28) 62%,rgba(4,25,49,.07) 100%);z-index:-1}
.hero-cover-content{padding-top:98px;padding-bottom:76px}
.hero-cover-content h1{max-width:650px;text-wrap:balance;text-shadow:0 2px 18px rgba(1,14,30,.25)}
.hero-cover-content .lead{max-width:570px;color:#f1f7ff;text-shadow:0 1px 12px rgba(1,14,30,.35)}
.hero-image-note{margin:76px 0 0;font-size:11px;letter-spacing:.13em;font-weight:800;color:#d9e8f4}
@media(max-width:900px){.hero-cover{min-height:670px}.hero-cover-image{object-position:61% center}.hero-cover:before{background:linear-gradient(90deg,rgba(3,20,44,.93),rgba(3,23,48,.78) 47%,rgba(4,25,49,.28))}}
@media(max-width:640px){.hero-cover{min-height:720px;align-items:flex-end}.hero-cover-image{object-position:61% center}.hero-cover:before{background:linear-gradient(0deg,rgba(3,20,44,.96) 0%,rgba(3,20,44,.88) 42%,rgba(3,20,44,.15) 100%)}.hero-cover-content{padding-top:225px;padding-bottom:35px}.hero-cover-content h1{font-size:clamp(38px,10vw,55px);margin:18px 0}.hero-cover-content .lead{font-size:16px;line-height:1.55}.hero-cover-content .actions{margin-top:24px}.hero-image-note{margin-top:28px}}


/* === IAIS Premium 2026 Enhancement Layer === */
:root{--premium-navy:#071b32;--premium-blue:#0b63a7;--premium-cyan:#39a9e8;--premium-ice:#eef7fc;--premium-line:#d9e7f1;--premium-shadow:0 24px 70px rgba(5,29,53,.14)}
html{scroll-behavior:smooth}.enhanced-ui{background:#fbfdff}.site-header{backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(10,74,125,.09)}
.brand img{filter:drop-shadow(0 7px 18px rgba(10,57,96,.08))}.nav-cta{box-shadow:0 9px 25px rgba(7,95,159,.18)}
.hero-cover:after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(transparent,rgba(4,21,39,.30));z-index:-1;pointer-events:none}.hero-cover-content .eyebrow{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(5,28,50,.24);backdrop-filter:blur(7px)}
.button{transition:transform .25s ease,box-shadow .25s ease,background .25s ease}.button:hover{transform:translateY(-2px)}.button.primary:hover{box-shadow:0 13px 30px rgba(0,105,175,.26)}
.card,.location-cards>div,.contact-side-card,.contact-help,.expanded-card,.application-case{border-radius:14px;box-shadow:0 12px 40px rgba(8,47,80,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}.card:hover,.location-cards>div:hover,.expanded-card:hover{transform:translateY(-5px);box-shadow:var(--premium-shadow)}
.visual-showcase{padding:105px 0;background:linear-gradient(180deg,#f5faff 0%,#fff 100%);overflow:hidden}.showcase-head{align-items:end}.showcase-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:245px 245px;gap:14px;margin-top:42px}.showcase-grid figure{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#0c2e4e;box-shadow:var(--premium-shadow)}.showcase-grid .showcase-large{grid-row:1/3}.showcase-grid figure:last-child{grid-column:2/4}.showcase-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.showcase-grid figure:hover img{transform:scale(1.045)}.showcase-grid figure:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(4,19,35,.84))}.showcase-grid figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:19px;color:#fff;display:flex;justify-content:space-between;gap:15px;align-items:end}.showcase-grid figcaption b{font-size:17px}.showcase-grid figcaption span{font-size:12px;letter-spacing:.05em;color:#d7e9f7;text-align:right}
.site-footer{position:relative;background:radial-gradient(circle at 5% 0%,#123f68 0,transparent 35%),linear-gradient(135deg,#06182b,#082847 60%,#061a30);color:#d9e8f5;padding:72px 0 0;overflow:hidden}.site-footer:before{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(76,167,226,.14);border-radius:50%;right:-190px;top:-190px;box-shadow:0 0 0 55px rgba(76,167,226,.035),0 0 0 110px rgba(76,167,226,.025)}.premium-footer-grid{position:relative;display:grid;grid-template-columns:1.45fr .7fr 1fr 1fr;gap:45px}.footer-brand-block p,.footer-col p{color:#acc5d9;line-height:1.65;font-size:14px}.footer-logo{width:min(270px,100%);height:auto;background:#fff;border-radius:9px;padding:5px;display:block}.footer-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.footer-badges span{font-size:11px;font-weight:800;letter-spacing:.1em;border:1px solid rgba(143,205,242,.28);padding:7px 9px;border-radius:99px;color:#bfe5fb}.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.footer-title{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#78c7f4;margin-bottom:7px}.footer-col a{color:#e8f4fc;text-decoration:none;font-size:14px;transition:color .2s,transform .2s}.footer-col a:hover{color:#78c7f4;transform:translateX(3px)}.footer-hours{margin-top:8px!important;font-size:12px!important}.footer-bottom{position:relative;border-top:1px solid rgba(179,215,238,.13);margin-top:50px;padding:22px 0 28px;display:flex;justify-content:space-between;gap:25px;color:#7fa2bd;font-size:12px}
.floating-actions{position:fixed;z-index:80;right:17px;bottom:18px;display:flex;align-items:flex-end;gap:8px}.float-action{border:0;text-decoration:none;min-width:46px;height:46px;padding:0 14px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 12px 32px rgba(3,30,53,.2);font:700 12px/1 system-ui,sans-serif;cursor:pointer;transition:transform .2s,opacity .2s,background .2s}.float-action:hover{transform:translateY(-3px)}.float-action.whatsapp{background:#0a7f6b;color:#fff}.float-action.quote{background:#0a5795;color:#fff}.float-action.top{background:#fff;color:#0a4d82;padding:0;width:46px;min-width:46px;opacity:0;pointer-events:none;transform:translateY(7px)}.float-action.top.show{opacity:1;pointer-events:auto;transform:none}.contact-hours{font-size:13px!important;color:#657b8f!important;margin-top:16px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}.showcase-grid figure:nth-child(2){transition-delay:.06s}.showcase-grid figure:nth-child(3){transition-delay:.12s}.showcase-grid figure:nth-child(4){transition-delay:.18s}
@media(max-width:980px){.premium-footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-brand-block{grid-column:1/-1;max-width:650px}.showcase-grid{grid-template-columns:1fr 1fr;grid-template-rows:350px 220px 250px}.showcase-grid .showcase-large{grid-column:1/3;grid-row:auto}.showcase-grid figure:last-child{grid-column:1/3}}
@media(max-width:640px){.site-header{backdrop-filter:none}.visual-showcase{padding:72px 0}.showcase-grid{grid-template-columns:1fr;grid-template-rows:300px 210px 210px 230px;gap:10px;margin-top:28px}.showcase-grid .showcase-large,.showcase-grid figure:last-child{grid-column:auto;grid-row:auto}.showcase-grid figcaption{left:16px;right:16px;bottom:14px}.showcase-grid figcaption{flex-direction:column;align-items:flex-start;gap:4px}.showcase-grid figcaption span{text-align:left}.premium-footer-grid{grid-template-columns:1fr;gap:32px}.footer-brand-block{grid-column:auto}.site-footer{padding-top:52px}.footer-bottom{flex-direction:column;margin-top:38px}.floating-actions{right:10px;bottom:10px}.float-action b{display:none}.float-action{width:46px;min-width:46px;padding:0}.reveal{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.showcase-grid img,.button,.card,.expanded-card,.float-action{transition:none!important}}

/* === IAIS ULTRA MODERN 3D THEME v2 === */
:root{
  --ink:#07182b;--ink-2:#12304d;--muted:#60778e;--line:rgba(15,74,119,.14);
  --navy:#031326;--navy-2:#062746;--blue:#0b6fb8;--cyan:#48c5ff;--cyan-2:#89ddff;
  --ice:#f4faff;--white:#fff;--glass:rgba(255,255,255,.72);--glass-dark:rgba(5,28,50,.68);
  --shadow-sm:0 12px 35px rgba(3,35,62,.09);--shadow-md:0 28px 70px rgba(3,35,62,.15);
  --shadow-xl:0 42px 105px rgba(2,27,49,.22);--radius:24px;--radius-sm:16px;
  --ease:cubic-bezier(.2,.8,.2,1);--mx:50%;--my:30%;
}
html{background:#f7fbff;scroll-padding-top:100px}
body.enhanced-ui{position:relative;overflow-x:hidden;color:var(--ink);background:
  radial-gradient(circle at 9% 4%,rgba(72,197,255,.07),transparent 28rem),
  radial-gradient(circle at 92% 18%,rgba(11,111,184,.06),transparent 32rem),#fbfdff}
body.enhanced-ui::before{content:"";position:fixed;z-index:999;left:0;top:0;width:var(--scroll-progress,0%);height:3px;background:linear-gradient(90deg,#0b6fb8,#48c5ff,#b7efff);box-shadow:0 0 16px rgba(72,197,255,.75);pointer-events:none}
body.enhanced-ui::after{content:"";position:fixed;z-index:-1;left:var(--mx);top:var(--my);width:620px;height:620px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(72,197,255,.065),rgba(72,197,255,.018) 35%,transparent 67%);pointer-events:none;transition:left .18s linear,top .18s linear}
::selection{background:#0b6fb8;color:#fff}
.wrap{width:min(1240px,calc(100% - 56px))}

/* navigation */
.site-header{height:auto;background:rgba(250,253,255,.82);border-bottom:1px solid rgba(14,86,137,.11);box-shadow:0 10px 40px rgba(4,32,55,.055);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%)}
.header-inner{min-height:92px;position:relative}.brand{position:relative;isolation:isolate}.brand::before{content:"";position:absolute;inset:-7px -12px;border-radius:14px;background:linear-gradient(135deg,rgba(72,197,255,.12),transparent 60%);opacity:0;transform:translateZ(-1px);transition:.3s var(--ease)}.brand:hover::before{opacity:1}.brand img{width:205px;filter:drop-shadow(0 12px 22px rgba(10,65,106,.10));transition:transform .35s var(--ease)}.brand:hover img{transform:translateY(-2px) scale(1.012)}
.site-header nav{gap:8px}.site-header nav>a:not(.nav-cta){position:relative;padding:12px 13px;border-radius:999px;font-size:13px;letter-spacing:.01em;transition:.25s var(--ease)}.site-header nav>a:not(.nav-cta)::after{content:"";position:absolute;left:14px;right:14px;bottom:7px;height:2px;transform:scaleX(0);transform-origin:left;border-radius:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));transition:transform .25s var(--ease)}.site-header nav>a:not(.nav-cta):hover{background:rgba(11,111,184,.055)}.site-header nav>a:not(.nav-cta):hover::after{transform:scaleX(1)}
.site-header nav .nav-cta{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:14px 19px;background:linear-gradient(135deg,#073d6c,#0b6fb8 68%,#22a8e8);box-shadow:0 12px 30px rgba(4,79,132,.22);transition:.28s var(--ease)}.site-header nav .nav-cta::before{content:"";position:absolute;top:-80%;left:-25%;width:40%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.36),transparent);transform:rotate(18deg);transition:left .55s var(--ease)}.site-header nav .nav-cta:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 38px rgba(4,79,132,.28)}.site-header nav .nav-cta:hover::before{left:110%}
.menu-button{padding:10px 13px;border:1px solid rgba(12,90,143,.15);border-radius:12px;background:#fff;box-shadow:var(--shadow-sm)}

/* cinematic image-backed heroes */
.hero,.subhero{position:relative;isolation:isolate;overflow:hidden}
.hero-cover{min-height:clamp(700px,78vh,860px);background:#031326;perspective:1200px}
.hero-cover-image{transform:scale(1.035);filter:saturate(1.02) contrast(1.02);will-change:transform;transition:transform .2s linear}
.hero-cover::before{background:linear-gradient(90deg,rgba(2,15,31,.96) 0%,rgba(3,23,45,.89) 31%,rgba(3,25,49,.47) 61%,rgba(2,18,35,.28) 100%),linear-gradient(0deg,rgba(3,16,31,.52),transparent 44%)}
.hero-cover::after{height:210px;background:linear-gradient(transparent,rgba(2,15,30,.7));box-shadow:inset 0 -1px rgba(255,255,255,.06)}
.hero-cover-content{position:relative;z-index:3;padding-top:120px;padding-bottom:92px;transform-style:preserve-3d}
.hero-cover-content::before{content:"";position:absolute;z-index:-1;left:-100px;top:50%;width:620px;height:620px;transform:translateY(-50%) rotateX(63deg) rotateZ(-18deg);border-radius:50%;border:1px solid rgba(96,211,255,.12);box-shadow:0 0 0 55px rgba(75,197,255,.028),0 0 0 110px rgba(75,197,255,.018);pointer-events:none}
.hero-cover-content h1{font-size:clamp(54px,6.15vw,88px);max-width:780px;letter-spacing:-.064em;line-height:.98;text-shadow:0 15px 45px rgba(0,0,0,.28);text-wrap:balance}.hero-cover-content h1::first-line{color:#fff}
.hero-cover-content .lead{font-size:18px;max-width:650px;color:#e5f1fb}.hero-cover-content .eyebrow,.subhero .eyebrow{border:1px solid rgba(155,223,255,.22);background:linear-gradient(110deg,rgba(12,70,111,.42),rgba(255,255,255,.06));box-shadow:inset 0 1px rgba(255,255,255,.12),0 12px 32px rgba(0,0,0,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.hero-image-note{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border-radius:999px;background:rgba(3,22,41,.52);border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(12px)}.hero-image-note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 6px rgba(72,197,255,.12),0 0 18px rgba(72,197,255,.9);animation:iaisPulse 2.2s ease-in-out infinite}
@keyframes iaisPulse{50%{box-shadow:0 0 0 9px rgba(72,197,255,.03),0 0 24px rgba(72,197,255,.85)}}

.subhero{padding:90px 0 112px;background:#031326;color:#fff;min-height:510px;display:flex;align-items:center}.subhero::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;filter:saturate(.9) contrast(1.03);transform:scale(1.04)}.subhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,rgba(2,15,31,.97) 0%,rgba(3,27,52,.86) 46%,rgba(3,31,57,.44) 100%),radial-gradient(circle at 82% 35%,rgba(72,197,255,.18),transparent 29rem)}
.page-about .subhero::before{background-image:url('../images/ultrasonic-inspection-workflow-hero.webp')}.page-services .subhero::before{background-image:url('../images/ultrasonic-pipe-weld-inspection-full-banner.webp')}.page-tofd .subhero::before{background-image:url('../images/tofd-pipe-weld-field-inspection-hero.webp')}.page-paut .subhero::before{background-image:url('../images/ultrasonic-inspection-workflow-hero.webp')}.page-tfm .subhero::before{background-image:url('../images/advanced-ultrasonic-inspection-hero.webp')}.page-fmc .subhero::before{background-image:url('../images/og-fmc-inspection.webp')}.page-applications .subhero::before,.page-contact .subhero::before{background-image:url('../images/advanced-ultrasonic-inspection-hero.webp')}
.subhero .wrap{position:relative}.subhero .wrap::after{content:"";position:absolute;right:2%;top:50%;width:260px;height:260px;border-radius:28%;transform:translateY(-50%) rotateX(62deg) rotateZ(36deg);border:1px solid rgba(120,220,255,.16);box-shadow:0 0 0 28px rgba(72,197,255,.026),0 0 0 56px rgba(72,197,255,.015);pointer-events:none}.subhero h1{font-size:clamp(48px,5.9vw,80px);max-width:900px;line-height:1;letter-spacing:-.058em;text-shadow:0 18px 60px rgba(0,0,0,.34)}.subhero .lead{font-size:18px;max-width:760px;color:#dbeaf7}.breadcrumb{margin-bottom:42px;color:#b7cee2}.breadcrumb a{text-decoration:none}

/* modern typography and section spacing */
h2{font-size:clamp(34px,4vw,56px);letter-spacing:-.052em;line-height:1.06;text-wrap:balance}.section-kicker{display:inline-flex;align-items:center;gap:9px;color:#1478ba;font-size:11px;letter-spacing:.18em}.section-kicker::before{content:"";width:19px;height:2px;border-radius:2px;background:linear-gradient(90deg,#0b6fb8,#48c5ff)}
.intro,.applications,.locations,.about-lead,.about-regions,.history-detail,.contact-layout,.service-intro,.service-context,.method-intro,.method-planning,.application-intro,.application-selection{position:relative;padding-top:118px;padding-bottom:118px}
.intro-grid p,.applications p,.locations p,.about-lead p,.about-regions p,.history p,.history-detail p,.contact-intro{color:var(--muted);line-height:1.8}

/* cards: real CSS 3D depth */
.cards,.about-items,.sector-grid,.expanded-grid{gap:20px}.card,.about-items article,.expanded-card,.application-case,.location-cards>div,.contact-side-card,.contact-help,.region-list article,.service-row,.service-checklist,.method-use-grid>div,.application-guide,.application-next{position:relative;isolation:isolate;overflow:hidden;border:1px solid rgba(19,101,158,.12);border-radius:var(--radius);background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(245,251,255,.92));box-shadow:var(--shadow-sm);transform-style:preserve-3d;backface-visibility:hidden;transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s var(--ease)}
.card::before,.about-items article::before,.expanded-card::before,.application-case::before,.location-cards>div::before,.contact-side-card::before,.region-list article::before{content:"";position:absolute;z-index:-1;width:175px;height:175px;right:-74px;top:-72px;border-radius:42px;background:linear-gradient(145deg,rgba(72,197,255,.16),rgba(11,111,184,.015));transform:rotate(34deg) translateZ(-1px);box-shadow:inset 0 0 0 1px rgba(72,197,255,.12)}
.card::after,.expanded-card::after,.application-case::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#0b6fb8,#48c5ff);transform:scaleX(.18);transform-origin:left;transition:transform .35s var(--ease)}
.card:hover::after,.expanded-card:hover::after,.application-case:hover::after{transform:scaleX(1)}
.card:hover,.about-items article:hover,.expanded-card:hover,.application-case:hover,.location-cards>div:hover,.contact-side-card:hover,.region-list article:hover{border-color:rgba(44,163,224,.28);box-shadow:var(--shadow-md)}
.card{min-height:360px;padding:34px 30px;border-top:1px solid rgba(19,101,158,.12)}.card h3{font-size:25px;margin-top:38px}.card p{font-size:14.5px;color:#5b7186}.card a{display:inline-flex;gap:9px;align-items:center;color:#0a67a8}.number{display:inline-flex;align-items:center;width:max-content;padding:8px 10px;border:1px solid rgba(20,120,184,.15);border-radius:999px;background:rgba(16,118,180,.055)}

.methods,.about-band,.expanded-applications{position:relative;overflow:hidden;background:linear-gradient(180deg,#edf7fd 0%,#f9fcff 100%);padding:112px 0}.methods::before,.about-band::before,.expanded-applications::before{content:"";position:absolute;right:-150px;top:-180px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(72,197,255,.15),transparent 66%);pointer-events:none}
.section-head{margin-bottom:45px;align-items:end}.method-note,.service-note,.about-footnote{padding:14px 16px;border-radius:12px;background:rgba(11,111,184,.055);border:1px solid rgba(11,111,184,.08)}

/* image showcase becomes floating 3D gallery */
.visual-showcase{position:relative;padding:120px 0;background:linear-gradient(180deg,#04172c 0%,#062744 100%);color:#fff}.visual-showcase::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(105,190,238,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(105,190,238,.035) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}.visual-showcase .section-kicker{color:#87d6ff}.visual-showcase h2{color:#fff}.visual-showcase .section-head>p{color:#afcbe0}.showcase-grid{gap:20px;perspective:1200px}.showcase-grid figure{border-radius:26px;border:1px solid rgba(168,222,252,.12);box-shadow:0 35px 80px rgba(0,0,0,.28);transform-style:preserve-3d;background:#062442;overflow:hidden}.showcase-grid figure::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(120deg,rgba(255,255,255,.10),transparent 24%);pointer-events:none}.showcase-grid img{transition:transform .85s var(--ease),filter .85s var(--ease)}.showcase-grid figure:hover img{transform:scale(1.065);filter:saturate(1.08)}.showcase-grid figcaption{z-index:4}.showcase-grid figcaption b{font-size:18px}

/* applications / list rows */
.app-list{border:0;display:grid;gap:10px}.app-list div{position:relative;border:1px solid rgba(16,93,147,.11);border-radius:16px;padding:22px 22px;background:linear-gradient(135deg,#fff,#f7fbfe);box-shadow:0 8px 24px rgba(3,35,62,.055);transition:.28s var(--ease);overflow:hidden}.app-list div::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(72,197,255,.09),transparent);transform:translateX(-120%);transition:transform .55s var(--ease)}.app-list div:hover{transform:translateX(6px);border-color:rgba(29,143,208,.24);box-shadow:var(--shadow-sm)}.app-list div:hover::after{transform:translateX(120%)}.app-list b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e9f6fd}

/* dark approach / contact bands */
.approach,.contact-methods{position:relative;overflow:hidden;background:radial-gradient(circle at 85% 0%,rgba(38,161,224,.18),transparent 30rem),linear-gradient(135deg,#031326,#062b4c 72%,#073457);padding:112px 0}.approach::before,.contact-methods::before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(120,202,247,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(120,202,247,.035) 1px,transparent 1px);background-size:58px 58px;transform:perspective(700px) rotateX(57deg) translateY(-35%);transform-origin:top;opacity:.7}.approach .wrap,.contact-methods .wrap{position:relative}.steps{gap:20px}.steps>div{position:relative;padding:26px 24px 24px;border:1px solid rgba(144,211,248,.13);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(8px);transition:.28s var(--ease)}.steps>div:hover{transform:translateY(-6px);border-color:rgba(116,211,255,.28);box-shadow:0 20px 45px rgba(0,0,0,.18)}.steps span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(72,197,255,.10);border:1px solid rgba(72,197,255,.16)}.steps h3{font-size:23px;margin-top:24px}
.contact-links a{border-radius:999px;background:rgba(255,255,255,.05);backdrop-filter:blur(7px);transition:.25s var(--ease)}.contact-links a:hover{transform:translateY(-2px);border-color:#66d2ff;background:rgba(72,197,255,.10)}

/* service and application content blocks */
.service-list,.expanded-index,.application-index{display:grid;gap:16px}.service-row,.expanded-card,.application-case{padding:28px}.service-row:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.service-code{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e8f6fd;color:#0a6aa9}.service-row h3,.expanded-card h3,.application-case h3{font-size:25px}.service-row p,.expanded-card p,.application-case p{color:var(--muted);line-height:1.7}
.table-scroll{border-radius:20px;border:1px solid rgba(17,95,149,.12);box-shadow:var(--shadow-sm);overflow:auto;background:#fff}.table-scroll table{border-collapse:separate;border-spacing:0}.table-scroll th{background:#eaf7fd;color:#0b4f7d;position:sticky;top:0}.table-scroll td,.table-scroll th{padding:17px 18px;border-color:#e5edf4}

/* contact form premium glass */
.page-contact .contact-layout{align-items:start}.proposal-form{position:relative;padding:34px;border:1px solid rgba(17,97,151,.13);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(244,250,255,.88));box-shadow:var(--shadow-md);overflow:hidden}.proposal-form::before{content:"";position:absolute;right:-85px;top:-95px;width:260px;height:260px;border-radius:65px;background:linear-gradient(145deg,rgba(72,197,255,.14),transparent);transform:rotate(28deg);pointer-events:none}.proposal-form label{color:#244158;font-size:13px;font-weight:800}.proposal-form input,.proposal-form textarea,.proposal-form select{border:1px solid rgba(34,94,137,.18);border-radius:13px;background:rgba(255,255,255,.88);padding:14px 15px;box-shadow:inset 0 1px 2px rgba(9,51,83,.03);transition:border .22s,box-shadow .22s,background .22s}.proposal-form input:focus,.proposal-form textarea:focus,.proposal-form select:focus{outline:0;border-color:#2a9dd8;background:#fff;box-shadow:0 0 0 4px rgba(42,157,216,.10),0 12px 32px rgba(3,40,68,.07)}.contact-side{perspective:1000px}.contact-side-card,.contact-help{padding:30px;background:linear-gradient(145deg,#fff,#eef8fd)}

/* buttons */
.button{position:relative;overflow:hidden;border-radius:999px;padding:16px 22px;min-height:50px;box-shadow:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}.button::after{content:"";position:absolute;top:-80%;left:-35%;width:32%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(17deg);transition:left .55s var(--ease)}.button:hover::after{left:115%}.button.primary{background:linear-gradient(135deg,#46c2f8,#73d8ff);color:#032a4d;box-shadow:0 15px 35px rgba(49,181,239,.20)}.button.primary:hover{transform:translateY(-3px);box-shadow:0 20px 45px rgba(49,181,239,.29)}.button.secondary{background:rgba(4,30,54,.22);border-color:rgba(184,230,255,.32);backdrop-filter:blur(10px)}.outline{background:#fff;border-color:rgba(8,89,146,.25)}

/* footer */
.site-footer{padding-top:82px;background:radial-gradient(circle at 10% 0%,rgba(35,145,206,.22),transparent 28rem),linear-gradient(135deg,#020d1b,#041d34 55%,#062b49);border-top:1px solid rgba(255,255,255,.05)}.site-footer::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(120,202,247,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(120,202,247,.028) 1px,transparent 1px);background-size:52px 52px;pointer-events:none}.premium-footer-grid,.footer-bottom{z-index:1}.footer-logo{border-radius:14px;padding:8px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.footer-badges span{background:rgba(71,188,244,.055);backdrop-filter:blur(7px)}.footer-col a{position:relative}.footer-col a::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:1px;background:#71d3ff;transform:scaleX(0);transform-origin:left;transition:.22s}.footer-col a:hover::after{transform:scaleX(1)}

/* floating actions */
.floating-actions{gap:9px;bottom:20px}.float-action{height:50px;min-width:50px;border:1px solid rgba(255,255,255,.22);box-shadow:0 18px 45px rgba(2,28,48,.25);backdrop-filter:blur(12px)}.float-action.whatsapp{background:linear-gradient(135deg,#087562,#0e9a7d)}.float-action.quote{background:linear-gradient(135deg,#07518c,#0b78bf)}.float-action.top{background:rgba(255,255,255,.92)}

/* 3D runtime classes */
.iais-tilt{will-change:transform;transform-style:preserve-3d}.iais-tilt>*{transform:translateZ(18px)}.iais-tilt::before{transform:translateZ(4px)}
.iais-depth{transform-style:preserve-3d;perspective:1100px}.iais-depth>img{transform:translateZ(0)}
.reveal{opacity:0;transform:translateY(28px) scale(.988);transition:opacity .78s var(--ease),transform .78s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}

/* 404 */
.page-404 main{min-height:65vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,rgba(72,197,255,.12),transparent 30rem),#f7fbff}.page-404 main .wrap{padding-top:100px;padding-bottom:100px}

@media(max-width:1000px){
  .wrap{width:min(100% - 42px,1240px)}
  .hero-cover{min-height:720px}.hero-cover-content h1{font-size:clamp(48px,8vw,74px)}
  .subhero{min-height:460px}.subhero .wrap::after{width:190px;height:190px;right:-5%}
  .cards{grid-template-columns:repeat(2,1fr)}
  .premium-footer-grid{grid-template-columns:1fr 1fr}.footer-brand-block{grid-column:1/-1}
}
@media(max-width:760px){
  html{scroll-padding-top:82px}.wrap{width:min(100% - 28px,1240px)}
  .header-inner{min-height:78px}.brand img{width:166px}.menu-button{display:flex;align-items:center;gap:8px}
  .site-header nav{top:78px;left:12px;right:12px;padding:12px;border:1px solid rgba(13,92,146,.12);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 24px 70px rgba(3,35,61,.20);backdrop-filter:blur(18px)}.site-header nav>a:not(.nav-cta){padding:13px 14px}.site-header nav .nav-cta{text-align:center;margin-top:4px}
  .hero-cover{min-height:760px;align-items:flex-end}.hero-cover-image{object-position:62% center}.hero-cover::before{background:linear-gradient(0deg,rgba(2,15,31,.985) 0%,rgba(2,18,36,.91) 42%,rgba(2,18,36,.30) 76%,rgba(2,18,36,.08) 100%)}.hero-cover-content{padding-top:275px;padding-bottom:45px}.hero-cover-content::before{width:380px;height:380px;left:-150px;top:63%}.hero-cover-content h1{font-size:clamp(42px,12vw,62px);line-height:1.01}.hero-cover-content .lead{font-size:16px;line-height:1.65}.hero-image-note{margin-top:30px}
  .subhero{padding:62px 0 76px;min-height:520px;align-items:flex-end}.subhero::after{background:linear-gradient(0deg,rgba(2,15,31,.98),rgba(3,24,47,.84) 52%,rgba(3,24,47,.36))}.subhero .wrap::after{display:none}.subhero h1{font-size:clamp(42px,12vw,60px)}.subhero .lead{font-size:16px}.breadcrumb{margin-bottom:36px}
  .intro,.applications,.locations,.about-lead,.about-regions,.history-detail,.contact-layout,.service-intro,.service-context,.method-intro,.method-planning,.application-intro,.application-selection{padding-top:82px;padding-bottom:82px}
  .methods,.about-band,.expanded-applications,.approach,.contact-methods,.visual-showcase{padding-top:82px;padding-bottom:82px}
  .cards,.about-items,.sector-grid,.expanded-grid,.steps{grid-template-columns:1fr}.card{min-height:auto;padding:28px 24px}.card h3{margin-top:30px}
  .showcase-grid{gap:12px}.showcase-grid figure{border-radius:18px}
  .proposal-form{padding:23px;border-radius:20px}.form-row{grid-template-columns:1fr}
  .premium-footer-grid{grid-template-columns:1fr}.footer-brand-block{grid-column:auto}.site-footer{padding-top:60px}
  .floating-actions{right:10px;bottom:10px}.float-action{height:48px;width:48px;min-width:48px;padding:0}.float-action b{display:none}
  body.enhanced-ui::after{display:none}
}
@media(max-width:420px){.wrap{width:min(100% - 22px,1240px)}.hero-cover-content h1,.subhero h1{letter-spacing:-.047em}.actions{gap:9px}.actions .button{width:100%}.proposal-form{padding:18px}.app-list div{padding:18px}.footer-logo{width:100%}}
@media(hover:none),(pointer:coarse){.iais-tilt{transform:none!important}.card:hover,.expanded-card:hover,.application-case:hover,.location-cards>div:hover,.contact-side-card:hover,.region-list article:hover{transform:none}.app-list div:hover{transform:none}}
@media(prefers-reduced-motion:reduce){body.enhanced-ui::before{display:none}.hero-image-note::before{animation:none}.hero-cover-image,.iais-tilt,.reveal,.reveal.is-visible{transition:none!important;transform:none!important}.app-list div::after,.button::after{display:none}}


/* ============================================================================
   INDEX ICON POLISH + CONTACT MAPS
   Small enhancement only. Existing page structure is intentionally preserved.
   Edit icon size/colors here; map HTML lives in contact.html #office-maps.
   ============================================================================ */
.service-icon,.location-icon,.inline-icon{display:inline-grid;place-items:center;flex:0 0 auto;color:#0c74b8}.service-icon{width:48px;height:48px;margin-top:20px;border:1px solid rgba(28,129,190,.15);border-radius:15px;background:linear-gradient(145deg,#edf9ff,#fff);box-shadow:0 10px 28px rgba(2,56,94,.08)}
.service-icon svg{width:25px;height:25px}.location-icon{width:28px;height:28px;border-radius:9px;background:rgba(27,132,193,.09)}.location-icon svg{width:16px;height:16px}.inline-icon{width:21px;height:21px}.inline-icon svg{width:18px;height:18px}
.service-icon svg,.location-icon svg,.inline-icon svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card .service-icon+h3{margin-top:22px}.location-cards .contact-line,.location-cards .map-link,.contact-line{display:inline-flex!important;align-items:center;gap:9px;width:max-content;max-width:100%;text-decoration:none}.location-cards .map-link{margin-top:6px;font-size:13px}.contact-card-title{display:flex;align-items:center;gap:10px}.contact-card-title .location-icon{width:34px;height:34px}.contact-card-title .location-icon svg{width:18px;height:18px}
.float-action .inline-icon{color:currentColor;width:20px;height:20px}.float-action .inline-icon svg{width:19px;height:19px}
.contact-maps{position:relative;padding:0 0 110px;background:linear-gradient(180deg,#f7fbff 0%,#eef6fb 100%)}.map-section-head{padding-top:10px}.map-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.map-card{overflow:hidden;border:1px solid rgba(17,104,160,.13);border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(4,47,79,.08)}.map-card-head{display:flex;align-items:center;gap:13px;padding:22px 24px 18px}.map-card-head .location-icon{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#e5f6ff,#f8fdff)}.map-card-head .location-icon svg{width:21px;height:21px}.map-eyebrow{display:block;margin-bottom:4px;color:#0a6ca9;font-size:11px;font-weight:850;letter-spacing:.14em}.map-card h3{margin:0;font-size:21px}.map-frame{position:relative;aspect-ratio:16/9;background:#dce9f2}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.map-card-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 22px 20px;color:#5d7185;font-size:13px}.map-card-foot a{flex:0 0 auto;color:#096aa9;font-weight:800;text-decoration:none}.map-card-foot a:hover{text-decoration:underline}.map-card-foot span{line-height:1.45}
@media(max-width:760px){.service-icon{width:44px;height:44px;margin-top:16px}.map-grid{grid-template-columns:1fr}.contact-maps{padding-bottom:82px}.map-card-foot{align-items:flex-start;flex-direction:column;gap:9px}.map-frame{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.map-card,.service-icon{transition:none!important}}

/* ============================================================================
   2026 VISIBILITY + MOTION REFINEMENT
   Requested update: clearer content, tighter spacing, animated scan treatment,
   and a more structured icon-led footer. All effects are CSS/vanilla JS only.
   ============================================================================ */

/* ---- safer reveal: content is never left faded if JavaScript/observer misses ---- */
.reveal,
.reveal.is-visible{opacity:1!important;transform:none!important}
.motion-ready .reveal{will-change:transform,opacity}

/* ---- tighter page rhythm: remove oversized empty bands ---- */
.intro,.applications,.locations,.about-lead,.about-regions,.history-detail,
.contact-layout,.service-intro,.method-intro,.method-planning,.application-intro,
.application-selection{padding-top:84px;padding-bottom:84px}
.about-band,.expanded-applications,.methods,.visual-showcase,.approach{padding-top:88px;padding-bottom:88px}
.subhero{min-height:430px;padding:72px 0 84px}
.breadcrumb{margin-bottom:30px}
.method-use,.method-limits,.related,.application-guide,.application-sectors,
.application-next,.contact-methods{padding-top:76px;padding-bottom:76px}
.section-head{margin-bottom:28px}

/* Critical bug fix: .service-context was accidentally receiving section-sized padding. */
.service-row .service-context{padding:0!important;margin:14px 0 0!important;position:static!important}
.service-row{align-items:center;padding:26px 28px;min-height:0}
.service-row>div:nth-child(2){align-self:center}
.service-row p{margin-bottom:0}
.service-row h2{margin-bottom:12px}
.service-list{padding:34px 0 46px}

/* ---- high-contrast content surfaces ---- */
.card p,.about-items article p,.expanded-card p,.application-case p,.location-cards p,
.contact-side-card p,.contact-help,.region-list p,.service-row p,.method-use-grid p,
.application-next p{color:#425c73}
.card,.about-items article,.expanded-card,.application-case,.location-cards>div,
.contact-side-card,.contact-help,.region-list article,.service-row,.method-use-grid article{
  border-color:rgba(15,102,160,.17);
  background:linear-gradient(145deg,#fff 0%,#f4faff 100%);
  box-shadow:0 16px 42px rgba(4,46,78,.085)
}
.method-use-grid article{border-radius:18px;padding:26px 26px 24px;position:relative;overflow:hidden;transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s var(--ease)}
.method-use-grid article:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(3,50,84,.13);border-color:rgba(28,145,211,.3)}

/* The old dark-section table inherited pale text after its container became white. */
.application-selection{background:radial-gradient(circle at 90% 0%,rgba(34,151,216,.18),transparent 31rem),linear-gradient(135deg,#082c58,#0b3b72);color:#fff}
.application-selection .table-scroll{background:#fff;border-color:rgba(147,207,239,.35);box-shadow:0 24px 56px rgba(0,18,45,.22)}
.application-selection .table-scroll th{background:#eaf7fd;color:#0a4d7a}
.application-selection .table-scroll td{color:#3f5870;background:#fff}
.application-selection .table-scroll tbody th{background:#f3fbff;color:#0b6fac}
.application-selection .table-scroll tbody a{color:#0b77b8;font-weight:850}
.application-selection .table-scroll td,.application-selection .table-scroll th{border-bottom:1px solid #dce9f2}
.application-selection .table-intro{color:#d9e9f6}

/* ---- scan / NDT HUD animation (injected by site.js into every hero) ---- */
.hero-cover,.subhero{--scan-accent:#5bd5ff}
.scan-sweep-layer{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;mix-blend-mode:screen;opacity:.8}
.hero-cover-content,.subhero>.wrap{position:relative;z-index:3}
.scan-sweep-layer .scan-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(104,211,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(104,211,255,.045) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.25) 35%,#000 100%);opacity:.8}
.scan-sweep-layer .scan-beam{position:absolute;left:42%;right:2.5%;height:2px;top:-7%;background:linear-gradient(90deg,transparent,var(--scan-accent) 24%,rgba(255,255,255,.98) 50%,var(--scan-accent) 76%,transparent);box-shadow:0 0 9px var(--scan-accent),0 0 28px rgba(87,211,255,.65),0 18px 42px rgba(65,199,255,.12);animation:iaisScanY 5.2s cubic-bezier(.4,0,.2,1) infinite}
.scan-sweep-layer .scan-beam::after{content:"";position:absolute;left:10%;right:10%;height:54px;top:-26px;background:linear-gradient(180deg,transparent,rgba(70,211,255,.055),transparent)}
.scan-sweep-layer .scan-reticle{position:absolute;right:17%;top:49%;width:126px;height:126px;border:1px solid rgba(108,220,255,.38);border-radius:50%;animation:iaisReticle 7s linear infinite}
.scan-sweep-layer .scan-reticle::before,.scan-sweep-layer .scan-reticle::after{content:"";position:absolute;background:rgba(115,224,255,.4)}
.scan-sweep-layer .scan-reticle::before{left:50%;top:-16px;bottom:-16px;width:1px}
.scan-sweep-layer .scan-reticle::after{top:50%;left:-16px;right:-16px;height:1px}
.scan-sweep-layer .scan-reticle i{position:absolute;inset:31%;border-radius:50%;border:1px dashed rgba(151,234,255,.62);box-shadow:0 0 24px rgba(76,206,255,.25)}
.scan-sweep-layer .scan-status{position:absolute;right:4.5%;top:18%;display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid rgba(138,224,255,.26);border-radius:999px;background:rgba(3,28,50,.36);backdrop-filter:blur(8px);font:800 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.13em;color:#c9f4ff}
.scan-sweep-layer .scan-status::before{content:"";width:6px;height:6px;border-radius:50%;background:#64e7ff;box-shadow:0 0 0 5px rgba(100,231,255,.1),0 0 14px rgba(100,231,255,.9);animation:iaisPulse 1.65s ease-in-out infinite}
.page-home .scan-sweep-layer{opacity:.95}
.subhero .scan-sweep-layer{opacity:.48}
.subhero .scan-sweep-layer .scan-beam{left:3%;right:3%;animation-duration:6.8s}
.subhero .scan-sweep-layer .scan-reticle{right:8%;top:42%;width:100px;height:100px;opacity:.62}
.subhero .scan-sweep-layer .scan-status{top:auto;bottom:13%;right:6%;opacity:.8}
@keyframes iaisScanY{0%{top:-7%;opacity:0}8%{opacity:1}48%{opacity:.95}78%{opacity:.55}100%{top:106%;opacity:0}}
@keyframes iaisReticle{to{transform:rotate(360deg)}}

/* subtle scan gleam on cards and service rows */
.service-row::after,.method-use-grid article::after,.contact-side-card::after,.location-cards>div::after{content:"";position:absolute;inset:-20% auto -20% -45%;width:24%;background:linear-gradient(90deg,transparent,rgba(69,189,242,.12),rgba(255,255,255,.48),rgba(69,189,242,.12),transparent);transform:skewX(-15deg);opacity:0;pointer-events:none}
.service-row:hover::after,.method-use-grid article:hover::after,.contact-side-card:hover::after,.location-cards>div:hover::after{animation:iaisGleam .85s ease}
@keyframes iaisGleam{0%{left:-45%;opacity:0}15%{opacity:1}100%{left:125%;opacity:0}}

/* ---- footer: new two-tier alignment with real icons ---- */
.site-footer{padding:64px 0 0;background:radial-gradient(circle at 9% 3%,rgba(43,157,215,.2),transparent 26rem),radial-gradient(circle at 92% 110%,rgba(32,138,203,.13),transparent 30rem),linear-gradient(135deg,#020c18,#052039 55%,#062a48)}
.site-footer:before{width:360px;height:360px;right:-150px;top:-150px}
.footer-top{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr);gap:28px;align-items:stretch;padding-bottom:28px}
.footer-brand-block{display:grid;grid-template-columns:minmax(220px,270px) 1fr;gap:25px;align-items:center;padding:24px;border:1px solid rgba(135,205,243,.13);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.022));box-shadow:inset 0 1px rgba(255,255,255,.06);backdrop-filter:blur(9px)}
.footer-brand-copy p{margin-bottom:0}.footer-overline{color:#79cef8!important;font-size:11px!important;font-weight:850;letter-spacing:.14em;margin-bottom:8px!important}.footer-brand-block .footer-logo{width:100%;max-width:270px;margin:0}.footer-badges{margin-top:16px}
.footer-scope-cta{position:relative;z-index:2;display:grid;grid-template-columns:44px 1fr 28px;gap:13px;align-items:center;padding:22px 20px;border:1px solid rgba(92,205,255,.25);border-radius:22px;background:linear-gradient(135deg,rgba(13,120,180,.38),rgba(30,173,219,.13));color:#fff;text-decoration:none;box-shadow:inset 0 1px rgba(255,255,255,.12),0 18px 48px rgba(0,0,0,.13);transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}
.footer-scope-cta:hover{transform:translateY(-4px);border-color:rgba(113,220,255,.5);background:linear-gradient(135deg,rgba(13,133,197,.5),rgba(33,183,227,.18))}.footer-scope-cta small{display:block;color:#9fd9f5;font-size:11px;margin-bottom:4px}.footer-scope-cta strong{display:block;font-size:16px;line-height:1.25}.footer-scope-cta>b{font-size:20px;color:#82dcff}
.footer-scope-cta>.footer-icon{width:44px;height:44px;border-radius:14px;background:rgba(100,215,255,.1);border-color:rgba(130,224,255,.2)}
.premium-footer-grid{position:relative;z-index:2;display:grid;grid-template-columns:.72fr 1fr 1fr;gap:16px;padding-top:0}
.footer-col{padding:22px 22px 21px;border:1px solid rgba(135,205,243,.1);border-radius:18px;background:rgba(255,255,255,.025);gap:9px;min-height:100%}
.footer-col a,.footer-detail{display:flex!important;align-items:flex-start;gap:10px;margin:0;color:#e8f4fc;text-decoration:none;line-height:1.45}.footer-col a{padding:3px 0}.footer-detail{color:#b5cada!important;font-size:13px!important}.footer-hours{margin-top:4px!important}.footer-title{display:flex;align-items:center;min-height:28px;margin-bottom:6px;color:#79cef8}.footer-icon{display:inline-grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;border:1px solid rgba(113,201,240,.13);background:rgba(83,185,233,.07);color:#78d3ff}.footer-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.footer-nav-panel a:hover .footer-icon,.footer-office-card a:hover .footer-icon{background:rgba(88,204,255,.15);border-color:rgba(108,217,255,.3)}
.footer-bottom{z-index:2;margin-top:26px;padding:20px 0 24px}

/* floating buttons use proper svg icons */
.float-action .inline-icon{display:inline-grid;place-items:center}.float-action .inline-icon svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---- responsive refinements ---- */
@media(max-width:980px){
  .footer-top{grid-template-columns:1fr}.footer-brand-block{grid-template-columns:230px 1fr}.premium-footer-grid{grid-template-columns:repeat(3,1fr)}
  .scan-sweep-layer .scan-reticle{right:9%}.scan-sweep-layer .scan-status{right:3%}
}
@media(max-width:760px){
  .intro,.applications,.locations,.about-lead,.about-regions,.history-detail,.contact-layout,.service-intro,.method-intro,.method-planning,.application-intro,.application-selection{padding-top:64px;padding-bottom:64px}
  .subhero{min-height:390px;padding:56px 0 66px}.breadcrumb{margin-bottom:22px}
  .service-row{grid-template-columns:1fr;gap:10px;padding:24px 20px}.service-row a{grid-column:1}.service-code{margin-top:0}
  .footer-brand-block{grid-template-columns:1fr;gap:18px}.footer-brand-block .footer-logo{max-width:235px}.premium-footer-grid{grid-template-columns:1fr}.footer-col{padding:20px}.footer-top{gap:16px}
  .scan-sweep-layer .scan-beam{left:5%;right:5%}.scan-sweep-layer .scan-reticle{right:5%;top:58%;width:78px;height:78px}.scan-sweep-layer .scan-status{top:auto;bottom:8%;right:5%;font-size:9px}.scan-sweep-layer .scan-grid{background-size:38px 38px;opacity:.55}
}
@media(max-width:460px){
  .site-footer{padding-top:48px}.footer-top{padding-bottom:16px}.footer-brand-block,.footer-scope-cta{border-radius:17px}.footer-scope-cta{grid-template-columns:38px 1fr 20px;padding:18px 16px}.footer-scope-cta>.footer-icon{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
  .scan-sweep-layer .scan-beam,.scan-sweep-layer .scan-reticle,.scan-sweep-layer .scan-status::before{animation:none!important}
  .scan-sweep-layer .scan-beam{top:48%;opacity:.35}.service-row:hover::after,.method-use-grid article:hover::after,.contact-side-card:hover::after,.location-cards>div:hover::after{animation:none!important}
}

/* ============================================================================
   2026-10 refinement: header contact bar, compact hero labels, centered planning
   numbers and stronger ultrasonic scanning motion. Safe to edit/remove later.
   ============================================================================ */

/* --- compact contact ribbon above the main navigation --- */
.site-header{overflow:visible}
.contact-ribbon{background:linear-gradient(90deg,#061d37,#07345a 58%,#082b49);color:#d9edfb;border-bottom:1px solid rgba(122,202,244,.16)}
.contact-ribbon-inner{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:11px;font-weight:700;letter-spacing:.015em}
.contact-ribbon-intro{color:#bed7e9;white-space:nowrap}
.contact-ribbon-links{display:flex;align-items:center;gap:15px;flex-wrap:wrap;justify-content:flex-end}
.contact-ribbon-links a{display:inline-flex;align-items:center;gap:7px;color:#fff;text-decoration:none;transition:color .2s ease,transform .2s ease}
.contact-ribbon-links a:hover{color:#7fdcff;transform:translateY(-1px)}
.ribbon-icon{display:inline-grid;place-items:center;width:18px;height:18px;color:#64cdfb}
.ribbon-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.header-inner{min-height:94px}
.brand img{width:232px;max-height:78px;object-fit:contain;object-position:left center}

/* --- make inner-page hero eyebrow match the compact home-page chip --- */
.subhero .eyebrow{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;min-height:34px;padding:7px 13px 7px 11px;margin-bottom:0;border-radius:999px!important;line-height:1.2;white-space:normal}
.subhero .eyebrow::before{content:"";width:20px;height:2px;flex:0 0 20px;margin-right:8px;border-radius:4px;background:linear-gradient(90deg,#36baff,#82e7ff);box-shadow:0 0 10px rgba(78,207,255,.55)}
.hero-cover-content .eyebrow{width:max-content;max-width:100%}

/* --- service proposal checklist: centered numbers + proper row alignment --- */
.service-planning{align-items:center}
.service-checklist{display:grid!important;gap:12px!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important;transform:none!important}
.service-checklist>div{display:grid!important;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:16px;min-height:62px;padding:8px 18px 8px 8px!important;border:1px solid rgba(14,99,155,.13)!important;border-radius:17px;background:linear-gradient(145deg,#fff,#f2f9fd);box-shadow:0 11px 30px rgba(5,47,78,.055);font-weight:750;line-height:1.42;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.service-checklist>div:hover{transform:translateX(5px);border-color:rgba(35,155,215,.28)!important;box-shadow:0 16px 35px rgba(5,47,78,.09)}
.service-checklist b{display:grid;place-items:center;width:42px;height:42px;margin:0;border-radius:13px;background:linear-gradient(145deg,#e5f7ff,#f8fdff);border:1px solid rgba(33,148,208,.15);color:#0871b3!important;font-size:12px!important;font-weight:900;line-height:1;text-align:center;box-shadow:inset 0 1px #fff}
.service-checklist span{display:block;color:#102439}

/* --- official contact data summary --- */
.official-contact-summary{padding:0 0 34px;background:linear-gradient(180deg,#f7fbff,#eef6fb)}
.official-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.official-contact-grid article{position:relative;overflow:hidden;padding:23px;border:1px solid rgba(15,100,157,.12);border-radius:19px;background:#fff;box-shadow:0 14px 34px rgba(4,45,76,.055)}
.official-contact-grid article::after{content:"";position:absolute;left:-40%;top:0;width:25%;height:100%;background:linear-gradient(90deg,transparent,rgba(78,196,243,.14),transparent);transform:skewX(-18deg);animation:contactSweep 5.5s ease-in-out infinite}
.official-contact-grid article:nth-child(2)::after{animation-delay:1.3s}.official-contact-grid article:nth-child(3)::after{animation-delay:2.6s}
.official-contact-grid span{display:block;margin-bottom:8px;color:#0872b3;font-size:10px;font-weight:900;letter-spacing:.16em}
.official-contact-grid p{margin:0 0 9px;color:#496276;font-size:13px;line-height:1.55}
.official-contact-grid a{position:relative;z-index:2;color:#074f85;font-weight:850;text-decoration:none;font-size:13px}
@keyframes contactSweep{0%,65%,100%{left:-40%;opacity:0}70%{opacity:1}88%{left:125%;opacity:0}}

/* --- richer ultrasonic testing overlay --- */
.hero-cover,.subhero{--scan-cyan:#5ad5ff}
.inspection-scan-rig{position:absolute;z-index:4;left:50%;bottom:5.4%;width:min(560px,38vw);height:56px;transform:translateX(-3%);pointer-events:none;opacity:.92;filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))}
.inspection-scan-rig .rig-rail{position:absolute;left:0;right:0;top:27px;height:2px;background:linear-gradient(90deg,transparent,rgba(83,202,255,.25) 8%,rgba(117,224,255,.78) 50%,rgba(83,202,255,.25) 92%,transparent);box-shadow:0 0 14px rgba(70,202,255,.34)}
.inspection-scan-rig .rig-carriage{position:absolute;top:15px;left:0;width:52px;height:26px;border:1px solid rgba(146,228,255,.7);border-radius:8px;background:linear-gradient(180deg,rgba(10,68,103,.86),rgba(5,27,48,.88));box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 0 20px rgba(59,199,255,.30);animation:rigTravel 5.6s cubic-bezier(.45,.02,.55,.98) infinite alternate}
.inspection-scan-rig .rig-carriage::before,.inspection-scan-rig .rig-carriage::after{content:"";position:absolute;bottom:-7px;width:9px;height:9px;border:1px solid #85dfff;border-radius:50%;background:#06182a;box-shadow:0 0 9px rgba(82,211,255,.85)}
.inspection-scan-rig .rig-carriage::before{left:8px}.inspection-scan-rig .rig-carriage::after{right:8px}
.inspection-scan-rig .rig-beam{position:absolute;top:40px;left:8px;width:36px;height:115px;transform-origin:top center;background:linear-gradient(180deg,rgba(84,213,255,.5),rgba(84,213,255,.07) 55%,transparent);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);filter:blur(.2px);animation:beamPulse 1.15s ease-in-out infinite}
.inspection-scan-rig .rig-wave{position:absolute;left:12%;right:4%;top:4px;height:10px;overflow:hidden;opacity:.72}
.inspection-scan-rig .rig-wave::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 12px,rgba(105,225,255,.45) 13px,transparent 14px);mask:linear-gradient(90deg,transparent,#000 13%,#000 87%,transparent);animation:waveShift 1.2s linear infinite}
.inspection-scan-rig .rig-label{position:absolute;right:3px;bottom:0;color:#a9e9ff;font-size:9px;font-weight:850;letter-spacing:.14em;text-shadow:0 0 10px rgba(65,205,255,.55)}
@keyframes rigTravel{0%{left:0}100%{left:calc(100% - 54px)}}
@keyframes beamPulse{0%,100%{opacity:.25;transform:scaleX(.65)}50%{opacity:.72;transform:scaleX(1.12)}}
@keyframes waveShift{to{transform:translateX(14px)}}

/* add repeating measurement ticks and a moving scan stripe on inner-page heroes */
.subhero::marker{display:none}
.subhero .scan-sweep-layer::after{content:"";position:absolute;left:3%;right:3%;bottom:7%;height:20px;background:repeating-linear-gradient(90deg,rgba(105,215,255,.35) 0 1px,transparent 1px 30px);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);opacity:.28}
.scan-sweep-layer .scan-status{border:1px solid rgba(126,219,255,.18);border-radius:999px;padding:7px 10px;background:rgba(3,31,55,.43);backdrop-filter:blur(7px)}

/* gentle animated scan line through selected content cards */
.service-row,.method-use-grid article,.application-case,.map-card,.contact-side-card,.service-checklist>div{--card-scan-opacity:.11}
.service-row::before,.method-use-grid article::before,.application-case::before,.map-card::before,.contact-side-card::before,.service-checklist>div::before{content:"";position:absolute;z-index:0;left:0;right:0;top:-2px;height:1px;background:linear-gradient(90deg,transparent,rgba(28,158,220,var(--card-scan-opacity)),rgba(100,219,255,.36),rgba(28,158,220,var(--card-scan-opacity)),transparent);transform:translateY(0);animation:cardScan 7s ease-in-out infinite;pointer-events:none}
.service-row:nth-child(2n)::before,.application-case:nth-child(2n)::before{animation-delay:1.8s}
@keyframes cardScan{0%,12%,100%{transform:translateY(0);opacity:0}18%{opacity:1}50%{transform:translateY(150px);opacity:.45}56%{opacity:0}}

@media(max-width:900px){
  .contact-ribbon-intro{display:none}.contact-ribbon-inner{justify-content:flex-end}
  .brand img{width:210px}.header-inner{min-height:88px}
  .inspection-scan-rig{width:46vw;left:auto;right:4%;transform:none;opacity:.75}
  .official-contact-grid{grid-template-columns:1fr 1fr}.official-contact-grid article:last-child{grid-column:1/-1}
}
@media(max-width:640px){
  .contact-ribbon-inner{min-height:38px;width:min(100% - 22px,1240px)}
  .contact-ribbon-links{width:100%;justify-content:space-between;gap:6px}
  .contact-ribbon-links a{font-size:10px;gap:5px}.contact-ribbon-links a:last-child{display:none}
  .ribbon-icon{width:16px;height:16px}.ribbon-icon svg{width:13px;height:13px}
  .header-inner{min-height:84px}.brand img{width:198px;max-height:70px}
  .site-header nav{top:84px}
  .subhero .eyebrow{font-size:10px;padding:7px 11px}
  .service-checklist>div{grid-template-columns:46px 1fr;gap:12px;min-height:58px;padding:7px 13px 7px 7px!important;border-radius:14px}.service-checklist b{width:38px;height:38px;border-radius:11px}
  .official-contact-grid{grid-template-columns:1fr}.official-contact-grid article:last-child{grid-column:auto}
  .inspection-scan-rig{width:72vw;right:-8%;bottom:3%;opacity:.58}.inspection-scan-rig .rig-label{display:none}
  .subhero .scan-sweep-layer .scan-status{display:none}
}
@media(max-width:420px){
  .contact-ribbon-links a span:last-child{font-size:9px}.brand img{width:188px}
}
@media(prefers-reduced-motion:reduce){
  .inspection-scan-rig .rig-carriage,.inspection-scan-rig .rig-beam,.inspection-scan-rig .rig-wave::before,.official-contact-grid article::after,.service-row::before,.method-use-grid article::before,.application-case::before,.map-card::before,.contact-side-card::before,.service-checklist>div::before{animation:none!important}
}

/* =========================================================
   2026-10-01 — CLEAR IAIS LOGO + RESPONSIVE DESCENDING SIZE
   ---------------------------------------------------------
   Desktop → laptop → tablet → mobile → small mobile.
   The image always keeps its natural ratio, so it never
   stretches or becomes blurry. The UAE line is live text.
   ========================================================= */
.header-inner{
  min-height:132px;
  gap:34px;
}

.brand{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:360px;
  max-width:42vw;
  padding:10px 0 8px;
  text-decoration:none;
  line-height:1;
}

.brand .brand-logo{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:left center;
  filter:contrast(1.025) saturate(1.02) drop-shadow(0 7px 17px rgba(7,61,105,.08));
  image-rendering:auto;
  transition:transform .32s ease,filter .32s ease;
}

.brand-uae-line{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  margin-top:7px;
  color:#075b9c;
  font-size:11px;
  font-weight:900;
  line-height:1.2;
  letter-spacing:.17em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .25s ease,letter-spacing .25s ease;
}

.brand-uae-line>span{
  margin-inline:8px;
  color:#6d7680;
}

.brand:hover .brand-logo{
  transform:translateY(-2px) scale(1.008);
  filter:contrast(1.045) saturate(1.04) drop-shadow(0 10px 22px rgba(7,91,156,.12));
}
.brand:hover .brand-uae-line{
  color:#0788ce;
  letter-spacing:.18em;
}

/* Large laptop / small desktop */
@media(max-width:1200px){
  .header-inner{min-height:122px}
  .brand{width:325px;max-width:38vw}
  .brand-uae-line{font-size:10.5px}
}

/* Tablet landscape */
@media(max-width:980px){
  .header-inner{min-height:112px;gap:22px}
  .brand{width:285px;max-width:40vw}
  .brand-uae-line{margin-top:6px;font-size:10px;letter-spacing:.15em}
}

/* Tablet / large phone */
@media(max-width:768px){
  .header-inner{min-height:102px}
  .brand{width:245px;max-width:56vw;align-items:flex-start}
  .brand-uae-line{justify-content:center;font-size:9.5px;letter-spacing:.14em}
}

/* Mobile */
@media(max-width:640px){
  .header-inner{min-height:94px;gap:12px}
  .brand{width:220px;max-width:62vw;padding:7px 0 6px}
  .brand-uae-line{margin-top:5px;font-size:8.8px;letter-spacing:.13em}
  .brand-uae-line>span{margin-inline:6px}
  .site-header nav{top:94px}
}

/* Small mobile */
@media(max-width:420px){
  .header-inner{min-height:88px}
  .brand{width:188px;max-width:64vw}
  .brand-uae-line{font-size:8px;letter-spacing:.11em}
  .brand-uae-line>span{margin-inline:5px}
  .site-header nav{top:88px}
}

@media(prefers-reduced-motion:reduce){
  .brand .brand-logo,.brand-uae-line{transition:none}
  .brand:hover .brand-logo{transform:none}
}

/* =========================================================
   IAIS LOGO POSITION — LITTLE DOWN ONLY
   ---------------------------------------------------------
   This does NOT change the logo width, height, ratio,
   responsive sizes, navigation, or header height.
   It only moves the complete logo + UAE line slightly down.
   ========================================================= */
.brand{
  transform:translateY(5px);
}

/* Slightly less movement on tablet/mobile */
@media(max-width:768px){
  .brand{
    transform:translateY(3px);
  }
}

/* Very small mobile */
@media(max-width:420px){
  .brand{
    transform:translateY(2px);
  }
}

/* =========================================================
   FINAL IAIS LOGO SIZE — MEDIUM / RESPONSIVE
   ---------------------------------------------------------
   This block intentionally comes LAST so it overrides the
   earlier large logo rules without changing the rest of
   the website design.
   ========================================================= */

/* Desktop */
.header-inner{
  min-height:108px;
}

.brand{
  width:270px;
  max-width:32vw;
  padding:7px 0 6px;
  transform:translateY(4px);
}

.brand .brand-logo{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}

.brand-uae-line{
  margin-top:5px;
  font-size:9.5px;
  letter-spacing:.15em;
}

/* Laptop / small desktop */
@media(max-width:1200px){
  .header-inner{
    min-height:104px;
  }

  .brand{
    width:250px;
    max-width:32vw;
  }

  .brand-uae-line{
    font-size:9px;
  }
}

/* Tablet landscape */
@media(max-width:980px){
  .header-inner{
    min-height:98px;
  }

  .brand{
    width:225px;
    max-width:38vw;
    transform:translateY(3px);
  }

  .brand-uae-line{
    margin-top:4px;
    font-size:8.5px;
    letter-spacing:.13em;
  }
}

/* Tablet / large phone */
@media(max-width:768px){
  .header-inner{
    min-height:92px;
  }

  .brand{
    width:200px;
    max-width:52vw;
    transform:translateY(3px);
  }

  .brand-uae-line{
    font-size:8px;
    letter-spacing:.12em;
  }
}

/* Mobile */
@media(max-width:640px){
  .header-inner{
    min-height:86px;
  }

  .brand{
    width:180px;
    max-width:58vw;
    padding:5px 0;
    transform:translateY(2px);
  }

  .brand-uae-line{
    margin-top:4px;
    font-size:7.5px;
    letter-spacing:.11em;
  }

  .site-header nav{
    top:86px;
  }
}

/* Small mobile */
@media(max-width:420px){
  .header-inner{
    min-height:80px;
  }

  .brand{
    width:158px;
    max-width:61vw;
    transform:translateY(2px);
  }

  .brand-uae-line{
    font-size:7px;
    letter-spacing:.10em;
  }

  .site-header nav{
    top:80px;
  }
}

