:root{--blue:#133396;--black:#000000;--gold:#f1bc39;--ink:#121a30;--muted:#556078;--pale:#f3f5fa;--line:#dce1eb;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}a:hover{color:var(--blue)}p{margin:0 0 22px;color:var(--muted)}h1,h2,h3{line-height:1.12;letter-spacing:-.04em;margin:0 0 24px}h1{font-size:clamp(40px,4.8vw,70px);font-weight:650}h2{font-size:clamp(32px,3.3vw,48px);font-weight:620}h3{font-size:24px;font-weight:600}img{display:block;max-width:100%}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.topbar{background:var(--blue);color:white;font-size:13px;letter-spacing:.015em;padding:9px 0}.topbar .wrap{display:flex;justify-content:space-between;gap:16px}.topbar a:hover{color:var(--gold)}.toplinks{display:flex;gap:25px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:116px;gap:24px}.logo img{width:125px;height:98px;object-fit:contain}.nav{display:flex;align-items:center;gap:28px}.nav>a,.services-nav>a{font-size:14px;font-weight:600}.nav a[aria-current=page]{color:var(--blue)}.services-nav{position:relative;display:flex;gap:5px;align-items:center;padding:22px 0}.drop-toggle{background:none;border:0;padding:7px;cursor:pointer;color:var(--blue);line-height:1}.dropdown{display:none;position:absolute;top:100%;left:-24px;background:#fff;border:1px solid var(--line);padding:12px;box-shadow:0 18px 40px #142c6420;min-width:280px;border-radius:8px}.dropdown a{display:block;padding:11px 12px;font-size:14px;border-radius:4px}.dropdown a:hover{background:var(--pale)}.services-nav.open .dropdown{display:block}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 23px;border-radius:5px;background:var(--blue);color:#fff;font-size:14px;font-weight:650;border:1px solid transparent;cursor:pointer;transition:background .18s,transform .18s}.button:hover{background:#0c236c;color:white;transform:translateY(-2px)}.button.gold{background:var(--gold);color:var(--black)}.button.gold:hover{background:#ffd264}.button.outline{background:transparent;border-color:var(--line);color:var(--ink)}.button.outline:hover{border-color:var(--blue);color:var(--blue)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:5px;padding:9px 14px;cursor:pointer}.skip{position:fixed;top:-80px;left:20px;z-index:99;background:var(--gold);padding:12px}.skip:focus{top:10px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.17em;font-weight:750;color:var(--blue);display:block;margin-bottom:22px}.eyebrow:before{content:'';display:inline-block;width:25px;height:2px;background:var(--gold);vertical-align:middle;margin-right:12px}.hero{padding:58px 0 64px;background:linear-gradient(115deg,#fff 58%,#f0f3fa 58%)}.hero-grid{display:grid;grid-template-columns:1.13fr 1fr;gap:55px;align-items:center}.hero h1{max-width:680px}.hero h1 span{color:var(--blue)}.hero .tagline{font-size:20px;color:var(--ink);max-width:470px;line-height:1.5}.hero .intro{max-width:520px}.photo-slot{min-height:420px;border:1px solid #cbd4e8;border-radius:var(--radius);background:linear-gradient(145deg,#e4eaf6,#f7f9ff 60%,#d7e0f4);display:flex;flex-direction:column;justify-content:space-between;position:relative;padding:27px;overflow:hidden}.photo-slot .slot-top{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--blue)}.photo-slot .brand-panel{background:white;width:66%;margin:30px auto;padding:22px;border-radius:5px;box-shadow:0 18px 50px #142d6820}.photo-slot .brand-panel img{width:100%;height:auto}.slot-bottom{border-top:1px solid #bfcbe4;padding-top:18px}.slot-bottom strong{display:block;font-size:17px;font-weight:600}.slot-bottom span{font-size:13px;color:var(--muted)}.hero-note{display:flex;gap:18px;align-items:center;margin-top:30px;font-size:13px;color:var(--muted)}.hero-note span+span{border-left:1px solid var(--line);padding-left:18px}.ribbon{background:var(--blue);color:white}.ribbon .wrap{display:flex;justify-content:space-between;padding-block:20px;font-size:14px}.ribbon span:before{content:'✦';color:var(--gold);margin-right:14px}.section{padding:88px 0}.section.soft{background:var(--pale)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}.section-heading h2{margin:0;max-width:640px}.section-heading p{max-width:370px;margin:0}.text-link{font-size:14px;font-weight:700;color:var(--blue);text-decoration:underline;text-underline-offset:6px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.large-copy{font-size:20px;line-height:1.6}.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.service-card{grid-column:span 2;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:white;transition:border-color .2s,transform .2s;min-height:290px}.service-card:nth-child(n+4){grid-column:span 3;min-height:250px}.service-card:hover{border-color:var(--blue);transform:translateY(-4px)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.service-icon{width:40px;height:40px;color:var(--blue)}.service-number{font-size:12px;letter-spacing:.13em;color:#707b90}.service-card h3{font-size:23px;letter-spacing:-.03em;margin-bottom:14px}.service-card p{font-size:15px;line-height:1.65;flex:1}.service-card .text-link{font-size:13px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}.step{border-top:1px solid var(--line);padding-top:24px}.step-num{color:var(--blue);font-size:14px;font-weight:700;display:block;margin-bottom:20px}.step h3{font-size:23px}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.area{border:1px solid var(--line);background:white;padding:34px;border-radius:8px}.state{font-size:12px;letter-spacing:.16em;color:var(--blue);font-weight:700;display:block;margin-bottom:14px}.towns{display:flex;flex-wrap:wrap;gap:10px}.towns span{background:var(--pale);padding:6px 12px;font-size:14px;border-radius:4px}.coverage-note{font-size:14px;margin-top:24px}.faq details{border-bottom:1px solid var(--line);padding:21px 0}.faq summary{font-weight:600;cursor:pointer;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+';font-size:24px;color:var(--blue);font-weight:400}.faq details[open] summary:after{content:'−'}.faq details p{margin:16px 35px 0 0}.cta{background:var(--blue);padding:56px 0;color:white}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.cta h2{font-size:38px;max-width:600px;margin-bottom:12px}.cta p{color:#d7e0ff;margin:0}.footer{padding:58px 0 0;background:#f7f8fc}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr 1.2fr 1.4fr;gap:38px}.footer-brand img{width:155px;height:auto;margin-bottom:20px}.footer h3{font-size:14px;letter-spacing:0;margin:8px 0 20px}.footer p,.footer a,.footer span{font-size:13px;line-height:1.7}.footer p{max-width:265px}.footer a{display:block;margin-bottom:10px}.footer a[href^='mailto:']{overflow-wrap:anywhere}.copyright{margin-top:42px;border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.copyright a{font-size:12px;margin:0}.breadcrumbs{display:flex;gap:9px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:28px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.interior .hero-grid{grid-template-columns:1.1fr .8fr;gap:80px}.interior .photo-slot{min-height:335px}.interior h1{font-size:clamp(38px,4.5vw,62px)}.interior .brand-panel{width:52%;margin:18px auto;padding:18px}.checklist{padding:0;list-style:none}.checklist li{padding:16px 0;border-bottom:1px solid var(--line);display:flex;gap:14px}.checklist li:before{content:'✓';color:var(--blue);font-weight:bold}.note{padding:22px;border-left:3px solid var(--gold);background:var(--pale);font-size:14px;color:var(--muted);margin-top:28px}.contact-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:80px}.contact-card{margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:25px}.contact-card h3{font-size:17px;letter-spacing:0;margin-bottom:10px}.contact-card a{color:var(--blue);font-size:20px;overflow-wrap:anywhere}.contact-card p{margin:0;font-size:15px}.form-wrap{padding:36px;border:1px solid var(--line);border-radius:8px;background:white}.form-wrap h2{font-size:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field.full{grid-column:1/-1}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.field input,.field select,.field textarea{width:100%;border:1px solid #b4bdd0;border-radius:4px;padding:12px;color:var(--ink);background:#fff;min-height:49px}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.form-notice{background:#fff8e5;padding:16px;font-size:14px;border-radius:4px;margin-bottom:25px;color:#554318}.form-status{margin-top:18px;font-size:15px}.form-status.error{color:#a01b23}.form-status.success{color:#165c32}.privacy-note{font-size:12px;margin:18px 0 0}.trap{position:absolute;left:-10000px}.preview-label{font-size:11px;border:1px solid #cad4e8;padding:3px 8px;border-radius:3px;color:#56647d;letter-spacing:.03em}.mobile-call{display:none}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.related-links{display:flex;gap:18px;flex-wrap:wrap}.related-links a{color:var(--blue);text-decoration:underline;text-underline-offset:4px;font-size:14px}@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.nav{gap:18px}.header-inner{gap:15px}.nav .button{padding-inline:16px}.hero-grid{gap:30px}.split,.contact-layout{gap:40px}.interior .hero-grid{gap:35px}.footer-grid{gap:24px}.photo-slot{padding:22px}.hero h1{font-size:52px}}@media(max-width:800px){.topbar .toplinks a:last-child{display:none}.header-inner{min-height:98px}.logo img{width:106px;height:83px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px;border-bottom:1px solid var(--line);max-height:calc(100dvh - 130px);overflow-y:auto}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.nav>a{padding:12px 0}.nav .button{margin-top:10px;padding:14px}.services-nav{padding:0;flex-wrap:wrap;justify-content:space-between}.services-nav>a{padding:12px 0}.drop-toggle{padding:14px 18px}.dropdown{position:static;width:100%;box-shadow:none;border:0;border-left:2px solid var(--gold);border-radius:0;margin-bottom:10px;padding:0 0 0 8px}.hero{padding:40px 0;background:#f5f7fc}.hero-grid,.interior .hero-grid{grid-template-columns:1fr;gap:32px}.hero h1{font-size:clamp(40px,7.2vw,58px)}.hero .intro{max-width:600px}.photo-slot{min-height:330px}.photo-slot .brand-panel{width:180px;margin:20px auto;padding:16px}.ribbon .wrap{flex-wrap:wrap;gap:12px;justify-content:center;font-size:12px}.section{padding:60px 0}.section-heading{display:block}.section-heading p{margin-top:20px;max-width:100%}.split{grid-template-columns:1fr;gap:25px}.service-grid{grid-template-columns:1fr 1fr}.service-card,.service-card:nth-child(n+4){grid-column:auto;min-height:280px;padding:24px}.service-card:last-child{grid-column:1/-1;min-height:220px}.steps{gap:24px}.area{padding:25px}.cta .wrap{display:block}.cta .button{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.contact-layout{grid-template-columns:1fr;gap:20px}.contact-info{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-card a{font-size:17px}.form-wrap{padding:28px}.copyright{gap:20px}.mobile-call{display:block;background:var(--blue);color:#fff;position:fixed;bottom:16px;right:16px;padding:12px 20px;border-radius:30px;box-shadow:0 5px 20px #0002;z-index:15;font-size:14px}.footer{padding-bottom:50px}}@media(max-width:500px){.wrap{width:calc(100% - 36px)}.topbar{font-size:11px}.topbar .wrap{gap:8px}.toplinks{gap:0}.hero h1{font-size:42px}.hero .tagline{font-size:18px}.hero-note{font-size:11px;gap:12px}.hero-note span+span{padding-left:12px}.hero .actions .button{flex:1;padding-inline:12px}.hero .actions .button:first-child{flex:1.6}.ribbon span:last-child{display:none}.service-grid,.area-grid,.steps,.form-grid{grid-template-columns:1fr}.service-card,.service-card:nth-child(n+4){min-height:230px}.steps{gap:18px}.step{padding-top:18px}.step-num{margin-bottom:12px}.step h3{margin-bottom:14px}.form-wrap{padding:22px}.contact-info{grid-template-columns:1fr}.contact-card{margin-bottom:8px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:1/-1}.copyright{display:block}.copyright a{margin-top:12px}.cta h2{font-size:32px}.photo-slot .slot-top{font-size:10px}.interior .photo-slot{min-height:310px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Client photography and the second design review. */
.social-links{display:flex;align-items:center;gap:8px}.social-links a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #ffffff40;border-radius:50%;margin:0;transition:background .2s,color .2s}.social-links svg{width:17px;height:17px}.social-links a:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}.topbar{padding:6px 0}.topbar .wrap,.toplinks{align-items:center}.footer .social-links{margin:18px 0 26px}.footer .social-links a{border-color:#cbd3e6;width:40px;height:40px;color:var(--blue)}.footer .social-links a:hover{color:var(--black)}
.service-photo{margin:0;position:relative;overflow:hidden;border-radius:12px;box-shadow:0 18px 50px #152b6518;background:#e8edf7}.service-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.service-photo.team-front img,.service-photo.team-collage img{aspect-ratio:1672/941;object-fit:contain}.service-photo.team-front{border-bottom:5px solid var(--gold)}.hero-grid{grid-template-columns:1fr 1.1fr;gap:45px}.hero h1{font-size:clamp(40px,4.4vw,64px)}.service-photo figcaption{position:absolute;bottom:12px;left:12px;background:#fffef5ed;color:#263249;font-size:11px;padding:5px 9px;border-radius:4px}.service-photo .image-stock-surface{object-position:center 72%}.story-image{margin:0;overflow:hidden;border-radius:10px}.story-image img{width:100%;height:auto}.team-story .split{align-items:center;gap:65px}.team-story .story-image img{aspect-ratio:4/3;object-fit:cover}.team-collage.story-image{max-width:1100px;margin:auto}.team-collage.story-image img{object-fit:contain}.service-card,.service-card:nth-child(n+4){padding:0;overflow:hidden}.card-image{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--pale)}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .45s}.card-image .image-stock-surface{object-position:center 73%}.service-card:hover .card-image img{transform:scale(1.035)}.card-content{padding:26px;display:flex;flex-direction:column;flex:1}.card-top{margin-bottom:20px}.card-content p{flex:1}.service-card:nth-child(n+4) .card-image{aspect-ratio:2.1}.stock-label{position:absolute;bottom:10px;left:10px;background:#fffef5ed;color:#263249;font-size:10px;letter-spacing:.02em;padding:3px 8px;border-radius:3px}.service-ribbon{display:flex;align-items:center;background:var(--blue);color:white;position:relative;padding:20px 16px 20px 0;gap:16px}.ticker-window{overflow:hidden;min-width:0;flex:1;mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent)}.ticker-track{display:flex;width:max-content;animation:service-scroll 48s linear infinite}.ticker-group{display:flex;align-items:center;gap:48px;padding-right:48px;flex-shrink:0}.ticker-item{display:flex;align-items:center;gap:13px;white-space:nowrap;font-size:16px;font-weight:500}.ticker-item .service-icon{width:26px;height:26px;color:var(--gold);flex:none}.ticker-toggle{display:flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;color:white;border:1px solid #ffffff65;background:transparent;border-radius:50%;cursor:pointer}.ticker-toggle:hover{background:#ffffff20}.service-ribbon:hover .ticker-track,.service-ribbon:focus-within .ticker-track,.service-ribbon.paused .ticker-track{animation-play-state:paused}@keyframes service-scroll{to{transform:translateX(-50%)}}.center-heading{text-align:center;max-width:840px;margin:0 auto 42px}.center-heading p{font-size:18px;max-width:760px;margin:0 auto}.center-heading h2{font-size:clamp(30px,3vw,44px)}.benefits{padding-top:30px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.benefit-card{padding:32px 22px;text-align:center;border:1px solid #e2e8f4;border-radius:12px;box-shadow:0 4px 20px #1333960c;background:#fff}.benefit-card .service-icon{width:42px;height:42px;margin-bottom:20px}.benefit-card h3{font-size:21px;letter-spacing:-.025em;line-height:1.2;margin-bottom:12px}.benefit-card p{font-size:14px;margin:0}.area{text-align:center;border-radius:16px;padding:38px 30px;border:1px solid #d7e2fa;box-shadow:0 3px 22px #13339612}.area>.service-icon{width:54px;height:54px;margin-bottom:14px;stroke-width:1.5}.area h3{font-size:32px;margin-bottom:25px}.area .towns{justify-content:center}.area .state{font-size:11px;margin-bottom:12px}.area-grid{gap:30px}.coverage-note{text-align:center}.areas-intro{padding-bottom:0;background:linear-gradient(#f3f6fe,#fff)}.areas-intro .center-heading{margin-bottom:0}.areas-intro .center-heading h1{font-size:clamp(42px,5vw,64px)}.areas-content{padding-top:48px}.areas-content .area{padding:48px 35px;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center}.areas-content .area h3{font-size:38px}
@media(max-width:1050px){.toplinks{gap:14px}.toplinks>a[href^="mailto"]{display:none}.hero-grid{gap:30px}.benefit-grid{gap:15px}.benefit-card{padding:26px 17px}.benefit-card h3{font-size:19px}.team-story .split{gap:35px}}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr}.hero .service-photo{max-width:650px;width:100%;margin:auto}.hero .service-photo img{max-height:450px}.topbar .toplinks a:last-child{display:inline-flex}.benefit-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(40px,7vw,58px)}.area h3,.areas-content .area h3{font-size:30px}.area-grid{gap:20px}.service-card,.service-card:nth-child(n+4){padding:0}.team-story .split{gap:28px}.service-ribbon{padding-block:17px}.ticker-item{font-size:14px}.ticker-group{gap:30px;padding-right:30px}.ticker-item .service-icon{width:23px;height:23px}.areas-content .area{padding:32px 22px}}
@media(max-width:500px){.topbar .wrap{flex-wrap:wrap;gap:3px 10px;justify-content:space-between}.topbar .wrap>span{font-size:10px}.toplinks{gap:8px}.toplinks>a[href^="tel"]{display:none}.social-links{gap:5px}.topbar .social-links a{width:29px;height:29px}.topbar .social-links svg{width:15px;height:15px}.hero h1{font-size:40px}.hero-grid{gap:28px}.hero .service-photo img{max-height:none}.service-photo figcaption{font-size:10px}.card-content{padding:24px}.service-card:nth-child(n+4) .card-image{aspect-ratio:16/10}.benefit-grid{gap:13px}.benefit-card{padding:24px 12px}.benefit-card h3{font-size:18px}.benefit-card p{font-size:13px}.area-grid{grid-template-columns:1fr}.area{padding:32px 22px}.areas-content .area{min-height:0}.center-heading p{font-size:16px}.areas-intro .eyebrow{line-height:1.8}.areas-intro .breadcrumbs{margin-bottom:32px}.benefits{padding-top:0}.service-ribbon{gap:8px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none!important;transform:none!important}.ticker-window{overflow-x:auto;mask-image:none}.ticker-group[aria-hidden="true"]{display:none}.ticker-toggle{display:none}.ticker-group{gap:24px;padding:0 18px}.service-card:hover .card-image img{transform:none}}

.areas-content .area{justify-content:flex-start}
/* October 2: expanded service presentation, interactive process, shared closing CTA. */
.catalog-intro{padding:52px 0 58px}.catalog-intro .center-heading{margin-bottom:30px}.catalog-intro h1{font-size:clamp(40px,4.5vw,64px)}.catalog-links{display:flex;justify-content:center;flex-wrap:wrap;gap:9px}.catalog-links a{font-size:13px;padding:9px 14px;border:1px solid var(--line);border-radius:3px;color:var(--blue);transition:background .2s}.catalog-links a:hover{background:var(--blue);color:#fff}.catalog-section{padding:76px 0;scroll-margin-top:116px}.catalog-section.tinted{background:#edf2ff}.catalog-row{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}.catalog-row.reverse .catalog-copy{order:2}.catalog-row.reverse .catalog-photo{order:1}.catalog-label{display:flex;gap:17px;align-items:center;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:700;color:var(--blue);margin-bottom:24px}.catalog-icon{display:flex;width:58px;height:58px;background:var(--blue);align-items:center;justify-content:center}.catalog-icon .service-icon{width:29px;height:29px;color:#fff}.catalog-copy h2{font-size:clamp(30px,3vw,43px);line-height:1.08;margin-bottom:12px;letter-spacing:-.035em}.catalog-copy .catalog-subtitle{font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:.06em;color:var(--blue);margin-bottom:24px}.catalog-copy>p{font-size:16px}.catalog-copy h3{font-size:17px;letter-spacing:.025em;text-transform:uppercase;margin:28px 0 17px}.catalog-checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:15px 22px;padding:0;margin:0}.catalog-checks li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;color:#364159}.catalog-checks .service-icon{width:20px;height:20px;flex-shrink:0;margin-top:2px}.catalog-copy .catalog-coverage{margin:26px 0 0;background:#fff9;border-left:4px solid var(--gold);padding:16px 18px;font-size:13px;line-height:1.7}.catalog-coverage strong{color:var(--ink)}.catalog-copy .actions{align-items:center;gap:22px;margin-top:25px}.catalog-copy .actions .button{font-size:13px}.catalog-photo{margin:0;position:relative;align-self:stretch;min-height:500px;overflow:hidden;border-radius:3px;box-shadow:0 16px 35px #14234a18}.catalog-photo img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0}.catalog-photo figcaption,.contact-photo figcaption{position:absolute;bottom:12px;left:12px;font-size:11px;background:#fffffff0;padding:4px 8px;border-radius:3px;color:#40506b}.catalog-photo .image-reference-tools{object-position:30% center}.image-reference-tools{object-position:28% center!important}.card-image .image-reference-tools{width:123%;max-width:none}.service-photo.reference-tools img{width:123%;max-width:none}.catalog-section+.benefits{padding:76px 0;background:#f5f7fc}.benefits .benefit-card{border-radius:3px;text-align:left;padding:30px;box-shadow:none;transition:transform .2s,box-shadow .2s}.benefits .benefit-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #13339612}.benefit-card>.service-icon{padding:11px;background:var(--blue);color:white;width:58px;height:58px}.process-section .steps{gap:24px;align-items:start}.interactive-step{border:1px solid var(--line);border-top:3px solid var(--blue);padding:0;border-radius:7px;background:#fff;transition:box-shadow .2s,border-color .2s}.interactive-step summary{display:block;list-style:none;cursor:pointer;padding:28px}.interactive-step summary::-webkit-details-marker{display:none}.step-icon{display:flex;align-items:center;justify-content:center;width:65px;height:65px;border-radius:16px;background:#edf2ff;margin-bottom:24px;transition:background .25s,transform .25s}.step-icon .service-icon{width:31px;height:31px;transition:transform .25s}.interactive-step:hover .step-icon,.interactive-step[open] .step-icon{background:var(--gold);transform:rotate(-5deg)}.interactive-step:hover .step-icon .service-icon,.interactive-step[open] .step-icon .service-icon{transform:rotate(5deg) scale(1.07)}.interactive-step:focus-within{border-color:var(--blue)}.interactive-step h3{font-size:23px;margin-bottom:18px}.step-description{display:block;color:var(--muted);font-size:15px;line-height:1.7}.step-disclosure{display:flex;justify-content:space-between;align-items:center;margin-top:22px;font-size:13px;font-weight:700;color:var(--blue)}.step-disclosure>span{font-size:23px;transition:transform .2s}.interactive-step[open] .step-disclosure>span{transform:rotate(45deg)}.step-expanded{margin:0 28px;padding:20px 0 26px;border-top:1px solid var(--line)}.step-expanded ul{padding-left:18px;font-size:14px;color:var(--muted);margin:0 0 20px}.step-expanded li{margin-bottom:9px}.closing-cta{padding:84px 0;background:var(--blue)}.closing-cta .wrap{display:block;text-align:center}.closing-cta .eyebrow{color:#d9e2ff;margin-bottom:25px}.closing-cta h2{max-width:940px;margin:0 auto 25px;font-size:clamp(36px,4.5vw,62px);line-height:1.08}.closing-cta h2 span{color:var(--gold)}.closing-cta p{font-size:18px;max-width:750px;margin:0 auto;line-height:1.7}.closing-actions{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:34px}.closing-actions .button{min-width:225px;min-height:58px;gap:10px;margin:0}.closing-actions .service-icon{width:21px;height:21px;color:var(--blue)}.button.cta-outline{border-color:#a7b8eb;background:transparent;color:#fff}.button.cta-outline:hover{background:#ffffff15;border-color:white}.contact-photo{margin:0 0 30px;position:relative;border-radius:6px;overflow:hidden}.contact-photo img{width:100%;height:auto}
@media(max-width:1050px){.catalog-row{gap:35px}.catalog-photo{min-height:480px}.catalog-checks{grid-template-columns:1fr}.catalog-copy h2{font-size:35px}.interactive-step summary{padding:24px}.interactive-step h3{font-size:21px}.step-expanded{margin-inline:24px}}
@media(max-width:800px){.catalog-row,.catalog-row.reverse{grid-template-columns:1fr;gap:30px}.catalog-row.reverse .catalog-copy,.catalog-row.reverse .catalog-photo{order:initial}.catalog-photo{min-height:0;aspect-ratio:3/2}.catalog-checks{grid-template-columns:1fr 1fr}.catalog-section{padding:50px 0}.catalog-links a{font-size:12px}.catalog-intro{padding:36px 0 42px}.process-section .steps{grid-template-columns:1fr}.interactive-step summary{padding:25px}.step-icon{float:left;margin:0 22px 14px 0;width:58px;height:58px}.interactive-step .step-num{padding-top:4px;margin-bottom:13px}.interactive-step h3{margin-bottom:25px}.step-description{clear:both}.closing-cta{padding:62px 0}.closing-actions .button{margin:0}.contact-photo{grid-column:1/-1;max-width:480px}}
@media(max-width:500px){.catalog-checks{grid-template-columns:1fr}.catalog-copy h2{font-size:32px}.catalog-copy .actions{gap:20px}.catalog-copy .actions .button{width:100%}.catalog-photo{aspect-ratio:4/3}.catalog-photo .image-reference-home{object-position:42% center}.catalog-section{scroll-margin-top:100px}.closing-actions{flex-direction:column;gap:12px}.closing-actions .button{width:100%}.closing-cta p{font-size:16px}.closing-cta .eyebrow{font-size:10px}.benefits .benefit-card{padding:24px 18px}}

.design-credit{font-size:11px;font-weight:400;letter-spacing:.02em}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:80;display:flex;width:58px;height:58px;align-items:center;justify-content:center;border:3px solid white;border-radius:50%;background:#128c46;color:#fff;box-shadow:0 6px 24px #0003;transition:transform .2s,background .2s}.whatsapp-float svg{width:31px;height:31px}.whatsapp-float:hover{background:#0b7338;transform:translateY(-3px)}.whatsapp-float:focus-visible{outline:3px solid #f1bc39;outline-offset:4px}@media(max-width:600px){.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));width:54px;height:54px}.copyright{padding-bottom:74px}}@media(prefers-reduced-motion:reduce){.whatsapp-float{transition:none}.whatsapp-float:hover{transform:none}}
.copyright .design-credit{display:block;margin:8px 0}

/* Keep service photos in normal flow on mobile, including Safari grid sizing. */
@media(max-width:800px){
 .catalog-row>.catalog-photo{display:block;width:100%;min-width:0;min-height:0;aspect-ratio:auto;align-self:start}
 .catalog-row>.catalog-photo img{display:block;position:static;inset:auto;width:100%;height:auto;max-width:100%}
}
@media(max-width:800px){.catalog-row>.catalog-photo .image-reference-tools{width:123%;max-width:none}}
