:root {
  --ink:#101b2d; --cream:#f3efe6; --paper:#fffdf8; --signal:#e94b35;
  --cobalt:#265bff; --line:rgba(16,27,45,.16); --muted:#6d7280;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:3px solid var(--cobalt);outline-offset:4px}
.site-header{align-items:center;backdrop-filter:blur(14px);background:rgba(243,239,230,.94);border-bottom:1px solid var(--line);display:flex;height:88px;justify-content:space-between;padding:0 clamp(22px,4.5vw,76px);position:sticky;top:0;z-index:50}
.brand{align-items:center;display:inline-flex;gap:13px}
.brand-mark{align-items:center;background:var(--signal);color:#fff;display:inline-flex;font-size:15px;font-weight:900;height:42px;justify-content:center;letter-spacing:-.05em;transform:rotate(-4deg);width:42px}
.brand-copy{display:flex;flex-direction:column;line-height:1;text-transform:uppercase}
.brand-copy strong{font-size:17px;letter-spacing:.06em}
.brand-copy small{font-size:9px;font-weight:700;letter-spacing:.12em;margin-top:5px}
nav{align-items:center;display:flex;font-size:12px;font-weight:800;gap:26px;letter-spacing:.08em;text-transform:uppercase}
nav>a:not(.header-call){border-bottom:2px solid transparent;padding:8px 0}
nav>a:not(.header-call):hover{border-color:var(--signal)}
.header-call{background:var(--ink);color:#fff;padding:14px 18px}
.hero{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);min-height:calc(100vh - 88px)}
.hero-copy{align-self:center;padding:clamp(58px,8vw,118px) clamp(26px,7vw,112px)}
.eyebrow{align-items:center;display:flex;font-size:11px;font-weight:900;gap:10px;letter-spacing:.18em;margin:0 0 24px;text-transform:uppercase}
.eyebrow span{background:var(--signal);display:inline-block;height:9px;transform:rotate(45deg);width:9px}
h1,h2{font-weight:900;letter-spacing:-.075em;line-height:.88;margin:0;text-transform:uppercase}
h1{font-size:clamp(58px,7.4vw,116px)}
h1 em,h2 em{color:var(--signal);font-family:Georgia,"Times New Roman",serif;font-weight:400;text-transform:none}
.hero-intro{font-size:clamp(17px,1.4vw,21px);line-height:1.6;margin:34px 0 31px;max-width:600px}
.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.button{align-items:center;display:inline-flex;font-size:13px;font-weight:900;gap:11px;justify-content:center;letter-spacing:.05em;min-height:58px;padding:0 22px;text-transform:uppercase;transition:transform .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--cobalt);color:#fff}
.button-secondary{border:2px solid var(--ink)}
.response-note{color:var(--muted);font-size:12px;line-height:1.5;margin:18px 0 0}
.hero-visual{background:var(--ink);min-height:660px;overflow:hidden;position:relative}
.hero-visual>img{height:100%;inset:0;object-fit:cover;object-position:56% 52%;position:absolute;width:100%}
.photo-filter{background:linear-gradient(145deg,rgba(9,17,30,.12),transparent 52%,rgba(38,91,255,.18));inset:0;position:absolute}
.visual-label{bottom:38px;color:rgba(255,255,255,.83);font-family:Georgia,serif;font-size:20px;font-style:italic;position:absolute;right:42px;text-shadow:0 2px 16px rgba(0,0,0,.5)}
.rating-card{align-items:center;background:var(--paper);bottom:0;display:flex;gap:20px;left:0;padding:23px 28px;position:absolute}
.rating-card>strong{font-size:39px;letter-spacing:-.07em}.rating-card>strong small{font-size:18px}
.rating-card>div{display:flex;flex-direction:column;gap:4px}.rating-card small{color:var(--muted);font-size:10px}.stars{color:var(--signal);font-size:13px;letter-spacing:.14em}
.trust-strip{background:var(--ink);color:#fff;display:grid;grid-template-columns:repeat(3,1fr);padding:0 clamp(26px,7vw,112px)}
.trust-strip>div{border-left:1px solid rgba(255,255,255,.17);display:flex;flex-direction:column;padding:29px 34px}.trust-strip>div:last-child{border-right:1px solid rgba(255,255,255,.17)}
.trust-strip strong{font-size:19px;text-transform:uppercase}.trust-strip sup{font-size:.5em}.trust-strip span{color:rgba(255,255,255,.62);font-size:11px;margin-top:7px}
.section-shell{padding:clamp(80px,10vw,150px) clamp(26px,7vw,112px)}
.services{background:var(--paper)}
.section-heading{align-items:end;display:grid;gap:35px;grid-template-columns:1.15fr .85fr;margin-bottom:55px}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-9px}
.section-heading h2,.process h2{font-size:clamp(46px,6vw,88px)}.section-heading>p:last-child{color:var(--muted);font-size:16px;line-height:1.75;margin:0;max-width:490px}
.service-grid{border-left:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.service-card{border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-top:1px solid var(--line);min-height:390px;padding:31px;position:relative;transition:background .2s,color .2s}
.service-card:hover{background:var(--ink);color:#fff}.service-number{color:var(--signal);font-family:Georgia,serif;font-size:16px;font-style:italic}
.service-tag{font-size:9px!important;font-weight:900;letter-spacing:.16em;margin:65px 0 14px!important;text-transform:uppercase}.service-card h3{font-size:clamp(30px,2.8vw,46px);letter-spacing:-.055em;margin:0 0 18px;text-transform:uppercase}
.service-card>p:not(.service-tag){color:var(--muted);font-size:14px;line-height:1.65;margin:0}.service-card:hover>p{color:rgba(255,255,255,.68)}
.service-card>a{bottom:30px;font-size:11px;font-weight:900;letter-spacing:.08em;position:absolute;text-transform:uppercase}.service-card>a::first-letter{color:var(--signal)}
.process{background:var(--ink);color:#fff;display:grid;gap:clamp(60px,8vw,130px);grid-template-columns:.82fr 1.18fr}.eyebrow-light{color:rgba(255,255,255,.68)}
.process-intro>p:not(.eyebrow){color:rgba(255,255,255,.62);font-size:16px;line-height:1.75;margin:33px 0 27px;max-width:470px}.text-link{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.process-steps{list-style:none;margin:0;padding:0}.process-steps li{border-top:1px solid rgba(255,255,255,.18);display:grid;gap:25px;grid-template-columns:62px 1fr;padding:30px 0}.process-steps li:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.process-steps>li>span{color:var(--signal);font-family:Georgia,serif;font-style:italic}.process-steps h3{font-size:clamp(22px,2.2vw,32px);letter-spacing:-.04em;margin:0 0 10px;text-transform:uppercase}.process-steps p{color:rgba(255,255,255,.6);font-size:14px;line-height:1.65;margin:0;max-width:510px}
.sms-banner{align-items:center;background:var(--cobalt);color:#fff;display:grid;gap:24px;grid-template-columns:.75fr 1.25fr auto;padding:34px clamp(26px,7vw,112px)}.sms-banner p{font-size:12px;font-weight:900;letter-spacing:.08em;margin:0;text-transform:uppercase}.sms-banner strong{font-family:Georgia,serif;font-size:clamp(24px,2.8vw,42px);font-style:italic;font-weight:400}.sms-banner a{border:2px solid #fff;font-size:11px;font-weight:900;letter-spacing:.08em;padding:17px 20px;text-transform:uppercase}
.contact{background:var(--cream);display:grid;grid-template-columns:1.15fr .85fr}.contact-card{background:var(--paper);padding:clamp(35px,5vw,72px)}.contact-card h2{font-size:clamp(44px,5.5vw,78px)}
.contact address{display:flex;flex-direction:column;font-size:21px;font-style:normal;margin:42px 0 30px}.contact address strong{font-size:clamp(21px,2.2vw,31px);letter-spacing:-.035em}.contact address span{color:var(--muted);margin-top:7px}.landline{color:var(--muted);font-size:12px;margin:20px 0 0}.landline a{color:var(--ink);font-weight:800}
.hours-card{background:var(--signal);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,5vw,72px)}.hours-title{border-bottom:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column;padding-bottom:24px}.hours-title span{font-size:28px;font-weight:900;letter-spacing:-.04em;text-transform:uppercase}.hours-title small{font-family:Georgia,serif;font-size:15px;font-style:italic;margin-top:6px}.hours-card dl{margin:0}.hours-card dl>div{border-bottom:1px solid rgba(255,255,255,.35);display:grid;gap:18px;grid-template-columns:1fr 1fr;padding:22px 0}.hours-card dt{font-size:12px;font-weight:900;text-transform:uppercase}.hours-card dd{font-size:14px;line-height:1.6;margin:0;text-align:right}.hours-card>p{font-size:11px;line-height:1.6;margin:24px 0 0;opacity:.8}
.faq{background:var(--paper);display:grid;gap:clamp(55px,8vw,125px);grid-template-columns:.65fr 1.35fr}.faq-heading h2{font-size:clamp(48px,6vw,84px)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{align-items:center;cursor:pointer;display:flex;font-size:clamp(17px,1.6vw,23px);font-weight:800;justify-content:space-between;list-style:none;padding:27px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--signal);font-family:Georgia,serif;font-size:29px;font-weight:400;margin-left:20px;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:14px;line-height:1.7;margin:-4px 45px 27px 0;max-width:680px}
footer{background:#09111e;color:#fff;padding:58px clamp(26px,7vw,112px) 26px}.footer-main{align-items:end;display:grid;gap:40px;grid-template-columns:1fr 1fr 1fr;padding-bottom:55px}.brand-footer .brand-copy small{color:rgba(255,255,255,.58)}.footer-main>p{color:rgba(255,255,255,.5);font-family:Georgia,serif;font-size:24px;font-style:italic;line-height:1.35;margin:0}.footer-main sup{font-size:.5em}.footer-links{align-items:flex-end;display:flex;flex-direction:column;gap:12px}.footer-links a{border-bottom:1px solid rgba(255,255,255,.3);font-size:11px;font-weight:900;letter-spacing:.08em;padding-bottom:5px;text-transform:uppercase}.footer-legal{border-top:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.42);display:flex;flex-wrap:wrap;font-size:9px;gap:18px;justify-content:space-between;letter-spacing:.04em;line-height:1.55;padding-top:24px;text-transform:uppercase}.mobile-bar{display:none}
@media(max-width:1100px){nav{gap:16px}nav>a:not(.header-call){display:none}}
@media(max-width:980px){.hero{grid-template-columns:1fr}.hero-visual{min-height:620px}.section-heading,.process,.faq{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.sms-banner{grid-template-columns:1fr 1fr}.sms-banner a{grid-column:1/-1;justify-self:start}.contact{grid-template-columns:1fr}}
@media(max-width:700px){body{padding-bottom:68px}.site-header{height:72px;padding:0 18px}nav{display:none}.brand-copy strong{font-size:15px}.hero{min-height:0}.hero-copy{padding:60px 22px 54px}h1{font-size:clamp(52px,17vw,74px)}.hero-intro{font-size:16px;margin-top:27px}.hero-actions,.contact-actions{display:grid}.button{width:100%}.hero-visual{min-height:500px}.hero-visual>img{object-position:58% 52%}.visual-label{bottom:26px;right:24px}.rating-card{padding:18px 20px}.rating-card>strong{font-size:32px}.trust-strip{grid-template-columns:1fr;padding:0 22px}.trust-strip>div{border-bottom:1px solid rgba(255,255,255,.17);border-left:0;padding:21px 0}.trust-strip>div:last-child{border-right:0}.section-shell{padding:80px 22px}.section-heading{gap:24px}.section-heading h2{font-size:48px}.service-card{min-height:335px;padding:26px}.process{gap:55px}.process-steps li{grid-template-columns:45px 1fr}.sms-banner{align-items:start;grid-template-columns:1fr;padding-bottom:44px;padding-top:44px}.sms-banner a{grid-column:auto;justify-content:space-between;width:100%}.contact{padding-left:0;padding-right:0}.contact-card,.hours-card{padding:55px 22px}.faq{gap:48px}.faq-list summary{font-size:17px;line-height:1.35}.faq-list details p{margin-right:0}footer{padding-left:22px;padding-right:22px}.footer-main{align-items:start;grid-template-columns:1fr}.footer-links{align-items:flex-start}.footer-legal{flex-direction:column}.mobile-bar{background:var(--paper);bottom:0;box-shadow:0 -6px 25px rgba(16,27,45,.14);display:grid;grid-template-columns:.72fr 1.28fr;left:0;position:fixed;right:0;z-index:60}.mobile-bar a{align-items:center;display:flex;font-size:12px;font-weight:900;justify-content:center;letter-spacing:.08em;min-height:68px;text-transform:uppercase}.mobile-bar a:last-child{background:var(--cobalt);color:#fff}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
