:root { --ink:#101311; --paper:#f1f0ea; --acid:#c7ff25; --line:rgba(16,19,17,.18); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,"Helvetica Neue",sans-serif; } a { color:inherit; text-decoration:none; }
.siteHeader { height:56px; display:flex; align-items:center; padding:0 18px; position:absolute; z-index:10; left:2.5vw; right:2.5vw; top:18px; width:auto; background:rgba(255,255,255,.94); border-radius:7px; box-shadow:0 2px 16px rgba(0,0,0,.08); }.brandLogo { display:block; width:122px; line-height:0; }.brandLogo img { width:100%; height:auto; display:block; } nav { display:flex; gap:28px; margin-left:auto; } nav a { font-size:12px; letter-spacing:.12em; font-weight:600; }.menuButton { display:none; width:30px; height:30px; margin-left:auto; border:0; background:transparent; padding:7px 4px; }.menuButton span { display:block; width:100%; height:1px; background:#222; margin:4px 0; }
.hero { min-height:720px; padding:0 5vw 58px; position:relative; overflow:hidden; color:#fff; display:flex; align-items:flex-end; background:url('/fader-hero-poster.png') center/cover no-repeat; }.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(5,13,20,.12) 28%,rgba(5,13,20,.72) 100%);pointer-events:none}.heroVideo{position:absolute;inset:0;width:100%;height:100%;z-index:0;object-fit:cover;object-position:center;border:0;pointer-events:none}.heroContent { position:relative; z-index:2; max-width:820px; }.heroTag,.sectionLabel { font-size:12px; letter-spacing:.16em; font-weight:600; }.hero h1 { margin:16px 0 18px; font-size:clamp(42px,5vw,64px); line-height:1.18; letter-spacing:-.045em; font-weight:650; }.heroContent>p:last-child { margin:0; font-size:16px; line-height:1.8; font-weight:500; }.heroScroll { position:absolute; right:5vw; bottom:58px; z-index:2; font-size:12px; letter-spacing:.14em; display:flex; gap:12px; align-items:center; }.heroScroll span { font-size:18px; }
.heroAnimatedLine{display:block}.heroAnimatedChar{display:inline-block;opacity:0;transform:translateY(.28em);filter:blur(4px)}.heroHeadline.isPlaying .heroAnimatedChar{animation:heroCharacterReveal .48s cubic-bezier(.22,.8,.22,1) var(--char-delay) forwards}@keyframes heroCharacterReveal{to{opacity:1;transform:translateY(0);filter:blur(0)}}
.mobileHeadlineBreak{display:none}@media(max-width:760px){.mobileHeadlineBreak{display:block}.hero h1{font-size:26px;line-height:1.32}}
.statement { min-height:600px; padding:112px 8vw 118px; position:relative; overflow:hidden; background:#fff; }.statementGrid { display:grid; grid-template-columns:1.15fr .85fr; gap:9vw; margin-top:50px; position:relative; z-index:2; }.statement h2,.sectionHead h2,.cta h2 { font-size:clamp(32px,3.4vw,46px); line-height:1.35; letter-spacing:-.04em; margin:0; font-weight:650; }.statementGrid>div { padding-top:3px; max-width:520px; }.statement .lead { font-size:21px; font-weight:650; line-height:1.65; letter-spacing:-.02em; }.statementGrid>div>p:nth-child(2) { font-size:15px; line-height:2; color:#4f534f; margin:22px 0 28px; }.smallCta { display:inline-flex; align-items:center; gap:42px; background:#477bff; color:white; border-radius:30px; padding:13px 20px; font-size:14px; font-weight:600; letter-spacing:.05em; }.smallCta span { font-size:16px; }.watermark { position:absolute; right:7vw; bottom:-170px; font-size:500px; font-weight:800; line-height:1; color:#f2f3f3; z-index:1; }
.services { padding:100px 5vw 0; color:#fff; background:#171a19; }.serviceShowcase { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:6vw; max-width:1200px; min-height:510px; margin:0 auto 78px; padding:56px; position:relative; overflow:hidden; border-radius:6px; background-size:cover; background-position:center; transition:background-image .35s ease; }.serviceShowcase:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.38)); pointer-events:none; }.serviceTitle,.serviceDetails { position:relative; z-index:1; }.serviceTitle h2 { margin:0; max-width:520px; font-size:clamp(34px,3.8vw,52px); line-height:1.25; letter-spacing:-.045em; }.serviceDetails { padding:0 0 4px; }.serviceKicker { margin:42px 0 12px; color:rgba(255,255,255,.58); font-size:12px; letter-spacing:.14em; font-weight:700; }.serviceLead { margin:0; font-size:19px; line-height:1.65; font-weight:650; }.sectionHead { display:grid; grid-template-columns:.7fr 1.3fr; align-items:start; max-width:1120px; margin:0 auto 70px; }.sectionHead h2 { font-size:clamp(32px,3.3vw,44px); }.sectionCopy { max-width:560px; font-size:15px; line-height:1.9; color:rgba(255,255,255,.8); margin:18px 0 0; }.serviceList { display:grid; grid-template-columns:repeat(4,1fr); margin:0 -5vw; background:#fff; }.service { appearance:none; font:inherit; min-height:150px; padding:28px 22px; color:var(--ink); background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:0; border-right:1px solid #e7e7e7; border-bottom:1px solid #e7e7e7; cursor:pointer; transition:background .22s ease,color .22s ease; }.service:hover,.service:focus-visible,.service.active { background:#eef2ff; outline:none; }.service.active { box-shadow:inset 0 3px 0 #477bff; }.serviceEn { margin:0; font-size:18px; letter-spacing:.02em; color:#c1c5c2; font-weight:500; transition:color .22s ease; }.service.active .serviceEn { color:#477bff; }.service h3 { font-size:15px; margin:8px 0 0; letter-spacing:-.01em; font-weight:600; }
.works { background:#f1f1f1; color:var(--ink); padding:95px 5vw 105px; }.sectionHead.light { grid-template-columns:.7fr 1.3fr .7fr; align-items:end; }.light .sectionLabel { color:#707572; align-self:start; }.light a { font-size:14px; border-bottom:1px solid #444; padding-bottom:6px; justify-self:end; }.projectGrid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#dadada; border:1px solid #dadada; }.project { min-height:340px; padding:26px; color:var(--ink); background:#fff!important; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; }.projectTop { display:flex; justify-content:space-between; font-size:12px; letter-spacing:.12em; color:#777; }.projectMark { align-self:center; font-size:92px; font-weight:650; line-height:.85; letter-spacing:-.08em; color:#edf0ee; }.project h3 { margin:0 0 8px; font-size:24px; letter-spacing:-.03em; font-weight:600; }.project p { margin:0; font-size:14px; color:#676b68; }
.cta { margin:70px 5vw; padding:48px 52px; position:relative; background:#333735; color:white; border-radius:6px; display:flex; align-items:end; justify-content:space-between; overflow:hidden; }.cta:after { content:"F"; position:absolute; right:13%; bottom:-125px; font-size:330px; line-height:1; font-weight:800; color:rgba(255,255,255,.06); }.cta>div,.cta>a { position:relative; z-index:2; }.cta h2 { font-size:clamp(28px,3vw,38px); margin:18px 0 17px; }.cta>div>p:last-child { font-size:15px; line-height:1.8; color:#c8cbc9; }.cta>a { display:flex; align-items:center; justify-content:space-between; background:#477bff; color:white; border-radius:28px; padding:15px 20px; width:240px; font-size:14px; font-weight:600; }.cta>a b { font-size:18px; font-weight:400; } footer { border-top:1px solid var(--line); padding:46px 5vw 30px; display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:start; gap:36px; background:#f4f4f4; }.footerLogo { width:132px; } footer p { margin:3px 0; font-size:12px; line-height:1.8; color:#5f635f; }.copyright { align-self:end; }
@media(max-width:760px){.siteHeader{height:48px;left:12px;right:12px;top:10px;padding:0 12px}.brandLogo{width:100px}.siteHeader nav{display:none}.menuButton{display:block}.hero{min-height:560px;padding:0 6vw 42px;background-position:center 45%}.hero h1{font-size:38px;line-height:1.25;margin:13px 0 14px}.heroTag,.sectionLabel{font-size:11px}.heroContent>p:last-child{font-size:14px}.heroScroll{display:none}.statement{min-height:520px;padding:72px 6vw 80px}.statementGrid,.sectionHead{grid-template-columns:1fr;gap:34px}.statement h2,.sectionHead h2{font-size:30px;line-height:1.4}.statement .lead{font-size:19px}.statementGrid>div>p:nth-child(2){font-size:14px}.watermark{font-size:300px;right:-10vw;bottom:-100px}.services{padding:72px 6vw 0}.serviceShowcase{grid-template-columns:1fr;align-content:end;min-height:480px;gap:22px;padding:28px;margin-bottom:48px}.serviceTitle h2{font-size:30px}.serviceKicker{margin:24px 0 9px}.serviceDetails{padding:0}.serviceLead{font-size:17px}.sectionHead{margin-bottom:48px}.sectionCopy{font-size:14px}.serviceList{grid-template-columns:repeat(2,1fr);margin:0 -6vw}.service{min-height:132px;padding:20px 12px}.serviceEn{font-size:15px}.service h3{font-size:14px}.works{padding:72px 6vw 80px}.sectionHead.light{grid-template-columns:1fr}.light a{justify-self:start}.projectGrid{grid-template-columns:1fr}.project{min-height:280px}.projectMark{font-size:72px}.cta{margin:44px 4vw;padding:38px 28px;display:block}.cta h2{font-size:28px}.cta>div>p:last-child{font-size:14px}.cta>a{margin-top:30px;width:100%}footer{grid-template-columns:1fr;padding:40px 6vw 26px}footer p{font-size:12px}.footerLogo{width:112px}.copyright{grid-column:1/-1}}
.serviceShowcase{display:flex;align-items:flex-end}.serviceContent{position:relative;z-index:1;width:min(520px,56%)}.serviceContent h2{margin:0;font-size:clamp(34px,3.8vw,52px);line-height:1.25;letter-spacing:-.045em}.serviceContent .serviceLead{margin-top:26px}
@media(max-width:760px){.serviceShowcase{display:flex;min-height:480px;padding:28px}.serviceContent{width:100%}.serviceContent h2{font-size:30px}.serviceContent .serviceLead{margin-top:20px}}
.serviceShowcase.integrated{display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;gap:54px;min-height:610px;padding:48px}.servicePicker,.integrated .serviceDetails{position:relative;z-index:1}.servicePicker{display:flex;flex-direction:column}.servicePicker>.sectionLabel{margin:0 0 24px}.integrated .serviceList{display:grid;grid-template-columns:repeat(2,1fr);margin:0;background:rgba(8,11,12,.5);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}.integrated .service{min-height:78px;padding:12px 14px;align-items:flex-start;text-align:left;color:#fff;background:transparent;border-color:rgba(255,255,255,.14)}.integrated .service:hover,.integrated .service:focus-visible,.integrated .service.active{background:rgba(71,123,255,.78)}.integrated .service.active{box-shadow:none}.integrated .serviceEn{font-size:11px;color:rgba(255,255,255,.52)}.integrated .service.active .serviceEn{color:#fff}.integrated .service h3{font-size:13px;margin-top:5px}.integrated .serviceDetails{align-self:end;padding:32px 0}.integrated .serviceDetails h2{margin:0;font-size:clamp(34px,3.7vw,50px);line-height:1.25;letter-spacing:-.045em}.integrated .serviceKicker{margin:0 0 12px}.integrated .serviceLead{margin-top:28px}
@media(max-width:760px){.serviceShowcase.integrated{display:grid;grid-template-columns:1fr;gap:28px;min-height:0;padding:24px}.integrated .serviceList{grid-template-columns:repeat(2,1fr)}.integrated .service{min-height:72px;padding:10px}.integrated .serviceDetails{padding:8px 0 12px}.integrated .serviceDetails h2{font-size:30px}.integrated .serviceLead{margin-top:20px}}
.services{padding:0;color:#fff;background:#dce6eb}.serviceShowcase.integrated{max-width:none;width:100%;min-height:720px;margin:0;padding:92px 5vw;border-radius:0;background-position:center;background-size:cover}.serviceShowcase.integrated:after{background:linear-gradient(180deg,rgba(5,8,10,.04),rgba(5,8,10,.18))}.integrated .servicePicker,.integrated .serviceDetails{width:100%;max-width:620px}.integrated .servicePicker{justify-self:end}.integrated .serviceDetails{justify-self:start;background:rgba(8,12,14,.28);backdrop-filter:blur(5px);padding:34px;border-radius:4px;text-shadow:0 1px 12px rgba(0,0,0,.28)}
@media(max-width:760px){.serviceShowcase.integrated{min-height:0;padding:64px 6vw;background-position:center}.integrated .servicePicker,.integrated .serviceDetails{max-width:none}}
.aboutLogoBg{position:absolute;width:min(620px,48vw);height:auto;left:6vw;top:50%;transform:translateY(-42%);opacity:.065;filter:grayscale(1) contrast(.8);mix-blend-mode:multiply;pointer-events:none;user-select:none}.statement>.sectionLabel{position:relative;z-index:2}
.aboutNetworkBg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;filter:grayscale(1) contrast(1.12);pointer-events:none;user-select:none}.statement:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.63) 48%,rgba(255,255,255,.22) 100%);pointer-events:none}.statement>.sectionLabel{position:relative;z-index:2}.statement>.sectionScroll{z-index:2}
@media(max-width:760px){.aboutLogoBg{width:118vw;left:-22vw;top:44%;opacity:.055}}
@media(max-width:760px){.aboutNetworkBg{object-position:65% center}.statement:after{background:rgba(255,255,255,.72)}}
.estimateWidget{--estimate-open:0;position:fixed;right:24px;bottom:24px;z-index:50;width:calc(58px + 292px * var(--estimate-open));height:calc(58px + 372px * var(--estimate-open));border-radius:calc(29px - 19px * var(--estimate-open));background:#fff;box-shadow:0 18px 55px rgba(7,14,19,calc(.18 + .14 * var(--estimate-open)));overflow:hidden;transition:border-radius .1s linear}.estimateIcon{position:absolute;right:0;bottom:0;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#477bff;color:#fff;font-size:14px;font-weight:800;letter-spacing:.08em;box-shadow:0 8px 22px rgba(71,123,255,.38);transform:scale(calc(1 - .26 * var(--estimate-open)));opacity:calc(1 - var(--estimate-open));pointer-events:none}.estimateIcon i{position:absolute;width:9px;height:9px;right:2px;top:2px;border-radius:50%;background:var(--acid);border:2px solid #fff}.estimatePanel{height:100%;display:flex;flex-direction:column;opacity:clamp(0,calc((var(--estimate-open) - .28) * 1.8),1);transform:translateY(calc(16px * (1 - var(--estimate-open))));pointer-events:none}.estimateHeader{padding:22px 22px 18px;background:#171a19;color:#fff;display:flex;align-items:center;justify-content:space-between}.estimateHeader div{display:flex;flex-direction:column;gap:5px}.estimateHeader small{font-size:9px;letter-spacing:.14em;color:#9ba4a0}.estimateHeader strong{font-size:17px}.estimateHeader>span{font-size:9px;padding:5px 8px;border:1px solid rgba(255,255,255,.25);border-radius:20px;color:#cbd0cd}.estimateBody{flex:1;padding:18px;background:#f3f5f4;display:flex;flex-direction:column;gap:14px}.botBubble{margin:0;width:92%;padding:14px 15px;border-radius:4px 14px 14px 14px;background:#fff;color:#303532;font-size:12px;line-height:1.7;box-shadow:0 3px 14px rgba(0,0,0,.05)}.estimateOptions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.estimateOptions span{padding:10px 8px;border:1px solid #d8ddda;border-radius:5px;background:#fff;color:#444a46;font-size:11px;text-align:center}.estimateInput{margin-top:auto;height:45px;padding:0 9px 0 14px;border:1px solid #d7dcda;border-radius:24px;background:#fff;display:flex;align-items:center;justify-content:space-between;color:#969c98;font-size:11px}.estimateInput b{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#477bff;color:#fff;font-size:15px}.estimateBody>small{text-align:center;color:#9aa09c;font-size:9px}
@media(max-width:760px){.estimateWidget{right:14px;bottom:14px;width:calc(54px + (min(92vw,340px) - 54px) * var(--estimate-open));height:calc(54px + 376px * var(--estimate-open));border-radius:calc(27px - 17px * var(--estimate-open))}.estimateIcon{width:54px;height:54px}.estimateHeader{padding:18px}.estimateBody{padding:15px}}
.sectionHead.light{grid-template-columns:1fr auto}.sectionHead.light .sectionLabel{align-self:end}.sectionHead.light a{grid-column:2}
@media(max-width:760px){.sectionHead.light{grid-template-columns:1fr}.sectionHead.light a{grid-column:1}}
.milestone{padding:92px 8vw;background:#477bff;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.milestone>div:first-child{display:flex;flex-direction:column;gap:22px}.milestone h2{margin:0;display:flex;align-items:flex-end;line-height:.78}.milestone h2 strong{font-size:clamp(112px,15vw,210px);letter-spacing:-.09em;font-weight:700}.milestone h2 span{font-size:30px;margin:0 0 12px 14px}.milestone h3{margin:0 0 24px;font-size:clamp(28px,3vw,42px);line-height:1.35;letter-spacing:-.035em}.milestone>div:last-child>p{max-width:540px;margin:0;font-size:15px;line-height:2;color:rgba(255,255,255,.82)}.projectFilters{display:flex;gap:9px;margin:-30px 0 36px}.projectFilters button{appearance:none;border:1px solid #cfd3d0;background:transparent;color:#555b57;border-radius:24px;padding:10px 18px;font:600 12px/1 Arial,sans-serif;cursor:pointer;transition:.2s}.projectFilters button:hover,.projectFilters button:focus-visible,.projectFilters button.active{background:#171a19;color:#fff;border-color:#171a19;outline:none}.projectGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.project{min-height:310px;padding:20px}.projectMark{font-size:72px}.project h3{font-size:21px}.project p{font-size:12px;line-height:1.55}
@media(max-width:980px){.projectGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.milestone{padding:70px 6vw;grid-template-columns:1fr;gap:46px}.milestone h2 strong{font-size:118px}.milestone h2 span{font-size:22px}.projectFilters{margin:-18px 0 28px;flex-wrap:wrap}.projectFilters button{padding:9px 14px}.projectGrid{grid-template-columns:1fr}.project{min-height:270px}}
.pageLoader{animation:loaderExit .25s ease 2.75s forwards}.pageLoader p{animation:loaderName .3s ease 2.55s forwards}.fLine.vertical{animation:drawVertical 1s linear forwards}.fLine.top{animation:drawHorizontal 1s linear 1s forwards}.fLine.middle{animation:drawHorizontal 1s linear 2s forwards}.faderKnob{animation:faderPathTimed 3s linear forwards}@keyframes faderPathTimed{0%{transform:translate(0,0)}32.8%{transform:translate(0,134px)}33%{transform:translate(0,0)}66.1%{transform:translate(129px,0)}66.3%{transform:translate(0,66px)}100%{transform:translate(88px,66px)}}
@media(prefers-reduced-motion:reduce){.pageLoader{animation:loaderExit .2s ease .35s forwards}.fLine.vertical,.fLine.top,.fLine.middle,.faderKnob{animation:none}}
.serviceShowcase .serviceMilestone{left:5vw;right:5vw;bottom:24px;height:56px;border:1px solid rgba(255,255,255,.18);border-radius:3px;background:rgba(7,11,13,.66)}.serviceAchievementTrack{animation:serviceAchievementFlow 28s linear infinite}.serviceAchievementTrack span{font-size:clamp(13px,1vw,16px);font-weight:600;padding-right:7vw;letter-spacing:.04em}
@media(max-width:760px){.serviceShowcase .serviceMilestone{left:6vw;right:6vw;bottom:16px;height:50px}.serviceAchievementTrack{animation-duration:24s}.serviceAchievementTrack span{font-size:12px;padding-right:44px}}

:root{--paper:#fff}.siteHeader{background:#fff;backdrop-filter:none}footer{background:#fff}.statement,.aboutPage,.aboutHero,.aboutValues,.pageLoader,.faderKnob{background:#fff}.project{background:#fff!important}.estimateOptions span,.botBubble,.estimateInput{background:#fff}
.estimateSection{min-height:760px}.estimateSectionInner{min-height:760px}.estimateSection .estimatePanel{height:540px;pointer-events:auto}.estimateSection .estimateBody{overflow:auto}.estimateOptions button{appearance:none;padding:11px 9px;border:1px solid #d8ddda;border-radius:6px;background:#fff;color:#444a46;font:600 11px/1.45 inherit;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease}.estimateOptions button:hover,.estimateOptions button:focus-visible,.estimateOptions button.active{border-color:var(--blue);background:var(--blue);color:#fff}.estimateOptions button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.guideResult{padding:14px;border:1px solid #d7dce5;border-radius:8px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:12px}.guideResult p{margin:0;display:flex;flex-direction:column;gap:5px}.guideResult>div{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;padding-top:11px;border-top:1px solid #e2e5e9}.guideResult span{font-size:9px;font-weight:700;letter-spacing:.08em;color:#777f86}.guideResult strong{font-size:14px;color:#20262a}.guideResult b{font-size:11px;line-height:1.65;color:#464d52}.estimateInput input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#30363a;font:inherit}.estimateInput input::placeholder{color:#969c98}.estimateInput button{width:31px;height:31px;flex:0 0 auto;border:0;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:15px;cursor:pointer}
@media(max-width:760px){.estimateSection,.estimateSectionInner{min-height:900px}.estimateSection .estimatePanel{height:560px}.estimateOptions button{font-size:10px;padding:10px 7px}}
.newsStripArticle strong{justify-self:start;width:fit-content;max-width:100%}

/* Final contact treatment: keep this after palette overrides. */
body .cta{background:linear-gradient(135deg,#edf2ff 0%,#f8faff 48%,#fff 100%);color:#15191c;border:1px solid #dce4f7;box-shadow:0 18px 50px rgba(46,75,140,.1)}body .cta .sectionLabel{color:#4268e8}body .cta h2{color:#15191c}body .cta>div>p:last-child{color:#515b65}body .cta:after{color:rgba(66,104,232,.065)}body .cta>a{background:#4268e8;color:#fff;box-shadow:0 10px 28px rgba(66,104,232,.24)}

/* Structured corporate footer */
footer.siteFooter{display:block;padding:0 8vw;background:#f3f4f4;border-top:1px solid #e0e3e3;color:var(--ink)}.footerMain{min-height:420px;padding:82px 0 62px;display:grid;grid-template-columns:minmax(360px,1.55fr) minmax(190px,.65fr) minmax(170px,.55fr);gap:8vw}.footerIdentity .footerLogo{display:block;width:210px;margin-bottom:44px}.footerIdentity p{margin:0 0 24px;font-size:13px;line-height:1.9;color:#4f5659}.footerIdentity a:hover,.footerIdentity a:focus-visible{text-decoration:underline;text-underline-offset:4px}.footerColumn{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.footerColumn h2{margin:0 0 13px;font-size:17px;letter-spacing:.02em}.footerColumn a{font-size:13px;font-weight:600;color:#3d4447;transition:color .2s ease}.footerColumn a:hover,.footerColumn a:focus-visible{color:var(--blue);outline:none}.footerBottom{border-top:1px solid #d4d8d8;padding:20px 0 28px}.footerBottom p{margin:0;font-size:11px;font-weight:600;color:#596064}
@media(max-width:760px){footer.siteFooter{padding:0 6vw}.footerMain{min-height:0;padding:62px 0 48px;grid-template-columns:1fr;gap:44px}.footerIdentity .footerLogo{width:170px;margin-bottom:32px}.footerColumn{gap:15px}.footerColumn h2{margin-bottom:8px}.footerBottom{padding:18px 0 24px}}
.footerCompanyName{display:block;margin:0 0 12px;font-size:16px;line-height:1.6;font-weight:750;color:var(--ink)}.footerBottom{text-align:center}.footerBottom p{font-weight:750}

/* Contact page */
.contactPage{background:#fff}.contactHero{min-height:520px;padding:180px 8vw 90px;background:linear-gradient(135deg,#edf2ff 0%,#fff 70%);display:flex;flex-direction:column;justify-content:flex-end}.contactHero h1{margin:20px 0 26px;font-size:clamp(56px,7vw,94px);line-height:1;letter-spacing:-.06em}.contactHero>p:last-child{margin:0;max-width:780px;font-size:16px;line-height:2;color:#505960}.contactFormSection{padding:110px 8vw 130px;display:grid;grid-template-columns:.55fr 1.25fr;gap:9vw;align-items:start}.contactGuide{position:sticky;top:120px}.contactGuide h2{margin:22px 0 28px;font-size:clamp(34px,4vw,52px);line-height:1.35;letter-spacing:-.045em}.contactGuide>p:not(.sectionLabel){font-size:13px;line-height:1.9;color:#5b6468}.contactGuide>p:last-child{margin-top:28px}.contactGuide a{text-decoration:underline;text-underline-offset:4px}.contactForm{border-top:1px solid var(--line)}.contactForm fieldset{margin:0;padding:30px 0;border:0;border-bottom:1px solid var(--line)}.contactForm legend,.formRow>span{font-size:13px;font-weight:700}.contactForm legend span,.formRow b{margin-left:9px;color:var(--blue);font-size:10px}.formRow em{margin-left:9px;color:#8a9296;font-size:10px;font-style:normal}.inquiryChoices{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.inquiryChoices label{position:relative}.inquiryChoices input{position:absolute;opacity:0}.inquiryChoices span{display:block;padding:15px 16px;border:1px solid #d9dfe3;border-radius:4px;font-size:12px;cursor:pointer;transition:.2s}.inquiryChoices input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff}.inquiryChoices input:focus-visible+span{outline:3px solid #a9baff;outline-offset:2px}.formRow{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:start;padding:28px 0;border-bottom:1px solid var(--line)}.formRow>span{padding-top:14px}.formRow input,.formRow textarea{width:100%;border:1px solid #d9dfe3;border-radius:4px;background:#f8f9fa;color:var(--ink);font:inherit;font-size:14px;padding:14px 16px;outline:none}.formRow textarea{resize:vertical;line-height:1.8}.formRow input:focus,.formRow textarea:focus{background:#fff;border-color:var(--blue);box-shadow:0 0 0 3px rgba(66,104,232,.1)}.consent{display:flex;gap:12px;align-items:flex-start;margin:30px 0;font-size:12px;line-height:1.7;color:#555e62}.consent input{margin-top:4px;accent-color:var(--blue)}.contactSubmit{width:100%;min-height:58px;border:0;border-radius:30px;padding:0 24px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:space-between;font:700 14px/1 inherit;cursor:pointer;box-shadow:0 10px 28px rgba(66,104,232,.24)}.contactSubmit:hover,.contactSubmit:focus-visible{background:#3158d7;outline:none}.contactSubmit b{font-size:18px;font-weight:400}.formNote{text-align:center;font-size:10px;color:#8b9295;margin:14px 0 0}
.requestFlow{padding:72px 8vw 76px;background:#f5f7fa;border-bottom:1px solid #e1e6ea;overflow:hidden}.requestFlowInner{width:min(1320px,100%);margin:0 auto}.requestFlowHead{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:6vw;align-items:end;margin-bottom:36px}.requestFlowHead h2{margin:14px 0 0;font-size:clamp(30px,3.4vw,46px);line-height:1.35;letter-spacing:-.04em}.requestFlowHead>p{margin:0;max-width:500px;font-size:13px;line-height:1.85;color:#596267}.requestFlowList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:1px;background:#dfe4e8;list-style:none}.requestFlowList li{box-sizing:border-box;position:relative;min-width:0;min-height:158px;padding:21px 22px 20px;background:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:20px;overflow-wrap:anywhere}.requestFlowList li>span{color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.12em}.requestFlowList h3{margin:0 0 8px;font-size:16px;line-height:1.45;letter-spacing:-.02em}.requestFlowList p{margin:0;color:#626b70;font-size:11px;line-height:1.7}.requestFlowList li:not(:nth-child(3n)):after{content:'→';position:absolute;z-index:2;right:-9px;top:20px;width:18px;height:18px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:9px}.homeRequestFlow+.cta{margin-top:54px}
.turnstileGuard{display:grid;grid-template-columns:180px minmax(0,1fr);gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.turnstileGuide{display:flex;align-items:center;gap:10px;min-width:0}.turnstileGuide p{margin:0}.turnstileGuide strong,.turnstileGuide small{display:block}.turnstileGuide strong{font-size:13px;line-height:1.5;color:#31383c}.turnstileGuide small{margin-top:3px;font-size:10px;line-height:1.55;color:#747d82}.turnstileShield{position:relative;flex:0 0 27px;width:27px;height:31px;border:1.5px solid #7d8b92;border-radius:12px 12px 14px 14px;background:#fff;clip-path:polygon(50% 0,100% 16%,92% 72%,50% 100%,8% 72%,0 16%)}.turnstileShield:after{content:"";position:absolute;left:8px;top:8px;width:8px;height:5px;border-left:1.5px solid var(--blue);border-bottom:1.5px solid var(--blue);transform:rotate(-45deg)}.turnstileControl{display:flex;align-items:center;width:100%;min-height:88px;padding:11px 14px;border:1px solid #d9dfe3;border-radius:6px;background:#f8f9fa}.turnstileGuard .cf-turnstile{width:100%;margin:0}.turnstileGuard .cf-turnstile iframe{width:100%!important}.contactForm .consent{margin-left:204px}
.contactSuccessModal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:24px;background:rgba(9,14,18,.48);backdrop-filter:blur(7px);opacity:0;transition:opacity .25s ease}.contactSuccessModal.isVisible{opacity:1}.contactSuccessModal.isClosing{opacity:0}.contactSuccessDialog{width:min(520px,100%);padding:46px 42px 38px;border-radius:16px;background:#fff;text-align:center;box-shadow:0 28px 80px rgba(8,15,24,.24);transform:translateY(12px) scale(.98);transition:transform .3s ease}.contactSuccessModal.isVisible .contactSuccessDialog{transform:none}.contactSuccessIcon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 22px;border-radius:50%;background:var(--blue);color:#fff;font-size:23px}.contactSuccessDialog h2{margin:14px 0 16px;font-size:clamp(25px,4vw,34px);letter-spacing:-.04em}.contactSuccessDialog>p:not(.sectionLabel){margin:0;color:#596166;font-size:13px;line-height:1.9}.contactSuccessDialog button{min-width:160px;margin-top:28px;padding:13px 24px;border:0;border-radius:24px;background:#11181c;color:#fff;font:700 12px/1 inherit;cursor:pointer}.contactSuccessDialog button:hover,.contactSuccessDialog button:focus-visible{background:var(--blue);outline:none}
@media(max-width:760px){.contactHero{min-height:440px;padding:130px 6vw 64px}.contactHero h1{font-size:48px}.contactHero>p:last-child{font-size:14px}.contactFormSection{padding:76px 6vw 90px;grid-template-columns:1fr;gap:52px}.contactGuide{position:static}.contactGuide h2{font-size:31px}.inquiryChoices{grid-template-columns:1fr}.formRow{grid-template-columns:1fr;gap:12px;padding:22px 0}.formRow>span{padding-top:0}.turnstileGuard{grid-template-columns:1fr;gap:13px;padding:22px 0}.turnstileControl{min-height:80px;padding:8px}.turnstileGuard .cf-turnstile{max-width:100%;overflow:hidden}.contactForm .consent{margin-left:0}}
@media(max-width:980px) and (min-width:761px){.requestFlow{padding-left:6vw;padding-right:6vw}.requestFlowHead{grid-template-columns:1fr;gap:24px}.requestFlowList{grid-template-columns:repeat(2,minmax(0,1fr))}.requestFlowList li:not(:nth-child(3n)):after{display:none}}
@media(max-width:760px){.requestFlow{padding:58px 6vw 62px}.requestFlowHead{grid-template-columns:1fr;gap:18px;margin-bottom:28px}.requestFlowHead h2{font-size:28px}.requestFlowHead>p{font-size:12px}.requestFlowList{grid-template-columns:1fr}.requestFlowList li{min-height:0;padding:19px 18px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px}.requestFlowList li>span{padding-top:3px}.requestFlowList h3{font-size:15px}.requestFlowList li:not(:nth-child(3n)):after{display:none}.homeRequestFlow+.cta{margin-top:40px}}

/* Section-to-section scroll cues */
.statement,.services,.works{position:relative}.sectionScroll{position:absolute;right:5vw;bottom:26px;z-index:6;display:flex;align-items:center;gap:12px;color:#30373a;font-size:11px;font-weight:650;letter-spacing:.14em;line-height:1;padding:10px 0;border-bottom:1px solid rgba(48,55,58,.45)}.sectionScroll span{font-size:17px;transition:transform .2s ease}.sectionScroll:hover span,.sectionScroll:focus-visible span{transform:translateY(3px)}.sectionScroll:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.sectionScrollLight{color:#fff;border-color:rgba(255,255,255,.6)}.services>.sectionScroll{bottom:88px}.cta>a.sectionScroll{right:28px;bottom:14px;width:auto;padding:8px 0;background:transparent;color:#30373a;border-radius:0;border-bottom:1px solid rgba(48,55,58,.45);box-shadow:none;font-size:10px}.works{padding-bottom:142px}.cta{padding-bottom:70px}
@media(max-width:760px){.sectionScroll{right:6vw;bottom:18px}.services>.sectionScroll{bottom:70px}.works{padding-bottom:116px}.cta{padding-bottom:76px}.cta>a.sectionScroll{right:22px;bottom:13px;margin:0;width:auto}.statement{padding-bottom:104px}}

/* Compact homepage news strip */
.newsStrip{min-height:150px;padding:30px 5vw 32px;background:#f1f3f4;border-top:1px solid #dfe3e4;border-bottom:1px solid #dfe3e4}.newsStripHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.newsStripHead p{margin:0}.newsStripMore{font-size:11px;font-weight:700;border-bottom:1px solid #52595c;padding-bottom:5px}.newsStripList{border-top:1px solid #e1e4e5}.newsStripArticle{display:grid;grid-template-columns:110px 76px 1fr auto;gap:20px;align-items:center;min-width:0;padding:17px 0;border-bottom:1px solid #e1e4e5}.newsStrip time{font-size:11px;color:#6f777b;white-space:nowrap}.newsCategory{justify-self:start;padding:6px 10px;border-radius:20px;background:#e5eaff;color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.1em}.newsStrip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.newsStripArticle>b{font-size:17px}
@media(max-width:760px){.newsStrip{padding:26px 6vw 30px}.newsStripHead{margin-bottom:22px}.newsStripArticle{grid-template-columns:auto 1fr auto;gap:10px}.newsStripArticle strong{grid-column:1/-1;width:100%;white-space:normal;line-height:1.6}.newsStripArticle>b{grid-column:3;grid-row:1}.newsCategory{grid-column:2;grid-row:1}}

/* News archive */
.newsPage{background:#fff}.newsHero{min-height:500px;padding:180px 8vw 88px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,#edf2ff 0%,#fff 72%)}.newsHero h1{margin:20px 0 24px;font-size:clamp(54px,7vw,92px);line-height:1;letter-spacing:-.06em}.newsHero>p:last-child{margin:0;font-size:15px;line-height:1.9;color:#545d61}.newsArchive{padding:100px 8vw 130px;background:#fff}.newsArchiveHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:42px}.newsFilters{display:flex;gap:8px}.newsFilters button{appearance:none;padding:9px 15px;border:1px solid #d5dadd;border-radius:24px;background:#fff;font:700 10px/1 inherit;color:#656d71;cursor:pointer;transition:background-color .25s ease,border-color .25s ease,color .25s ease}.newsFilters button:hover{border-color:var(--blue);color:var(--blue)}.newsFilters button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.newsFilters .active,.newsFilters .active:hover{background:var(--blue);border-color:var(--blue);color:#fff}.newsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:54px 24px}.newsCard{position:relative;padding-bottom:34px;border-bottom:1px solid #dce0e2}.newsCardImage{aspect-ratio:1.5;overflow:hidden;background:#edf0f2}.newsCardImage img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.newsCard:hover .newsCardImage img{transform:scale(1.025)}.newsCardMeta{display:flex;gap:14px;align-items:center;margin:18px 0 14px}.newsCardMeta time{font-size:10px;color:#778084}.newsCardMeta span{font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--blue)}.newsCard h2{margin:0;font-size:19px;line-height:1.55;letter-spacing:-.025em}.newsCard>p{margin:14px 0 0;font-size:12px;line-height:1.8;color:#626b6f}.newsCardArrow{position:absolute;right:0;bottom:10px;font-size:17px;color:var(--blue)}.newsEmpty{margin:0;padding:72px 20px;border-top:1px solid #dce0e2;border-bottom:1px solid #dce0e2;text-align:center;font-size:14px;color:#737b7f}
@media(max-width:900px){.newsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.newsHero{min-height:430px;padding:130px 6vw 64px}.newsHero h1{font-size:45px}.newsArchive{padding:72px 6vw 90px}.newsArchiveHead{align-items:flex-start;flex-direction:column;gap:22px}.newsFilters{flex-wrap:wrap}.newsGrid{grid-template-columns:1fr;gap:42px}.newsCard h2{font-size:18px}}
.newsHero h1,.newsCard h2{font-weight:700}

/* News detail */
.newsDetailPage{background:#fff}.newsDetail{padding-top:140px}.newsDetailHead{max-width:980px;margin:0 auto;padding:70px 6vw 58px}.newsDetailHead>a{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--blue)}.newsDetailMeta{display:flex;align-items:center;gap:14px;margin:44px 0 22px}.newsDetailMeta time{font-size:11px;color:#778084}.newsDetailMeta span{padding:6px 10px;border-radius:20px;background:#e7ecff;color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.1em}.newsDetailHead h1{margin:0;max-width:920px;font-size:clamp(38px,5vw,66px);line-height:1.3;letter-spacing:-.045em;font-weight:700}.newsDetailHead>p{max-width:720px;margin:28px 0 0;font-size:15px;line-height:1.9;color:#596267}.newsDetailImage{max-width:1200px;aspect-ratio:1.9;margin:0 auto;overflow:hidden;background:#edf0f2}.newsDetailImage img{width:100%;height:100%;object-fit:cover}.newsDetailBody{max-width:760px;margin:0 auto;padding:80px 6vw 120px}.newsDetailBody .newsDetailLead{margin:0 0 60px;font-size:20px;line-height:1.9;font-weight:650;color:#252c30}.newsDetailBody section{margin-top:52px}.newsDetailBody h2{margin:0 0 20px;font-size:26px;line-height:1.5;letter-spacing:-.025em}.newsDetailBody section p{margin:0 0 20px;font-size:15px;line-height:2.1;color:#4f585d}.newsBack{display:inline-flex;align-items:center;gap:14px;margin-top:62px;padding-bottom:7px;border-bottom:1px solid #555e62;font-size:12px;font-weight:700}.newsCard{display:block;color:inherit}.newsCard:focus-visible{outline:3px solid #9db0ff;outline-offset:5px}
@media(max-width:760px){.newsDetail{padding-top:88px}.newsDetailHead{padding:54px 6vw 44px}.newsDetailMeta{margin-top:34px}.newsDetailHead h1{font-size:34px}.newsDetailHead>p{font-size:14px}.newsDetailImage{aspect-ratio:1.35}.newsDetailBody{padding:60px 6vw 88px}.newsDetailBody .newsDetailLead{font-size:18px;margin-bottom:48px}.newsDetailBody h2{font-size:23px}.newsDetailBody section p{font-size:14px}}

/* Calm, consistent article reading measure */
.newsDetailHead{max-width:820px;padding:64px 40px 50px}.newsDetailMeta{margin:36px 0 18px}.newsDetailHead h1{max-width:760px;font-size:clamp(36px,4.2vw,54px);line-height:1.42;letter-spacing:-.035em}.newsDetailHead>p{max-width:680px;margin-top:22px;font-size:14px;line-height:2}.newsDetailImage{max-width:980px;aspect-ratio:1.72}.newsDetailBody{max-width:720px;padding:68px 40px 108px}.newsDetailBody .newsDetailLead{margin-bottom:50px;font-size:18px;line-height:2}.newsDetailBody section{margin-top:44px}.newsDetailBody h2{font-size:24px;line-height:1.6;margin-bottom:16px}.newsDetailBody section p{font-size:15px;line-height:2.05;margin-bottom:18px}.newsDetailPage>.cta,.newsPage>.cta{margin-top:0}
@media(max-width:760px){.newsDetailHead{padding:48px 6vw 40px}.newsDetailHead h1{font-size:32px;line-height:1.48}.newsDetailHead>p{font-size:13px}.newsDetailImage{width:88%;aspect-ratio:1.45}.newsDetailBody{padding:54px 6vw 84px}.newsDetailBody .newsDetailLead{font-size:17px}.newsDetailBody h2{font-size:22px}.newsDetailBody section p{font-size:14px}}
.newsDetailHead h1{font-size:clamp(32px,3.5vw,44px);line-height:1.48}@media(max-width:760px){.newsDetailHead h1{font-size:28px;line-height:1.55}}
.newsDetailBody>p{margin:0 0 26px;font-size:15px;line-height:2.05;color:#4f585d}.newsDetailBody>h2{margin:64px 0 22px;padding-top:30px;border-top:1px solid var(--line);font-size:25px;line-height:1.55;font-weight:750;letter-spacing:-.025em}.newsDetailBody>h3{margin:38px 0 16px;font-size:17px;line-height:1.65;font-weight:750}.newsDetailBody>ul{margin:0 0 34px;padding:24px 28px 24px 48px;border-radius:10px;background:#f5f7fa;color:#3f484d}.newsDetailBody>li,.newsDetailBody>ul li{margin:8px 0;font-size:14px;line-height:1.8}.articleInlineImage{margin:58px 0 16px}.articleInlineImage img{display:block;width:100%;aspect-ratio:1.65;object-fit:cover;border-radius:10px}.articleInlineImage figcaption{margin-top:10px;color:#7a8388;font-size:10px;line-height:1.6}.newsDetailBody>p:first-child{font-size:17px;line-height:2;font-weight:600;color:#30383d}
@media(max-width:760px){.newsDetailBody>p{font-size:14px}.newsDetailBody>p:first-child{font-size:16px}.newsDetailBody>h2{margin-top:48px;padding-top:24px;font-size:21px}.newsDetailBody>h3{font-size:16px}.newsDetailBody>ul{padding:20px 18px 20px 38px}.articleInlineImage{margin-top:44px}.articleInlineImage img{aspect-ratio:1.35}}

/* One persistent scroll control, grouped with the AI launcher. */
.heroScroll,.sectionScroll{display:none}.fixedScroll{position:fixed;right:38px;bottom:126px;z-index:49;appearance:none;border:0;border-bottom:1px solid rgba(37,45,49,.5);padding:8px 0;background:transparent;color:#252d31;display:flex;align-items:center;gap:10px;font:700 10px/1 Arial,sans-serif;letter-spacing:.14em;cursor:pointer}.fixedScroll span{font-size:16px;transition:transform .2s ease}.fixedScroll:hover span,.fixedScroll:focus-visible span{transform:translateY(3px)}.fixedScroll:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.estimateLauncher{right:40px;bottom:38px}.works{padding-bottom:105px}.cta{padding-bottom:48px}
@media(max-width:760px){.fixedScroll{right:27px;bottom:103px}.estimateLauncher{right:20px;bottom:24px}.works{padding-bottom:80px}.cta{padding-bottom:38px}.statement{padding-bottom:80px}}
.fixedScroll{right:31px;width:76px;justify-content:center}@media(max-width:760px){.fixedScroll{right:9px}}

/* Left-to-right underline motion for interactive text links. */
.siteHeader nav a,.footerColumn a,.footerIdentity a,.newsStripMore,.newsDetailHead>a,.newsBack,.contactGuide a,.companyProfile a{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .28s cubic-bezier(.22,.61,.36,1),color .2s ease}.siteHeader nav a:hover,.siteHeader nav a:focus-visible,.footerColumn a:hover,.footerColumn a:focus-visible,.footerIdentity a:hover,.footerIdentity a:focus-visible,.newsStripMore:hover,.newsStripMore:focus-visible,.newsDetailHead>a:hover,.newsDetailHead>a:focus-visible,.newsBack:hover,.newsBack:focus-visible,.contactGuide a:hover,.contactGuide a:focus-visible,.companyProfile a:hover,.companyProfile a:focus-visible{background-size:100% 1px;text-decoration:none}.newsStripArticle strong,.newsCard h2,.smallCta,.cta>a>span{background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px;transition:background-size .28s cubic-bezier(.22,.61,.36,1)}.newsStripArticle:hover strong,.newsStripArticle:focus-visible strong,.newsCard:hover h2,.newsCard:focus-visible h2,.smallCta:hover,.smallCta:focus-visible,.cta>a:hover>span,.cta>a:focus-visible>span{background-size:100% 1px}.siteHeader nav a[aria-current="page"]{background-size:100% 1px}
@media(prefers-reduced-motion:reduce){.siteHeader nav a,.footerColumn a,.footerIdentity a,.newsStripMore,.newsDetailHead>a,.newsBack,.contactGuide a,.companyProfile a,.newsStripArticle strong,.newsCard h2,.smallCta,.cta>a>span{transition:none}}
.siteHeader nav a,.footerColumn a,.footerIdentity a,.newsDetailHead>a,.newsBack,.contactGuide a,.companyProfile a{transition-duration:1s,.2s}.newsStripArticle strong,.newsCard h2,.smallCta,.cta>a>span{transition-duration:1s}.newsStripMore,.newsStripMore:hover,.newsStripMore:focus-visible{border-bottom:0;background-image:none;background-size:0;padding-bottom:5px}

/* Unified interior-page title covers */
.aboutHero,.companyHero,.contactHero,.newsHero{height:520px;min-height:520px;padding:158px 8vw 68px;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden;background-color:#f5f8fc;background-size:cover;background-position:center}.aboutHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.84) 39%,rgba(255,255,255,.08) 70%),url('/page-cover-about.webp')}.companyHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.05) 70%),url('/page-cover-company.webp')}.contactHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.06) 70%),url('/page-cover-contact.webp')}.newsHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.05) 70%),url('/page-cover-news.webp')}.aboutHero>img,.companyHero>img{display:none}.aboutHero>div,.companyHero>div,.contactHero>*,.newsHero>*{position:relative;z-index:1}.aboutHero h1,.companyHero h1,.contactHero h1,.newsHero h1{margin:18px 0 22px;font-size:clamp(44px,5vw,66px);line-height:1.22;letter-spacing:-.05em;font-weight:700}.aboutHero>div>p:last-child,.companyHero>div>p:last-child,.contactHero>p:last-child,.newsHero>p:last-child{font-size:15px;line-height:1.9;font-weight:600;color:#485158}
.aboutHero h1{font-size:clamp(58px,7vw,96px);line-height:1;letter-spacing:-.045em}.aboutHero .pageHeroLead{font-size:clamp(18px,1.7vw,24px);line-height:1.65;font-weight:700;color:#20272d}
.aboutHero,.companyHero,.newsHero{height:390px;min-height:390px;padding-top:132px;padding-bottom:48px}.aboutHero h1,.companyHero h1,.newsHero h1{font-size:clamp(38px,4.2vw,54px);line-height:1.12}.aboutHero .pageHeroLead{font-size:clamp(16px,1.4vw,20px)}
@media(max-width:760px){.aboutHero,.companyHero,.contactHero,.newsHero{height:430px;min-height:430px;padding:126px 6vw 54px;background-position:64% center}.aboutHero,.companyHero,.contactHero,.newsHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 58%,rgba(255,255,255,.18) 100%),var(--cover-image)}.aboutHero{--cover-image:url('/page-cover-about.webp')}.companyHero{--cover-image:url('/page-cover-company.webp')}.contactHero{--cover-image:url('/page-cover-contact.webp')}.newsHero{--cover-image:url('/page-cover-news.webp')}.aboutHero h1,.companyHero h1,.contactHero h1,.newsHero h1{font-size:38px;line-height:1.3}.aboutHero>div>p:last-child,.companyHero>div>p:last-child,.contactHero>p:last-child,.newsHero>p:last-child{font-size:14px}}
@media(max-width:760px){.aboutHero,.companyHero,.newsHero{height:320px;min-height:320px;padding-top:108px;padding-bottom:36px}.aboutHero h1,.companyHero h1,.newsHero h1{font-size:34px}.aboutHero .pageHeroLead{font-size:15px;line-height:1.55}}

/* Compact service cover */
@media(min-width:761px){.serviceShowcase.integrated{height:auto;min-height:660px;padding:68px 5vw 96px}.integrated .service{min-height:60px;padding:7px 14px}.integrated .serviceDetails{padding:24px 30px}.integrated .serviceLead{margin-top:22px}}
@media(max-width:760px){.serviceShowcase.integrated{padding-top:52px;padding-bottom:82px;gap:22px}.integrated .service{min-height:64px}.integrated .serviceDetails{padding:6px 0 8px}}
.estimateIntro h2{font-weight:750}
:root{--paper:#fff}body,.statement,footer,.pageLoader,.faderKnob{background:#fff}.siteHeader{background:rgba(255,255,255,.95)}.project{background:#fff!important}.estimateSectionInner{background:linear-gradient(135deg,#edf1ff 0%,#fff 68%,#f5f7f7 100%)}.estimateOptions span,.botBubble,.estimateInput{background:#fff}

/* Final compact covers for ABOUT and COMPANY */
.aboutPage .aboutHero,.companyPage .companyHero{height:390px;min-height:390px;padding:132px 8vw 48px;background-color:#f5f8fc;background-size:cover;background-position:center;align-items:flex-start;justify-content:flex-end}.aboutPage .aboutHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.84) 39%,rgba(255,255,255,.08) 70%),url('/page-cover-about.webp')}.companyPage .companyHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.05) 70%),url('/page-cover-company.webp')}.aboutPage .aboutHero h1,.companyPage .companyHero h1{font-size:clamp(38px,4.2vw,54px);line-height:1.12}.aboutPage .aboutHero .pageHeroLead,.companyPage .companyHero>div>p:last-child{font-size:clamp(16px,1.4vw,20px);line-height:1.65}
@media(max-width:760px){.aboutPage .aboutHero,.companyPage .companyHero{height:320px;min-height:320px;padding:108px 6vw 36px;background-position:64% center}.aboutPage .aboutHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 58%,rgba(255,255,255,.18) 100%),url('/page-cover-about.webp')}.companyPage .companyHero{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 58%,rgba(255,255,255,.18) 100%),url('/page-cover-company.webp')}.aboutPage .aboutHero h1,.companyPage .companyHero h1{font-size:34px}.aboutPage .aboutHero .pageHeroLead,.companyPage .companyHero>div>p:last-child{font-size:15px;line-height:1.55}}

/* Shared NEWS / ABOUT / COMPANY title-cover system */
.aboutPage .pageTitleCover,.companyPage .pageTitleCover,.newsPage .pageTitleCover{box-sizing:border-box;width:100%;height:390px;min-height:390px;padding:132px 8vw 48px;display:flex;align-items:flex-end;justify-content:flex-start;background-color:#eef2f6;background-repeat:no-repeat;background-size:cover;background-position:center;overflow:hidden;text-align:left}.newsPage .pageTitleCover{background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.06) 70%),url('/page-cover-news.webp')}.pageTitleCover>div{position:relative;z-index:1;width:100%;text-align:left}.pageTitleCover .sectionLabel,.pageTitleCover h1,.pageTitleCover .pageHeroLead{text-align:left;margin-left:0;margin-right:0}.aboutPage .pageTitleCover h1,.companyPage .pageTitleCover h1,.newsPage .pageTitleCover h1{margin:16px 0 18px;font-size:clamp(38px,4.2vw,54px);line-height:1;letter-spacing:-.045em;font-weight:750}.aboutPage .pageTitleCover .pageHeroLead,.companyPage .pageTitleCover .pageHeroLead,.newsPage .pageTitleCover .pageHeroLead{margin:0;font-size:clamp(16px,1.4vw,20px);line-height:1.65;font-weight:700;color:#20272d}
@media(max-width:760px){.aboutPage .pageTitleCover,.companyPage .pageTitleCover,.newsPage .pageTitleCover{height:320px;min-height:320px;padding:108px 6vw 36px;background-size:cover;background-position:64% center}.aboutPage .pageTitleCover h1,.companyPage .pageTitleCover h1,.newsPage .pageTitleCover h1{font-size:34px}.aboutPage .pageTitleCover .pageHeroLead,.companyPage .pageTitleCover .pageHeroLead,.newsPage .pageTitleCover .pageHeroLead{font-size:15px;line-height:1.55}}
.contactPage .pageTitleCover{box-sizing:border-box;width:100%;height:390px;min-height:390px;padding:132px 8vw 48px;display:flex;align-items:flex-end;justify-content:flex-start;background-color:#eef2f6;background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 40%,rgba(255,255,255,.06) 70%),url('/page-cover-contact.webp');background-repeat:no-repeat;background-size:cover;background-position:center;overflow:hidden;text-align:left}.contactPage .pageTitleCover>div{position:relative;z-index:1;width:100%;text-align:left}.contactPage .pageTitleCover .sectionLabel,.contactPage .pageTitleCover h1,.contactPage .pageTitleCover .pageHeroLead{text-align:left;margin-left:0;margin-right:0}.contactPage .pageTitleCover h1{margin:16px 0 18px;font-size:clamp(38px,4.2vw,54px);line-height:1;letter-spacing:-.045em;font-weight:750}.contactPage .pageTitleCover .pageHeroLead{margin:0;font-size:clamp(16px,1.4vw,20px);line-height:1.65;font-weight:700;color:#20272d}
@media(max-width:760px){.contactPage .pageTitleCover{height:320px;min-height:320px;padding:108px 6vw 36px;background-image:linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.78) 58%,rgba(255,255,255,.18) 100%),url('/page-cover-contact.webp');background-size:cover;background-position:64% center}.contactPage .pageTitleCover h1{font-size:34px}.contactPage .pageTitleCover .pageHeroLead{font-size:15px;line-height:1.55}}
.aboutPage{background:#fff}.aboutHero{min-height:720px;padding:180px 8vw 90px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#fff}.aboutHero>img{position:absolute;width:min(680px,52vw);right:3vw;top:50%;transform:translateY(-45%);opacity:.055;filter:grayscale(1)}.aboutHero>div{position:relative;z-index:1}.aboutHero h1{margin:22px 0 26px;font-size:clamp(46px,6vw,82px);line-height:1.2;letter-spacing:-.055em}.aboutHero>div>p:last-child{font-size:20px;line-height:1.8;font-weight:600}.aboutMessage{padding:110px 8vw;background:#f5f6f6}.aboutMessage>div{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:48px}.aboutMessage h2,.aboutValues h2,.aboutFields h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.35;letter-spacing:-.045em}.aboutMessage>div>div{max-width:580px}.aboutMessage p:not(.sectionLabel){font-size:15px;line-height:2;color:#50575a}.aboutMessage .aboutLead{margin:0 0 24px;font-size:21px!important;line-height:1.65!important;font-weight:650;color:var(--ink)!important}.aboutValues{padding:110px 8vw;background:#fff}.aboutValues>h2{margin:24px 0 56px}.valueGrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.valueGrid article{min-height:330px;padding:32px;border-right:1px solid var(--line)}.valueGrid article:last-child{border-right:0}.valueGrid span{font-size:11px;color:#7d8487}.valueGrid h3{margin:58px 0 10px;font-size:12px;letter-spacing:.14em;color:var(--blue)}.valueGrid strong{display:block;font-size:22px}.valueGrid p{margin:22px 0 0;font-size:14px;line-height:1.9;color:#5d6467}.aboutFields{padding:110px 8vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:.5fr 1fr;gap:5vw}.aboutFields>div:nth-child(2)>p{max-width:650px;font-size:15px;line-height:2;color:rgba(255,255,255,.72)}.fieldList{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.fieldList span{padding:28px 18px;border-right:1px solid rgba(255,255,255,.2);font-size:13px;letter-spacing:.12em}.fieldList span:last-child{border-right:0}.aboutCta{margin-top:70px}
.aboutMessage h2{font-size:clamp(30px,3.3vw,44px);font-weight:750}
.aboutValues>h2,.aboutFields h2{font-weight:750}
.aboutFields{position:relative;display:block;background:linear-gradient(90deg,rgba(255,255,255,.9),rgba(255,255,255,.48)),url('/about-fields-network.png') center/cover no-repeat;color:var(--ink);text-align:left;overflow:hidden}
.aboutFields>div:nth-child(2){margin-top:28px;max-width:760px}
.aboutFields>div:nth-child(2)>p{max-width:760px;margin-top:20px;text-align:left}
.aboutFields .fieldList{margin-top:52px}
.aboutFields>div:nth-child(2)>p{color:rgba(20,26,30,.78)}
.aboutFields .fieldList{border-color:rgba(20,26,30,.22)}
.aboutFields .fieldList span{border-color:rgba(20,26,30,.22)}
@media(max-width:760px){.aboutHero{min-height:620px;padding:130px 6vw 70px}.aboutHero>img{width:120vw;right:-42vw}.aboutHero h1{font-size:39px}.aboutHero>div>p:last-child{font-size:17px}.aboutMessage,.aboutValues,.aboutFields{padding:76px 6vw}.aboutMessage>div,.aboutFields{grid-template-columns:1fr;gap:36px}.aboutMessage h2,.aboutValues h2,.aboutFields h2{font-size:31px}.valueGrid{grid-template-columns:1fr}.valueGrid article{min-height:260px;border-right:0;border-bottom:1px solid var(--line)}.valueGrid article:last-child{border-bottom:0}.valueGrid h3{margin-top:36px}.fieldList{grid-template-columns:1fr;margin-top:10px}.fieldList span{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.fieldList span:last-child{border-bottom:0}}
.companyPage{background:#fff}.companyHero{min-height:600px;padding:170px 8vw 90px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#fff}.companyHero>div{position:relative;z-index:1}.companyHero h1{margin:20px 0 24px;font-size:clamp(56px,7vw,94px);line-height:1;letter-spacing:-.06em}.companyHero>div>p:last-child{font-size:20px;line-height:1.8;font-weight:600}.companyHero>img{position:absolute;width:min(610px,48vw);right:6vw;top:52%;transform:translateY(-45%);opacity:.045;filter:grayscale(1)}.companyProfile{padding:110px 8vw;background:#f5f6f6;display:grid;grid-template-columns:.62fr 1.38fr;gap:9vw}.companyProfileHead h2{margin:22px 0 0;font-size:clamp(34px,4vw,54px);letter-spacing:-.045em}.companyProfile dl{margin:0;border-top:1px solid var(--line)}.companyProfile dl>div{display:grid;grid-template-columns:160px 1fr;gap:32px;padding:27px 0;border-bottom:1px solid var(--line)}.companyProfile dt{font-size:12px;font-weight:700;color:#737a7d}.companyProfile dd{margin:0;font-size:14px;line-height:1.9;white-space:pre-line}.companyProfile a{text-decoration:underline;text-underline-offset:4px}.companyBelief{padding:110px 8vw;background:#fff}.companyBelief>div{display:grid;grid-template-columns:1fr 1fr;gap:9vw;margin-top:42px}.companyBelief h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.35;letter-spacing:-.045em}.companyBelief>div>div p{margin:0 0 30px;font-size:15px;line-height:2;color:#555d60}
@media(max-width:760px){.companyHero{min-height:520px;padding:130px 6vw 64px}.companyHero h1{font-size:48px}.companyHero>div>p:last-child{font-size:17px}.companyHero>img{width:115vw;right:-42vw}.companyProfile{padding:76px 6vw;grid-template-columns:1fr;gap:42px}.companyProfile dl>div{grid-template-columns:1fr;gap:8px;padding:22px 0}.companyBelief{padding:76px 6vw}.companyBelief>div{grid-template-columns:1fr;gap:32px}.companyBelief h2{font-size:31px}}

/* Bright, approachable contact cover */
.cta{background:linear-gradient(135deg,#edf2ff 0%,#f8faff 48%,#fff 100%);color:var(--ink);border:1px solid #dce4f7;box-shadow:0 18px 50px rgba(46,75,140,.1)}.cta .sectionLabel{color:var(--blue)}.cta>div>p:last-child{color:#515b65}.cta:after{color:rgba(66,104,232,.065)}.cta>a{box-shadow:0 10px 28px rgba(66,104,232,.24);transition:transform .2s ease,box-shadow .2s ease}.cta>a:hover,.cta>a:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px rgba(66,104,232,.32);outline:none}
.worksHead{grid-template-columns:1fr auto 1fr;align-items:center}.worksHead .projectFilters{grid-column:2;margin:0;justify-content:center}
@media(max-width:760px){.worksHead{grid-template-columns:1fr;gap:22px}.worksHead .projectFilters{grid-column:1;justify-content:flex-start;margin:0}}
.serviceShowcase .serviceMilestone{left:5vw;right:5vw;bottom:24px;height:56px;border:1px solid rgba(255,255,255,.18);border-radius:3px;background:rgba(7,11,13,.66)}.serviceAchievementTrack{animation-duration:28s}.serviceAchievementTrack span{font-size:clamp(15px,1.25vw,19px);font-weight:600;padding-right:7vw;letter-spacing:.04em}
@media(max-width:760px){.serviceShowcase .serviceMilestone{left:6vw;right:6vw;bottom:16px;height:50px}.serviceAchievementTrack{animation-duration:24s}.serviceAchievementTrack span{font-size:14px;padding-right:44px}}
.estimateSection{scroll-margin-top:20px;width:100%;padding:96px 8vw;background:linear-gradient(135deg,#eaf0ff 0%,#f7f8f5 58%,#e5f3f0 100%);display:grid;grid-template-columns:1fr minmax(360px,520px);gap:9vw;align-items:center}.estimateIntro h2{margin:22px 0;font-size:clamp(36px,4.4vw,62px);line-height:1.28;letter-spacing:-.05em}.estimateIntro>p:nth-of-type(2){max-width:560px;margin:0;font-size:15px;line-height:2;color:#505652}.estimateIntro>span{display:block;margin-top:24px;font-size:10px;color:#898f8b}.estimateSection .estimatePanel{height:440px;opacity:1;transform:none;pointer-events:none;border-radius:10px;overflow:hidden;box-shadow:0 22px 60px rgba(35,55,65,.16);background:#fff}.estimateSection .estimateBody{min-height:348px}.estimateLauncher{--dock-progress:0;position:fixed;right:24px;bottom:24px;z-index:50;width:58px;height:58px;border:0;border-radius:50%;display:grid;place-items:center;background:#477bff;color:#fff;font:800 14px/1 Arial,sans-serif;letter-spacing:.08em;box-shadow:0 8px 24px rgba(71,123,255,.38);cursor:pointer;opacity:calc(1 - var(--dock-progress));transform:translateY(calc(18px * var(--dock-progress))) scale(calc(1 - .28 * var(--dock-progress)));pointer-events:auto}.estimateLauncher i{position:absolute;width:9px;height:9px;right:2px;top:2px;border-radius:50%;background:var(--acid);border:2px solid #fff}
@media(max-width:760px){.estimateSection{padding:72px 6vw;grid-template-columns:1fr;gap:42px}.estimateSection .estimatePanel{height:420px}.estimateLauncher{right:14px;bottom:14px;width:54px;height:54px}}
.estimateSection{--section-reveal:0;display:block;padding:0;min-height:650px;background:#eaf0ff;overflow:hidden;clip-path:inset(calc((1 - var(--section-reveal)) * 42%) 0 round calc((1 - var(--section-reveal)) * 28px));opacity:calc(.35 + .65 * var(--section-reveal));transition:clip-path .08s linear,opacity .08s linear}.estimateSectionInner{min-height:650px;padding:96px 8vw;display:grid;grid-template-columns:1fr minmax(360px,520px);gap:9vw;align-items:center;background:linear-gradient(135deg,#eaf0ff 0%,#f7f8f5 58%,#e5f3f0 100%);transform:translateY(calc(34px * (1 - var(--section-reveal)))) scale(calc(.96 + .04 * var(--section-reveal)));transform-origin:center;transition:transform .08s linear}.estimateSection .estimateIntro,.estimateSection .estimatePanel{opacity:clamp(0,calc((var(--section-reveal) - .18) * 1.5),1)}.estimateLauncher{pointer-events:auto;text-decoration:none}.estimateLauncher:focus-visible{outline:3px solid #171a19;outline-offset:4px}
@media(max-width:760px){.estimateSection{min-height:800px}.estimateSectionInner{min-height:800px;padding:72px 6vw;grid-template-columns:1fr;gap:42px}.estimateSection .estimatePanel{height:420px}}
.siteHeader{position:fixed;backdrop-filter:blur(10px);transition:box-shadow .25s ease,background .25s ease}
.serviceMilestone{position:relative;overflow:hidden;padding:82px 8vw;background:#477bff;color:#fff}.serviceMilestoneInner{position:relative;z-index:1;display:grid;grid-template-columns:.65fr .75fr 1fr;gap:5vw;align-items:end}.milestoneNumber{display:flex;align-items:flex-end;line-height:.75;animation:milestoneFloat 3.5s ease-in-out infinite}.milestoneNumber strong{font-size:clamp(96px,13vw,180px);letter-spacing:-.09em}.milestoneNumber span{font-size:25px;margin:0 0 10px 12px}.serviceMilestone h3{margin:0 0 18px;font-size:clamp(26px,2.6vw,38px);line-height:1.35;letter-spacing:-.035em}.serviceMilestoneInner>div:last-child>p{margin:0;max-width:480px;font-size:14px;line-height:1.9;color:rgba(255,255,255,.8)}.milestoneMarquee{position:absolute;left:0;right:0;top:11px;display:flex;width:max-content;white-space:nowrap;opacity:.11;font-size:58px;font-weight:700;letter-spacing:.04em;animation:milestoneMarquee 18s linear infinite}.milestoneMarquee span{display:block;padding-right:28px}@keyframes milestoneMarquee{to{transform:translateX(-50%)}}@keyframes milestoneFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:760px){.serviceMilestone{padding:68px 6vw}.serviceMilestoneInner{grid-template-columns:1fr;gap:32px}.milestoneNumber strong{font-size:112px}.milestoneMarquee{font-size:38px}.serviceMilestone h3{font-size:28px}}@media(prefers-reduced-motion:reduce){.milestoneNumber,.milestoneMarquee{animation:none}}
.serviceShowcase.integrated{min-height:900px;padding-bottom:230px;position:relative}.serviceShowcase .serviceMilestone{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:24px 5vw 54px;background:linear-gradient(90deg,rgba(7,11,13,.84),rgba(7,11,13,.5));border-top:1px solid rgba(255,255,255,.25);backdrop-filter:blur(7px)}.serviceShowcase .serviceMilestoneInner{display:grid;grid-template-columns:.45fr .55fr 1.3fr;gap:3vw;align-items:center}.serviceShowcase .milestoneNumber strong{font-size:76px}.serviceShowcase .milestoneNumber span{font-size:17px;margin-bottom:7px}.serviceShowcase .serviceMilestone h3{font-size:21px;margin:0 0 7px}.serviceShowcase .serviceMilestoneInner>div:last-child>p{font-size:12px;line-height:1.6}.serviceShowcase .milestoneMarquee{top:auto;bottom:5px;font-size:25px;opacity:.25}
@media(max-width:760px){.serviceShowcase.integrated{padding-bottom:310px}.serviceShowcase .serviceMilestone{padding:25px 6vw 48px}.serviceShowcase .serviceMilestoneInner{grid-template-columns:1fr 1fr;gap:16px}.serviceShowcase .serviceMilestoneInner>div:last-child{grid-column:1/-1}.serviceShowcase .milestoneNumber strong{font-size:78px}.serviceShowcase .serviceMilestone h3{font-size:20px}.serviceShowcase .milestoneMarquee{font-size:21px}}
.serviceShowcase.integrated{padding-bottom:116px}.serviceShowcase .serviceMilestone{padding:0;height:88px;display:flex;align-items:center;background:rgba(7,11,13,.62)}.serviceAchievementTrack{display:flex;align-items:center;width:max-content;white-space:nowrap;will-change:transform;animation:serviceAchievementFlow 14s linear infinite}.serviceAchievementTrack span{display:block;padding-right:9vw;font-size:clamp(24px,2.4vw,36px);font-weight:650;letter-spacing:.02em}@keyframes serviceAchievementFlow{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:760px){.serviceShowcase.integrated{padding-bottom:92px}.serviceShowcase .serviceMilestone{height:70px}.serviceAchievementTrack span{font-size:21px;padding-right:56px}}
@media(min-width:761px){.serviceShowcase.integrated{height:100svh;min-height:720px;padding:92px 5vw 116px;box-sizing:border-box;align-items:center}.integrated .serviceDetails{align-self:center;padding:30px 34px}.integrated .servicePicker{align-self:center}.integrated .service{min-height:68px;padding:9px 14px}.servicePicker>.sectionLabel{margin-bottom:18px}}
.pageLoader{position:fixed;inset:0;z-index:9999;background:#f5f5f2;display:grid;place-content:center;justify-items:center;gap:30px;animation:loaderExit .5s ease 2.3s forwards}.pageLoader p{margin:0;font-size:13px;letter-spacing:.48em;font-weight:600;color:#303330;opacity:0;transform:translateY(8px);animation:loaderName .5s ease 1.85s forwards}.faderDraw{position:relative;width:190px;height:180px}.fLine{position:absolute;display:block;background:#303330;border-radius:4px;transform-origin:left center}.fLine.vertical{left:22px;top:16px;width:5px;height:150px;transform-origin:center top;transform:scaleY(0);animation:drawVertical .72s cubic-bezier(.65,0,.35,1) .15s forwards}.fLine.top{left:22px;top:16px;width:145px;height:5px;transform:scaleX(0);animation:drawHorizontal .55s cubic-bezier(.65,0,.35,1) .92s forwards}.fLine.middle{left:22px;top:82px;width:104px;height:5px;transform:scaleX(0);animation:drawHorizontal .48s cubic-bezier(.65,0,.35,1) 1.48s forwards}.faderKnob{position:absolute;z-index:2;left:8px;top:2px;width:33px;height:33px;border:3px solid #303330;border-radius:5px;background:#f5f5f2;display:flex;justify-content:center;gap:4px;padding:5px;box-shadow:0 4px 12px rgba(0,0,0,.12);animation:faderPath 2s cubic-bezier(.65,0,.35,1) .08s forwards}.faderKnob i{display:block;width:5px;height:100%;border-radius:2px;background:#303330}@keyframes drawVertical{to{transform:scaleY(1)}}@keyframes drawHorizontal{to{transform:scaleX(1)}}@keyframes faderPath{0%{transform:translate(0,0)}30%{transform:translate(0,134px)}40%{transform:translate(0,0)}65%{transform:translate(129px,0)}72%{transform:translate(0,66px)}95%,100%{transform:translate(88px,66px)}}@keyframes loaderName{to{opacity:1;transform:translateY(0)}}@keyframes loaderExit{to{opacity:0;visibility:hidden}}@media(prefers-reduced-motion:reduce){.pageLoader{animation:loaderExit .2s ease .35s forwards}.fLine.vertical,.fLine.top,.fLine.middle{animation:none;transform:none}.faderKnob{animation:none}.pageLoader p{animation:none;opacity:1;transform:none}}
.pageLoader{animation:loaderExit .25s ease 2.75s forwards}.pageLoader p{animation:loaderName .3s ease 2.55s forwards}.fLine.vertical{animation:drawVertical 1s linear forwards}.fLine.top{animation:drawHorizontal 1s linear 1s forwards}.fLine.middle{animation:drawHorizontal 1s linear 2s forwards}.faderKnob{animation:faderPathTimed 3s linear forwards}
@media(prefers-reduced-motion:reduce){.pageLoader{animation:loaderExit .2s ease .35s forwards}.fLine.vertical,.fLine.top,.fLine.middle,.faderKnob{animation:none}}

/* Unified Fader palette */
:root{--ink:#15191c;--paper:#f4f3ee;--blue:#4268e8;--blue-soft:#e9edfb;--line:rgba(21,25,28,.14);--acid:#9bb2ff}body{background:var(--paper)}.siteHeader{background:rgba(244,243,238,.94);border:1px solid rgba(21,25,28,.08);box-shadow:0 6px 24px rgba(13,20,28,.08)}.statement{background:var(--paper)}.statementGrid>div>p:nth-child(2){color:#555b5e}.aboutLogoBg{opacity:.05}.smallCta,.cta>a,.estimateLauncher,.estimateInput b{background:var(--blue)}.smallCta,.cta>a{box-shadow:0 8px 22px rgba(66,104,232,.18)}.services{background:var(--ink)}.serviceShowcase.integrated:after{background:linear-gradient(135deg,rgba(10,17,26,.18),rgba(16,25,38,.38))}.integrated .serviceList{background:rgba(15,20,26,.52);border-color:rgba(255,255,255,.2)}.integrated .service:hover,.integrated .service:focus-visible,.integrated .service.active{background:rgba(66,104,232,.88)}.integrated .serviceDetails{background:rgba(15,20,26,.48)}.serviceShowcase .serviceMilestone{background:rgba(15,20,26,.76);border-color:rgba(255,255,255,.2)}.works{background:#ebece8}.projectGrid{background:#d4d7d3;border-color:#d4d7d3}.project{background:#f8f7f2!important}.projectMark{color:#e4e7e3}.projectFilters button{border-color:#bfc5c5;color:#50575a}.projectFilters button:hover,.projectFilters button:focus-visible,.projectFilters button.active{background:var(--blue);border-color:var(--blue);color:#fff}.cta{background:var(--ink);box-shadow:0 18px 50px rgba(15,20,26,.12)}.estimateSection{background:var(--blue-soft)}.estimateSectionInner{background:linear-gradient(135deg,#e8edfc 0%,var(--paper) 68%,#eef0ed 100%)}.estimateHeader{background:var(--ink)}.estimateBody{background:#eef0ed}.estimateOptions span,.botBubble,.estimateInput{background:#faf9f5;border-color:#d7dad8}.estimateSection .estimatePanel{box-shadow:0 22px 60px rgba(24,35,56,.14)}footer{background:var(--paper);border-color:var(--line)}.pageLoader{background:var(--paper)}.faderKnob{background:var(--paper)}
.serviceShowcase .serviceMilestone{left:5vw;right:5vw;bottom:24px;height:56px;border:1px solid rgba(255,255,255,.18);border-radius:3px;background:rgba(7,11,13,.66)}.serviceAchievementTrack{animation:serviceAchievementFlow 28s linear infinite}.serviceAchievementTrack span{font-size:clamp(13px,1vw,16px);font-weight:600;padding-right:7vw;letter-spacing:.04em}
@media(max-width:760px){.serviceShowcase .serviceMilestone{left:6vw;right:6vw;bottom:16px;height:50px}.serviceAchievementTrack{animation-duration:24s}.serviceAchievementTrack span{font-size:12px;padding-right:44px}}
:root{--paper:#fff}.siteHeader{background:#fff;backdrop-filter:none}footer{background:#fff}.statement,.aboutPage,.aboutHero,.aboutValues,.pageLoader,.faderKnob{background:#fff}.project{background:#fff!important}.estimateOptions span,.botBubble,.estimateInput{background:#fff}
.estimateSection{min-height:760px}.estimateSectionInner{min-height:760px}.estimateSection .estimatePanel{height:540px;pointer-events:auto}.estimateSection .estimateBody{min-height:448px;overflow:auto}
@media(max-width:760px){.estimateSection,.estimateSectionInner{min-height:900px}.estimateSection .estimatePanel{height:560px}.estimateSection .estimateBody{min-height:468px}}
.newsStrip{background:#fff}
.estimateSectionInner{position:relative;isolation:isolate;background:#fff;overflow:hidden}.estimateSectionInner:before{content:"";position:absolute;inset:-1px;z-index:-2;background:url('/about-network-bg.png') center/cover no-repeat;filter:grayscale(1) contrast(1.08);transform:scale(-1,-1);opacity:.58;pointer-events:none}.estimateSectionInner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.3),rgba(255,255,255,.58));pointer-events:none}
@media(max-width:760px){.estimateSectionInner:before{background-position:38% center;opacity:.46}.estimateSectionInner:after{background:rgba(255,255,255,.62)}}
.estimateSection .estimatePanel{border:1px solid rgba(66,104,232,.24);box-shadow:0 24px 70px rgba(43,68,125,.22)}.estimateHeader{background:linear-gradient(135deg,#2447bd,#4268e8)}.estimateHeader small{color:rgba(255,255,255,.7)}.estimateHeader>span{background:rgba(255,255,255,.12);color:#fff}.botBubble{width:100%;box-sizing:border-box;padding:16px 17px;border:1px solid #e3e7f1;box-shadow:none}.botBubble strong{display:inline-block;margin-bottom:3px;color:#202a43;font-size:13px}.estimateOptions{gap:9px}.estimateOptions button{min-height:44px;background:#fff;border-color:#d6ddea;font-size:12px}.estimateInput{height:56px;margin-top:auto;padding-left:18px;border:2px solid rgba(66,104,232,.28);box-shadow:0 8px 24px rgba(35,55,100,.08)}.estimateInput:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(66,104,232,.1)}.estimateInput button{width:38px;height:38px}.estimateLauncher{width:118px;height:58px;border-radius:29px;font-size:12px;box-shadow:0 12px 32px rgba(66,104,232,.45)}.estimateLauncher span{white-space:nowrap}.estimateLauncher i{right:5px;top:3px}
@media(max-width:760px){.estimateLauncher{width:98px;height:50px;border-radius:25px;right:18px;bottom:24px;font-size:11px}.estimateOptions button{font-size:11px}.estimateInput{height:54px}}
.aboutPage .aboutHero.pageTitleCover{width:100%;max-width:none;margin:0;background-color:#eef2f6;background-image:linear-gradient(90deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.48) 42%,rgba(255,255,255,.1) 78%),url('/page-cover-about.webp');background-repeat:no-repeat;background-size:cover;background-position:center}
@media(max-width:760px){.aboutPage .aboutHero.pageTitleCover{background-image:linear-gradient(90deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.52) 58%,rgba(255,255,255,.14) 100%),url('/page-cover-about.webp');background-size:cover;background-position:64% center}}
.cta{min-height:310px;box-sizing:border-box;align-items:center;background-image:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.77) 52%,rgba(239,245,255,.34) 100%),url('/contact-card-bg.png');background-size:cover;background-position:center;border-color:#d7e1f4}.cta:before{background:rgba(66,104,232,.9);transform:scaleX(0)}.cta:after{display:none}.cta:hover,.cta:focus-visible{border-color:#4268e8;box-shadow:0 22px 58px rgba(44,70,135,.23)}.contactCardLink{position:relative;z-index:2;display:flex;align-items:center;gap:38px;margin-left:40px;color:#26344f;font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap;transition:color .3s ease,transform .3s ease}.contactCardLink b{font-size:20px;font-weight:400}.cta:hover .contactCardLink,.cta:focus-visible .contactCardLink{color:#fff;transform:translateX(6px)}
@media(max-width:760px){.cta{min-height:360px;background-position:65% center;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contactCardLink{margin:28px 0 0;gap:24px;font-size:12px}}
.pageLoader{animation:loaderExit .25s ease 3.75s forwards}.pageLoader p{animation:loaderName .35s ease 3.15s forwards}.fLine{height:4px;border-radius:2px}.fLine.vertical{width:4px}.fLine.top{height:4px}.fLine.middle{height:4px}.faderKnob{width:28px;height:36px;left:10px;top:0;border:2px solid #303330;border-radius:3px;gap:4px;padding:5px 4px;box-shadow:0 4px 12px rgba(0,0,0,.1)}.faderKnob i{width:4px;border-radius:0}.fLine.vertical{animation:drawVertical 1s linear forwards}.fLine.top{animation:drawHorizontal 1s linear 1s forwards}.fLine.middle{animation:drawHorizontal 1s linear 2s forwards}.faderKnob{animation:faderPathTimed 3s linear forwards}
@media(prefers-reduced-motion:reduce){.pageLoader{animation:loaderExit .25s ease 3.75s forwards}.pageLoader p{animation:loaderName .35s ease 3.15s forwards}.fLine.vertical{animation:drawVertical 1s linear forwards}.fLine.top{animation:drawHorizontal 1s linear 1s forwards}.fLine.middle{animation:drawHorizontal 1s linear 2s forwards}.faderKnob{animation:faderPathTimed 3s linear forwards}}
.faderDraw{width:120px;height:130px}.fLine{height:3px;border-radius:2px;background:#303330}.fLine.vertical{left:28px;top:16px;width:3px;height:92px}.fLine.top{left:28px;top:16px;width:60px;height:3px}.fLine.middle{left:28px;top:60px;width:58px;height:3px}.faderKnob{left:16px;top:1px;width:24px;height:30px;border:2px solid #303330;border-radius:3px;gap:3px;padding:4px 3px}.faderKnob i{width:3px}.faderKnob{animation:faderPathLogo 3s linear forwards}@keyframes faderPathLogo{0%{transform:translate(0,0);opacity:1}32.8%{transform:translate(0,92px);opacity:1}33%{transform:translate(0,0);opacity:1}66.1%{transform:translate(60px,0);opacity:1}66.3%{transform:translate(0,44px);opacity:1}99%{transform:translate(58px,44px);opacity:1}100%{transform:translate(58px,44px);opacity:0}}
@media(prefers-reduced-motion:reduce){.faderKnob{animation:faderPathLogo 3s linear forwards}}
.fLine.vertical{transform:scaleY(0);transform-origin:center top;animation:drawVerticalLogo 1s linear 0s both}.fLine.top{transform:scaleX(0);transform-origin:left center;animation:drawHorizontalLogo 1s linear 1s both}.fLine.middle{transform:scaleX(0);transform-origin:left center;animation:drawHorizontalLogo 1s linear 2s both}@keyframes drawVerticalLogo{0%{transform:scaleY(0)}100%{transform:scaleY(1)}}@keyframes drawHorizontalLogo{0%{transform:scaleX(0)}100%{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.fLine.vertical{transform:scaleY(0);animation:drawVerticalLogo 1s linear 0s both}.fLine.top{transform:scaleX(0);animation:drawHorizontalLogo 1s linear 1s both}.fLine.middle{transform:scaleX(0);animation:drawHorizontalLogo 1s linear 2s both}}
.pageLoader{animation:loaderExit .85s cubic-bezier(.4,0,.2,1) 5.85s forwards;will-change:opacity,filter}.loaderLogoStage{position:relative;width:min(53.2vw,476px);height:150px}.loaderFinalLogo{position:absolute;left:0;top:50%;width:100%;height:auto;transform:translateY(-50%);opacity:0;animation:loaderFinalLogoReveal .4s cubic-bezier(.4,0,.2,1) 4.8s forwards}.loaderLogoStage .faderDraw{position:absolute;left:50%;top:17px;width:120px;height:130px;transform:translateX(-50%);transform-origin:left top;animation:loaderFMerge 1.2s cubic-bezier(.22,.61,.36,1) 4s forwards}.faderKnob{box-sizing:border-box;left:16px;top:-2px;width:22px;height:36px;padding:0;border:2px solid #303330;border-radius:2px;background:#fff;box-shadow:none;opacity:0}.faderKnob:before,.faderKnob:after{content:"";position:absolute;top:4px;bottom:4px;width:5px;background:#303330}.faderKnob:before{left:3px}.faderKnob:after{right:3px}.faderKnob i{display:none}.knobVertical{animation:faderVertical 1.75s linear 0s both}.knobTop{animation:faderTop 1.75s linear 1s both}.knobMiddle{animation:faderMiddle 1.75s linear 2s both}@keyframes faderVertical{0%{transform:translate(0,0) rotate(90deg);opacity:0}2%{transform:translate(0,0) rotate(90deg);opacity:1}57.14%{transform:translate(0,92px) rotate(90deg);opacity:1}85.71%{transform:translate(0,92px) rotate(90deg);opacity:1}100%{transform:translate(0,92px) rotate(90deg);opacity:0}}@keyframes faderTop{0%{transform:translate(0,0);opacity:0}2%{transform:translate(0,0);opacity:1}57.14%{transform:translate(60px,0);opacity:1}85.71%{transform:translate(60px,0);opacity:1}100%{transform:translate(60px,0);opacity:0}}@keyframes faderMiddle{0%{transform:translate(0,44px);opacity:0}2%{transform:translate(0,44px);opacity:1}57.14%{transform:translate(58px,44px);opacity:1}85.71%{transform:translate(58px,44px);opacity:1}100%{transform:translate(58px,44px);opacity:0}}@keyframes loaderFMerge{0%{left:50%;top:17px;transform:translateX(-50%) scale(1);opacity:1}66.67%{left:calc(23.6% - 19px);top:39px;transform:translateX(0) scale(.68);opacity:1}100%{left:calc(23.6% - 19px);top:39px;transform:translateX(0) scale(.68);opacity:0}}@keyframes loaderFinalLogoReveal{to{opacity:1}}@keyframes loaderExit{0%{opacity:1;filter:blur(0)}100%{opacity:0;filter:blur(3px);visibility:hidden}}
@media(prefers-reduced-motion:reduce){.pageLoader{animation:loaderExit .35s ease 5.85s forwards}.knobVertical{animation:faderVertical 1.75s linear 0s both}.knobTop{animation:faderTop 1.75s linear 1s both}.knobMiddle{animation:faderMiddle 1.75s linear 2s both}.loaderFinalLogo{animation:loaderFinalLogoReveal .4s ease 4.8s forwards}.loaderLogoStage .faderDraw{animation:loaderFMerge 1.2s ease 4s forwards}}
@media(max-width:520px){.loaderLogoStage{width:57.4vw;height:120px}.loaderLogoStage .faderDraw{top:-5px;transform:translateX(-50%) scale(.78)}@keyframes loaderFMerge{0%{left:50%;top:-5px;transform:translateX(-50%) scale(.78);opacity:1}66.67%{left:calc(23.6% - 9px);top:43px;transform:translateX(0) scale(.31);opacity:1}100%{left:calc(23.6% - 9px);top:43px;transform:translateX(0) scale(.31);opacity:0}}}
.project.photoProject{position:relative;background:#111!important;color:#fff}.projectPhoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;transition:transform .6s ease}.photoProject:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,8,10,.38) 0%,rgba(6,8,10,.04) 38%,rgba(6,8,10,.82) 100%)}.photoProject .projectTop,.photoProject .projectContent{position:relative;z-index:2}.photoProject .projectTop{color:rgba(255,255,255,.82)}.photoProject h3{color:#fff}.photoProject p{color:rgba(255,255,255,.86)}.projectVenue{display:block;margin-top:18px;font-size:10px;letter-spacing:.12em;color:#fff}.photoProject:hover .projectPhoto{transform:scale(1.035)}
.project.containProject{background:#eef1f6!important}.containProject .projectPhoto{object-fit:contain}.containProject:after{background:linear-gradient(180deg,rgba(9,16,27,.16) 0%,rgba(9,16,27,0) 42%,rgba(9,16,27,.86) 100%)}
.cta{isolation:isolate;cursor:pointer;text-decoration:none;align-items:flex-start;transition:border-color .35s ease,box-shadow .35s ease}.cta:before{content:"";position:absolute;inset:0;z-index:0;background:#e96524;transform:scaleX(0);transform-origin:left center;transition:transform .75s cubic-bezier(.22,.61,.36,1)}.cta:after{z-index:1}.cta>div{position:relative;z-index:2}.cta .sectionLabel,.cta h2,.cta>div>p:last-child{transition:color .3s ease}.cta:hover:before,.cta:focus-visible:before{transform:scaleX(1)}.cta:hover,.cta:focus-visible{border-color:#e96524;box-shadow:0 20px 55px rgba(120,54,20,.22);outline:none}.cta:hover .sectionLabel,.cta:focus-visible .sectionLabel,.cta:hover h2,.cta:focus-visible h2,.cta:hover>div>p:last-child,.cta:focus-visible>div>p:last-child{color:#fff}
@media(prefers-reduced-motion:reduce){.cta:before{transition:none}}
.interactiveProject{align-self:start;height:155px;min-height:155px;cursor:pointer;transition:height .34s cubic-bezier(.22,.61,.36,1),min-height .34s cubic-bezier(.22,.61,.36,1);outline:none}.interactiveProject .projectPhoto{filter:blur(18px);transform:scale(1.08);transition:filter .34s ease,transform .34s ease}.interactiveProject:after{background:linear-gradient(180deg,rgba(10,15,23,.54) 0%,rgba(10,15,23,.4) 45%,rgba(10,15,23,.9) 100%);transition:background .34s ease}.interactiveProject.expanded{height:310px;min-height:310px}.interactiveProject.expanded .projectPhoto{filter:blur(0);transform:scale(1)}.interactiveProject.expanded:after{background:linear-gradient(180deg,rgba(10,15,23,.3) 0%,rgba(10,15,23,.12) 45%,rgba(10,15,23,.76) 100%)}.interactiveProject:focus-visible{box-shadow:inset 0 0 0 2px #fff}.interactiveProject .projectTop,.interactiveProject .projectContent{text-shadow:0 1px 12px rgba(0,0,0,.45)}.projectToggle{display:inline-flex;margin-top:14px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.65);font-size:10px;font-weight:700;letter-spacing:.08em;color:#fff}.projectDetailsPanel{max-height:0;overflow:hidden;opacity:0;transition:max-height .28s ease,opacity .2s ease}.projectDetailsPanel>p{margin:11px 0 0!important;font-size:11px!important;line-height:1.7!important;color:rgba(255,255,255,.88)!important}.interactiveProject.expanded .projectDetailsPanel{max-height:90px;opacity:1}
@media(max-width:760px){.interactiveProject{height:145px;min-height:145px}.interactiveProject.expanded{height:270px;min-height:270px}}
@media(prefers-reduced-motion:reduce){.interactiveProject,.interactiveProject .projectPhoto,.interactiveProject:after,.projectDetailsPanel{transition:none}}
/* Final CONTACT card treatment */
body .cta{min-height:310px;box-sizing:border-box;align-items:center;isolation:isolate;background-color:#f3f7ff;background-image:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.77) 52%,rgba(239,245,255,.34) 100%),url('/contact-card-bg.png');background-repeat:no-repeat;background-size:cover;background-position:center;border-color:#d7e1f4;box-shadow:0 18px 50px rgba(46,75,140,.1)}body .cta:before{content:"";position:absolute;inset:0;z-index:0;background:rgba(66,104,232,.9);transform:scaleX(0);transform-origin:left center;transition:transform .75s cubic-bezier(.22,.61,.36,1)}body .cta:after{display:none}body .cta:hover:before,body .cta:focus-visible:before{transform:scaleX(1)}body .cta:hover,body .cta:focus-visible{border-color:#4268e8;box-shadow:0 22px 58px rgba(44,70,135,.23);outline:none}body .cta:hover .sectionLabel,body .cta:focus-visible .sectionLabel,body .cta:hover h2,body .cta:focus-visible h2,body .cta:hover>div>p:last-child,body .cta:focus-visible>div>p:last-child{color:#fff}body .cta .contactCardLink{position:relative;z-index:2;display:flex;align-items:center;gap:38px;margin-left:40px;color:#26344f;font-size:13px;font-weight:700;letter-spacing:.04em;white-space:nowrap;transition:color .3s ease,transform .3s ease}body .cta .contactCardLink b{font-size:20px;font-weight:400}body .cta:hover .contactCardLink,body .cta:focus-visible .contactCardLink{color:#fff;transform:translateX(6px)}
@media(max-width:760px){body .cta{min-height:360px;background-position:65% center;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}body .cta .contactCardLink{margin:28px 0 0;gap:24px;font-size:12px}}
/* Rounded SERVICE frames and mobile breathing room */
.serviceShowcase.integrated .serviceList{gap:10px;background:transparent;border:0;backdrop-filter:none;overflow:visible}.serviceShowcase.integrated .service{border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(15,20,26,.52);overflow:hidden}.serviceShowcase.integrated .service:hover,.serviceShowcase.integrated .service:focus-visible,.serviceShowcase.integrated .service.active{background:rgba(66,104,232,.88);border-color:rgba(255,255,255,.42)}.serviceShowcase.integrated .serviceDetails{border:1px solid rgba(255,255,255,.18);border-radius:18px;overflow:hidden}.serviceShowcase .serviceMilestone{border-radius:16px;overflow:hidden}
@media(max-width:760px){.serviceShowcase.integrated{padding-left:5vw;padding-right:5vw;gap:30px}.serviceShowcase.integrated .serviceList{gap:10px}.serviceShowcase.integrated .service{min-height:88px;padding:16px 14px}.serviceShowcase.integrated .serviceEn{font-size:11px;line-height:1.5}.serviceShowcase.integrated .service h3{margin-top:7px;font-size:14px;line-height:1.55}.serviceShowcase.integrated .serviceDetails{padding:24px 22px}.serviceShowcase.integrated .serviceDetails h2{font-size:28px;line-height:1.4}.serviceShowcase.integrated .serviceLead{margin-top:18px;line-height:1.8}.serviceShowcase.integrated .sectionCopy{font-size:14px;line-height:1.95}.serviceShowcase .serviceMilestone{left:5vw;right:5vw;border-radius:14px}}
/* Rounded PROJECTS cards and mobile spacing */
.works .projectGrid{gap:12px;background:transparent;border:0}.works .project{border:1px solid rgba(21,25,28,.1);border-radius:14px;padding:22px;box-shadow:0 8px 24px rgba(21,25,28,.05)}.works .projectPhoto,.works .photoProject:after{border-radius:inherit}.works .interactiveProject{overflow:hidden}.works .projectContent{padding-top:12px}.works .project h3{line-height:1.35}.works .project p{line-height:1.7}
@media(max-width:760px){.works .projectGrid{gap:14px}.works .project{padding:22px 20px}.works .interactiveProject{height:175px;min-height:175px}.works .interactiveProject.expanded{height:310px;min-height:310px}.works .projectTop{font-size:11px;line-height:1.5}.works .projectContent{padding-top:18px}.works .project h3{font-size:22px;line-height:1.4;margin-bottom:10px}.works .project p{font-size:13px;line-height:1.8}.works .projectToggle{margin-top:16px;line-height:1.5}.works .projectDetailsPanel>p{margin-top:14px!important;line-height:1.85!important}}
/* Equal PROJECTS card sizing without clipped copy */
.works .interactiveProject{box-sizing:border-box;width:100%;height:250px;min-height:250px;align-self:stretch}.works .interactiveProject.expanded{height:390px;min-height:390px}.works .projectTop{font-size:10px;line-height:1.5}.works .project h3{font-size:clamp(17px,1.4vw,21px);line-height:1.4}.works .project p{font-size:12px;line-height:1.75}.works .projectDetailsPanel>p{font-size:12px!important;line-height:1.8!important}.works .interactiveProject.expanded .projectDetailsPanel{max-height:160px}
@media(max-width:760px){.works .interactiveProject{height:240px;min-height:240px}.works .interactiveProject.expanded{height:380px;min-height:380px}.works .project h3{font-size:20px}.works .project p{font-size:13px}.works .interactiveProject.expanded .projectDetailsPanel{max-height:170px}}
.aboutMessage{background:#fff}
.aboutValues{background:#f5f7f8}
.aboutValues .valueGrid h3{margin-top:24px}
.companyBelief h2{font-weight:750}
.contactGuide h2{font-size:clamp(28px,3vw,42px);font-weight:750}
@media(max-width:760px){.contactGuide h2{font-size:27px}}
.works .projectContent h3{box-sizing:border-box;height:58px;display:flex;align-items:flex-start;margin-bottom:8px}
@media(max-width:760px){.works .projectContent h3{height:62px;margin-bottom:10px}}
.works .interactiveProject .projectContent{position:absolute;z-index:2;top:86px;right:22px;bottom:22px;left:22px;padding-top:0;display:flex;flex-direction:column}
.works .interactiveProject .projectToggle{margin-top:auto;align-self:flex-start}
@media(max-width:760px){.works .interactiveProject .projectContent{top:78px;right:20px;bottom:20px;left:20px}}
@media(max-width:760px){.hero h1{font-size:26px;line-height:1.32}}

/* Functional mobile navigation */
.mobileNav{display:none}
@media(max-width:760px){
  body.menuOpen{overflow:hidden!important}
  .siteHeader{z-index:1000}
  .siteHeader .desktopNav{display:none}
  .siteHeader .mobileNav{display:flex;position:fixed;top:68px;right:12px;left:12px;max-height:calc(100dvh - 80px);overflow:auto;margin:0;padding:20px 22px 24px;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid rgba(21,25,28,.1);border-radius:10px;box-shadow:0 20px 50px rgba(15,20,26,.18);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .25s ease,transform .25s ease,visibility .25s ease}
  .siteHeader.menuIsOpen .mobileNav{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  .siteHeader .mobileNav a{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 2px;border-bottom:1px solid #e7e9e8;font-size:14px;letter-spacing:.12em}
  .siteHeader .mobileNav a:last-child{border-bottom:0}
  .siteHeader .mobileNav a span{font-size:16px;font-weight:400}
  .menuButton{position:relative;z-index:2}
  .menuButton span{transition:transform .25s ease,opacity .2s ease}
  .menuIsOpen .menuButton span:nth-child(1){transform:translateY(5px) rotate(45deg)}
  .menuIsOpen .menuButton span:nth-child(2){opacity:0}
  .menuIsOpen .menuButton span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
}

/* Mobile footer alignment */
@media(max-width:760px){
  footer.siteFooter{padding:0 24px}
  .footerMain{padding:52px 0 38px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;row-gap:40px}
  .footerIdentity{grid-column:1/-1}
  .footerIdentity .footerLogo{width:150px;margin-bottom:26px}
  .footerIdentity p{margin-bottom:18px;font-size:12px;line-height:1.75}
  .footerColumn{min-width:0;margin-left:0;gap:13px}
  .footerColumn h2{margin-bottom:5px;font-size:14px}
  .footerColumn a{font-size:11px;line-height:1.55;letter-spacing:0}
  .footerBottom{padding:17px 0 22px}
  .footerBottom p{text-align:center;font-size:10px}
}

.heroVideoFallback{position:absolute;z-index:3;right:6vw;bottom:42px;display:none;align-items:center;gap:10px;padding:11px 15px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(10,17,26,.5);color:#fff;font:700 11px/1 Arial,sans-serif;letter-spacing:.08em;backdrop-filter:blur(8px)}
.heroVideoFallback span{font-size:10px}
@media(max-width:760px){.heroVideoFallback{display:flex}}
.heroContent>p:last-child strong{font-weight:400}
.pageTitleCover .pageHeroLead{font-weight:400!important}

/* Smooth page navigation */
@view-transition{navigation:auto}
main{animation:pageReveal .72s cubic-bezier(.22,.61,.36,1) both}
@keyframes pageReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
::view-transition-old(root){animation:pageFadeOut .24s ease both}
::view-transition-new(root){animation:pageFadeIn .58s cubic-bezier(.22,.61,.36,1) both}
@keyframes pageFadeOut{to{opacity:0}}
@keyframes pageFadeIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){main{animation:none}::view-transition-old(root),::view-transition-new(root){animation:none}}

/* Reliable fade between internal pages */
.pageTransitionCurtain{position:fixed;inset:0;z-index:99999;pointer-events:none;background:#fff;opacity:0;visibility:hidden;transition:opacity .42s cubic-bezier(.22,.61,.36,1),visibility .42s ease}
body.pageLeaving .pageTransitionCurtain{opacity:1;visibility:visible}
body.pageLeaving main{opacity:0;transform:translateY(-8px);transition:opacity .34s ease,transform .42s cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.pageTransitionCurtain,body.pageLeaving main{transition:none}}

/* Keep the global header visible on every viewport */
html body .siteHeader{position:fixed!important;top:max(18px,env(safe-area-inset-top))!important;right:2.5vw!important;left:2.5vw!important;z-index:10000!important;width:auto!important;transform:none!important}
@media(max-width:1024px){html body .siteHeader{top:max(12px,env(safe-area-inset-top))!important;right:16px!important;left:16px!important}}
@media(max-width:760px){html body .siteHeader{top:max(10px,env(safe-area-inset-top))!important;right:12px!important;left:12px!important}.siteHeader .mobileNav{top:calc(max(10px,env(safe-area-inset-top)) + 58px)}}

/* Do not create a transformed containing block around the fixed header */
main{animation-name:pageRevealFixed;transform:none}
@keyframes pageRevealFixed{from{opacity:0}to{opacity:1}}

/* Full-screen mobile hero video */
@media(max-width:760px){
  .hero{width:100%;height:100svh;min-height:100svh;padding:0 6vw max(42px,calc(env(safe-area-inset-bottom) + 24px));background-position:center;align-items:flex-end}
  .heroVideo{inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
  .heroContent{width:100%;max-width:none}
}
@supports(height:100dvh){@media(max-width:760px){.hero{height:100dvh;min-height:100dvh}}}
.formHoneypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.formSuccess{padding:14px;border-radius:8px;background:#e8f7ee;color:#176b3b;font-size:12px}.formError{padding:14px;border-radius:8px;background:#fff0f1;color:#a12634;font-size:12px}.contactSubmit:disabled{opacity:.6;cursor:wait}

/* Performance: paint the mobile hero immediately and defer off-screen work. */
.hero{background-image:url('/fader-hero-poster.webp')}
.hero{width:100%;height:100vh;min-height:100vh;height:100svh;min-height:100svh}
.heroVideo{inset:0;width:100%;height:100%;object-fit:cover}
@supports(height:100dvh){.hero{height:100dvh;min-height:100dvh}}
.pageLoader{display:grid}
body:has(.pageLoader:not(.done)) .siteHeader{opacity:0;visibility:hidden;pointer-events:none}
body:has(.pageLoader.done) .siteHeader{transition:opacity .55s ease .15s,visibility .55s ease .15s}
body:not(.menuOpen){overflow:auto!important}
.statement,.newsStrip,.services,.works,.cta,.siteFooter{content-visibility:auto;contain-intrinsic-size:auto 700px}
@media(max-width:760px){.statement,.newsStrip,.services,.works,.cta,.siteFooter{contain-intrinsic-size:auto 900px}}

/* Request flow carousel */
.requestFlowIntro>p{margin:0;max-width:500px;font-size:13px;line-height:1.85;color:#596267}.requestFlowControls{display:flex;align-items:center;gap:14px;margin-top:20px}.requestFlowControls button{appearance:none;width:38px;height:38px;padding:0;border:1px solid #cbd2d8;border-radius:50%;background:#fff;color:#1e252a;font:500 17px/1 Arial,sans-serif;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.requestFlowControls button:hover,.requestFlowControls button:focus-visible{background:var(--blue);border-color:var(--blue);color:#fff;outline:none}.requestFlowControls button:disabled{opacity:.35;cursor:default;background:#fff;color:#1e252a;border-color:#cbd2d8}.requestFlowCount{min-width:54px;text-align:center;color:#657078;font:700 10px/1 Arial,sans-serif;letter-spacing:.12em}.requestFlowViewport{margin:0 -8vw;overflow:hidden}.requestFlowList{display:flex;align-items:center;gap:18px;padding:24px 33vw;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;background:transparent;scrollbar-width:none}.requestFlowList::-webkit-scrollbar{display:none}.requestFlowList li{flex:0 0 34vw;min-height:190px;padding:25px 26px;border:1px solid #dfe4e8;border-radius:10px;scroll-snap-align:center;opacity:.48;transform:scale(.91);transform-origin:center;transition:transform .34s cubic-bezier(.22,.61,.36,1),opacity .34s ease,box-shadow .34s ease,border-color .34s ease}.requestFlowList li.isActive{opacity:1;transform:scale(1.06);border-color:#cbd5f4;box-shadow:0 14px 34px rgba(38,55,82,.12)}.requestFlowList li:after{display:none!important}
@media(max-width:980px) and (min-width:761px){.requestFlowList{display:flex;grid-template-columns:none;padding-left:25vw;padding-right:25vw}.requestFlowList li{flex-basis:50vw}}
@media(max-width:760px){.requestFlowIntro>p{font-size:12px}.requestFlowControls{margin-top:16px}.requestFlowViewport{margin:0 -6vw}.requestFlowList{display:flex;grid-template-columns:none;gap:12px;padding:20px 12vw}.requestFlowList li{display:flex;flex:0 0 76vw;min-height:184px;padding:22px;gap:18px;transform:scale(.94)}.requestFlowList li.isActive{transform:scale(1)}.requestFlowList li>span{padding-top:0}.requestFlowControls button{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.requestFlowList{scroll-behavior:auto}.requestFlowList li{transition:none}}

/* System planning column */
.systemPlanningArticle{padding-bottom:24px}.systemPlanningArticle .newsDetailHead{max-width:900px;padding-bottom:44px}.systemPlanningArticle .newsDetailHead h1{max-width:820px;font-size:clamp(32px,3.4vw,44px);line-height:1.5}.systemPlanningArticle .newsDetailHead>p{max-width:720px;color:#515b61;font-size:15px;line-height:2}.systemPlanningArticle .newsDetailImage{width:min(1120px,88vw);max-width:none;aspect-ratio:16/9;border-radius:14px;box-shadow:0 18px 48px rgba(27,42,58,.1)}.systemPlanningArticle .newsDetailImage img{object-position:center}.articleToc{box-sizing:border-box;width:min(780px,calc(100% - 48px));margin:54px auto 0;padding:28px 32px;border:1px solid #dfe5e9;border-radius:12px;background:#f7f9fb}.articleToc>p{margin:0 0 17px;color:#273139;font-size:13px;font-weight:750}.articleToc ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.articleToc li{min-width:0}.articleToc a{display:block;height:100%;padding:14px 15px;border-radius:7px;background:#fff;color:#414c53;font-size:11px;line-height:1.65;border:1px solid #e3e8eb;transition:border-color .2s,color .2s}.articleToc a:hover,.articleToc a:focus-visible{border-color:var(--blue);color:var(--blue);outline:none}.systemPlanningArticle .newsDetailBody{max-width:780px;padding-top:58px}.systemPlanningArticle .newsDetailBody>p{margin-bottom:30px;line-height:2.15}.systemPlanningArticle .newsDetailBody>p:first-child{margin-bottom:46px;padding:27px 30px;border-left:3px solid var(--blue);background:#f7f9fb;font-size:16px;line-height:2}.systemPlanningArticle .newsDetailBody>h2{scroll-margin-top:110px;margin-top:72px;padding:28px 0 0;border-top:1px solid #dce2e6;font-size:24px;line-height:1.65}.systemPlanningArticle .newsDetailBody>h2[id^="point-"]{position:relative;padding-left:48px}.systemPlanningArticle .newsDetailBody>h2[id^="point-"]::before{position:absolute;left:0;top:30px;color:var(--blue);font:750 11px/1 Arial,sans-serif;letter-spacing:.1em}.systemPlanningArticle .newsDetailBody>h2#point-1::before{content:"01"}.systemPlanningArticle .newsDetailBody>h2#point-2::before{content:"02"}.systemPlanningArticle .newsDetailBody>h2#point-3::before{content:"03"}.systemPlanningArticle .newsDetailBody>h3{margin-top:34px;font-size:16px}.systemPlanningArticle .newsDetailBody>ul{margin:0 0 42px;padding:24px 30px 24px 48px;border:1px solid #e1e6e9;background:#f7f9fb}.systemPlanningArticle .newsDetailBody>ul li{margin:9px 0;line-height:1.8}
@media(max-width:760px){.systemPlanningArticle .newsDetailHead{padding-bottom:34px}.systemPlanningArticle .newsDetailHead h1{font-size:27px;line-height:1.55}.systemPlanningArticle .newsDetailHead>p{font-size:13px}.systemPlanningArticle .newsDetailImage{width:88%;aspect-ratio:1.42;border-radius:10px}.articleToc{width:88%;margin-top:34px;padding:22px 20px}.articleToc ol{grid-template-columns:1fr;gap:8px}.articleToc a{padding:12px 14px}.systemPlanningArticle .newsDetailBody{padding-top:44px}.systemPlanningArticle .newsDetailBody>p:first-child{margin-bottom:38px;padding:22px 20px;font-size:15px}.systemPlanningArticle .newsDetailBody>h2{margin-top:54px;font-size:20px}.systemPlanningArticle .newsDetailBody>h2[id^="point-"]{padding-left:38px}.systemPlanningArticle .newsDetailBody>ul{padding:20px 18px 20px 38px}}

/* System planning column image scale */
.systemPlanningArticle .newsDetailImage{width:min(900px,82vw)}
@media(max-width:760px){.systemPlanningArticle .newsDetailImage{width:88%}}

/* Related articles */
.relatedArticles{margin-top:84px;padding-top:44px;border-top:1px solid var(--line)}.relatedArticlesHead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.relatedArticlesHead p{margin:0 0 8px;color:var(--blue);font-size:9px;font-weight:750;letter-spacing:.16em}.relatedArticlesHead h2{margin:0!important;padding:0!important;border:0!important;font-size:24px!important}.relatedArticlesHead>a{flex:none;padding-bottom:5px;border-bottom:1px solid #7d8589;color:#4d565b;font-size:10px;font-weight:700}.relatedArticlesHead>a span{margin-left:8px;color:var(--blue)}.relatedArticlesGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.relatedArticleCard{position:relative;display:block;min-width:0;padding-bottom:30px;color:inherit}.relatedArticleCard>div{aspect-ratio:1.45;overflow:hidden;border-radius:8px;background:#edf0f2}.relatedArticleCard img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.relatedArticleCard:hover img{transform:scale(1.025)}.relatedArticleCard>p{display:flex;gap:8px;margin:12px 0 8px!important;font-size:8px!important;line-height:1.4!important}.relatedArticleCard time{color:#798287}.relatedArticleCard>p span{color:var(--blue);font-weight:750;letter-spacing:.08em}.relatedArticleCard h3{margin:0!important;font-size:13px!important;line-height:1.65!important}.relatedArticleCard>b{position:absolute;right:0;bottom:5px;color:var(--blue);font-size:15px}.relatedArticleCard:focus-visible{outline:3px solid #9db0ff;outline-offset:4px}
@media(max-width:760px){.relatedArticles{margin-top:64px;padding-top:34px}.relatedArticlesHead{align-items:flex-start;flex-direction:column;margin-bottom:22px}.relatedArticlesHead h2{font-size:21px!important}.relatedArticlesGrid{grid-template-columns:1fr;gap:30px}.relatedArticleCard>div{aspect-ratio:1.7}.relatedArticleCard h3{font-size:15px!important}}
