/* Perceptive Technology — static responsive site. Original brand artwork is unmodified. */
:root{color-scheme:dark;--white:#eef5ff;--muted:#b0c4dc;--blue:#54b5f9;--border:rgba(130,183,246,.28);--ink:#071329;--max:1280px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--white);background:#061024;font-family:Inter,'Segoe UI',Arial,system-ui,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:#8ad4ff}button{font:inherit;cursor:pointer}button,a{ -webkit-tap-highlight-color:transparent }
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #8cd8ff;outline-offset:4px}
img,svg{max-width:100%;display:block}svg{width:100%;height:100%}h1,h2,h3,p{margin:0}p{line-height:1.6}
.wrap{width:min(var(--max),calc(100% - 96px));margin-inline:auto}
.skip{position:fixed;top:-100px;left:14px;background:#fff;color:#0b1a32;padding:12px 16px;z-index:200;border-radius:6px}.skip:focus{top:12px}
.viewport{position:relative;isolation:isolate;min-height:100vh;overflow:hidden;background:radial-gradient(ellipse 57% 35% at 75% 14%,rgba(49,85,150,.43),transparent 75%),linear-gradient(135deg,#07142d 0%,#06132e 40%,#061023 85%,#040d1d 100%)}
.viewport::before{position:absolute;inset:0;content:"";z-index:-1;pointer-events:none;background:linear-gradient(115deg,rgba(5,16,34,.16),transparent 30%,rgba(5,13,31,.13)),repeating-linear-gradient(91deg,transparent 0 311px,rgba(161,196,228,.027) 312px,transparent 313px)}
.metal-geometry{position:absolute;inset:0;min-height:1400px;z-index:-1;pointer-events:none;background-image:url('/assets/metal-facets.svg');background-position:top center;background-repeat:no-repeat;background-size:1600px auto;opacity:.83;transform:translate3d(0,var(--metal-shift,0px),0);will-change:transform}
.metal-geometry::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 42%,rgba(6,18,38,.46) 88%,rgba(6,18,38,.8) 100%)}
.site-header{height:72px;position:relative;z-index:20;border-bottom:1px solid rgba(154,185,224,.15);background:rgba(4,11,25,.81);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;line-height:1}
.brand:hover{color:inherit}.brand-mark{height:41px;width:auto;max-width:none;object-fit:contain;flex-shrink:0}.brand-wordmark{width:220px;height:auto;max-width:none;object-fit:contain;filter:brightness(1.92);flex-shrink:0}
.links{display:flex;align-items:center;gap:23px}.links a{font-size:13px;color:#d7e3f5;white-space:nowrap;transition:color .2s}.links a:hover{color:var(--blue)}
.phone{flex-shrink:0;border-radius:7px;padding:11px 17px;font-size:13px;font-weight:700;background:linear-gradient(115deg,#196bd6,#636ddf);box-shadow:0 4px 16px rgba(30,107,221,.26);color:#fff}.phone:hover{color:#fff;filter:brightness(1.1)}
.menu{display:none;border:1px solid var(--border);border-radius:6px;padding:7px 11px;background:rgba(17,38,70,.77);color:#fff;font-size:18px}
.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:25px;padding:12px 20px;white-space:nowrap;border-radius:6px;font-size:13px;font-weight:700;border:1px solid transparent;transition:transform .2s,filter .2s,background .2s,color .2s}
.btn.primary{background:linear-gradient(120deg,#008ce8,#327beb);box-shadow:0 7px 28px rgba(0,109,248,.19);color:white}.btn.secondary{border-color:rgba(164,196,239,.38);background:rgba(7,22,44,.53);color:#eff8ff}.btn:hover{transform:translateY(-1px);filter:brightness(1.1);color:#fff}.btn span{font-size:16px;font-weight:400}
.kicker,.eyebrow{color:#52b7ff;font-size:10px;letter-spacing:1.7px;font-weight:800;text-transform:uppercase}
.eyebrow{display:inline-flex;align-items:center;gap:14px;letter-spacing:1.8px}.eyebrow::after{content:"";width:35px;height:1px;background:rgba(92,178,246,.6)}
.blue{color:var(--blue)}
.hero{height:318px;position:relative;overflow:hidden}
.hero .wrap{height:100%;position:relative;z-index:3}.hero-copy{padding-top:43px;max-width:600px}
.hero h1{font-size:clamp(39px,4.5vw,64px);letter-spacing:-2.5px;line-height:1.045;font-weight:800;margin:14px 0 14px;max-width:640px}
.hero h1 span{color:#51b6ff}.hero-copy>p{max-width:555px;color:#e0eaf6;font-size:16px;line-height:1.61;margin-bottom:20px}.actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-mark{position:absolute;z-index:2;right:11.8%;top:8px;width:335px;height:auto;aspect-ratio:1260/1360;object-fit:contain;opacity:.97;filter:brightness(.95) contrast(1.06) drop-shadow(17px 25px 23px rgba(0,4,20,.5));transform:translate3d(0,var(--logo-shift,0px),0);will-change:transform}
.hero-metal-face{position:absolute;z-index:1;pointer-events:none;right:-9%;top:-124px;width:71%;height:570px;clip-path:polygon(36% 0,100% 0,85% 93%,6% 65%);background:repeating-linear-gradient(168deg,transparent 0 3px,rgba(233,241,255,.011) 4px 4.5px),linear-gradient(125deg,transparent 18%,rgba(99,126,168,.075) 39%,rgba(190,212,234,.083) 42%,rgba(46,83,147,.16) 49%,transparent 77%);box-shadow:inset 0 1px 2px rgba(200,218,239,.06)}
.hero-faint{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,10,25,.06) 0%,transparent 45%,rgba(9,28,66,.05) 100%)}
.panel{position:relative;z-index:2;border:1px solid var(--border);background:linear-gradient(115deg,rgba(14,34,69,.68),rgba(10,27,57,.5) 55%,rgba(11,29,60,.63));border-radius:9px;backdrop-filter:blur(13px) saturate(112%);-webkit-backdrop-filter:blur(13px) saturate(112%);box-shadow:0 17px 47px rgba(0,3,17,.31),inset 0 1px rgba(191,212,243,.1)}
.panel::before{position:absolute;content:"";height:1px;left:22px;right:22px;top:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(195,216,236,.25) 44%,transparent)}
.section-line{display:flex;gap:25px;align-items:flex-start;justify-content:space-between}.section-line>p{color:#c1d0e4;font-size:13px;line-height:1.6;max-width:306px;margin:5px 10px 0 0}
.section-title{font-size:39px;line-height:1.12;letter-spacing:-1.65px;font-weight:800;margin:4px 0 0}
.approach{padding:23px 46px 18px}.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:13px}
.mini,.service{position:relative;border:1px solid rgba(129,186,252,.24);border-radius:7px;background:linear-gradient(130deg,rgba(6,24,53,.52),rgba(9,26,54,.41));box-shadow:inset 0 1px 0 rgba(178,212,246,.045);transition:border-color .2s,transform .2s,background .2s}
.mini{padding:18px 20px;min-height:109px;display:grid;grid-template-columns:42px 1fr 16px;gap:14px;align-items:center}.mini .glyph{width:35px;height:35px;color:#5abfff;align-self:start;margin-top:5px}.mini h3{font-size:16px;margin:0 0 4px}.mini p{font-size:12px;color:#bed0e4;line-height:1.5}.arr{font-size:18px;color:#65bdff;line-height:1;align-self:start}
.services{padding:20px 35px 19px;margin-top:14px}.services .section-line{padding-inline:20px}.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:13px}
.service{padding:16px 13px 14px;min-height:128px;display:grid;grid-template-columns:35px 1fr;grid-template-rows:auto 1fr auto;column-gap:9px}.service:hover{transform:translateY(-3px);border-color:#72c6ff;background:rgba(12,42,79,.75);color:#fff}.service .glyph{width:29px;height:29px;color:var(--blue);grid-column:1;grid-row:1}.service h3{font-size:13px;font-weight:750;grid-column:2;grid-row:1;padding-top:3px}.service p{font-size:11.5px;color:#bdcfe2;line-height:1.48;grid-column:2;grid-row:2;margin-top:8px}.service .arr{grid-column:2;grid-row:3;justify-self:end}
.partner-band{position:relative;z-index:2;display:grid;grid-template-columns:186px repeat(4,minmax(0,1fr));align-items:center;gap:15px;min-height:78px;padding:13px 39px}.partner{min-height:42px;display:flex;align-items:center;justify-content:center;flex-direction:column;border-left:1px solid rgba(129,174,234,.3)}.partner img{height:34px;width:auto;max-width:158px;object-fit:contain;opacity:.85;filter:grayscale(1) brightness(1.9)}.partner p{margin-top:-1px;font-size:9px;color:#a9bed4}
.promise{padding:18px 47px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:23px;margin-bottom:34px}.promise h2{font-size:39px;line-height:1.2;letter-spacing:-1.6px}.promise>p{max-width:380px;color:#c0d1e7;font-size:12.5px}
/* Below-the-fold substantive search-optimized copy, without disrupting the approved hero. */
.editorial{padding:93px 0 89px;display:grid;grid-template-columns:1fr .87fr;gap:clamp(50px,8vw,125px);align-items:start;position:relative}
.editorial h2,.faq-section h2,.bottom-cta h2{font-size:clamp(30px,3.25vw,45px);letter-spacing:-1.5px;line-height:1.16;margin:10px 0 25px;max-width:670px}
.editorial p{font-size:16px;color:#bccde3;margin:0 0 20px}.text-link{display:inline-flex;align-items:center;gap:15px;color:#78c6ff;font-weight:750;font-size:14px;border-bottom:1px solid rgba(98,182,247,.36);padding-bottom:6px}.text-link:hover{color:#fff}
.editorial-box{border:1px solid rgba(131,180,239,.23);background:linear-gradient(128deg,rgba(32,57,91,.49),rgba(6,19,41,.56));backdrop-filter:blur(9px);padding:31px 34px;border-radius:9px;box-shadow:0 18px 45px rgba(0,6,18,.22)}.editorial-box h3{font-size:23px;letter-spacing:-.5px;line-height:1.27;margin:13px 0 17px}.editorial-box p{font-size:14px;margin:0 0 13px}.editorial-box ul{padding-left:19px;margin:0 0 19px;color:#a6c1dd;font-size:14px}.editorial-box li{padding:5px 0}.editorial-box li a:hover{color:#72c5ff}.editorial-box .small-print{font-size:12px;color:#87a0bd;margin:0}
.faq-section{border-top:1px solid rgba(128,176,233,.15);padding:70px 0 89px;display:grid;grid-template-columns:.88fr 1.12fr;gap:80px}.faq-section>div>p{color:#aabed9}
.faq-items details{border-bottom:1px solid rgba(128,176,233,.22);padding:17px 2px}.faq-items details:first-child{border-top:1px solid rgba(128,176,233,.22)}.faq-items summary{cursor:pointer;list-style:none;font-size:16px;font-weight:700;position:relative;padding-right:28px}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary::after{content:'+';position:absolute;right:0;top:0;color:#67bafa;font-size:20px;line-height:1.3}.faq-items details[open] summary::after{content:'−'}.faq-items details p{font-size:14px;color:#afc2d9;margin:13px 0 0}
.bottom-cta{border:1px solid rgba(134,186,246,.25);border-radius:9px;position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:32px;margin:20px auto 75px;padding:38px 48px;background:linear-gradient(105deg,rgba(24,48,82,.62),rgba(9,30,63,.64));backdrop-filter:blur(10px)}.bottom-cta h2{margin:8px 0 10px}.bottom-cta p{color:#bacce2;font-size:15px;max-width:670px}
.footer{position:relative;z-index:2;border-top:1px solid rgba(137,178,228,.18);background:rgba(2,10,22,.56);padding:52px 0 25px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:45px}.footer-about .brand{margin-bottom:20px}.footer-about p{max-width:370px}.footer h2{font-size:14px;margin:0 0 13px;color:#e0ecfc}.footer p,.footer li,.footer a{font-size:13px;color:#a6bbd3;line-height:1.8}.footer .brand img{opacity:.9}.footer ul{padding:0;list-style:none;margin:0}.footer address{font-style:normal}.footer a:hover{color:#8cd7ff}.footer-bottom{margin-top:39px;padding-top:18px;border-top:1px solid rgba(140,180,232,.14);display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#849ebd}
/* Interior pages reuse the exact same colors, glass surfaces, original brand and metallic backdrop. */
.subhero{position:relative;padding:66px 0 73px;min-height:365px}.subhero::after{content:"";position:absolute;top:-60px;right:0;width:44%;height:320px;background:linear-gradient(117deg,transparent 28%,rgba(110,141,178,.07) 49%,transparent 73%);transform:skewY(-16deg);pointer-events:none}.crumbs{font-size:12px;color:#8faaca;margin-bottom:28px}.crumbs a{color:#a1c5e6}.subhero h1{font-size:clamp(36px,4.4vw,60px);line-height:1.08;max-width:860px;letter-spacing:-1.9px;margin:12px 0 18px}.subhero p{font-size:17px;color:#cfdbeb;max-width:785px;line-height:1.7;margin:0 0 24px}
.sub-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:77px 0;border-top:1px solid rgba(138,180,239,.2)}.sub-intro h2{font-size:clamp(28px,3.4vw,44px);line-height:1.16;letter-spacing:-1.1px;margin:12px 0 0}.sub-intro p{font-size:16px;color:#b8cce2;margin:0 0 18px}
.sub-features{padding:69px 0 80px}.sub-features h2{font-size:clamp(28px,3vw,41px);letter-spacing:-1px;margin:11px 0 28px}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feature{border:1px solid rgba(126,174,226,.26);border-radius:8px;padding:29px;background:linear-gradient(130deg,rgba(17,38,74,.62),rgba(8,27,60,.48));backdrop-filter:blur(8px);min-height:165px}.feature h3{font-size:19px;margin:0 0 12px}.feature p{font-size:14px;color:#adbed7}
.sub-faq{display:grid;grid-template-columns:.79fr 1.21fr;gap:80px;padding:67px 0;border-top:1px solid rgba(145,177,223,.2)}.sub-faq h2{font-size:32px;letter-spacing:-1px;margin:11px 0 0;max-width:450px}.related{padding:30px 0 65px}.related-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:17px}.related-links a{font-size:14px;padding:11px 16px;border:1px solid rgba(126,174,226,.29);border-radius:6px;background:rgba(8,24,52,.5);display:inline-flex;gap:22px}.related-links a span{color:#5ac1ff}.related-links a:hover{border-color:#7ccaff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 auto 80px}.contact-panel{padding:39px;border:1px solid rgba(130,185,241,.27);border-radius:9px;background:linear-gradient(140deg,rgba(18,42,80,.69),rgba(7,25,55,.55));backdrop-filter:blur(12px)}.contact-panel h2{font-size:28px;letter-spacing:-.8px;line-height:1.2;margin:11px 0 26px}.contact-link{display:flex;justify-content:space-between;border-bottom:1px solid rgba(143,186,232,.2);padding:12px 0;font-size:19px;color:#9edbff}.contact-panel>p{font-size:14px;color:#b7cbe1;margin:24px 0 0}.contact-panel address{font-style:normal;font-size:17px;line-height:1.8}.error-page{min-height:60vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.error-page h1{font-size:clamp(40px,6vw,80px);margin-bottom:16px}.error-page p{color:#bfcedf;margin-bottom:24px}
@media(max-width:1140px){.wrap{width:min(var(--max),calc(100% - 56px))}.links{gap:13px}.brand-wordmark{width:184px}.hero-mark{right:5%;width:300px}.service-grid{grid-template-columns:repeat(3,1fr)}.partner-band{grid-template-columns:150px repeat(4,1fr);padding-inline:20px;gap:10px}.partner img{max-width:125px}.promise{grid-template-columns:1fr 1fr}.promise .btn{grid-column:1/-1;justify-self:start}.editorial{gap:55px}}
@media(max-width:850px){.phone{display:none}.menu{display:inline-block}.links{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(5,16,34,.97);padding:12px 30px 22px;border-bottom:1px solid var(--border);box-shadow:0 20px 35px #030a18}.links.open{display:flex}.links a{padding:13px 7px;font-size:15px;border-bottom:1px solid rgba(126,172,231,.13)}.hero-mark{right:-15px;opacity:.39}.approach{padding:24px}.mini{grid-template-columns:33px 1fr;gap:9px;padding:14px}.mini .arr{display:none}.partner-band{grid-template-columns:120px repeat(4,1fr)}.partner img{max-width:104px}.editorial,.faq-section,.sub-intro,.sub-faq{grid-template-columns:1fr;gap:30px}.editorial{padding-block:65px}.feature-grid{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}
@media(max-width:620px){.wrap{width:calc(100% - 36px)}.site-header{height:67px}.nav{gap:12px}.brand-mark{height:35px}.brand-wordmark{width:171px}.links{top:67px}.hero{height:auto;min-height:412px}.hero-copy{padding-top:37px}.hero h1{font-size:clamp(36px,9vw,48px);letter-spacing:-1.7px}.hero-copy>p{font-size:15px;max-width:480px}.hero-mark{width:250px;right:-40px;top:205px;opacity:.20}.hero .wrap{padding-bottom:90px}.btn{font-size:12px;padding:12px 13px;gap:16px}.actions{gap:8px}.section-line{display:block}.section-line>p{max-width:none;margin-top:11px}.section-title{font-size:33px}.approach{padding:24px 20px}.approach-grid{grid-template-columns:1fr;gap:9px}.mini{grid-template-columns:38px 1fr 15px;min-height:82px}.mini .arr{display:block}.mini .glyph{width:30px;height:30px}.services{padding:22px 15px;margin-top:13px}.services .section-line{padding-inline:3px}.service-grid{grid-template-columns:1fr 1fr;gap:8px}.service{display:block;padding:14px;min-height:147px}.service .glyph{width:26px;height:26px}.service h3{font-size:13px;margin:8px 0 0}.service p{font-size:11px;margin-top:6px}.service .arr{position:absolute;bottom:10px;right:12px}.partner-band{grid-template-columns:1fr 1fr;gap:13px;padding:24px 15px}.partner-band .kicker{grid-column:1/-1;text-align:center}.partner{border-left:0}.partner img{max-width:145px}.promise{display:block;padding:23px 20px;margin-bottom:20px}.promise h2{font-size:33px}.promise p{margin:12px 0 16px}.editorial{gap:20px;padding:54px 0}.editorial h2,.faq-section h2{font-size:32px}.editorial-box{padding:25px}.faq-section{gap:24px;padding:50px 0}.bottom-cta{display:block;padding:25px 23px;margin:14px auto 55px}.bottom-cta .btn{margin-top:22px}.footer{padding:37px 0 23px}.footer-main{display:block}.footer-main>div{margin-bottom:27px}.footer-bottom{display:block}.footer-bottom span{display:block;padding-top:9px}.subhero{padding:45px 0 53px;min-height:auto}.subhero h1{font-size:clamp(34px,8.7vw,48px)}.subhero p{font-size:15px}.sub-intro{padding:50px 0;gap:22px}.sub-features{padding:55px 0}.feature-grid{grid-template-columns:1fr}.sub-faq{gap:23px;padding:40px 0}.related{padding-bottom:50px}.contact-grid{grid-template-columns:1fr;gap:12px;margin-bottom:45px}.contact-panel{padding:26px}.contact-panel h2{font-size:26px}.contact-link{font-size:17px}.metal-geometry{opacity:.55;background-size:1400px auto;background-position:top right -630px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.metal-geometry,.hero-mark{transform:none!important;will-change:auto}.btn:hover,.service:hover{transform:none}.btn,.service{transition:none}}
/* Keep the complete, original square visible within the approved hero height. */
@media(min-width:621px){.hero-mark{width:282px;right:14%;top:4px}}

/* Approved billet-aluminum treatment: graphics only. Layout and original navigation logo unchanged. */
.viewport {background:radial-gradient(ellipse 52% 26% at 73% 16%,rgba(40,79,149,.43),transparent 82%),linear-gradient(135deg,#07142c 0%,#081a38 42%,#061329 85%,#040d1c 100%)}
.metal-geometry {opacity:1;background-position:top center;background-size:1600px auto;}
.metal-geometry::after {background:linear-gradient(180deg,transparent 0%,rgba(3,14,32,.05) 50%,rgba(4,13,29,.14) 83%,rgba(3,12,28,.35) 100%)}
.hero-metal-face {background:repeating-linear-gradient(167deg,transparent 0 3px,rgba(225,234,246,.04) 3.2px 3.5px),linear-gradient(128deg,transparent 14%,rgba(63,98,154,.12) 30%,rgba(170,192,218,.17) 44%,rgba(91,121,167,.12) 52%,transparent 74%);}
.hero-mark {filter:brightness(1.04) contrast(1.04) drop-shadow(11px 23px 22px rgba(0,4,19,.6));}
.panel {background:linear-gradient(118deg,rgba(14,35,70,.64),rgba(10,29,62,.49) 51%,rgba(12,31,68,.59));backdrop-filter:blur(12px) saturate(124%);-webkit-backdrop-filter:blur(12px) saturate(124%);box-shadow:0 17px 47px rgba(0,3,17,.28),inset 0 1px rgba(224,237,251,.12)}
@media(max-width:620px){.metal-geometry{background-size:1450px auto;background-position:top right -605px;opacity:.78}}

/* 2026-10-23 approved billet concept: preserve the ORIGINAL uploaded navigation artwork.
   The hero art is an isolated crop of the approved illustration, not a replacement logo. */
:root { --blue:#62a1ff; --border:rgba(118,145,226,.29); }
body { background:#050a1d; }
.viewport {background:radial-gradient(ellipse 55% 23% at 73% 11%,rgba(36,39,131,.43),transparent 84%),radial-gradient(ellipse 65% 48% at 8% 65%,rgba(23,39,102,.34),transparent 79%),linear-gradient(145deg,#06122e 0%,#08132f 44%,#050b22 90%);}
.metal-geometry {opacity:.83; background-size:1700px auto; filter:hue-rotate(14deg) saturate(150%);}
.site-header {background:rgba(3,8,24,.91);border-bottom:1px solid rgba(117,148,230,.19);}
/* unchanged brand image, unchanged image ratio */
.brand-mark {width:auto;object-fit:contain;}
.brand-wordmark {height:auto;object-fit:contain;}
.phone,.btn.primary {background:linear-gradient(115deg,#246bfb 0%,#4647f7 100%);box-shadow:0 4px 20px rgba(54,65,255,.28);}
.hero {height:320px;isolation:isolate;background:radial-gradient(circle at 70% 78%,rgba(41,54,139,.10),transparent 38%);}
.hero .wrap {z-index:5;}
.hero-copy {position:relative;z-index:5;}
.hero-copy>p {color:#e0e9fb;}
.eyebrow,.kicker {color:#58d0ff;}
.hero h1 span,.blue {color:#6b95ff;}
.hero-art {position:absolute;right:0;top:0;width:min(59.5vw,925px);height:100%;z-index:2;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,transparent 0%,#000 13%,#000 99%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 13%,#000 99%);}
.hero-art img {width:100%;height:100%;object-fit:cover;object-position:center;max-width:none;filter:saturate(1.05) contrast(1.04);transform:translate3d(0,var(--logo-shift,0px),0);will-change:transform;}
/* The approved image already contains the distinct milled square and reflections. */
.hero-mark,.hero-metal-face,.hero-faint {display:none;}
.panel {border-color:rgba(116,144,235,.28);background:linear-gradient(115deg,rgba(12,23,62,.81),rgba(12,24,64,.70) 45%,rgba(9,20,57,.80));box-shadow:0 15px 39px rgba(0,3,21,.37),inset 0 1px rgba(179,201,255,.10);backdrop-filter:blur(8px) saturate(125%);-webkit-backdrop-filter:blur(8px) saturate(125%);}
.mini,.service {background:linear-gradient(137deg,rgba(9,21,58,.55),rgba(12,27,69,.42));border-color:rgba(105,140,236,.24);}
.mini .glyph,.service .glyph {color:#6997ff;}
.service:hover {border-color:#7bafff;background:rgba(28,45,104,.73);}
.partner-band {background:linear-gradient(90deg,transparent,rgba(8,15,42,.22),transparent);}
.partner img {filter:grayscale(1) brightness(2);}
/* Further depth from restrained reflected steel, no clouds or decorative clutter. */
.viewport::after {content:"";position:absolute;z-index:-1;top:450px;left:-12%;right:-12%;height:640px;pointer-events:none;background:linear-gradient(155deg,transparent 17%,rgba(80,90,179,.045) 36%,rgba(190,194,241,.045) 37%,transparent 44%),linear-gradient(28deg,transparent 65%,rgba(65,84,160,.075) 69%,transparent 75%);}
@media (max-width:1140px){.hero-art{width:62vw;right:-2vw;}.hero-copy{max-width:580px}.hero .wrap::before{content:"";position:absolute;z-index:-1;left:-15vw;top:0;bottom:0;width:72vw;background:linear-gradient(90deg,rgba(4,9,26,.45),transparent);pointer-events:none}}
@media (max-width:850px){.hero-art{width:71vw;opacity:.57;right:-7vw}.hero-copy{max-width:570px}}
@media (max-width:620px){.hero{min-height:412px;height:auto}.hero-copy{padding-top:37px}.hero-art{width:500px;height:270px;right:-195px;top:144px;opacity:.38;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%)}.hero-art img{object-fit:cover;object-position:center}.hero .wrap{padding-bottom:86px}.panel{backdrop-filter:blur(10px)}.metal-geometry{opacity:.65;background-size:1450px auto;}}
@media(prefers-reduced-motion:reduce){.hero-art img{transform:none!important;will-change:auto}}

/* 2026-10-23: hide the stray “r.” embedded in the LEFT edge of the approved hero artwork.
   This changes only the masked image edge, never the brand logo, metallic square,
   or page layout. Keep the mask solid from 13% onward as before. */
.hero-art {
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 8%, #000 13%, #000 99%);
  mask-image: linear-gradient(90deg, transparent 0%, transparent 8%, #000 13%, #000 99%);
}
@media (max-width: 620px) {
  .hero-art {
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 8%, #000 30%);
    mask-image: linear-gradient(90deg, transparent 0%, transparent 8%, #000 30%);
  }
}





/* VECTOR HERO ASSEMBLY — five exact SVG faces, no raster slices. */
.hero{overflow:visible;background:transparent}
.viewport > main{position:relative;z-index:3}
.fullscreen-logo-motion{position:absolute;inset:0 0 auto;height:100vh;z-index:1;pointer-events:none;overflow:visible}
.logo-assembled{position:absolute;top:80px;right:clamp(130px,22vw,405px);width:clamp(244px,22vw,321px);aspect-ratio:300/310;transform:translate3d(0,var(--logo-shift,0px),0);filter:drop-shadow(12px 18px 17px rgba(0,3,19,.48));isolation:isolate}
.svg-assembly{display:block;width:100%;height:100%;overflow:visible}
.pt-piece{will-change:transform;transform-box:view-box;transform-origin:0 0}
/* Three-beat assembly: LEFT -> TOP -> CENTER.
   All pieces begin fully off-frame and travel into the page.
   Motion starts gently, accelerates through most of the path, then lands hard. */
.pt-left{animation:pt-from-left 560ms cubic-bezier(.18,.02,.92,.29) 0ms both}
.pt-top{animation:pt-from-top 560ms cubic-bezier(.18,.02,.92,.29) 720ms both}
.pt-front{animation:pt-front-entry 620ms cubic-bezier(.18,.02,.92,.29) 1720ms both}
.pt-wall{animation:pt-wall-entry 620ms cubic-bezier(.18,.02,.92,.29) 1720ms both}
.pt-floor{animation:pt-floor-entry 620ms cubic-bezier(.18,.02,.92,.29) 1720ms both}
@keyframes pt-from-left{from{transform:translate3d(calc(var(--pt-left-x,-100vw) - 18vw),10vh,0)}to{transform:translate3d(0,0,0)}}
@keyframes pt-from-top{from{transform:translate3d(10vw,calc(var(--pt-top-y,-100vh) - 16vh),0)}to{transform:translate3d(0,0,0)}}
@keyframes pt-front-entry{from{transform:translate3d(calc(var(--pt-front-x,100vw) + 18vw),2vh,0)}to{transform:translate3d(0,0,0)}}
@keyframes pt-wall-entry{from{transform:translate3d(calc(var(--pt-wall-x,100vw) + 20vw),-6vh,0)}to{transform:translate3d(0,0,0)}}
@keyframes pt-floor-entry{from{transform:translate3d(12vw,calc(var(--pt-floor-y,100vh) + 14vh),0)}to{transform:translate3d(0,0,0)}}
/* Hold glint until the full center beat has landed. */
.pt-glint{opacity:0;animation:pt-glint-visibility 420ms ease 2380ms both}
.pt-glint-band{animation:pt-sweep 420ms linear 2380ms both}
@keyframes pt-glint-visibility{0%,100%{opacity:0}18%{opacity:.42}74%{opacity:.24}}
@keyframes pt-sweep{from{transform:translate3d(-280px,0,0) rotate(18deg)}to{transform:translate3d(570px,0,0) rotate(18deg)}}
@media(max-width:1050px){.logo-assembled{right:6vw;opacity:.68}.hero-copy{max-width:575px}}
@media(max-width:700px){.logo-assembled{top:183px;right:-68px;width:244px;opacity:.29}.hero .wrap{z-index:5}}
@media(prefers-reduced-motion:reduce){.pt-piece{animation:none!important;transform:none!important}.pt-glint{display:none!important}.logo-assembled{transform:none!important}}

/* HERO ALIGNMENT (2026-10-26): positioned by the CONTENT COLUMN, not by the right
   side of the viewport. The 1280px centered site grid's left edge is:
   max(48px, 50vw - 640px). 565px places the vector adjacent to the heading. */
@media (min-width:1200px) {
  .fullscreen-logo-motion .logo-assembled {
    left: calc(max(48px, calc(50vw - 640px)) + 565px);
    right: auto;
  }
}


/* DEPTH + GLASS | October 26, 2026
   Background moves behind the normal-speed content, retaining the exact SVG hero assembly.
   Far metal planes at 24% scroll distance; reflected planes at 13%; fine lines at 7%.
   The positive transforms oppose viewport scrolling, creating deliberate depth. */
.viewport {
  background:
    radial-gradient(ellipse 62% 31% at 69% 9%, rgba(51,62,144,.26), transparent 81%),
    radial-gradient(ellipse 45% 33% at 12% 50%, rgba(26,49,105,.24), transparent 85%),
    linear-gradient(146deg,#060e25 0%,#0a1533 41%,#07132b 72%,#050b1e 100%);
}
/* Distant billet facets. The art itself remains unchanged. */
.metal-geometry {
  opacity:.9;
  transform:translate3d(0,var(--metal-shift,0px),0);
  will-change:transform;
}
/* Mid-plane: restrained brushed-metal reflection, no clouds, no stars. */
.viewport::before {
  content:"";
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(161deg,transparent 5%,rgba(127,162,218,.035) 15%,transparent 26%),
    linear-gradient(156deg,transparent 38%,rgba(114,146,215,.045) 45%,rgba(175,192,240,.055) 45.25%,transparent 56%),
    linear-gradient(19deg,transparent 58%,rgba(80,119,198,.034) 66%,transparent 71%);
  background-size:100% 1520px;
  background-repeat:no-repeat;
  transform:translate3d(0,var(--reflection-shift,0px),0);
  will-change:transform;
}
/* Close fine reflection edges: a third speed emphasizes depth during scroll. */
.viewport::after {
  content:"";
  position:absolute;z-index:-1;top:365px;left:-10%;right:-10%;height:1310px;
  pointer-events:none;
  background:
    linear-gradient(151deg,transparent 23%,rgba(165,199,239,.085) 23.12%,transparent 23.35%),
    linear-gradient(154deg,transparent 27%,rgba(59,111,221,.065) 27.1%,transparent 27.34%),
    linear-gradient(26deg,transparent 61%,rgba(141,169,220,.062) 61.11%,transparent 61.29%);
  transform:translate3d(0,var(--highlight-shift,0px),0);
  will-change:transform;
}
/* Clear polished-glass sections: legible text against translucent surfaces. */
.panel {
  border-color:rgba(146,177,250,.36);
  background:
    linear-gradient(122deg,
      rgba(28,48,99,.51) 0%,
      rgba(12,29,73,.40) 42%,
      rgba(11,25,64,.52) 100%);
  -webkit-backdrop-filter:blur(15px) saturate(125%);
  backdrop-filter:blur(15px) saturate(125%);
  box-shadow:
    0 18px 49px rgba(0,4,23,.28),
    inset 0 1px 0 rgba(218,231,255,.19),
    inset 0 -1px 0 rgba(57,84,158,.09);
}
.panel::before {
  background:linear-gradient(90deg,transparent 0%,rgba(205,221,253,.31) 43%,transparent 100%);
}
.mini,.service {
  background:linear-gradient(141deg,rgba(11,25,62,.39),rgba(12,31,74,.26));
  border-color:rgba(135,167,249,.29);
  box-shadow:inset 0 1px 0 rgba(212,229,255,.075);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.service:hover,.mini:hover {
  background:linear-gradient(141deg,rgba(24,48,98,.57),rgba(16,37,81,.46));
  border-color:rgba(134,184,255,.66);
}
.partner-band {
  background:linear-gradient(90deg,rgba(14,31,73,.1),rgba(11,29,69,.28),rgba(14,31,73,.1));
}
/* Apply the same visual language throughout service/about/contact pages. */
.feature,.editorial-box,.contact-panel,.bottom-cta {
  border-color:rgba(141,179,244,.31);
  background:linear-gradient(129deg,rgba(28,49,92,.43),rgba(12,28,65,.38) 56%,rgba(9,24,57,.46));
  -webkit-backdrop-filter:blur(13px) saturate(120%);
  backdrop-filter:blur(13px) saturate(120%);
  box-shadow:0 15px 38px rgba(0,4,20,.22),inset 0 1px 0 rgba(201,222,253,.12);
}
.related-links a,.faq-items details[open] {
  background:rgba(20,42,86,.19);
  -webkit-backdrop-filter:blur(5px);
  backdrop-filter:blur(5px);
}
@media (max-width:700px) {
  /* Less blur work on mobile; the same glass feel without distracting artifacts. */
  .panel,.feature,.editorial-box,.contact-panel,.bottom-cta {
    -webkit-backdrop-filter:blur(9px) saturate(118%);
    backdrop-filter:blur(9px) saturate(118%);
  }
  .metal-geometry,.viewport::before,.viewport::after {will-change:auto;}
}
@media (prefers-reduced-motion:reduce) {
  .metal-geometry,.viewport::before,.viewport::after {
    transform:none!important;
    will-change:auto!important;
  }
}
