:root {
  --ink:#263348;
  --muted:#5b6472;
  --paper:#F6F3E9;
  --line:#d9dfe8;
  --orange:#FF9D4D;
  --orange-hover:#F58B32;
  --orange-border:#B95815;
  --blue:#215BC6;
  --blue-soft:#edf2fc;
  --white:#ffffff;
  --display:'Inter',Arial,sans-serif;
  --body:'Inter',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;color:var(--ink);background:var(--white);font:16px/1.7 var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}
h1,h2{color:var(--blue)}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.17;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.6rem,4.3vw,4rem)}
h2{font-size:clamp(2rem,3.1vw,2.8rem)}
h3{font-size:1.3rem;letter-spacing:-.015em}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
img{display:block;max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button,a,input,textarea,select{touch-action:manipulation}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
::selection{background:#ffdfbd;color:var(--ink)}
.wrap{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.section{padding:100px 0}
.kicker{display:block;margin-bottom:20px;font-size:.82rem;font-weight:600;letter-spacing:.02em;color:var(--blue)}
.intro{font-size:1.025rem;color:var(--muted);max-width:560px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:64px;margin-bottom:48px}
.section-head h2{max-width:620px}
.section-head .intro{max-width:365px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 22px;border:1px solid var(--orange-border);border-radius:7px;background:var(--orange);color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.45;text-align:center;text-decoration:none;transition:background .15s,border-color .15s}
.button:hover{background:var(--orange-hover);border-color:var(--orange-border);text-decoration:none}
.button:active{transform:translateY(1px)}
.button.secondary,.button.light{color:var(--ink);background:transparent;border-color:#758095}
.button.secondary:hover,.button.light:hover{background:var(--blue-soft);border-color:var(--muted)}
.arrow{font-size:1.2rem}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.9rem;font-weight:600;color:var(--blue);text-decoration:underline;text-decoration-color:#a3bcea;text-underline-offset:5px}
.text-link:hover{text-decoration-color:var(--blue)}
.skip{position:fixed;left:20px;top:-200px;padding:12px 20px;background:var(--white);z-index:99}
.skip:focus{top:10px}
.topbar{background:var(--blue);color:var(--white);font-size:.74rem;padding:8px 0}
.topbar .wrap{display:flex;justify-content:space-between;gap:24px}
.topbar strong{font-weight:600}
.header{background:var(--white);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px}
.brand{min-height:44px;display:flex;align-items:center;gap:10px;flex-shrink:0}
.brand:hover{text-decoration:none}
.brand img{width:53px;height:46px}
.brand b{display:block;font-size:1.4rem;font-weight:700;letter-spacing:-.025em;line-height:1.15}
.brand small{display:block;font-size:.57rem;letter-spacing:.2em;font-weight:600;margin-top:3px}
.nav-links{display:flex;gap:25px;align-items:center;font-size:.81rem;font-weight:600}
.nav-links a{padding-block:13px}
.nav .button{font-size:.8rem;min-height:44px;padding:10px 16px}
.menu-toggle{display:none}
.hero{padding:68px 0 58px;background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.hero-copy{padding:12px 0}
.hero .kicker{margin-bottom:25px;color:var(--blue)}
.hero-copy>p{color:var(--muted);font-size:1.025rem;max-width:475px;margin-top:25px}
.hero-copy>p strong{color:var(--ink);font-weight:600}
.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px}
.hero-note{font-size:.76rem!important;margin-top:25px!important}
.hero-photo{padding:12px;background:var(--white);border:1px solid var(--line);border-radius:12px;transform:rotate(1deg)}
.hero-photo>img{width:100%;aspect-ratio:1.25;object-fit:cover;border-radius:5px}
.photo-label{padding:18px 10px 8px;display:flex;justify-content:space-between;align-items:center;gap:18px}
.photo-label small{display:block;font-size:.72rem;color:var(--muted)}
.photo-label strong{font-size:.86rem;font-weight:600}
.photo-label a{display:block;min-height:44px;align-content:center}
.assurances{background:var(--paper)}
.assurance-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding:25px 0 30px;gap:36px}
.assurance{display:flex;align-items:start;gap:12px}
.check{color:var(--blue);font-size:1rem}
.assurance strong{font-size:.8rem;font-weight:600;display:block}
.assurance small{color:var(--muted);font-size:.74rem}
.service-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:68px}
.service{display:grid;grid-template-columns:1fr auto;align-items:start;padding:28px 0;border-top:1px solid var(--line);column-gap:20px}
.service h3{grid-column:1/-1}
.service p{color:var(--muted);font-size:.9rem;margin-top:12px;max-width:390px}
.service a{grid-column:1/-1;margin-top:8px;justify-self:start;font-size:.8rem}
.work{background:var(--paper)}
.work-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:start;gap:32px}
.work-figure.small{margin-top:70px}
.work-figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.work-figure figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 18px;margin-top:18px}
.work-figure strong{font-size:.9rem;font-weight:600}
.work-figure span{font-size:.77rem;color:var(--muted)}
.work-footer{border-top:1px solid var(--line);margin-top:42px;padding-top:24px;display:flex;justify-content:space-between;gap:40px;align-items:center}
.work-footer p{font-size:.94rem;color:var(--muted);max-width:680px}
.work-footer a{flex-shrink:0}
.about{padding:70px 0}
.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:80px}
.owner-card{background:var(--blue-soft);padding:40px;border-radius:10px;display:flex;flex-direction:column;align-items:center;text-align:center}
.owner-card img{width:110px;margin:0 auto 28px}
.owner-card strong{font-size:1.55rem;font-weight:600;letter-spacing:-.025em}
.owner-card span{font-size:.87rem;color:var(--muted);margin-top:4px}
.owner-card .owner-location{font-size:.76rem;margin-top:22px;padding-top:20px;border-top:1px solid #c7d3e8;width:100%;color:var(--blue)}
.about-copy p{font-size:.96rem;color:var(--muted);margin-top:20px}
.about-copy .text-link{margin-top:14px}
.privacy{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.privacy strong{font-size:.84rem;font-weight:600}
.privacy p{font-size:.83rem;margin-top:7px}
#process{border-top:1px solid var(--line)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.step{border-top:1px solid var(--line);padding-top:22px}
.step>span{color:var(--blue);font-size:.83rem;font-weight:600}
.step h3{font-size:1.2rem;margin:20px 0 14px}
.step p{color:var(--muted);font-size:.92rem}
.pricing{background:var(--blue-soft)}
.price-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start}
.price-copy p{margin-top:22px}
.diagnosis{margin-top:30px;padding-top:25px;border-top:1px solid #c7d3e8}
.diagnosis strong{font-size:2.7rem;font-weight:600;letter-spacing:-.04em;margin-right:8px}
.diagnosis small{display:block;color:var(--muted);font-size:.8rem;margin-top:7px}
.price-table{width:100%;border-collapse:collapse;font-size:.9rem}
.price-table th{text-align:left;font-weight:600;padding:19px 0;border-bottom:1px solid #c7d3e8}
.price-table td{white-space:nowrap;text-align:right;padding:19px 0 19px 20px;border-bottom:1px solid #c7d3e8;font-weight:600}
.price-table th small{display:block;font-size:.77rem;font-weight:400;color:var(--muted);margin-top:3px}
.price-note{font-size:.77rem;color:var(--muted);margin-top:22px}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{font-size:.94rem;font-weight:600;padding:21px 35px 21px 0;cursor:pointer;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:18px;font-size:1.3rem;color:var(--blue);font-weight:400}
.faq details[open] summary::after{content:'−'}
.faq details p{padding:0 30px 22px 0;color:var(--muted);font-size:.9rem}
.contact{background:#fff0de}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}
.contact-copy>p{margin-top:24px;color:var(--muted);max-width:390px}
.phone{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;letter-spacing:-.025em;margin-top:30px}
.contact-methods{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}
.contact-address{font-size:.87rem;color:var(--muted);margin-top:30px;line-height:1.9}
.contact-address a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--ink);overflow-wrap:anywhere;max-width:100%}
.contact-form{background:var(--white);padding:32px;border-radius:10px;border:1px solid #e5d6c3}
.contact-form h3{font-size:1.45rem}
.contact-form>p{font-size:.85rem;color:var(--muted);margin:12px 0 25px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:18px}
.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:7px}
.field label span{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;border:1px solid #758095;border-radius:5px;padding:10px 12px;background:var(--white);color:var(--ink);font-size:1rem;min-height:46px}
textarea{resize:vertical;min-height:110px}
form .button{width:100%}
.form-note{color:var(--muted);font-size:.74rem;margin-top:13px}
.request-preview{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}
.request-preview h4{margin:0 0 12px}
.request-preview textarea{min-height:180px;font-size:.85rem}
.request-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.request-actions .button{font-size:.8rem;flex:1;min-width:100px;width:auto;padding:10px}
.status{font-size:.8rem;margin-top:12px;color:var(--muted)}
[hidden]{display:none!important}
footer{background:var(--white);padding:28px 0;color:var(--muted);font-size:.75rem}
.footer-row{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-links{display:flex;gap:20px;flex-wrap:wrap}
.footer-links a{display:inline-flex;align-items:center;min-width:44px;min-height:44px}
.mobile-actions{display:none}
@media(max-width:1100px){
  .wrap{width:calc(100% - 56px)}
  .nav-links{gap:18px}.nav .button{display:none}
  .hero-grid{gap:38px}.hero-photo{transform:none}
  .about-grid,.price-layout,.faq-grid,.contact-grid{gap:46px}
  .section-head{gap:40px}.service-grid{column-gap:42px}
}
@media(max-width:800px){
  html{scroll-padding-top:90px;scroll-padding-bottom:calc(85px + env(safe-area-inset-bottom))}
  body{padding-bottom:74px}
  .wrap{width:calc(100% - 40px)}.section{padding:64px 0}
  .topbar .wrap{justify-content:center}.topbar .hours{display:none}.topbar{font-size:.68rem;text-align:center}
  .nav{min-height:74px;flex-wrap:wrap;gap:0}
  .brand img{width:44px;height:40px}.brand b{font-size:1.2rem}.brand small{font-size:.5rem}
  .menu-toggle{display:block;border:1px solid #758095;border-radius:5px;background:transparent;color:var(--ink);min-width:64px;min-height:44px;padding:8px 12px;font-size:.82rem}
  .nav-links{width:100%;padding:8px 0 17px;display:flex;flex-wrap:wrap;gap:4px 22px}
  .js .nav-links{display:none}.js .nav-links.open{display:flex}
  .nav-links a{min-height:44px;padding:10px 0}
  .hero{padding:42px 0 30px}.hero-grid{grid-template-columns:1fr;gap:32px}
  .hero-copy{padding:0}.hero h1{font-size:clamp(2.35rem,6.6vw,3.6rem);max-width:620px}
  .hero-copy>p{max-width:550px;font-size:1rem;margin-top:20px}.hero .kicker{margin-bottom:19px}
  .hero-actions{margin-top:24px;gap:18px}.hero-note{margin-top:20px!important}
  .hero-photo{max-width:560px;width:100%;justify-self:center}.hero-photo>img{aspect-ratio:1.55}
  .photo-label{padding:10px 7px 2px}
  .assurance-grid{grid-template-columns:1fr;gap:16px;padding:24px 0 28px}.assurance{align-items:center}
  .assurance small{display:block}
  .section-head{display:block;margin-bottom:30px}.section-head .intro{margin-top:20px;max-width:560px}
  .service-grid{column-gap:28px}.service{padding:24px 0}.service h3{font-size:1.15rem}
  .work-grid{gap:24px}.work-figure.small{margin-top:38px}
  .work-footer{display:block;margin-top:30px}.work-footer a{margin-top:14px}
  .about-grid{grid-template-columns:.7fr 1.3fr;gap:30px}.owner-card{padding:28px 20px}.owner-card strong{font-size:1.2rem}
  .process-grid{grid-template-columns:1fr;gap:24px}.step{display:grid;grid-template-columns:35px 1fr;gap:0 14px}.step>span{grid-row:1/3;padding-top:4px}.step h3{margin:0 0 12px}
  .price-layout,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:34px}
  .contact-form{max-width:600px;width:100%}.contact-copy>p{max-width:540px}
  .footer-row{display:block}.footer-links{margin-top:10px;gap:8px 20px}
  .mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:21;background:var(--white);padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line)}
  .mobile-actions a{display:flex;align-items:center;justify-content:center;flex:1;min-height:46px;text-align:center;border:1px solid var(--orange-border);border-radius:6px;background:var(--orange);color:var(--ink);font-size:.85rem;font-weight:600;padding:10px}
  .mobile-actions a+a{background:transparent;color:var(--blue);border-color:var(--blue)}
}
@media(max-width:540px){
  .hero .kicker{font-size:.75rem}.hero h1{font-size:clamp(2.1rem,8.7vw,2.8rem)}
  .hero-actions{gap:12px 18px}.hero-actions .button{padding-inline:18px}
  .hero-photo{padding:8px;border-radius:8px}.photo-label{display:block}.photo-label a{min-height:44px}
  .service-grid,.work-grid,.about-grid{grid-template-columns:1fr}
  .work-figure.small{margin-top:12px}.work-figure figcaption{display:block}.work-figure span{display:block;margin-top:4px}
  .owner-card{align-items:start;text-align:left;position:relative;padding:26px}.owner-card img{width:66px;margin:0 0 18px}.owner-card strong{font-size:1.4rem}.owner-card .owner-location{margin-top:16px;padding-top:14px}
  .form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:23px 20px}
  .price-table{font-size:.82rem}.price-table td{padding-left:12px}.price-table th small{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.photo-label>span{font-size:.68rem;color:var(--muted);text-align:right;max-width:65px;line-height:1.5}
@media(max-width:540px){.photo-label>span{display:none}}
