:root{--navy:#0f2942;--deep:#1f4e79;--slate:#6c8294;--light:#f5f8fb;--yellow:#ffc928;--ink:#10283e;--muted:#627587;--hair:#dbe4ec;--white:#fff;--container:1240px;--head:'Montserrat','Inter',Arial,sans-serif;--body:'Inter',Arial,sans-serif;--ease:cubic-bezier(.22,.68,0,1.02)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:var(--body);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}p{line-height:1.75}h1,h2,h3{font-family:var(--head)}h2{font-size:clamp(2.25rem,4.2vw,3.75rem);font-weight:700;letter-spacing:-.047em;line-height:1.16}h3{letter-spacing:-.035em}.wrap{width:min(calc(100% - 96px),var(--container));margin-inline:auto}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}.skip-link{position:fixed;top:8px;left:8px;z-index:10000;transform:translateY(-160%);padding:12px 18px;background:#fff;color:#111}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.top-progress{position:fixed;height:3px;top:0;left:0;width:100%;z-index:1000;pointer-events:none}.top-progress span{display:block;background:var(--yellow);height:100%;width:0;transform-origin:left;transition:width .08s linear}
.site-header{position:fixed;left:0;right:0;top:0;z-index:990;color:#fff;transition:background .3s,box-shadow .3s,color .3s}.site-header:before{content:'';position:absolute;inset:0;background:rgba(8,29,50,.11);backdrop-filter:blur(0px);transition:background .35s,backdrop-filter .35s;z-index:-1}.site-header.is-scrolled{color:var(--navy);box-shadow:0 5px 35px rgba(15,41,66,.09)}.site-header.is-scrolled:before{background:rgba(255,255,255,.98);backdrop-filter:blur(16px)}.header-inner{height:101px;display:flex;align-items:center;gap:35px;transition:height .35s}.site-header.is-scrolled .header-inner{height:77px}.brand{display:block;position:relative;width:204px;flex:none;aspect-ratio:1010/286}.brand-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .25s}.brand-image--inverse{opacity:1}.brand-image--primary{opacity:0}.is-scrolled .brand-image--inverse{opacity:0}.is-scrolled .brand-image--primary{opacity:1}.desktop-nav{display:flex;gap:32px;margin:auto;align-items:center}.desktop-nav a{font-size:12px;letter-spacing:.04em;font-weight:600;position:relative;white-space:nowrap;transition:color .2s}.desktop-nav a:after{content:'';height:2px;background:var(--yellow);width:0;position:absolute;bottom:-10px;left:0;transition:width .25s}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 22px;min-height:48px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:700;letter-spacing:.025em;line-height:1.1;text-align:center;transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s;white-space:nowrap}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.12)}.btn--yellow{background:var(--yellow);color:#0d273e}.btn--yellow:hover{background:#ffda59}.btn .icon{width:15px;height:15px;stroke-width:2}.nav-cta{padding:14px 19px}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{height:clamp(680px,100svh,1000px);min-height:680px;position:relative;background:#102942;color:#fff;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;background-image:url('./assets/hero-home.webp');background-position:center 52%;background-size:cover;z-index:-3;animation:hero-enter 1.6s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,24,42,.92) 0%,rgba(8,29,49,.82) 30%,rgba(8,31,48,.47) 54%,rgba(8,28,46,.06) 90%),linear-gradient(180deg,rgba(7,25,41,.35) 0%,transparent 34%,rgba(7,25,41,.17) 74%,rgba(7,25,41,.55) 100%)}.hero-grid{display:flex;align-items:center;height:100%;padding-top:35px;position:relative}.hero-content{max-width:700px;margin-top:15px;animation:content-enter 1.2s .1s both}.eyebrow{font-family:var(--body);font-size:10px;font-weight:700;letter-spacing:.23em;color:var(--deep);display:flex;gap:14px;align-items:center;text-transform:uppercase}.eyebrow--light{color:rgba(255,255,255,.9)}.eyebrow-line{width:27px;height:2px;background:var(--yellow);display:block;flex:none}.hero h1{font-size:clamp(3.6rem,6.35vw,6.15rem);line-height:1.035;letter-spacing:-.065em;font-weight:700;margin:27px 0 27px;max-width:790px}.hero-italic{font-style:normal;color:var(--yellow)}.hero-content>p{font-size:clamp(1rem,1.28vw,1.16rem);line-height:1.78;color:#e4ebf0;max-width:510px;font-weight:400}.hero-actions{margin-top:35px;display:flex;gap:28px;align-items:center}.btn--large{min-height:58px;padding:18px 24px;font-size:13px}.text-link{display:inline-flex;align-items:center;gap:11px;color:var(--navy);font-size:12px;font-weight:700;letter-spacing:.025em;padding-bottom:7px;border-bottom:1px solid #c7d3df;transition:gap .2s,border .2s}.text-link:hover{gap:18px;border-color:var(--yellow)}.text-link .icon{height:16px;width:16px}.text-link--light{color:#fff;border-color:rgba(255,255,255,.5)}.hero-bottom{position:absolute;left:50%;transform:translateX(-50%);bottom:34px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;letter-spacing:.15em}.hero-index span{color:var(--yellow);padding-inline:10px}.scroll-prompt{display:flex;gap:20px;align-items:center}.scroll-mouse{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.55);border-radius:50%;font-size:17px;transition:background .2s}.scroll-prompt:hover .scroll-mouse{background:rgba(255,255,255,.15)}@keyframes hero-enter{from{transform:scale(1.06);opacity:.72}to{transform:scale(1);opacity:1}}@keyframes content-enter{from{transform:translateY(22px);opacity:0}to{transform:translateY(0);opacity:1}}
.intro-band{background:#f7f9fb;border-bottom:1px solid #e5ebf0}.intro-inner{min-height:180px;display:flex;align-items:center;justify-content:space-between;gap:30px}.intro-inner p{font-size:clamp(1.4rem,2.7vw,2.15rem);font-family:var(--head);letter-spacing:-.045em;line-height:1.4;font-weight:600;max-width:750px}.intro-inner em{font-style:normal;color:#62849d}.intro-signet{height:61px;width:61px;border:1px solid #d5e0e9;border-radius:50%;display:grid;place-items:center;color:var(--deep)}.intro-signet .icon{width:25px;height:25px}
.section{padding:124px 0}.section-heading{margin-bottom:52px}.heading-split{display:grid;grid-template-columns:1.5fr .72fr;gap:90px;align-items:end}.section-heading h2{margin-top:20px}.heading-split>p{color:var(--muted);font-size:15px;max-width:390px;padding-bottom:5px}.blue-accent{color:var(--deep)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.service-card{min-width:0;display:block;transition:transform .35s var(--ease)}.service-card:hover{transform:translateY(-5px)}.service-photo{position:relative;aspect-ratio:1.26;overflow:hidden;background:#dfe7ee;border-radius:4px}.service-photo:after{position:absolute;content:'';inset:0;background:linear-gradient(180deg,rgba(7,25,41,.27),transparent 37%);pointer-events:none}.service-photo img{height:100%;width:100%;object-fit:cover;transition:transform .6s var(--ease)}.service-card:hover .service-photo img{transform:scale(1.065)}.card-number{position:absolute;top:18px;left:18px;z-index:1;color:#fff;font-size:10px;font-weight:700;letter-spacing:.12em}.service-info{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:22px 0 8px;border-bottom:1px solid #dce5ec}.service-kicker{font-size:10px;letter-spacing:.18em;color:#71889b;font-weight:700}.service-info h3{font-weight:700;font-size:19px;line-height:1.4;margin-top:7px}.circle-arrow{height:39px;width:39px;display:grid;place-items:center;border:1px solid #d9e3eb;border-radius:50%;color:var(--navy);flex:none;transition:background .2s,border .2s,color .2s}.circle-arrow .icon{width:16px;height:16px}.service-card:hover .circle-arrow{background:var(--yellow);border-color:var(--yellow)}.services-footnote{text-align:center;margin-top:45px;font-size:13px;color:#66798b}.services-footnote a{font-weight:700;color:var(--deep);display:inline-flex;align-items:center;gap:4px;margin-left:4px;border-bottom:1px solid var(--deep);line-height:1.5}.services-footnote svg{width:14px;height:14px}
.about-section{position:relative;padding:126px 0;background:var(--navy);color:#fff;overflow:hidden}.about-graphic{position:absolute;font:800 18vw var(--head);color:rgba(255,255,255,.017);letter-spacing:-.08em;right:-4vw;bottom:-80px;pointer-events:none;white-space:nowrap}.about-grid{display:grid;grid-template-columns:1.03fr .96fr;gap:105px;align-items:center;position:relative}.about-photo-wrap{position:relative;min-width:0;padding:0 30px 45px 0}.about-photo{width:100%;aspect-ratio:4/4.75;overflow:hidden;position:relative;background:#1b4057}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:100% center}.about-photo-wrap:after{content:'';position:absolute;top:25px;bottom:20px;left:26px;right:0;border:1px solid rgba(255,255,255,.24);z-index:-1}.about-mini-card{position:absolute;right:-23px;bottom:6px;width:206px;height:126px;background:var(--yellow);color:var(--navy);padding:24px;display:flex;flex-direction:column;justify-content:space-between}.about-mini-card .icon{height:25px;width:25px;stroke-width:2}.about-mini-card span{font-size:10px;letter-spacing:.13em;line-height:1.5;font-weight:800}.about-content h2{font-size:clamp(2.5rem,4.3vw,4rem);margin:25px 0 29px}.gold-text{color:var(--yellow)}.about-content>p{font-size:14px;line-height:1.95;color:#afc0cc;margin-top:17px}.about-content .about-lead{font-size:18px;line-height:1.7;color:#fff;font-weight:500;letter-spacing:-.01em}.about-underline{padding:29px 0;margin:22px 0 26px;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);display:flex;gap:28px;flex-wrap:wrap}.about-underline span{font-size:11px;display:flex;align-items:center;gap:7px;font-weight:600;color:#e8eff5}.about-underline .icon{width:15px;height:15px;stroke:var(--yellow);stroke-width:2.5}
.approach-section{padding:130px 0}.approach-intro{display:flex;align-items:end;justify-content:space-between;gap:50px;margin:22px 0 57px}.approach-intro>p{color:var(--muted);max-width:345px;font-size:15px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d5e0e8;border-bottom:1px solid #d5e0e8}.value-card{padding:43px 36px 48px 0}.value-card+.value-card{border-left:1px solid #d5e0e8;padding-left:40px}.value-head{display:flex;justify-content:space-between;align-items:center;color:var(--deep);font-size:10px;letter-spacing:.11em;font-weight:700}.value-head .icon{height:34px;width:34px;stroke-width:1.4}.value-card h3{font-size:21px;margin:45px 0 14px;line-height:1.28}.value-card p{color:var(--muted);font-size:14px;line-height:1.85;max-width:325px}.process-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:60px}.process-bar>div{font-size:12px;white-space:nowrap}.process-bar strong{color:var(--deep);margin-right:8px}.process-label{font-size:9px;letter-spacing:.2em;color:#71899c;font-weight:700;white-space:nowrap}.step-line{height:1px;background:#d7e2eb;width:40px;flex:auto}
.work-section{background:#f6f8fa;padding-bottom:113px}.work-gallery{display:grid;grid-template-columns:1.24fr 1fr 1fr;grid-template-rows:270px 270px;gap:17px}.gallery-item{position:relative;overflow:hidden;background:#d0dbe4;min-width:0;min-height:0}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .65s var(--ease)}.gallery-item:hover img{transform:scale(1.055)}.gallery-item--wide{grid-column:1/3;grid-row:1}.gallery-item--tall{grid-column:3;grid-row:1/3}.gallery-item--small{grid-row:2}.gallery-item:before{content:'';position:absolute;z-index:1;inset:50% 0 0;background:linear-gradient(180deg,transparent,rgba(5,24,41,.64));pointer-events:none}.gallery-item figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:22px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.16em;font-weight:700;color:#fff}.gallery-item figcaption .icon{width:20px;height:20px}.work-note{display:flex;justify-content:space-between;align-items:center;padding-top:30px;gap:20px}.work-note>span{font-size:10px;font-weight:700;color:#7590a2;letter-spacing:.16em}
.quote-banner{background:var(--yellow);color:var(--navy)}.quote-inner{display:flex;align-items:center;gap:32px;min-height:168px}.quote-mark{font-family:Georgia,serif;font-size:100px;line-height:.4;margin-top:37px}.quote-inner p{font-size:clamp(1.55rem,3vw,2.55rem);font-weight:700;font-family:var(--head);letter-spacing:-.04em;line-height:1.3}.quote-inner em{font-style:normal;opacity:.7}.quote-inner>.icon{margin-left:auto;width:33px;height:33px}
.contact-section{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:124px 0 135px}.contact-section:before{content:'';position:absolute;inset:-3% -16% 0 43%;background:repeating-linear-gradient(120deg,transparent 0,transparent 55px,rgba(255,255,255,.025) 56px,rgba(255,255,255,.025) 57px);pointer-events:none}.contact-grid{display:grid;grid-template-columns:.85fr 1fr;gap:105px;align-items:start;position:relative}.contact-story{padding-top:64px}.contact-story h2{font-size:clamp(2.45rem,4vw,3.95rem);margin:27px 0}.contact-story>p{font-size:15px;color:#b2c2ce;max-width:410px}.contact-proof{display:flex;gap:17px;align-items:center;border-top:1px solid rgba(255,255,255,.17);padding-top:31px;margin-top:43px;font-size:13px;font-weight:700;line-height:1.55}.contact-proof small{font-size:12px;font-weight:400;color:#a9bccb}.proof-icon{height:50px;width:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.26);flex:none}.proof-icon .icon{width:25px;height:25px;stroke:var(--yellow)}.form-shell{background:#fff;color:var(--ink);padding:46px;border-radius:4px;box-shadow:0 25px 85px rgba(1,10,18,.12)}.form-tag{font-size:10px;color:var(--deep);font-weight:700;letter-spacing:.2em}.form-head h3{margin:14px 0 6px;font-size:25px;letter-spacing:-.045em}.form-head p{font-size:13px;color:var(--muted)}.form-head{margin-bottom:27px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:17px;min-width:0}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:8px;color:#264158}.field label span{color:#cb7900}.field input,.field select,.field textarea{width:100%;border:1px solid #dce5ed;background:#fafbfc;color:#14314b;padding:13px 14px;border-radius:3px;min-height:47px;outline:none;font-size:13px;transition:border .2s,background .2s;appearance:none}.field input::placeholder,.field textarea::placeholder{color:#98a6b2}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--deep);background:#fff;box-shadow:0 0 0 2px rgba(31,78,121,.08)}.field input[aria-invalid="true"],.field select[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#a83f35}.field textarea{resize:vertical;min-height:99px;line-height:1.5}.select-wrap{position:relative}.select-wrap>.icon{position:absolute;right:11px;top:14px;pointer-events:none;width:18px;height:18px}.field select{padding-right:31px}.form-submit{width:100%;justify-content:space-between;margin-top:3px;min-height:53px;font-size:12px}.form-submit[disabled]{opacity:.6;cursor:wait}.form-status{border-radius:3px;background:#f7f9fb;border:1px solid #dae4ec;color:#23415a;font-size:12px;padding:13px 15px;margin-top:13px;line-height:1.6}.form-status.is-error{background:#fff4ef;border-color:#f5c6bb;color:#8b3022}.copy-request{background:none;border:0;color:var(--deep);text-decoration:underline;font-size:12px;font-weight:700;margin-top:10px;padding:4px 0}.form-disclaimer{font-size:10px!important;line-height:1.7;color:#8494a1;margin-top:15px}.form-honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.site-footer{background:#0a2136;color:#e8eef2;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:80px}.footer-brand{display:inline-block;width:210px}.footer-brand img{width:100%}.footer-grid>div:first-child p{font-size:12px;max-width:295px;margin-top:23px;color:#91a7ba}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-links span{color:#718ea3;letter-spacing:.18em;font-size:10px;font-weight:700;margin-bottom:6px}.footer-links a{font-size:12px;font-weight:500;transition:color .2s}.footer-links a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:59px;padding-top:23px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#7892a7;letter-spacing:.04em}.footer-bottom .footer-tagline{letter-spacing:.13em}.mobile-sticky-cta{display:none}
[data-reveal]{opacity:0;transform:translateY(23px);transition:opacity .7s ease,transform .7s var(--ease)}[data-reveal].visible{opacity:1;transform:translateY(0)}
@media(min-width:1500px){.hero-content{margin-top:55px}}@media(max-width:1100px){.wrap{width:min(calc(100% - 70px),var(--container))}.desktop-nav{gap:18px}.header-inner{gap:22px}.brand{width:180px}.nav-cta{padding:13px 15px}.heading-split{gap:45px}.about-grid{gap:65px}.contact-grid{gap:60px}.process-label{display:none}.process-bar{gap:12px}.process-bar>div{font-size:11px}}@media(max-width:840px){.wrap{width:min(calc(100% - 48px),var(--container))}.desktop-nav,.nav-cta{display:none}.header-inner,.site-header.is-scrolled .header-inner{height:78px}.brand{width:182px}.menu-toggle{display:grid;margin-left:auto;place-items:center;width:43px;height:43px;border:1px solid rgba(255,255,255,.4);border-radius:3px;background:transparent;color:inherit;z-index:2}.is-scrolled .menu-toggle{border-color:#d1dce5}.menu-toggle .icon--close{display:none}.menu-open .site-header{color:#fff;background:var(--navy)}.menu-open .site-header:before{background:var(--navy)}.menu-open .brand-image--inverse{opacity:1}.menu-open .brand-image--primary{opacity:0}.menu-open .menu-toggle .icon--menu{display:none}.menu-open .menu-toggle .icon--close{display:block}.menu-open .menu-toggle{border-color:rgba(255,255,255,.32)}.mobile-nav{display:flex;position:fixed;top:77px;left:0;right:0;bottom:0;background:var(--navy);flex-direction:column;padding:35px max(24px,calc((100% - 680px)/2));gap:0;overflow:auto;visibility:hidden;opacity:0;transform:translateY(-14px);transition:visibility .25s,opacity .25s,transform .25s;overscroll-behavior:contain}.menu-open .mobile-nav{visibility:visible;opacity:1;transform:translateY(0)}.mobile-nav>a:not(.btn){padding:18px 2px;border-bottom:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;align-items:center;font:600 19px var(--head);letter-spacing:-.03em}.mobile-nav>a span{font:600 10px var(--body);color:#94adc1}.mobile-nav .mobile-menu-cta{margin-top:32px;justify-content:space-between;color:var(--navy);font-family:var(--body);font-weight:700}.hero{min-height:700px;height:88svh}.hero h1{font-size:clamp(3.65rem,8vw,5.6rem)}.hero-photo{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(6,24,42,.91),rgba(6,24,42,.7) 58%,rgba(6,24,42,.14)),linear-gradient(0deg,rgba(6,24,42,.55),transparent 38%)}.intro-inner{min-height:145px}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.about-section{padding:90px 0}.about-grid{grid-template-columns:1fr 1fr;gap:40px}.about-photo-wrap{padding-right:15px}.about-mini-card{width:150px;right:-11px}.about-content h2{font-size:2.65rem}.about-content .about-lead{font-size:16px}.about-underline{gap:14px}.approach-intro{align-items:start}.process-bar{flex-wrap:wrap}.value-card,.value-card+.value-card{padding-left:22px;padding-right:20px}.value-card:first-child{padding-left:0}.work-gallery{grid-template-rows:220px 220px}.contact-grid{grid-template-columns:.8fr 1fr;gap:35px}.form-shell{padding:28px}.contact-story h2{font-size:2.8rem}.footer-grid{gap:45px}}
@media(max-width:650px){html{scroll-padding-top:69px}.wrap{width:calc(100% - 40px)}.header-inner,.site-header.is-scrolled .header-inner{height:72px}.brand{width:165px}.mobile-nav{top:71px}.hero{min-height:650px;height:89svh;max-height:820px}.hero-photo{background-position:64% center}.hero-shade{background:linear-gradient(90deg,rgba(6,23,40,.93),rgba(6,23,40,.54) 83%,rgba(6,23,40,.39)),linear-gradient(0deg,rgba(6,23,40,.65),transparent 49%)}.hero-grid{padding-top:22px}.hero-content{margin-top:40px}.eyebrow{font-size:9px;letter-spacing:.15em;gap:9px}.eyebrow-line{width:22px}.hero h1{font-size:clamp(3.2rem,11.7vw,4.9rem);letter-spacing:-.07em;margin:24px 0 21px}.hero-content>p{font-size:14px;line-height:1.8;max-width:385px}.hero-actions{margin-top:26px;flex-direction:column;align-items:flex-start;gap:24px}.btn--large{min-height:54px}.hero-bottom{bottom:25px}.scroll-prompt>span:first-child{display:none}.scroll-mouse{height:34px;width:34px}.hero-index{font-size:9px}.intro-inner{min-height:135px}.intro-inner p{font-size:clamp(1.4rem,5vw,1.85rem)}.intro-signet{height:47px;width:47px;flex:none}.section{padding:82px 0}.section-heading{margin-bottom:35px}.heading-split{display:block}.heading-split>p{padding:0;margin-top:20px;font-size:14px;max-width:520px}.section-heading h2{margin-top:18px}h2{font-size:clamp(2.18rem,9vw,3.1rem)}.services-grid{grid-template-columns:1fr;gap:32px}.service-photo{aspect-ratio:1.47}.service-info{padding-top:17px}.service-info h3{font-size:19px}.services-footnote{margin-top:32px;line-height:1.85}.about-section{padding:75px 0 87px}.about-grid{grid-template-columns:1fr;gap:65px}.about-photo-wrap{max-width:490px;padding-right:24px}.about-photo{aspect-ratio:4/3.5}.about-mini-card{bottom:0;right:0;width:150px;height:112px;padding:17px}.about-content h2{font-size:clamp(2.4rem,10vw,3.6rem);margin-top:21px}.about-content{max-width:510px}.about-content .about-lead{font-size:17px}.about-underline{padding:23px 0}.approach-section{padding:86px 0}.approach-intro{display:block;margin-bottom:37px}.approach-intro p{margin-top:18px;font-size:14px}.value-grid{grid-template-columns:1fr}.value-card,.value-card+.value-card,.value-card:first-child{padding:25px 0 31px;border-left:0;border-bottom:1px solid #d5e0e8}.value-card:last-child{border-bottom:0}.value-head .icon{width:27px;height:27px}.value-card h3{margin:19px 0 6px}.value-card p{font-size:13px}.process-bar{margin-top:30px;display:grid;grid-template-columns:1fr;gap:16px}.process-bar>div{font-size:12px}.process-label{display:block}.step-line{display:none}.work-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:245px 245px 180px;gap:10px}.gallery-item--wide{grid-column:1/3;grid-row:1}.gallery-item--tall{grid-column:1/3;grid-row:2}.gallery-item--tall img{object-position:center 56%}.gallery-item--small{grid-row:3}.gallery-item figcaption{font-size:8px;left:11px;right:11px;bottom:12px}.gallery-item figcaption .icon{height:15px;width:15px}.work-note{flex-direction:column;align-items:flex-start;gap:14px;padding-top:25px}.work-note>span{font-size:9px}.quote-inner{min-height:126px;gap:18px}.quote-mark{font-size:70px;margin-top:25px}.quote-inner p{font-size:clamp(1.35rem,5.1vw,2rem)}.quote-inner>.icon{display:none}.contact-section{padding:77px 0 105px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-story{padding-top:0}.contact-story h2{font-size:clamp(2.5rem,10vw,3.4rem)}.contact-story>p{font-size:14px}.contact-proof{margin-top:28px;padding-top:24px}.form-shell{padding:26px 22px}.form-head h3{font-size:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 18px}.footer-grid>div:first-child{grid-column:1/-1}.footer-brand{width:190px}.site-footer{padding-top:57px;padding-bottom:94px}.footer-bottom{flex-direction:column;margin-top:42px;gap:10px}.mobile-sticky-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--yellow);color:var(--navy);font-weight:800;font-size:12px;letter-spacing:.04em;position:fixed;left:13px;right:13px;bottom:calc(12px + env(safe-area-inset-bottom));height:53px;padding:0 20px;border-radius:4px;box-shadow:0 5px 25px rgba(2,18,31,.25);z-index:970;transform:translateY(130px);transition:transform .3s var(--ease)}.mobile-sticky-cta.is-visible{transform:translateY(0)}body.menu-open .mobile-sticky-cta{transform:translateY(130px)}.mobile-sticky-cta .icon{height:16px;width:16px}}
@media(max-width:390px){.hero h1{font-size:3rem}.form-two{grid-template-columns:1fr;gap:0}.hero-index{font-size:8px}.service-info h3{font-size:17px}.contact-story h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-reveal]{opacity:1;transform:none}}

/* Locked-design refinements */
.footer-brand{display:inline-flex;align-items:center;width:220px;max-width:100%;height:auto}.footer-brand img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:1010 / 286;transform:none}
body.estimator-open{overflow:hidden}.estimate-fab{position:fixed;right:26px;bottom:25px;z-index:985;background:var(--yellow);color:var(--navy);box-shadow:0 12px 32px rgba(2,27,46,.22);border:1px solid rgba(255,255,255,.4);border-radius:7px;display:flex;align-items:center;gap:12px;padding:11px 13px;min-height:64px;text-align:left;transition:transform .2s,box-shadow .2s}.estimate-fab:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(2,27,46,.28)}.estimate-fab-icon{display:grid;place-items:center;width:38px;height:38px;background:var(--navy);color:var(--yellow);border-radius:5px}.estimate-fab-text{display:flex;flex-direction:column;gap:3px}.estimate-fab-text strong{font:700 12px var(--head);letter-spacing:-.015em}.estimate-fab-text small{font:500 10px var(--body);opacity:.8}.estimate-fab-arrow{width:15px;height:15px;margin-left:3px}body.menu-open .estimate-fab,body.estimator-open .estimate-fab{visibility:hidden;pointer-events:none;opacity:0}
.estimate-overlay{position:fixed;inset:0;z-index:3000;background:rgba(5,18,31,.72);backdrop-filter:blur(8px);padding:clamp(12px,4vh,42px) 18px;display:grid;place-items:center}.estimate-dialog{width:min(100%,1080px);max-height:calc(100dvh - 24px);background:#fff;border-radius:9px;box-shadow:0 30px 100px rgba(0,0,0,.35);overflow:auto;overscroll-behavior:contain;outline:none;color:var(--navy)}.estimate-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 25px;border-bottom:1px solid #e0e8ef;background:#fff}.estimate-top-brand{display:flex;align-items:center;gap:10px}.estimate-top-brand img{width:33px;height:33px;object-fit:contain}.estimate-top-brand>div{display:flex;flex-direction:column;gap:2px}.estimate-top-brand span{font:800 9px var(--body);letter-spacing:.15em;color:#627d93}.estimate-top-brand strong{font:700 15px var(--head);letter-spacing:-.03em}.estimate-close{border:1px solid #d5e2eb;background:#f5f8fb;border-radius:5px;color:var(--navy);display:grid;place-items:center;width:39px;height:39px}.estimate-dialog-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:stretch}.estimate-main{padding:29px 33px 30px;min-width:0}.estimate-step-head{padding-bottom:16px}.estimate-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:800;color:var(--deep);margin-bottom:10px}.estimate-step-head h2{font-size:clamp(25px,3vw,36px);line-height:1.14;letter-spacing:-.06em}.estimate-step-head h2 em{font-style:normal;color:var(--deep)}.estimate-step-head>p:last-child{font-size:12px;color:#667b8d;max-width:520px;margin-top:9px;line-height:1.6}.estimate-steps{display:flex;gap:0;padding:12px 0 17px;margin:5px 0 13px;border-top:1px solid #e5edf2;border-bottom:1px solid #e5edf2}.estimate-steps span{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.2;font-weight:700;color:#8da0b0;white-space:nowrap}.estimate-steps span:not(:last-child)::after{content:'';display:block;height:1px;width:clamp(13px,4vw,54px);background:#dce5ec;margin:0 12px}.estimate-steps span.is-active{color:var(--navy)}.estimate-steps span.is-active:before{content:'';display:block;width:7px;height:7px;background:var(--yellow);border-radius:50%}.estimate-screen{min-height:275px}.estimate-intro-row{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:17px}.estimate-intro-row h3,.estimate-selected-head h3,.estimate-breakdown h3{font-size:16px;font-weight:700}.estimate-intro-row p{font-size:11px;color:#6c8294;line-height:1.5}.estimate-control-row{display:grid;grid-template-columns:minmax(0,1fr) 125px;gap:12px}.estimate-field label{display:block;margin-bottom:8px;font:700 11px var(--body);color:#526b7f}.estimate-field input,.estimate-field select{width:100%;border:1px solid #d3dfe8;border-radius:4px;padding:0 13px;height:46px;background:#f9fbfd;color:var(--navy);outline:0;font-size:12px}.estimate-field select{appearance:none;padding-right:37px}.estimate-field input:focus,.estimate-field select:focus{border-color:var(--deep);box-shadow:0 0 0 3px rgba(31,78,121,.08)}.estimate-select-wrap{position:relative}.estimate-select-wrap .icon{position:absolute;pointer-events:none;right:12px;top:13px;width:17px;height:17px}.estimate-hint{margin:11px 0 14px;font-size:11px;color:#7890a2;min-height:21px;line-height:1.5}.estimate-add{border:1px solid #b8cad9;background:#fff;color:var(--deep);border-radius:4px;padding:12px 18px;display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700}.estimate-add .icon{height:16px;width:16px}.estimate-add:hover{background:#f0f6fa}.estimate-selected-head{margin:25px 0 11px;display:flex;justify-content:space-between;gap:10px;align-items:center}.estimate-text-action,.estimate-back{border:0;background:none;color:var(--deep);font-size:11px;font-weight:700;padding:8px 1px}.estimate-text-action:hover,.estimate-back:hover{text-decoration:underline}.estimate-selected{border:1px solid #e0e8ee;border-radius:5px;overflow:hidden;max-height:180px;overflow-y:auto}.estimate-empty{padding:21px 17px;color:#8494a2;font-size:11px;line-height:1.5}.estimate-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #e4ebf0}.estimate-item:last-child{border-bottom:none}.estimate-item-title{min-width:0;flex:1}.estimate-item-title strong{display:block;font:700 11px var(--body)}.estimate-item-title small{font-size:10px;color:#8193a1}.estimate-qty-controls{display:flex;align-items:center;gap:7px}.estimate-qty-controls button,.estimate-remove{display:grid;place-items:center;width:24px;height:24px;border:1px solid #d5e1ea;background:#f8fafc;color:var(--navy);border-radius:3px}.estimate-qty-controls span{font-size:11px;min-width:19px;text-align:center}.estimate-remove{font-size:17px;border:0;background:none;color:#748b9d}.estimate-navrow{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e8edf1;margin-top:20px;padding-top:19px}.estimate-step-note{font-size:10px;color:#8da0b0}.estimate-next{min-height:43px;font-size:11px;gap:20px}.estimate-next .icon{width:16px;height:16px}.estimate-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.estimate-toggle-group{border-top:1px solid #e2e9ef;margin-top:23px}.estimate-toggle-group>div{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid #e2e9ef;padding:15px 0}.estimate-toggle-group strong{display:block;font:700 12px var(--body);margin-bottom:5px}.estimate-toggle-group small{display:block;font-size:10px;color:#748a9b;line-height:1.6}.estimate-switch{position:relative;width:43px;height:25px;flex:none}.estimate-switch input{position:absolute;inset:0;opacity:0;cursor:pointer}.estimate-switch-ui{display:block;height:25px;width:43px;background:#becbd5;border-radius:15px;transition:background .2s}.estimate-switch-ui:after{content:'';position:absolute;top:3px;left:3px;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0002;transition:transform .2s}.estimate-switch input:checked + .estimate-switch-ui{background:var(--deep)}.estimate-switch input:checked + .estimate-switch-ui:after{transform:translateX(18px)}.estimate-switch input:focus-visible + .estimate-switch-ui{outline:3px solid var(--yellow);outline-offset:2px}.estimate-result-hero{background:var(--navy);color:#fff;border-radius:6px;padding:22px 25px;display:flex;flex-direction:column;gap:7px}.estimate-result-hero span{font-size:9px;color:#a8c3d6;letter-spacing:.17em;font-weight:700}.estimate-result-hero strong{font:700 clamp(25px,4vw,39px) var(--head);letter-spacing:-.055em}.estimate-result-hero small{font-size:10px;color:#bfccd8;line-height:1.6}.estimate-breakdown{margin-top:20px}.estimate-breakdown-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #dfe7ed}.estimate-breakdown-header>span{font-size:10px;color:#8295a4}.estimate-breakdown-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;font-size:11px;padding:11px 0;border-bottom:1px solid #eef1f5}.estimate-breakdown-row small{color:#8da0b0;font-size:10px}.estimate-breakdown-row strong{font-size:11px;white-space:nowrap}.estimate-notes{background:#f4f8fb;border-left:3px solid var(--yellow);padding:13px 16px;margin-top:15px;color:#4c697f;font-size:10px;line-height:1.6}.estimate-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}.estimate-actions .btn{min-height:45px;font-size:11px;gap:10px}.estimate-copy{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #d6e1e9;background:#fff;border-radius:4px;font:700 11px var(--body);color:var(--navy)}.estimate-copy .icon{width:16px;height:16px}.estimate-legal{font-size:10px;color:#6f8394;margin-top:15px;line-height:1.65}.estimate-navrow--last{margin-top:13px;padding-top:8px}.estimate-aside{background:var(--navy);color:#fff;min-height:610px;padding:35px 26px;display:flex;flex-direction:column}.estimate-aside-top{display:flex;align-items:center;gap:9px;color:var(--yellow)}.estimate-aside-top .icon{width:19px;height:19px}.estimate-aside-top span{font-size:9px;letter-spacing:.15em;font-weight:700}.estimate-aside>p:nth-child(2){font:700 26px/1.27 var(--head);letter-spacing:-.04em;margin:65px 0 26px}.estimate-live-card{padding:19px 0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}.estimate-live-card span{font-size:9px;color:#94acc0;letter-spacing:.14em;font-weight:700}.estimate-live-card strong{display:block;font:700 21px/1.35 var(--head);letter-spacing:-.05em;color:var(--yellow);margin:10px 0}.estimate-live-card small{display:block;font-size:10px;line-height:1.55;color:#afc1cf}.estimate-aside-dots{display:flex;gap:7px;margin-top:24px}.estimate-aside-dots span{height:3px;flex:1;background:#ffffff24}.estimate-aside-dots span:first-child{background:var(--yellow)}.estimate-aside-footer{margin-top:auto;font-size:10px;color:#9db3c4;line-height:1.7;padding-top:50px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(max-width:840px){.estimate-dialog-grid{grid-template-columns:1fr}.estimate-aside{display:none}.estimate-dialog{max-width:700px}.estimate-main{padding:25px 24px}}
@media(max-width:650px){.hero-grid{padding-top:0;padding-bottom:0}.hero-content{margin-top:0}.hero h1{margin-top:16px;margin-bottom:14px}.hero-actions{margin-top:19px;gap:16px}.hero{min-height:560px;height:83svh;max-height:730px}.hero-bottom{bottom:17px}.estimate-fab{right:13px;bottom:calc(78px + env(safe-area-inset-bottom));min-height:50px;padding:8px 10px;gap:9px;border-radius:5px}.estimate-fab-icon{height:31px;width:31px}.estimate-fab-text strong{font-size:11px}.estimate-fab-text small{font-size:9px}.estimate-fab-arrow{width:13px;height:13px}.estimate-overlay{padding:0;display:block}.estimate-dialog{width:100%;height:100dvh;max-height:none;border-radius:0}.estimate-topbar{position:sticky;top:0;z-index:2;padding:12px 17px}.estimate-main{padding:22px 18px 35px}.estimate-step-head h2{font-size:28px}.estimate-step-head>p:last-child{font-size:11px}.estimate-steps span{font-size:10px}.estimate-steps span:not(:last-child)::after{width:12px;margin:0 8px}.estimate-intro-row{display:block}.estimate-intro-row p{margin-top:5px}.estimate-control-row{grid-template-columns:minmax(0,1fr) 86px}.estimate-detail-grid{gap:12px}.estimate-field select{font-size:11px}.estimate-field label{font-size:10px}.estimate-selected{max-height:150px}.estimate-navrow{align-items:center}.estimate-step-note{max-width:120px;line-height:1.5}.estimate-result-hero{padding:20px}.estimate-actions .btn{flex:1}.estimate-copy{justify-content:center}.estimate-selected-head{margin-top:18px}}
@media(max-width:385px){.estimate-detail-grid{grid-template-columns:1fr}.estimate-steps span:not(:last-child)::after{width:5px;margin:0 5px}.estimate-step-head h2{font-size:24px}}

.estimate-run-length{margin-top:20px;border-top:1px solid #e2e9ef;padding-top:18px}.estimate-range-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.estimate-range-head label{font:700 11px var(--body);color:#526b7f}.estimate-range-head strong{font:700 12px var(--head);color:var(--deep)}.estimate-run-length input[type=range]{width:100%;accent-color:var(--deep);cursor:pointer}.estimate-range-scale{display:flex;justify-content:space-between;font-size:9px;color:#8396a7}.estimate-run-length p{font-size:10px;color:#8295a4;line-height:1.6;margin-top:7px}


/* SkioSite powered-by treatment — matches Central Florida Stucco and Ironcore. */
.footer-bottom { align-items: center; }
.skiosite-powered {
  --skio-opacity: .34;
  --skio-hover-opacity: .92;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  opacity: var(--skio-opacity);
  transition: opacity .3s ease, transform .3s ease;
  -webkit-tap-highlight-color: transparent;
}
.skiosite-powered__label {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 9px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  opacity: 0;
  transform: translateX(5px);
  max-width: 0;
  overflow: hidden;
  transition: opacity .3s ease, transform .3s ease, max-width .35s ease;
}
.skiosite-powered__logo {
  display: block;
  width: 82px;
  max-width: 100%;
  height: auto;
  filter: grayscale(1);
  transition: filter .3s ease, transform .3s ease;
}
.skiosite-powered:hover,
.skiosite-powered:focus-visible { opacity: var(--skio-hover-opacity); }
.skiosite-powered:hover .skiosite-powered__label,
.skiosite-powered:focus-visible .skiosite-powered__label {
  opacity: 1;
  transform: translateX(0);
  max-width: 115px;
}
.skiosite-powered:hover .skiosite-powered__logo,
.skiosite-powered:focus-visible .skiosite-powered__logo {
  filter: grayscale(0);
  transform: translateY(-1px);
}
.skiosite-powered:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 5px;
  border-radius: 2px;
}
@media (max-width: 767px) {
  .skiosite-powered { --skio-opacity: .4; }
  .skiosite-powered__logo { width: 74px; }
  .skiosite-powered__label { display: none; }
}
@media (max-width: 650px) {
  .footer-bottom { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .skiosite-powered,
  .skiosite-powered__label,
  .skiosite-powered__logo { transition: none; }
}


/* v8: footer estimator + floating CTA visibility and mobile footer alignment. */
/* The footer CTA deliberately matches the exact floating estimator button design. */
.site-footer .footer-estimator-btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 13px;
  padding: 11px 13px;
  min-height: 64px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 7px;
  background: var(--yellow);
  color: var(--navy);
  box-shadow: 0 12px 32px rgba(2,27,46,.22);
  text-align: left;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
/* Reset the footer's generic span styles so the button matches the floating CTA. */
.site-footer .footer-estimator-btn .estimate-fab-icon {
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  margin: 0;
  border-radius: 5px;
  background: var(--navy);
  color: var(--yellow);
  letter-spacing: normal;
}
.site-footer .footer-estimator-btn .estimate-fab-text {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin: 0;
  font-size: inherit;
  font-weight: normal;
  letter-spacing: normal;
  color: var(--navy);
}
.site-footer .footer-estimator-btn .estimate-fab-text strong {
  font: 700 12px var(--head);
  letter-spacing: -.015em;
  color: var(--navy);
}
.site-footer .footer-estimator-btn .estimate-fab-text small {
  font: 500 10px var(--body);
  opacity: .8;
  color: var(--navy);
}
.site-footer .footer-estimator-btn .estimate-fab-arrow {
  width: 15px;
  height: 15px;
  margin-left: 3px;
  flex: 0 0 auto;
  color: var(--navy);
}
.site-footer .footer-estimator-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 40px rgba(2,27,46,.28);
}
.site-footer .footer-estimator-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
/* The transition starts before the footer arrives, preventing overlap with the powered-by branding. */
.estimate-fab {
  transition: opacity .26s ease, transform .26s ease, box-shadow .2s ease, visibility .26s;
}
body.footer-in-view .estimate-fab {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px);
}
@media (max-width: 767px) {
  .site-footer .footer-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 32px;
    text-align: center;
    justify-items: center;
  }
  .footer-grid > div:first-child {grid-column: auto;}
  .footer-brand {margin-inline: auto;}
  .footer-grid > div:first-child p {margin-left: auto;margin-right: auto;}
  .footer-links {align-items: center;}
  .site-footer .footer-estimator-btn {align-self: center;}
  .footer-bottom {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 14px;
    margin-top: 38px;
  }
  /* Unlike the desktop hover-only label, show attribution at all times on mobile. */
  .skiosite-powered {
    --skio-opacity: .85;
    align-self: center;
    justify-content: center;
    gap: 9px;
  }
  .skiosite-powered__label {
    display: inline-block;
    opacity: 1;
    transform: none;
    max-width: none;
    overflow: visible;
    font-size: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .estimate-fab, .footer-estimator-btn {transition: none;}
}

/* Match the original floating estimator's compact mobile presentation. */
@media (max-width: 650px) {
  .site-footer .footer-estimator-btn {
    padding: 8px 10px;
    min-height: 50px;
    gap: 9px;
    border-radius: 5px;
  }
  .site-footer .footer-estimator-btn .estimate-fab-icon {
    flex-basis: 31px;
    width: 31px;
    height: 31px;
  }
  .site-footer .footer-estimator-btn .estimate-fab-text strong {font-size: 11px;}
  .site-footer .footer-estimator-btn .estimate-fab-text small {font-size: 9px;}
  .site-footer .footer-estimator-btn .estimate-fab-arrow {width: 13px;height:13px;}
}


/* v10: independent mobile dismissal for both fixed CTAs.
   Close controls are siblings, never nested in the click target; taps cannot
   accidentally open the estimator or activate the contact anchor. */
.mobile-floating-dismiss { display: none; }
@media (max-width: 650px) {
  .mobile-floating-dismiss {
    position: fixed;
    z-index: 992;
    width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    color: var(--yellow);
    background: var(--navy);
    border: 1px solid rgba(255,255,255,.65);
    border-radius: 50%;
    box-shadow: 0 3px 12px rgba(2,18,31,.24);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    transition: opacity .2s ease, visibility .2s ease;
  }
  .mobile-floating-dismiss .icon { width: 13px; height: 13px; stroke-width: 2.3; pointer-events: none; }
  .mobile-floating-dismiss:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }
  /* The mobile request bar appears only after scrolling away from the hero. */
  .mobile-floating-dismiss--service {
    left: 7px;
    bottom: calc(69px + env(safe-area-inset-bottom));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .mobile-sticky-cta.is-visible + .mobile-floating-dismiss--service {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  /* The estimator occupies the right-hand floating location above the service bar. */
  .mobile-floating-dismiss--estimator {
    right: 9px;
    bottom: calc(131px + env(safe-area-inset-bottom));
  }
  body.service-fab-dismissed .mobile-sticky-cta,
  body.service-fab-dismissed .mobile-floating-dismiss--service,
  body.estimator-fab-dismissed .estimate-fab,
  body.estimator-fab-dismissed .mobile-floating-dismiss--estimator {
    display: none !important;
  }
  body.menu-open .mobile-floating-dismiss,
  body.estimator-open .mobile-floating-dismiss--estimator,
  body.footer-in-view .mobile-floating-dismiss--estimator {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  body.menu-open .mobile-sticky-cta.is-visible + .mobile-floating-dismiss--service,
  body.estimator-open .mobile-sticky-cta.is-visible + .mobile-floating-dismiss--service {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}
/* Small-screen SkioSite attribution is static; no hover/focus animation or
   color shift. The desktop reveal on hover remains untouched. */
@media (max-width: 767px) {
  .skiosite-powered,
  .skiosite-powered:hover,
  .skiosite-powered:focus-visible {
    opacity: .85;
    transform: none;
    transition: none;
  }
  .skiosite-powered__label,
  .skiosite-powered:hover .skiosite-powered__label,
  .skiosite-powered:focus-visible .skiosite-powered__label {
    display: inline-block;
    opacity: 1;
    transform: none;
    max-width: none;
    overflow: visible;
    transition: none;
  }
  .skiosite-powered__logo,
  .skiosite-powered:hover .skiosite-powered__logo,
  .skiosite-powered:focus-visible .skiosite-powered__logo {
    filter: grayscale(1);
    transform: none;
    transition: none;
  }
}
@media (max-width: 650px) and (prefers-reduced-motion: reduce) {
  .mobile-floating-dismiss { transition: none; }
}


/* v12 — Formspree success confirmation, consistent with the locked HomeVolt design. */
.form-success[hidden], #formView[hidden] { display: none !important; }
.form-success {
  display: flex;
  min-height: 415px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 14px 1px 12px;
  animation: hv-form-success-in .35s ease both;
}
.form-success-mark {
  display: grid;
  place-items: center;
  width: 59px;
  height: 59px;
  margin-bottom: 30px;
  border-radius: 50%;
  background: var(--navy);
  color: var(--yellow);
  font: 700 28px var(--body);
}
.form-success h3 {
  max-width: 470px;
  margin: 16px 0 17px;
  font: 700 clamp(24px, 2.7vw, 33px)/1.18 var(--head);
  letter-spacing: -.045em;
  color: var(--navy);
  outline: none;
}
.form-success > p:not(.form-success-countdown) {
  max-width: 405px;
  font: 400 13px/1.8 var(--body);
  color: var(--muted);
  margin: 0 0 30px;
}
.form-success-return {
  min-height: 53px;
  width: auto;
  max-width: 100%;
  justify-content: space-between;
  gap: 23px;
}
.form-success-return .icon { transform: rotate(-90deg); }
.form-success-countdown {
  margin-top: 18px;
  color: #7c8c99;
  font: 400 11px/1.5 var(--body);
}
.form-success-countdown strong { font-weight: 700; color: var(--deep); }
@keyframes hv-form-success-in {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (max-width:650px) {
  .form-success { min-height: 370px; padding: 12px 0; }
  .form-success-mark { width: 53px; height: 53px; margin-bottom: 24px; }
  .form-success h3 { font-size: 27px; }
  .form-success-return { width: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  .form-success { animation: none; }
}

/* SkioSite V13 banner / HomeVolt fixed navigation integration only.
   Banner styles themselves are embedded verbatim in index.html. */
:root { --skio-promo-offset: 0px; }
.site-header { top: var(--skio-promo-offset); }
@media (max-width: 840px) {
  .site-header .mobile-nav { top: calc(var(--skio-promo-offset) + 77px); }
}
@media (max-width: 650px) {
  .site-header .mobile-nav { top: calc(var(--skio-promo-offset) + 71px); }
}


/* v15: SkioSite sample-template disclaimer — shared Summit / Liberty Flow wording. */
.site-footer .skio-template-disclaimer {
  margin-top: 24px;
  padding-top: 17px;
  border-top: 1px solid rgba(255, 255, 255, .10);
}
.site-footer .skio-template-disclaimer p {
  max-width: 1000px;
  margin: 0;
  font-family: var(--body, Inter, Arial, sans-serif);
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: .005em;
  line-height: 1.75;
  color: #a9bac8;
}
.site-footer .skio-template-disclaimer strong {
  font-weight: 700;
  color: #d1dde7;
}
@media (max-width: 767px) {
  .site-footer .skio-template-disclaimer {
    margin-top: 25px;
    padding-top: 20px;
    text-align: center;
  }
  .site-footer .skio-template-disclaimer p {
    margin-inline: auto;
    max-width: 520px;
    font-size: 11px;
    line-height: 1.8;
  }
}
