:root{--blue:#1467f5;--blue-dark:#071b4a;--blue-soft:#5f8ff7;--blue-light:#eef5ff;--orange:#ff6b00;--white:#fff;--surface:#f8fbff;--text:#0a183d;--muted:#5f6c86;--border:#dfe8f5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:var(--white);color:var(--text);font-family:Manrope,system-ui,sans-serif}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}.container{width:min(calc(100% - 48px),1440px);margin-inline:auto}.site-header{position:relative;z-index:20;height:110px;background:#fff;border-bottom:1px solid var(--border)}.nav-container{width:min(calc(100% - 48px),1480px);height:100%;margin:auto;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;flex:none;color:var(--blue)}.brand-mark{width:47px;height:47px}.brand span{display:grid}.brand strong{font-size:26px;line-height:1;font-weight:800;letter-spacing:-1.2px}.brand small{margin-top:6px;font-size:7px;font-weight:800;letter-spacing:.35px;color:var(--blue)}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:38px;margin-left:auto}.desktop-nav a{position:relative;padding:45px 0 42px;text-transform:uppercase;font-size:12px;font-weight:700;color:var(--blue-dark)}.desktop-nav a::after{position:absolute;right:0;bottom:32px;left:0;height:2px;content:"";background:var(--blue);transform:scaleX(0);transition:.2s}.desktop-nav a:hover::after,.desktop-nav .active::after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:16px;margin-left:14px}.button{min-height:56px;padding:0 24px;border:1px solid transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s,background .2s}.button svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button:hover{transform:translateY(-2px)}.button-orange{background:var(--orange);color:#fff}.button-orange:hover{background:#eb6300;box-shadow:0 8px 18px rgba(255,107,0,.18)}.nav-cta{min-height:54px}.phone-card{min-height:62px;padding:8px 14px 8px 10px;border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;gap:10px;box-shadow:0 5px 15px rgba(7,27,74,.06)}.phone-icon{width:36px;height:42px;border-radius:8px;display:grid;place-items:center;background:var(--blue);color:#fff}.phone-icon svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.phone-card>span:last-child{display:grid}.phone-card strong{font-size:14px;white-space:nowrap}.phone-card small{font-size:10px;color:var(--muted)}.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;min-height:750px;padding:74px 0 0;background:linear-gradient(115deg,#fff 10%,#fbfdff 64%,#f0f6ff 100%)}.hero-shape{position:absolute;z-index:0;top:-110px;right:-135px;width:540px;height:760px;background:var(--blue);border-radius:180px 0 0 56% / 50% 0 0 40%;transform:rotate(-7deg);transform-origin:top right}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);align-items:center}.hero-copy{padding:0 20px 88px 5px}.eyebrow{margin:0 0 34px;text-transform:uppercase;color:var(--blue);font-size:14px;font-weight:800;letter-spacing:.25px}.hero h1{max-width:760px;margin:0;font-size:clamp(52px,5vw,76px);line-height:1.08;letter-spacing:-3.7px;font-weight:800;color:var(--blue-dark)}.hero h1 span{display:block;color:var(--blue-soft);font-weight:500}.hero-lead{max-width:620px;margin:34px 0 38px;color:var(--blue-dark);font-size:17px;line-height:1.8;font-weight:500}.hero-buttons{display:flex;gap:18px}.button-outline{border-color:var(--blue);background:#fff;color:var(--blue-dark)}.button-outline:hover{background:var(--blue-light)}.trust-list{max-width:660px;margin:56px 0 0;padding:0;display:flex;justify-content:space-between;gap:22px;list-style:none}.trust-list li{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:13px;font-weight:700}.trust-list svg{width:31px;height:31px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero-visual{position:relative;height:560px;align-self:end}.photo-frame{position:absolute;inset:0 0 0 12px;overflow:hidden;border-radius:78px 78px 34px 78px}.photo-frame img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.estimate-card{position:absolute;right:-4px;bottom:32px;width:330px;min-height:142px;padding:28px 24px;display:flex;align-items:center;gap:22px;border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(7,27,74,.13)}.estimate-card svg{flex:none;width:43px;height:43px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.estimate-card span{display:grid;gap:9px}.estimate-card strong{font-size:17px}.estimate-card small{font-size:13px;line-height:1.55;color:var(--muted)}.service-wrap{position:relative;z-index:5;margin-top:-2px}.service-bar{min-height:130px;padding:21px 14px;border-radius:18px;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;box-shadow:0 18px 45px rgba(7,27,74,.1)}.service-item{position:relative;padding:15px 30px;display:grid;grid-template-columns:60px 1fr 18px;align-items:center;gap:22px;transition:background .2s,transform .2s}.service-item+ .service-item{border-left:1px solid var(--border)}.service-item:hover{z-index:1;border-radius:12px;background:var(--blue-light);transform:translateY(-2px)}.service-item>svg{width:54px;height:54px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-item span{display:grid;gap:8px}.service-item strong{font-size:18px}.service-item small{font-size:13px;color:var(--blue-dark)}.service-item i{font:400 32px/1 Arial;color:var(--blue-dark)}.fade-up{animation:fade-up .65s both}.hero-visual{animation-delay:.12s}.service-wrap{animation-delay:.24s}@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:1280px){.desktop-nav{gap:22px}.nav-actions{margin-left:0}.phone-card{display:none}.hero{padding-top:58px}.hero h1{font-size:clamp(49px,5vw,64px)}.trust-list{gap:12px}.service-item{padding-inline:20px}}
@media(max-width:1100px){.site-header{height:86px}.nav-container{width:min(calc(100% - 40px),1440px)}.brand-mark{width:42px}.brand strong{font-size:24px}.desktop-nav,.nav-actions{display:none}.menu-toggle{width:48px;height:48px;margin-left:auto;padding:12px;border:0;border-radius:8px;display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;color:var(--blue-dark)}.menu-toggle span{width:24px;height:2px;margin:auto;background:currentColor;transition:.25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu{position:absolute;top:86px;right:0;left:0;padding:18px 24px 28px;display:block;background:#fff;border-bottom:1px solid var(--border);box-shadow:0 16px 32px rgba(7,27,74,.1);visibility:hidden;opacity:0;transform:translateY(-12px);transition:.25s}.mobile-menu.open{visibility:visible;opacity:1;transform:none}.mobile-menu nav{display:grid}.mobile-menu nav a{min-height:48px;padding:14px 6px;border-bottom:1px solid var(--border);text-transform:uppercase;font-size:13px;font-weight:700}.mobile-menu .button{width:100%;margin-top:20px}.mobile-phone{min-height:48px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px}.hero-grid{grid-template-columns:48% 52%}.hero-copy{padding-bottom:65px}.eyebrow{margin-bottom:23px}.hero-lead{margin:24px 0 28px;font-size:15px}.trust-list{margin-top:35px;flex-wrap:wrap;justify-content:flex-start}.hero-visual{height:510px}.estimate-card{width:290px;min-height:125px}.service-item{grid-template-columns:48px 1fr 14px;gap:12px}.service-item>svg{width:44px}.service-item strong{font-size:15px}}
@media(max-width:800px){.container{width:min(calc(100% - 32px),1440px)}.hero{min-height:0;padding:50px 0 0}.hero-shape{top:590px;right:-160px;width:500px;height:620px}.hero-grid{display:flex;flex-direction:column;align-items:stretch}.hero-copy{padding:0 0 54px}.hero h1{font-size:clamp(42px,10vw,60px);letter-spacing:-2.8px}.hero-lead{max-width:570px}.trust-list{max-width:570px}.hero-visual{width:100%;height:auto;aspect-ratio:1.05/.88;align-self:auto}.photo-frame{inset:0;border-radius:54px 54px 26px}.estimate-card{right:15px;bottom:18px}.service-wrap{margin-top:20px;padding-bottom:30px}.service-bar{grid-template-columns:1fr;padding:8px 14px}.service-item{min-height:104px;padding:14px 16px}.service-item+ .service-item{border-top:1px solid var(--border);border-left:0}}
@media(max-width:520px){.container{width:min(calc(100% - 24px),1440px)}.nav-container{width:calc(100% - 24px)}.brand-mark{width:37px}.brand strong{font-size:21px}.brand small{font-size:5.7px}.hero{padding-top:38px}.hero-copy{padding-bottom:42px}.eyebrow{margin-bottom:20px;font-size:11px}.hero h1{font-size:clamp(38px,12vw,52px);line-height:1.09;letter-spacing:-2.2px}.hero-lead{margin:22px 0 27px;font-size:14px;line-height:1.7}.hero-buttons{display:grid;gap:12px}.button{width:100%;min-height:56px}.trust-list{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:17px}.trust-list li{white-space:normal;font-size:11px}.trust-list li:last-child{grid-column:1/-1}.trust-list svg{width:27px}.hero-shape{top:650px;right:-220px}.hero-visual{aspect-ratio:.88/1}.photo-frame{border-radius:40px 40px 22px}.estimate-card{right:10px;bottom:12px;width:calc(100% - 20px);min-height:104px;padding:18px;gap:15px}.estimate-card svg{width:36px}.estimate-card strong{font-size:15px}.estimate-card small{font-size:11px}.service-wrap{margin-top:16px}.service-item{grid-template-columns:42px 1fr 12px;min-height:98px;padding-inline:9px;gap:10px}.service-item>svg{width:39px}.service-item strong{font-size:14px}.service-item small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
:focus-visible{outline:3px solid var(--blue-soft);outline-offset:3px}

/* About */
.section-eyebrow{margin:0 0 20px;text-transform:uppercase;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.35px}.about-section{position:relative;padding:100px 0 110px;background:#fff}.about-section::after{position:absolute;right:5%;bottom:56px;width:190px;height:120px;content:"";opacity:.22;background-image:radial-gradient(var(--blue) 1.5px,transparent 1.5px);background-size:16px 16px}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:100px;align-items:center}.about-media{position:relative;width:min(100%,620px);height:530px}.about-main-photo{position:absolute;inset:0 140px 0 0;overflow:hidden;border-radius:48px}.about-main-photo img,.about-small-photo img{width:100%;height:100%;display:block;object-fit:cover}.about-small-photo{position:absolute;right:0;bottom:-10px;width:52%;height:46%;padding:8px;overflow:hidden;border-radius:34px;background:#fff;box-shadow:0 16px 34px rgba(7,27,74,.12)}.about-small-photo img{border-radius:27px}.quality-label{position:absolute;left:47px;bottom:35px;z-index:2;padding:17px 23px;border-radius:8px;background:var(--blue);box-shadow:0 10px 20px rgba(20,103,245,.2);color:#fff;font-size:13px;font-weight:800}.about-copy{position:relative;z-index:1;max-width:620px}.about-copy h2{margin:0 0 26px;font-size:clamp(2.2rem,4vw,4rem);line-height:1.08;letter-spacing:-2.5px;color:var(--blue-dark)}.about-copy h2 span{display:block;color:var(--blue-soft);font-weight:600}.about-copy>p:not(.section-eyebrow){max-width:590px;margin:0 0 15px;color:var(--muted);font-size:15px;line-height:1.75}.about-list{margin:28px 0 32px;padding:0;display:grid;gap:14px;list-style:none}.about-list li{display:flex;align-items:center;gap:12px;color:var(--blue-dark);font-size:14px;font-weight:600}.about-list svg{width:19px;height:19px;flex:none;fill:var(--blue);stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.button-blue{min-height:52px;border-radius:9px;background:var(--blue);color:#fff}.button-blue:hover{background:#0c59d9;box-shadow:0 9px 20px rgba(20,103,245,.2)}

/* Services */
.services-section{padding:0 18px 60px}.services-shell{width:min(100%,1500px);padding:62px 48px 54px;border-radius:36px;background:#f2f7ff}.services-heading{margin-bottom:34px}.services-heading .section-eyebrow{margin-bottom:12px}.services-heading h2{margin:0;color:var(--blue-dark);font-size:clamp(2rem,3vw,3rem);line-height:1.15;letter-spacing:-1.6px}.services-layout{display:grid;grid-template-columns:minmax(330px,40%) minmax(0,60%);gap:24px}.featured-service{position:relative;min-height:500px;overflow:hidden;border-radius:18px;background:var(--blue);color:#fff;transition:transform .25s,box-shadow .25s}.featured-service:hover{transform:translateY(-4px);box-shadow:0 17px 30px rgba(20,103,245,.16)}.featured-content{position:relative;z-index:2;width:55%;height:100%;padding:35px 0 30px 30px;display:flex;flex-direction:column}.service-icon{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.featured-service h3{margin:35px 0 22px;font-size:30px;line-height:1.18;letter-spacing:-1px}.featured-service p{margin:0;color:#fff;font-size:14px;line-height:1.75}.featured-service a,.small-service a{min-height:44px;margin-top:auto;display:inline-flex;align-items:center;gap:11px;font-size:13px;font-weight:800}.featured-service a svg,.small-service a svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.featured-service a:hover svg,.small-service a:hover svg{transform:translateX(4px)}.featured-photo{position:absolute;right:-2px;bottom:0;width:49%;height:82%;overflow:hidden;border-radius:100px 0 0 0}.featured-photo::before{position:absolute;inset:0;z-index:1;content:"";box-shadow:inset 25px 0 35px rgba(20,103,245,.2)}.featured-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .35s}.featured-service:hover .featured-photo img{transform:scale(1.025)}.service-cards{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:1fr 1fr;gap:20px}.small-service{grid-column:span 3;min-width:0;padding:27px 28px 22px;border:1px solid #e9eff8;border-radius:16px;display:flex;flex-direction:column;background:#fff;transition:transform .22s,box-shadow .22s,border-color .22s}.small-service:nth-child(n+3){grid-column:span 2}.small-service:hover{transform:translateY(-3px);border-color:#bdd3fa;box-shadow:0 12px 24px rgba(7,27,74,.07)}.small-service>.service-icon{width:43px;height:43px;color:var(--blue)}.small-service h3{margin:18px 0 8px;color:var(--blue-dark);font-size:16px;line-height:1.35}.small-service p{margin:0 0 13px;color:var(--muted);font-size:12px;line-height:1.65}.small-service a{color:var(--blue)}
@media(max-width:1100px){.about-section{padding:80px 0 90px}.about-grid{gap:55px}.about-media{height:450px}.about-main-photo{right:100px}.services-shell{padding-inline:32px}.services-layout{grid-template-columns:38% 62%;gap:18px}.featured-content{width:62%;padding-left:24px}.featured-photo{width:51%;opacity:.9}.service-cards{grid-template-columns:1fr 1fr;grid-template-rows:auto}.small-service,.small-service:nth-child(n+3){grid-column:auto}.small-service:last-child{grid-column:1/-1}.small-service{padding:23px}}
@media(max-width:800px){.about-section{padding:65px 0 75px}.about-grid{grid-template-columns:1fr;gap:62px}.about-media{width:min(100%,600px);height:auto;aspect-ratio:1.12/1}.about-copy{max-width:none}.about-section::after{display:none}.services-section{padding-inline:0}.services-shell{width:calc(100% - 24px);padding:45px 24px;border-radius:30px}.services-layout{grid-template-columns:1fr}.featured-service{min-height:480px}.featured-content{width:52%}.service-cards{grid-template-columns:1fr 1fr}.small-service:last-child{grid-column:1/-1}}
@media(max-width:520px){.about-section{padding:48px 0 60px}.about-media{aspect-ratio:.98/1}.about-main-photo{right:54px;border-radius:34px}.about-small-photo{width:58%;height:43%;padding:6px;border-radius:26px}.about-small-photo img{border-radius:20px}.quality-label{left:18px;bottom:28px;padding:13px 16px;font-size:11px}.about-grid{gap:47px}.section-eyebrow{font-size:11px}.about-copy h2{font-size:clamp(2.15rem,11vw,3rem);letter-spacing:-1.8px}.about-copy>p:not(.section-eyebrow){font-size:14px}.about-list li{font-size:13px}.about-copy .button{width:100%}.services-shell{padding:38px 16px 26px;border-radius:25px}.services-heading{margin-bottom:25px}.services-heading h2{font-size:1.8rem}.featured-service{min-height:530px}.featured-content{width:64%;padding:27px 0 25px 22px}.featured-service h3{margin-top:24px;font-size:25px}.featured-service p{font-size:12px}.featured-photo{width:55%;height:66%;border-radius:80px 0 0}.service-cards{grid-template-columns:1fr;gap:14px}.small-service,.small-service:last-child{grid-column:auto;min-height:245px;padding:24px}.small-service h3{font-size:17px}.small-service p{font-size:13px}}

/* Recommendation CTA */
.recommend-section{padding:60px 0 105px;background:#fff}.recommend-shell{position:relative;min-height:420px;padding:64px 65px;overflow:hidden;border-radius:30px;display:grid;grid-template-columns:52% 48%;align-items:center;background:var(--blue);color:#fff}.recommend-shell::before{position:absolute;top:-180px;right:28%;width:380px;height:380px;border:55px solid rgba(255,255,255,.08);border-radius:48%;content:""}.recommend-copy{position:relative;z-index:3;max-width:650px}.recommend-eyebrow{margin:0 0 19px;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:.5px}.recommend-copy h2{margin:0 0 22px;max-width:680px;font-size:clamp(2.25rem,3.7vw,3.7rem);line-height:1.1;letter-spacing:-2.2px}.recommend-copy>p{max-width:600px;margin:0;color:rgba(255,255,255,.86);font-size:15px;line-height:1.75}.recommend-actions{margin-top:32px;display:flex;gap:14px}.button-white{background:#fff;color:var(--blue-dark)}.button-white:hover{background:var(--blue-light);box-shadow:0 8px 18px rgba(7,27,74,.13)}.button-ghost{border-color:rgba(255,255,255,.7);background:transparent;color:#fff}.button-ghost:hover{border-color:#fff;background:rgba(255,255,255,.1)}.button-ghost>svg:first-child{width:20px}.recommend-visual{position:absolute;right:-30px;bottom:-50px;width:47%;height:450px}.recommend-shape{position:absolute;inset:15px -50px -35px 45px;border-radius:110px 0 0 30px;background:rgba(255,255,255,.12);transform:rotate(-5deg)}.recommend-visual img{position:relative;width:100%;height:100%;display:block;object-fit:cover;object-position:57% center;border-radius:100px 0 0 26px}

/* Process */
.process-section{padding:110px 0 120px;background:#fff}.process-heading{max-width:730px}.process-heading .section-eyebrow{margin-bottom:15px}.process-heading h2,.projects-heading h2{margin:0;color:var(--blue-dark);font-size:clamp(2.35rem,4vw,4rem);line-height:1.09;letter-spacing:-2.5px}.process-heading>p:last-child,.projects-heading>div>p:last-child{margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.7}.process-list{position:relative;margin-top:66px;display:grid;grid-template-columns:repeat(4,1fr);gap:46px}.process-list::before{position:absolute;top:49px;right:5%;left:5%;height:1px;content:"";background:var(--border)}.process-step{position:relative;z-index:1;padding-right:12px}.step-top{display:flex;align-items:center;justify-content:space-between;background:#fff}.step-top span{color:#c8dcff;font-size:66px;line-height:1;font-weight:800;letter-spacing:-4px;transition:color .2s}.step-top svg{width:36px;height:36px;margin-right:10px;fill:#fff;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.process-step:hover .step-top span{color:var(--blue)}.process-step:hover .step-top svg{transform:translateX(4px)}.process-step h3{margin:24px 0 12px;color:var(--blue-dark);font-size:19px}.process-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}

/* Projects */
.projects-section{padding:100px 0 80px;background:var(--surface)}.projects-heading{margin-bottom:43px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.projects-heading h2{font-size:clamp(2.2rem,3.5vw,3.45rem)}.projects-heading>a{min-height:44px;flex:none;display:inline-flex;align-items:center;gap:12px;color:var(--blue);font-size:14px;font-weight:800}.projects-heading>a svg,.project-overlay i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.projects-heading>a:hover svg{transform:translateX(4px)}.projects-grid{height:680px;display:grid;grid-template-columns:1.45fr 1fr;grid-template-rows:1fr 1fr;gap:22px}.project-card{position:relative;overflow:hidden;border-radius:18px;background:var(--blue-dark)}.project-large{grid-row:1/-1}.project-card>a{position:absolute;inset:0;display:block}.project-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s}.project-card:hover img{transform:scale(1.025)}.project-card>a::after{position:absolute;inset:0;content:"";background:linear-gradient(to top,rgba(4,16,45,.9) 0%,rgba(4,16,45,.3) 43%,transparent 72%);transition:background .25s}.project-card:hover>a::after{background:linear-gradient(to top,rgba(4,16,45,.95) 0%,rgba(4,16,45,.38) 45%,transparent 74%)}.project-overlay{position:absolute;z-index:2;right:0;bottom:0;left:0;padding:27px 30px;color:#fff}.project-large .project-overlay{padding:38px 40px}.project-overlay>span{text-transform:uppercase;color:#bfd4ff;font-size:11px;font-weight:800;letter-spacing:.6px}.project-overlay h3{max-width:80%;margin:10px 0 9px;font-size:21px;line-height:1.25}.project-large .project-overlay h3{font-size:30px}.project-overlay p{max-width:650px;margin:0 0 16px;color:rgba(255,255,255,.84);font-size:13px;line-height:1.65}.project-overlay small{display:flex;align-items:center;gap:7px;font-size:12px}.project-overlay small svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.project-overlay i{position:absolute;right:30px;bottom:27px;width:42px;height:42px;border:1px solid rgba(255,255,255,.55);border-radius:9px;display:grid;place-items:center;font-style:normal}.project-card:hover .project-overlay i svg{transform:translateX(3px)}.projects-note{margin:21px 0 0;color:var(--muted);font-size:11px}
@media(max-width:1100px){.recommend-shell{min-height:390px;padding:50px}.recommend-copy{max-width:520px}.recommend-copy h2{font-size:2.7rem}.process-list{gap:24px}.projects-grid{height:590px}}
@media(max-width:800px){.recommend-section{padding:45px 0 80px}.recommend-shell{min-height:0;padding:48px 36px 0;display:flex;flex-direction:column;align-items:stretch}.recommend-copy{max-width:none}.recommend-visual{position:relative;right:auto;bottom:auto;width:calc(100% + 72px);height:auto;aspect-ratio:1.7/1;margin:40px -36px 0}.recommend-visual img{border-radius:55px 55px 0 0}.recommend-shape{inset:0 20px -20px 50px}.process-section{padding:80px 0 90px}.process-list{margin-top:50px;grid-template-columns:1fr 1fr;gap:42px}.process-list::before{display:none}.projects-section{padding:75px 0 60px}.projects-heading{align-items:flex-start;flex-direction:column;gap:18px}.projects-grid{height:auto;grid-template-columns:1fr;grid-template-rows:auto}.project-card,.project-large{min-height:350px;grid-row:auto}.project-large{min-height:470px}}
@media(max-width:520px){.recommend-section{padding:25px 0 65px}.recommend-shell{width:calc(100% - 24px);padding:38px 20px 0;border-radius:24px}.recommend-eyebrow{font-size:10px}.recommend-copy h2{font-size:2rem;letter-spacing:-1.4px}.recommend-copy>p{font-size:13px}.recommend-actions{display:grid;gap:11px}.recommend-actions .button{width:100%}.recommend-visual{width:calc(100% + 40px);margin:30px -20px 0;aspect-ratio:1.15/1}.recommend-visual img{object-position:62% center;border-radius:42px 42px 0 0}.process-section{padding:65px 0 70px}.process-heading h2,.projects-heading h2{font-size:2.15rem;letter-spacing:-1.7px}.process-list{margin-top:38px;grid-template-columns:1fr;gap:0;padding-left:0}.process-list::before{top:20px;bottom:35px;left:34px;width:1px;height:auto;display:block}.process-step{min-height:175px;padding:0 0 30px 83px}.step-top{position:absolute;top:0;left:0;width:68px;display:block}.step-top span{font-size:45px;letter-spacing:-3px}.step-top svg{width:28px;height:28px;margin:10px 0 0 20px}.process-step h3{margin:5px 0 9px;font-size:17px}.projects-section{padding-top:60px}.projects-heading{margin-bottom:30px}.projects-heading>a{font-size:13px}.projects-grid{gap:15px}.project-card,.project-large{min-height:330px}.project-large{min-height:420px}.project-overlay,.project-large .project-overlay{padding:24px 20px}.project-overlay h3,.project-large .project-overlay h3{max-width:82%;font-size:20px}.project-overlay p{display:none}.project-overlay i{right:18px;bottom:22px;width:38px;height:38px}.projects-note{line-height:1.5}}

/* Trust */
.trust-section{padding:110px 0;background:#fff}.trust-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.trust-intro h2,.faq-intro h2,.contact-info h2{margin:0;color:var(--blue-dark);font-size:clamp(2.3rem,4vw,4rem);line-height:1.09;letter-spacing:-2.6px}.trust-intro h2 span{color:var(--blue-soft)}.trust-intro>p:not(.section-eyebrow){max-width:610px;margin:25px 0 30px;color:var(--muted);font-size:15px;line-height:1.8}.trust-message{min-height:78px;padding:17px 22px;border-radius:13px;display:flex;align-items:center;gap:16px;background:var(--blue-light);color:var(--blue-dark)}.trust-message svg{width:37px;height:37px;flex:none;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trust-message strong{font-size:15px}.trust-benefits{display:grid}.trust-benefit{padding:30px 4px;display:grid;grid-template-columns:64px 1fr;gap:24px;border-bottom:1px solid var(--border);transition:border-color .2s}.trust-benefit:first-child{border-top:1px solid var(--border)}.trust-benefit>svg{width:50px;height:50px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}.trust-benefit:hover{border-color:var(--blue-soft)}.trust-benefit:hover>svg{transform:translateX(4px)}.trust-benefit h3{margin:0 0 9px;color:var(--blue-dark);font-size:19px;transition:color .2s}.trust-benefit:hover h3{color:var(--blue)}.trust-benefit p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}

/* FAQ */
.faq-section{padding:0 18px 100px;background:#fff}.faq-shell{width:min(100%,1500px);padding:75px 58px;border-radius:34px;display:grid;grid-template-columns:38% 62%;gap:80px;background:#f2f7ff}.faq-intro h2{font-size:clamp(2.25rem,3.5vw,3.55rem)}.faq-intro>p:not(.section-eyebrow){margin:23px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.faq-contact{margin-top:42px;display:grid;justify-items:start;gap:15px;color:var(--blue-dark)}.faq-contact strong{font-size:14px}.accordion{border-radius:16px;overflow:hidden;background:#fff}.faq-item{border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:0}.faq-item h3{margin:0}.faq-item button{width:100%;min-height:74px;padding:18px 23px;border:0;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;color:var(--blue-dark);text-align:left;font:700 15px/1.45 Manrope,sans-serif;cursor:pointer}.faq-item button:hover{color:var(--blue)}.faq-item button svg{width:23px;height:23px;flex:none;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;transition:transform .2s}.faq-item button[aria-expanded=true] .plus-v{opacity:0}.faq-answer{max-height:0;overflow:hidden;visibility:hidden;transition:max-height .28s ease,visibility 0s .28s}.faq-answer.open{max-height:260px;visibility:visible;transition:max-height .28s ease}.faq-answer p{margin:0;padding:0 62px 23px 23px;color:var(--muted);font-size:13px;line-height:1.75}

/* Contact */
.contact-section{padding:0 18px;background:#fff}.contact-shell{width:min(100%,1500px);padding:75px;border-radius:36px 36px 0 0;display:grid;grid-template-columns:43% 57%;gap:75px;background:var(--blue-dark);color:#fff}.contact-eyebrow{margin:0 0 18px;text-transform:uppercase;color:#91b8ff;font-size:13px;font-weight:800;letter-spacing:.5px}.contact-info h2{max-width:600px;color:#fff;font-size:clamp(2.5rem,4vw,4rem)}.contact-info>p:not(.contact-eyebrow){max-width:540px;margin:24px 0 34px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.8}.contact-list{display:grid;grid-template-columns:1fr 1fr;gap:27px 20px;font-style:normal}.contact-list>div{display:flex;align-items:flex-start;gap:14px}.contact-list svg{width:30px;height:30px;flex:none;fill:none;stroke:#80adff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.contact-list span{display:grid;gap:5px}.contact-list small{color:#91a0bf;font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.4px}.contact-list a,.contact-list strong{color:#fff;font-size:13px;font-weight:600;line-height:1.55}.contact-list a:hover{text-decoration:underline}.quick-call{min-height:48px;margin-top:38px;display:inline-flex;align-items:center;color:#bcd3ff;font-size:13px}.quick-call strong{margin-left:5px;color:#fff}.contact-form{padding:38px;border-radius:20px;background:#fff;color:var(--blue-dark);box-shadow:0 22px 50px rgba(0,0,0,.16)}.form-heading{margin-bottom:26px}.form-heading h3{margin:0 0 7px;font-size:26px}.form-heading p{margin:0;color:var(--muted);font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:grid;align-content:start}.field-wide{grid-column:1/-1}.field label{margin-bottom:7px;font-size:11px;font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:49px;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--blue-dark);font:500 14px/1.4 Manrope,sans-serif;transition:border-color .2s,box-shadow .2s}.field textarea{min-height:112px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 3px rgba(20,103,245,.12)}.field input[aria-invalid=true],.field select[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#c83d3d}.field-error{min-height:16px;margin-top:4px;color:#b42318;font-size:10px;line-height:1.4}.consent-field{margin:18px 0}.consent-field label{display:flex;align-items:flex-start;gap:11px;color:var(--muted);font-size:11px;line-height:1.55;cursor:pointer}.consent-field input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--blue)}.consent-field .field-error{display:block}.form-submit{min-width:180px;border:0;cursor:pointer}.form-status{display:none;margin:17px 0 0;padding:13px 15px;border-radius:8px;background:#eaf8ef;color:#176b37;font-size:12px;font-weight:700}.form-status.visible{display:block}.form-note{margin:13px 0 0;color:var(--muted);font-size:10px}

/* Footer and back to top */
.site-footer{padding:72px 0 24px;background:#041334;color:#fff}.footer-grid{display:grid;grid-template-columns:1.45fr .75fr 1fr .8fr;gap:70px}.footer-brand .brand{width:max-content;color:#fff}.footer-brand .brand small{color:#8fb6ff}.footer-brand>p{max-width:330px;margin:25px 0 18px;color:#9cabc8;font-size:12px;line-height:1.75}.footer-brand>strong{color:#d4deef;font-size:12px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-links h2{margin:4px 0 12px;color:#fff;font-size:14px}.footer-links a,.footer-links span{min-height:26px;color:#9cabc8;font-size:12px;line-height:1.5}.footer-links a:hover{color:#fff}.footer-bottom{margin-top:56px;padding-top:23px;border-top:1px solid rgba(255,255,255,.12)}.footer-bottom>div{display:flex;justify-content:space-between;color:#8493b0;font-size:11px}.footer-bottom a{color:#b7cbef}.footer-bottom>p{margin:22px 0 0;color:#697995;font-size:10px;line-height:1.6}.back-to-top{position:fixed;z-index:30;right:24px;bottom:24px;width:48px;height:48px;border-radius:9px;display:grid;place-items:center;background:var(--blue);box-shadow:0 8px 20px rgba(7,27,74,.2);color:#fff;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s,visibility .2s,transform .2s}.back-to-top.visible{opacity:1;visibility:visible;transform:none}.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}section[id]{scroll-margin-top:24px}
@media(max-width:1100px){.trust-grid{gap:60px}.faq-shell{padding:58px 42px;gap:45px}.contact-shell{padding:58px 42px;gap:45px}.contact-list{grid-template-columns:1fr}.footer-grid{gap:40px}}
@media(max-width:800px){.trust-section{padding:80px 0}.trust-grid{grid-template-columns:1fr;gap:50px}.faq-section{padding-inline:0}.faq-shell{width:calc(100% - 24px);padding:52px 30px;grid-template-columns:1fr;gap:45px}.faq-contact{margin-top:28px}.contact-section{padding-inline:0}.contact-shell{width:calc(100% - 24px);padding:52px 30px;grid-template-columns:1fr;gap:48px;border-radius:30px 30px 0 0}.contact-list{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.5fr 1fr;gap:48px}.footer-bottom>div{gap:15px;flex-wrap:wrap}}
@media(max-width:520px){.trust-section{padding:62px 0}.trust-intro h2,.faq-intro h2,.contact-info h2{font-size:2.15rem;letter-spacing:-1.7px}.trust-benefit{grid-template-columns:48px 1fr;gap:16px;padding:24px 0}.trust-benefit>svg{width:42px;height:42px}.trust-benefit h3{font-size:16px}.faq-shell{padding:42px 16px;border-radius:25px}.faq-contact .button{width:100%}.faq-item button{min-height:68px;padding:16px;font-size:13px}.faq-answer p{padding:0 45px 19px 16px;font-size:12px}.contact-shell{padding:42px 16px;border-radius:25px 25px 0 0}.contact-info>p:not(.contact-eyebrow){font-size:13px}.contact-list{grid-template-columns:1fr}.contact-form{padding:25px 16px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.field input,.field select{min-height:52px}.form-submit{width:100%}.site-footer{padding-top:55px}.footer-grid{grid-template-columns:1fr;gap:38px}.footer-bottom{margin-top:42px}.footer-bottom>div{display:grid}.back-to-top{right:14px;bottom:14px;width:46px;height:46px}}

/* FAQ remains readable when JavaScript is unavailable. */
.faq-answer{max-height:none;visibility:visible}.js .faq-answer{max-height:0;visibility:hidden}.js .faq-answer.open{max-height:260px;visibility:visible}

/* Final audit: shared design tokens and technical refinements. */
:root{--radius-small:8px;--radius-medium:12px;--radius-large:18px;--radius-section:32px;--shadow-small:0 8px 24px rgba(7,27,74,.08);--shadow-medium:0 18px 48px rgba(7,27,74,.12)}
html,body{max-width:100%;overflow-x:clip}.site-header{position:sticky;top:0}.button{border-radius:10px}.service-bar,.featured-service,.project-card{border-radius:var(--radius-large)}.small-service,.accordion{border-radius:16px}.service-bar{box-shadow:var(--shadow-medium)}.phone-card,.contact-form{box-shadow:var(--shadow-small)}section[id]{scroll-margin-top:126px}.photo-frame img,.about-main-photo img,.about-small-photo img,.featured-photo img,.recommend-visual img,.project-card img{max-width:100%}
.js .fade-up{opacity:0;transform:translateY(18px);animation:none}.js .fade-up.is-visible{opacity:1;transform:none;transition:opacity .58s ease,transform .58s ease}.js .faq-answer{transition:max-height .25s ease,visibility 0s .25s}.js .faq-answer.open{max-height:none;transition:max-height .25s ease}.desktop-nav a.active::after{transform:scaleX(1)}
@media(max-width:1100px){section[id]{scroll-margin-top:102px}}
@media(max-width:520px){.container{width:min(calc(100% - 40px),1440px)}.recommend-shell,.faq-shell,.contact-shell{width:calc(100% - 40px)}.services-shell{width:calc(100% - 40px)}.hero-shape{right:-250px}.about-small-photo{right:0}.project-overlay{max-width:100%}}
@media(prefers-reduced-motion:reduce){.js .fade-up,.js .fade-up.is-visible{opacity:1;transform:none;transition:none}.js .faq-answer{transition:none}.back-to-top{transition:none}}

/* Brand subtitle and footer credit legibility. */
.brand small{font-size:8px;line-height:1.25;letter-spacing:.42px}.footer-bottom>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.footer-bottom>div>span:nth-child(2){grid-column:2;justify-self:center;text-align:center}
@media(max-width:520px){.brand small{font-size:6.8px}.footer-bottom>div{grid-template-columns:1fr;justify-items:center;text-align:center;gap:10px}.footer-bottom>div>span:nth-child(2){grid-column:1}.footer-bottom>p{text-align:center}}
