:root{--ink:#001B48;--deep:#02457A;--accent:#018ABE;--sky:#97CADB;--mist:#D6E8EE;--paper:#FBFCFE;--paper2:#F2F6FA;--body:#49647b;--line:#d8e5ec;--radius:30px;--pill:999px;--ease:cubic-bezier(.16,1,.3,1);--content:1240px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:115px}
body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
svg{display:block}
figure,p,h1,h2,h3,h4{margin:0}
h1,h2,h3{line-height:1.07;letter-spacing:-.055em}
h1,h2{font-weight:800}
h2{font-size:clamp(2.65rem,5.2vw,5.45rem)}
h3{font-size:clamp(1.3rem,2vw,1.7rem)}
p{color:var(--body)}
em{font-style:normal;color:var(--accent)}
section[id]{scroll-margin-top:110px}
.container{width:min(var(--content),calc(100% - 72px));margin-inline:auto}
.section{padding:clamp(85px,9vw,150px) 0}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:3px solid #e6a900;outline-offset:4px}
.skip-link{position:fixed;left:20px;top:-70px;z-index:100;padding:12px 18px;border-radius:12px;background:white;color:var(--ink);box-shadow:0 8px 25px #001b4826}
.skip-link:focus{top:12px}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--deep);font-size:.72rem;font-weight:800;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}
.eyebrow-line{display:inline-block;flex:none;width:23px;height:2px;background:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 24px;border:1px solid transparent;border-radius:var(--pill);font-size:.91rem;font-weight:750;line-height:1.2;text-align:center;white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .35s ease,color .35s ease,border-color .35s ease}
.button:hover{transform:translateY(-3px)}
.button .icon{width:18px;height:18px;transition:transform .35s var(--ease)}
.button:hover .icon:last-child{transform:translate(2px,-2px)}
.button-primary{background:linear-gradient(110deg,var(--deep),#006eaa);color:white;box-shadow:0 12px 28px #02457a28}
.button-primary:hover{background:linear-gradient(110deg,var(--ink),var(--deep));box-shadow:0 16px 30px #02457a35}
.button-outline{border-color:#9bbdd0;color:var(--ink);background:#ffffffb8}
.button-outline:hover{border-color:var(--deep);background:white;box-shadow:0 12px 28px #02457a12}
.button-white{background:white;color:var(--ink);box-shadow:0 18px 44px #0003}
.button-white:hover{background:var(--mist)}
.text-link{display:inline-flex;align-items:center;gap:11px;padding-bottom:5px;border-bottom:1px solid var(--accent);color:var(--deep);font-size:.95rem;font-weight:750}
.text-link .icon{width:18px;height:18px;transition:transform .25s ease}
.text-link:hover .icon{transform:translateX(4px)}

/* Floating header */
.site-header{position:fixed;top:18px;left:0;right:0;z-index:50;padding-inline:24px;transition:top .5s var(--ease)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(1330px,100%);height:84px;padding:8px 12px 8px 26px;border:1px solid #ffffffc9;border-radius:var(--pill);background:rgba(255,255,255,.88);box-shadow:0 16px 48px #001b481c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:height .55s var(--ease),box-shadow .55s var(--ease),transform .55s var(--ease)}
.site-header.scrolled{top:10px}
.site-header.scrolled .header-inner{height:70px;transform:scale(.975);box-shadow:0 14px 36px #001b4829}
.brand{display:inline-flex;align-items:center;justify-content:center;flex:none;width:136px;height:64px}
.brand img{width:136px;height:auto;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:clamp(16px,2vw,30px)}
.main-nav a{position:relative;padding:10px 0;color:var(--ink);font-size:.83rem;font-weight:700;white-space:nowrap;transition:color .2s}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:2px;background:var(--accent);transition:right .3s var(--ease)}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--deep)}
.main-nav a:hover::after,.main-nav a[aria-current]::after{right:0}
.header-cta{min-height:54px;padding-inline:22px;font-size:.83rem}
.menu-toggle{display:none;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink)}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 13% 18%,#e6f5fb 0,transparent 35%),linear-gradient(130deg,#f6fbfd 5%,#ecf4f8 60%,#d6e8ee 100%);padding:150px 0 36px}
.hero-glow{position:absolute;inset:auto auto -310px -180px;width:690px;height:690px;border-radius:50%;background:#d9f4fc;filter:blur(55px);opacity:.75;z-index:-1}
.hero-grid{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);align-items:center;gap:18px;min-height:640px}
.hero-copy{position:relative;z-index:2;padding:38px 0 45px;max-width:610px}
.hero-eyebrow{margin-bottom:31px;animation:hero-rise .9s var(--ease) both}
.hero h1{max-width:660px;font-size:clamp(3.5rem,5.2vw,6.25rem);line-height:1.02;animation:hero-rise .95s .12s var(--ease) both}
.hero h1 em{display:inline}
.hero-lede{max-width:480px;margin-top:28px;font-size:clamp(1.05rem,1.45vw,1.23rem);line-height:1.65;animation:hero-rise .95s .24s var(--ease) both}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:35px;animation:hero-rise .95s .35s var(--ease) both}
.hero-actions .button{min-height:58px}
.hero-helper{display:flex;align-items:center;gap:10px;margin-top:25px;font-size:.83rem;animation:hero-rise .95s .46s var(--ease) both}
.hero-helper .icon{width:17px;height:17px;color:var(--accent)}
.hero-art{position:relative;height:min(650px,49vw);min-height:515px;margin-right:max(-7.5vw,-105px);border-radius:55px 0 0 55px;filter:drop-shadow(0 30px 45px #001b4829);animation:hero-art-in 1.2s .1s var(--ease) both}
.hero-photo-stack{position:relative;height:100%;overflow:hidden;border-radius:55px 0 0 55px;background:#c5d8e3}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% center}
.hero-photo-after{clip-path:inset(0 0 0 100%);transition:clip-path 1.55s .35s var(--ease)}
.hero.is-ready .hero-photo-after{clip-path:inset(0 0 0 46%)}
.hero-photo-divider{position:absolute;top:0;bottom:0;left:100%;width:2px;background:#fff9;box-shadow:0 0 20px #fff8;transition:left 1.55s .35s var(--ease)}
.hero.is-ready .hero-photo-divider{left:46%}
.hero-photo-label{position:absolute;bottom:25px;z-index:1;padding:8px 13px;border-radius:var(--pill);background:#001b48bd;color:white;font-size:.66rem;font-weight:800;letter-spacing:.14em;backdrop-filter:blur(6px)}
.hero-label-before{left:22px}.hero-label-after{right:22px}
.hero-float-card{position:absolute;left:-57px;bottom:70px;display:flex;align-items:center;gap:14px;padding:17px 24px 17px 17px;border:1px solid #fff;border-radius:20px;background:#fffffff2;box-shadow:0 18px 45px #001b4826;color:var(--ink);font-size:.83rem;line-height:1.4;backdrop-filter:blur(12px)}
.hero-float-card strong{font-size:1rem}.float-icon{display:grid;place-items:center;width:49px;height:49px;border-radius:16px;background:var(--mist);color:var(--accent)}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;color:#667f90;font-size:.7rem;font-weight:700;letter-spacing:.08em}
.hero-bottom a{color:var(--deep);font-weight:800;letter-spacing:.15em;white-space:nowrap}.hero-bottom a span{margin-left:10px;font-size:1.2rem;vertical-align:middle}
@keyframes hero-rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes hero-art-in{from{opacity:0;transform:translateX(38px) scale(.97)}to{opacity:1;transform:none}}

/* Benefits */
.benefits-section{position:relative;z-index:2;margin-top:-1px;background:white;border-bottom:1px solid var(--line)}
.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:31px}
.benefit{display:flex;align-items:center;gap:15px;padding:10px 20px 10px 0}
.benefit+.benefit{border-left:1px solid var(--line);padding-left:20px}
.benefit-icon{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:18px;background:#e9f5f9;color:var(--deep)}
.benefit strong{display:block;font-size:.85rem;line-height:1.35}.benefit p{margin-top:5px;font-size:.75rem;line-height:1.4}

/* Intro and care */
.intro-section{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:1fr .72fr;align-items:end;gap:10%;margin-bottom:66px}
.intro-heading h2{margin-top:22px;max-width:790px}
.intro-copy{padding-bottom:5px}.intro-copy p{font-size:1.04rem;line-height:1.8}.intro-copy p+p{margin-top:16px}.intro-copy .text-link{margin-top:28px}
.care-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.care-image{position:relative;overflow:hidden;border-radius:36px;box-shadow:0 25px 70px #001b4816}
.care-image img{width:100%;aspect-ratio:1.48;object-fit:cover;transition:transform 1s var(--ease)}
.care-image:hover img{transform:scale(1.045)}
.image-chip{position:absolute;left:22px;bottom:22px;padding:12px 17px;border-radius:var(--pill);background:#ffffffed;color:var(--ink);font-size:.75rem;font-weight:750}
.care-steps{display:grid}.care-step{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:25px 0;border-bottom:1px solid var(--line)}.care-step:first-child{border-top:1px solid var(--line)}
.care-step>span{font-size:.77rem;font-weight:800;color:var(--accent)}.care-step h3{font-size:1.4rem}.care-step p{margin-top:8px;font-size:.93rem}

/* Services */
.services-section{background:linear-gradient(180deg,#eef6fa 0,#f7fafc 100%)}
.section-heading{max-width:810px;margin-bottom:54px}.section-heading.centered{text-align:center;margin-inline:auto}.section-heading.centered .eyebrow{justify-content:center}
.section-heading h2{margin-top:20px}.section-heading>p:last-child{margin-top:23px;font-size:1.04rem}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-card{position:relative;display:flex;flex-direction:column;min-height:500px;overflow:hidden;border:1px solid #e7edf1;border-radius:32px;background:white;box-shadow:0 16px 45px #001b480b;transition:transform .55s var(--ease),box-shadow .55s var(--ease)}
.service-card:hover{transform:translateY(-7px);box-shadow:0 25px 55px #001b481c}
.service-card>img{width:100%;height:300px;object-fit:cover;transition:transform .8s var(--ease)}
.service-card:hover>img{transform:scale(1.04)}
.service-card-body{position:relative;flex:1;padding:27px 94px 31px 31px}
.service-index{display:block;color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.15em}.service-card h3{margin-top:10px;font-size:1.85rem}.service-card p{max-width:430px;margin-top:11px;font-size:.91rem;line-height:1.6}
.round-link{position:absolute;right:27px;bottom:30px;display:grid;place-items:center;width:52px;height:52px;border:1px solid #cbdde8;border-radius:50%;background:#f4f9fb;color:var(--deep);transition:background .25s,color .25s,transform .3s var(--ease)}
.round-link:hover{background:var(--deep);color:white;transform:rotate(45deg)}
.service-card-special{display:grid;grid-template-columns:46% 54%;min-height:500px;background:linear-gradient(130deg,#d9eff7,#fafdff)}
.service-special-art{overflow:hidden}.service-special-art img{width:100%;height:100%;object-fit:cover;object-position:center 36%}
.service-card-special .service-card-body{display:flex;flex-direction:column;justify-content:center;padding:34px 30px}
.service-card-special .round-link{right:28px;bottom:28px}
.section-footnote{margin-top:22px;text-align:center;font-size:.8rem}

/* Process */
.process-section{background:white}
.process-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:8%}
.process-media{position:relative}.process-media>img{width:100%;height:min(650px,50vw);min-height:560px;object-fit:cover;object-position:55%;border-radius:36px;box-shadow:0 24px 55px #001b481b}
.media-caption{position:absolute;bottom:22px;left:22px;right:22px;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border:1px solid #ffffffa0;border-radius:16px;background:#ffffffdb;color:var(--ink);font-size:.71rem;font-weight:800;letter-spacing:.13em;backdrop-filter:blur(10px)}.media-caption span{font-size:1.3rem}
.process-content h2{margin-top:20px}.section-lede{margin-top:20px;font-size:1.02rem}
.timeline{list-style:none;display:grid;margin:28px 0 35px;padding:0}.timeline li{display:grid;grid-template-columns:47px 1fr;gap:18px;position:relative;padding:19px 0 20px;border-bottom:1px solid var(--line)}.timeline li:first-child{border-top:1px solid var(--line)}
.timeline-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mist);color:var(--deep);font-size:.73rem;font-weight:800}.timeline h3{font-size:1.27rem}.timeline p{margin-top:5px;font-size:.88rem}

/* Results and gallery */
.results-section{background:var(--paper2)}
.compare{position:relative;width:100%;max-width:1090px;margin-inline:auto;aspect-ratio:4/3;overflow:hidden;border-radius:34px;box-shadow:0 25px 70px #001b4823;cursor:ew-resize;touch-action:pan-y;user-select:none}
.compare-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.compare-after{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--compare-position)) 0 0)}
.compare-tag{position:absolute;top:25px;z-index:2;padding:8px 13px;border-radius:var(--pill);background:#001b48d1;color:white;font-size:.7rem;font-weight:800;letter-spacing:.14em}.compare-tag-before{right:25px}.compare-tag-after{left:25px}
.compare-handle{position:absolute;top:0;bottom:0;left:var(--compare-position);z-index:3;width:4px;background:white;box-shadow:0 0 16px #001b486b;transform:translateX(-50%);outline-offset:12px}
.compare-handle::before{content:"";position:absolute;inset:0 -20px}.compare-knob{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:60px;height:60px;border:5px solid white;border-radius:50%;background:var(--deep);box-shadow:0 8px 25px #001b4840;color:white;font-size:1.8rem;line-height:1;transform:translate(-50%,-50%);animation:knob-breathe 2.5s ease-in-out infinite}
.compare.is-used .compare-knob{animation:none}
@keyframes knob-breathe{50%{box-shadow:0 8px 25px #001b4840,0 0 0 10px #fff5}}
.compare-disclaimer{margin-top:17px;text-align:center;font-size:.8rem}
.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:100px 0 30px}.gallery-heading h3{margin-top:12px;font-size:clamp(2rem,3vw,3rem)}.gallery-heading>p{max-width:350px;font-size:.9rem}
.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-item{min-width:0}.gallery-open{position:relative;display:block;width:100%;padding:0;border:0;border-radius:22px;overflow:hidden;background:#d8e7ee;text-align:left}.gallery-open img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .75s var(--ease)}.gallery-open:hover img{transform:scale(1.045)}
.gallery-zoom{position:absolute;right:13px;bottom:13px;display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#fffffff0;color:var(--ink);font-size:1.2rem}
.gallery-item figcaption{display:flex;justify-content:space-between;gap:8px;margin-top:12px;color:var(--ink);font-size:.82rem;font-weight:750}.gallery-item figcaption span{color:var(--body);font-size:.7rem;font-weight:600;text-align:right}

/* Static visual stories */
.visual-stories{background:radial-gradient(circle at 15% 15%,#0b6395 0,transparent 31%),linear-gradient(130deg,#001b48,#02457a);color:white;overflow:hidden}
.visual-stories .eyebrow,.promise-section .eyebrow,.final-cta .eyebrow{color:#9fd9ec}.visual-stories .eyebrow-line,.promise-section .eyebrow-line,.final-cta .eyebrow-line{background:#9fd9ec}
.stories-layout{display:grid;grid-template-columns:1fr .72fr .72fr;align-items:center;gap:25px}
.stories-intro{padding-right:4vw}.stories-intro h2{margin-top:22px;font-size:clamp(2.8rem,4.2vw,4.8rem)}.stories-intro h2 em{color:#9bd7e8}.stories-intro p:not(.eyebrow){max-width:370px;margin-top:24px;color:#c6dce9}.light-link{margin-top:27px;border-color:#9bd7e8;color:white}
.story-card{position:relative;max-height:610px;aspect-ratio:9/16;overflow:hidden;border:1px solid #ffffff3c;border-radius:30px;background:#143b60;box-shadow:0 22px 45px #00132960}
.story-card:nth-child(3){margin-top:54px}.story-card img{width:100%;height:100%;object-fit:cover}.story-card::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#001b48e8)}
.story-card figcaption{position:absolute;left:24px;right:20px;bottom:24px;z-index:1;color:white}.story-card figcaption span{display:block;margin-bottom:9px;color:#a8daeb;font-size:.65rem;font-weight:800;letter-spacing:.13em}.story-card figcaption strong{display:block;font-size:1.25rem;line-height:1.25}.story-card figcaption small{display:block;margin-top:11px;color:#cce4ef;font-size:.7rem}

/* Quote */
.quote-section{background:#f3f8fb}
.quote-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:start;gap:9%}
.quote-copy{padding-top:20px}.quote-copy h2{margin-top:22px}.quote-copy>p:not(.eyebrow):not(.phone-line){max-width:480px;margin-top:25px;font-size:1.04rem;line-height:1.75}
.quote-list{list-style:none;display:grid;gap:22px;margin:44px 0 35px;padding:0}.quote-list li{display:flex;align-items:flex-start;gap:17px}.quote-list li>span{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid #cce0eb;border-radius:16px;background:white;color:var(--deep)}.quote-list strong{display:block;color:var(--ink);font-size:1rem}.quote-list p{margin-top:3px;font-size:.86rem}
.phone-line{font-size:.86rem}.phone-line a{display:inline-flex;align-items:center;gap:5px;margin-left:5px;color:var(--deep);font-weight:800}.phone-line .icon{width:15px;height:15px}
.quote-form{display:grid;gap:19px;padding:clamp(28px,4vw,50px);border:1px solid #e0edf4;border-radius:34px;background:white;box-shadow:0 25px 75px #001b4812}
.form-kicker{color:var(--accent);font-size:.7rem;font-weight:800;letter-spacing:.18em}.quote-form h3{font-size:2.15rem}.quote-form>p{margin-top:-10px;font-size:.86rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:grid;gap:8px;min-width:0}
.field label{font-size:.81rem;font-weight:750}.field label span{color:var(--accent)}
.field input,.field select,.field textarea{width:100%;min-width:0;min-height:52px;padding:14px 15px;border:1px solid #cddde7;border-radius:12px;background:#f9fcfd;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:120px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #018abe20}.field input::placeholder,.field textarea::placeholder{color:#8196a6}
.form-submit{width:100%;justify-content:center;margin-top:3px}.form-submit .arrow-right{margin-left:auto}.form-note{font-size:.74rem!important;line-height:1.5}.form-status{min-height:0;color:#9b3b22;font-size:.83rem!important}.form-status:empty{display:none}

/* Promise, about, area, FAQ */
.promise-section{position:relative;overflow:hidden;background:radial-gradient(circle at 90% 8%,#106796 0,transparent 30%),linear-gradient(135deg,#00112e,#02457a);color:white}
.promise-heading{max-width:700px}.promise-heading h2{margin-top:20px}.promise-heading em{color:#9bd7e8}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.promise-card{position:relative;min-height:295px;padding:33px;border:1px solid #ffffff33;border-radius:29px;background:#ffffff0d;backdrop-filter:blur(8px);transition:transform .35s var(--ease),background .35s}
.promise-card:hover{transform:translateY(-5px);background:#ffffff15}.promise-number{position:absolute;top:30px;right:30px;color:#abd7e6;font-size:.75rem;font-weight:800}.promise-card>.icon{width:37px;height:37px;color:#9bd7e8}.promise-card h3{margin-top:35px;color:white;font-size:1.45rem}.promise-card p{margin-top:13px;color:#c5d9e5;font-size:.9rem}
.about-section{background:white}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%}.about-photos{position:relative;min-height:595px;padding:20px 70px 35px 0}.about-main-photo{width:100%;height:540px;object-fit:cover;border-radius:32px;box-shadow:0 25px 60px #001b4817}.about-inset-photo{position:absolute;right:0;bottom:0;width:43%;height:265px;object-fit:cover;border:7px solid white;border-radius:26px;box-shadow:0 15px 35px #001b4822}.about-photo-label{position:absolute;left:22px;bottom:64px;padding:9px 14px;border-radius:var(--pill);background:#ffffffeb;color:var(--ink);font-size:.72rem;font-weight:700}
.about-copy h2{margin-top:22px}.about-copy>p:not(.eyebrow){margin-top:21px;font-size:1.02rem;line-height:1.75}.about-signature{display:flex;align-items:center;gap:16px;margin:33px 0;color:var(--ink);font-size:.78rem;font-weight:800;letter-spacing:.12em}.about-signature small{color:var(--body);font-size:.7rem;font-weight:500;letter-spacing:0}.signature-line{width:39px;height:2px;background:var(--accent)}
.area-section{background:linear-gradient(125deg,#dcecf3,#f3f9fc)}.area-grid{display:grid;grid-template-columns:1fr .65fr;align-items:center;gap:15%}.area-grid h2{margin-top:19px}.area-copy p{font-size:1.05rem;line-height:1.75}.area-copy .button{margin-top:28px}
.faq-section{background:var(--paper)}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:11%}.faq-intro{position:sticky;top:140px;align-self:start}.faq-intro h2{margin-top:22px;font-size:clamp(2.8rem,4vw,4.5rem)}.faq-intro p:not(.eyebrow){margin-top:23px;max-width:330px}.faq-intro .text-link{margin-top:22px}
.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:79px;padding:18px 0;list-style:none;color:var(--ink);font-size:1.08rem;font-weight:750;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list details p{max-width:570px;padding:0 38px 23px 0;font-size:.92rem;line-height:1.7;animation:faq-in .35s var(--ease)}.faq-plus{position:relative;flex:none;width:29px;height:29px;border:1px solid #c5d8e4;border-radius:50%}.faq-plus::before,.faq-plus::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--deep);transform:translate(-50%,-50%);transition:transform .25s}.faq-plus::after{transform:translate(-50%,-50%) rotate(90deg)}details[open] .faq-plus::after{transform:translate(-50%,-50%) rotate(0)}@keyframes faq-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}

/* Final CTA and footer */
.final-cta{position:relative;isolation:isolate;display:flex;align-items:center;min-height:610px;overflow:hidden;background:var(--ink);color:white}.final-cta>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}.final-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#00142ff5 0%,#001b48d9 40%,#001b4844 78%,#001b4833)}
.final-content{padding-block:100px}.final-content h2{max-width:740px;margin-top:23px;font-size:clamp(3.2rem,5.7vw,6.2rem)}.final-content h2 em{color:#a4dcea}.final-content>p:not(.eyebrow){max-width:480px;margin-top:26px;color:#d5e5ee;font-size:1.07rem}.final-content .button{margin-top:30px}
.site-footer{padding:75px 0 27px;background:#00122f;color:white}.footer-top{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:8%;padding-bottom:70px}.footer-brand .brand{width:160px;height:83px;padding:5px 8px;border-radius:16px;background:#e5f4f8}.footer-brand .brand img{width:145px}.footer-brand p{margin-top:21px;color:#a9bfd0;font-size:.91rem}.footer-nav,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.footer-nav strong,.footer-contact strong{margin-bottom:8px;color:white;font-size:.81rem;letter-spacing:.06em}.footer-nav a,.footer-contact a{color:#bed1df;font-size:.9rem;transition:color .2s}.footer-nav a:hover,.footer-contact a:hover{color:white}.footer-contact a{display:flex;align-items:center;gap:7px}.footer-contact .icon{width:15px;height:15px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:25px;border-top:1px solid #ffffff2c;color:#8faabc;font-size:.73rem}.footer-bottom a{color:#c5dce8}
.floating-wa{position:fixed;right:23px;bottom:22px;z-index:45;display:grid;place-items:center;width:60px;height:60px;border:2px solid #fff;border-radius:50%;background:#137d62;color:white;box-shadow:0 10px 30px #001b483d;transform:translateY(100px);opacity:0;transition:transform .5s var(--ease),opacity .5s var(--ease),background .25s}.floating-wa.is-visible{transform:none;opacity:1}.floating-wa:hover{background:#0a5e49;transform:translateY(-3px)}.floating-wa .icon{width:29px;height:29px}
.lightbox[hidden]{display:none}.lightbox{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}.lightbox-backdrop{position:absolute;inset:0;background:#00142eea;backdrop-filter:blur(8px)}.lightbox-panel{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:min(100%,900px);max-height:calc(100vh - 40px);animation:lightbox-in .3s var(--ease)}.lightbox-panel img{max-width:100%;max-height:calc(100vh - 125px);width:auto;height:auto;border-radius:18px;object-fit:contain;box-shadow:0 25px 65px #0007}.lightbox-panel p{margin-top:12px;color:white;font-size:.86rem}.lightbox-close{position:absolute;right:-18px;top:-18px;z-index:2;display:grid;place-items:center;width:45px;height:45px;border:0;border-radius:50%;background:white;color:var(--ink);box-shadow:0 7px 20px #0003}@keyframes lightbox-in{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.noscript-note{position:fixed;left:0;right:0;bottom:0;z-index:110;padding:15px;background:#fff2d5;color:var(--ink);text-align:center}.noscript-note a{text-decoration:underline}

/* Scroll reveals */
.reveal{transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal.is-pending{opacity:0;transform:translateY(28px)}
.benefit:nth-child(2),.service-card:nth-child(2),.gallery-item:nth-child(2),.promise-card:nth-child(2){transition-delay:.08s}
.benefit:nth-child(3),.service-card:nth-child(3),.gallery-item:nth-child(3),.promise-card:nth-child(3){transition-delay:.16s}
.benefit:nth-child(4),.service-card:nth-child(4),.gallery-item:nth-child(4){transition-delay:.24s}

@media(max-width:1190px){.header-inner{gap:16px}.main-nav{gap:15px}.main-nav a{font-size:.77rem}.header-cta{padding-inline:16px}.hero h1{font-size:clamp(3.4rem,5.8vw,5rem)}.hero-actions .button{padding-inline:17px;font-size:.8rem}.hero-art{margin-right:-36px}.benefit{gap:11px}.benefit strong{font-size:.77rem}.benefit p{font-size:.7rem}}
@media(max-width:980px){.site-header{padding-inline:18px}.header-inner{height:74px;padding-left:16px}.brand{width:125px}.brand img{width:125px}.main-nav{display:none;position:absolute;top:calc(100% + 8px);left:18px;right:18px;flex-direction:column;align-items:stretch;gap:0;padding:15px;border:1px solid var(--line);border-radius:23px;background:#fff;box-shadow:0 20px 45px #001b4820}.main-nav.is-open{display:flex}.main-nav a{padding:13px 12px;font-size:.91rem}.header-cta{margin-left:auto}.menu-toggle{display:flex}.hero{padding-top:135px}.hero-grid{grid-template-columns:.94fr 1.06fr;min-height:540px}.hero-art{height:540px;min-height:0}.hero-float-card{left:-30px}.benefits-grid{grid-template-columns:repeat(2,1fr);gap:0}.benefit{padding:20px 16px}.benefit:nth-child(3){border-left:0;border-top:1px solid var(--line);padding-left:16px}.benefit:nth-child(4){border-top:1px solid var(--line)}.intro-grid,.care-grid,.process-grid,.quote-grid,.about-grid,.faq-grid{gap:5%}.stories-layout{grid-template-columns:1fr .8fr .8fr}.story-card figcaption{left:16px;right:14px;bottom:16px}.story-card figcaption strong{font-size:1.05rem}.service-card>img{height:250px}.service-card{min-height:450px}.service-card-special{min-height:450px}.process-media>img{min-height:520px}.about-photos{min-height:530px}.about-main-photo{height:490px}}
@media(max-width:760px){.container{width:min(var(--content),calc(100% - 40px))}.section{padding:80px 0}.header-cta{display:none}.hero{padding-top:126px;padding-bottom:30px}.hero-grid{display:flex;flex-direction:column;gap:22px;min-height:0}.hero-copy{max-width:100%;padding:5px 0 0}.hero h1{max-width:650px;font-size:clamp(3.4rem,9.6vw,5rem)}.hero-art{width:calc(100% + 20px);height:min(75vw,520px);min-height:340px;align-self:flex-end;margin:0 -20px 0 0;border-radius:36px 0 0 36px}.hero-photo-stack{border-radius:36px 0 0 36px}.hero-float-card{left:13px;bottom:57px;padding:10px 15px 10px 10px;font-size:.7rem}.float-icon{width:38px;height:38px}.hero-bottom{margin-top:17px}.hero-bottom span:nth-child(2){display:none}.benefits-grid{grid-template-columns:repeat(2,1fr);padding-block:5px}.benefit{padding:17px 12px}.intro-grid,.care-grid,.process-grid,.quote-grid,.about-grid,.area-grid,.faq-grid{grid-template-columns:1fr;gap:34px}.intro-grid{margin-bottom:40px}.intro-copy p{font-size:.98rem}.care-grid{gap:25px}.care-step{padding-block:20px}.services-grid{gap:16px}.service-card{min-height:0}.service-card>img{height:210px}.service-card-body{padding:22px 70px 30px 22px}.service-card h3{font-size:1.45rem}.service-card p{font-size:.83rem}.round-link{right:17px;bottom:19px;width:43px;height:43px}.service-card-special{display:flex;min-height:0}.service-special-art{height:210px}.service-special-art img{object-position:center 30%}.process-media{order:2}.process-media>img{height:450px;min-height:0}.process-content{order:1}.gallery-heading{margin-top:75px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:23px 15px}.stories-layout{grid-template-columns:repeat(2,1fr);gap:20px}.stories-intro{grid-column:1/-1;padding-right:0;margin-bottom:10px}.stories-intro h2{max-width:590px}.story-card:nth-child(3){margin-top:0}.quote-copy{padding-top:0}.quote-list{margin:28px 0}.promise-grid{gap:12px}.promise-card{padding:23px;min-height:290px}.promise-card h3{font-size:1.25rem}.about-photos{min-height:530px;max-width:600px;order:2}.about-copy{order:1}.area-grid{gap:15px}.area-copy .button{margin-top:18px}.faq-intro{position:static}.final-cta{min-height:550px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-bottom{flex-wrap:wrap}}
@media(max-width:540px){.site-header{top:10px;padding-inline:12px}.site-header.scrolled{top:7px}.header-inner{height:68px;padding:6px 9px 6px 12px}.site-header.scrolled .header-inner{height:62px;transform:none}.brand{width:113px;height:52px}.brand img{width:113px}.menu-toggle{width:45px;height:45px}.main-nav{left:12px;right:12px}.hero{padding-top:112px}.hero-eyebrow{margin-bottom:20px;font-size:.61rem}.hero h1{font-size:clamp(3.05rem,12.4vw,4.15rem)}.hero-lede{margin-top:19px;font-size:1rem}.hero-actions{display:grid;gap:10px;margin-top:25px}.hero-actions .button{width:100%;font-size:.88rem}.hero-helper{margin-top:17px;font-size:.74rem}.hero-art{height:320px;min-height:0;margin-top:4px}.hero-photo{object-position:63% center}.hero-float-card{bottom:47px}.hero-photo-label{bottom:12px;padding:6px 10px;font-size:.57rem}.hero-label-before{left:12px}.hero-label-after{right:12px}.hero-bottom{font-size:.62rem}.benefits-grid{grid-template-columns:1fr}.benefit,.benefit:nth-child(3),.benefit:nth-child(4){border:0;padding:13px 0}.benefit+.benefit,.benefit:nth-child(3){border-top:1px solid var(--line)}.benefit-icon{width:46px;height:46px;border-radius:14px}.benefit strong{font-size:.85rem}.benefit p{font-size:.75rem}.section{padding:68px 0}.eyebrow{font-size:.65rem}.intro-heading h2,.section-heading h2,.process-content h2,.quote-copy h2,.promise-heading h2,.about-copy h2,.area-grid h2,.faq-intro h2{font-size:clamp(2.55rem,10vw,3.8rem)}.intro-grid{gap:21px}.care-image{border-radius:23px}.care-image img{aspect-ratio:1.25}.care-step{grid-template-columns:39px 1fr;gap:14px}.care-step h3{font-size:1.18rem}.section-heading{margin-bottom:34px}.section-heading>p:last-child{margin-top:15px;font-size:.92rem}.services-grid{grid-template-columns:1fr}.service-card{border-radius:24px}.service-card>img,.service-special-art{height:240px}.service-card-body{padding:22px 70px 27px 23px}.service-card h3{font-size:1.6rem}.service-card p{font-size:.88rem}.service-card-special .service-card-body{padding:22px 70px 27px 23px}.service-card-special .round-link{right:17px;bottom:19px}.process-media>img{height:360px;border-radius:24px}.timeline li{grid-template-columns:40px 1fr;gap:12px}.timeline h3{font-size:1.18rem}.compare{border-radius:21px}.compare-knob{width:48px;height:48px;font-size:1.35rem}.compare-tag{top:12px;padding:6px 9px;font-size:.57rem}.compare-tag-before{right:12px}.compare-tag-after{left:12px}.compare-disclaimer{font-size:.72rem}.gallery-heading{display:block;margin:60px 0 21px}.gallery-heading>p{margin-top:12px;font-size:.85rem}.gallery-heading h3{font-size:2rem}.gallery-grid{gap:18px 10px}.gallery-open{border-radius:16px}.gallery-item figcaption{display:block;font-size:.76rem}.gallery-item figcaption span{display:block;margin-top:2px;text-align:left;font-size:.68rem}.stories-layout{gap:12px}.stories-intro{margin-bottom:15px}.stories-intro h2{font-size:2.75rem}.story-card{border-radius:18px}.story-card figcaption{left:11px;right:10px;bottom:12px}.story-card figcaption span{font-size:.51rem}.story-card figcaption strong{font-size:.84rem}.story-card figcaption small{font-size:.54rem}.quote-form{padding:23px;border-radius:24px;gap:15px}.quote-form h3{font-size:1.8rem}.form-row{grid-template-columns:1fr;gap:15px}.form-submit{white-space:normal}.promise-grid{grid-template-columns:1fr;gap:13px;margin-top:34px}.promise-card{min-height:0;padding:25px}.promise-card h3{margin-top:19px}.about-photos{min-height:400px;padding:10px 40px 25px 0}.about-main-photo{height:365px;border-radius:22px}.about-inset-photo{height:170px;border-width:5px;border-radius:18px}.about-photo-label{left:10px;bottom:38px;font-size:.6rem}.faq-list summary{min-height:72px;font-size:.96rem}.faq-list details p{font-size:.85rem}.final-cta{min-height:550px}.final-cta>img{object-position:65% center}.final-overlay{background:linear-gradient(90deg,#00142ff7,#001b48bb)}.final-content h2{font-size:clamp(3.2rem,11vw,4.3rem)}.footer-top{grid-template-columns:1fr 1fr;gap:28px}.footer-bottom{display:grid;gap:9px}.floating-wa{width:56px;height:56px;right:15px;bottom:15px}.lightbox-close{right:0;top:-20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal.is-pending{opacity:1;transform:none}.hero-photo-after{clip-path:inset(0 0 0 46%)}.hero-photo-divider{left:46%}}
