/* Service and city landing pages: shared responsive layout. */
.landing-page{color:#f7f7f5}
.landing-page::before,.landing-page::after{animation:none!important}
.landing-page main{position:relative;z-index:1}
.landing-wrap{width:min(1240px,88vw);margin-inline:auto}
.breadcrumbs{padding:26px 0 0;font-size:13px;line-height:1.6;color:#cbc6c2}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.breadcrumbs li+li::before{content:"/";margin-right:8px;color:#ff6500}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.landing-hero{padding:55px 0 80px}
.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5vw;align-items:center}
.landing-page h1{font-size:clamp(35px,4.3vw,65px);line-height:1.04;letter-spacing:-.045em;margin:0 0 26px;overflow-wrap:break-word}
.landing-page h1 strong,.landing-page h2 strong{color:#ff6500}
.landing-lead{font-size:18px;line-height:1.75;color:#d6d2cd;margin:0 0 28px}
.landing-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}
.landing-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;letter-spacing:.04em;border-bottom:1px solid #ff6500}
.landing-text-link span{margin-left:12px;color:#ff6500}
.landing-hero-visual{border:1px solid #584033;background:#fff;box-shadow:0 20px 65px rgba(0,0,0,.3);overflow:hidden}
.landing-hero-visual img{height:auto;aspect-ratio:var(--image-ratio,auto);object-fit:contain}
.landing-content,.landing-related{padding:75px 0;border-top:1px solid rgba(255,255,255,.13)}
.landing-alt{background:rgba(5,5,5,.45)}
.landing-page h2{font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-.035em;margin:0 0 25px;max-width:950px}
.landing-copy{max-width:980px}
.landing-copy p,.landing-final-cta p:not(.kicker){font-size:16px;line-height:1.85;color:#d4cfc9;margin:0 0 18px}
.landing-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:35px}
.landing-cards article{padding:28px;background:rgba(255,255,255,.04);border:1px solid #49372d;border-top:2px solid #ff6500}
.landing-cards h3{font-size:18px;line-height:1.3;margin:0 0 16px}
.landing-cards p{color:#d4cfc9;font-size:14px;line-height:1.7;margin:0}
.landing-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.landing-related-grid h3{font-size:13px;letter-spacing:.1em;margin:8px 0 18px}
.landing-link-list{display:flex;flex-wrap:wrap;gap:10px}
.landing-link-list a{display:flex;align-items:center;padding:12px 16px;min-height:44px;border:1px solid #49372d;font-size:14px;background:rgba(5,5,5,.45)}
.landing-link-list a:hover,.landing-link-list a[aria-current="page"]{color:#ff8736;border-color:#ff6500}
.landing-final-cta{padding:80px 0;background:rgba(5,5,5,.6);border-top:1px solid #49372d}
.landing-final-cta p{max-width:820px}
.landing-final-cta .button{margin-top:10px}
.landing-contact-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:25px;font-size:15px}
.landing-contact-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.landing-checklist{padding-left:22px;color:#d4cfc9;line-height:1.85;font-size:16px}
.landing-checklist li{margin-bottom:12px}
.landing-copy{max-width:none}
.landing-copy>p,.landing-copy>ul{max-width:980px}
.landing-copy>h3{font-size:21px;line-height:1.35;margin:32px 0 14px;color:#ff9a55}
.hero-proof{font-size:12px;line-height:1.7;letter-spacing:.05em;color:#c6c0bb;margin-top:24px}
.landing-toc{display:flex;flex-wrap:wrap;gap:12px 26px;padding:18px 0 32px}
.landing-toc a{font-size:13px;min-height:44px;display:flex;align-items:center;border-bottom:1px solid #744327}
.landing-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0}
.landing-gallery figure{margin:0;border:1px solid #574337;background:#111}
.landing-gallery img{aspect-ratio:4/3;object-fit:cover;height:auto}
.landing-gallery figcaption{padding:16px;font-size:14px;line-height:1.5;color:#e5ded7}
.portfolio-note{font-size:13px!important;color:#c7c1bb!important}
.landing-inline-cta{margin:38px 0;padding:35px;border:1px solid #945029;background:linear-gradient(125deg,rgba(255,101,0,.13),rgba(10,10,10,.65))}
.landing-inline-cta h3{font-size:clamp(24px,2.5vw,34px);line-height:1.2;margin:12px 0 18px}
.landing-inline-cta p:not(.kicker){font-size:16px;line-height:1.7;color:#ded4cb;max-width:850px}
.landing-faq details{border-top:1px solid #574337;padding:22px 0;max-width:1000px}
.landing-faq details:last-child{border-bottom:1px solid #574337}
.landing-faq summary{font-size:18px;line-height:1.5;font-weight:700;cursor:pointer;padding-right:16px;color:#f7f7f5}
.landing-faq details p{margin-top:20px;font-size:16px;line-height:1.8;color:#d4cfc9}
.landing-copy a:not(.button){text-decoration:underline;text-underline-offset:4px;color:#ffc08f}
.landing-form{padding:80px 0;border-top:1px solid #574337;background:rgba(5,5,5,.55)}
.form-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:5vw;align-items:start}
.form-intro p{font-size:16px;line-height:1.8;color:#d4cfc9}
.form-intro a{text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.form-intro .form-data-note{font-size:13px}
.quote-form{padding:30px;border:1px solid #574337;background:#10100f;min-width:0}
.quote-fields{border:0;padding:0;margin:0;min-width:0}
.quote-fields:disabled{opacity:.55}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.quote-form label:not(.consent){display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.6;color:#f2ebe5}
.quote-form input:not([type=checkbox]),.quote-form textarea{width:100%;min-width:0;min-height:46px;border:1px solid #706357;background:#1a1816;color:#fff;padding:12px;font:inherit;border-radius:0}
.quote-form input::placeholder,.quote-form textarea::placeholder{color:#c3b9b0;opacity:1}
.quote-form textarea{resize:vertical}
.quote-form input[aria-invalid=true],.quote-form textarea[aria-invalid=true]{border-color:#ff8d75}
.form-status{font-size:14px;line-height:1.7;color:#e5ded7;margin:0 0 24px;overflow-wrap:anywhere}
.form-status.form-error,.form-field-error{color:#ffb7a5}
.form-field-error{font-size:13px}
.form-extra{margin:24px 0;border-block:1px solid #574337;padding:16px 0}
.form-extra summary{font-size:14px;line-height:1.6;cursor:pointer;min-height:32px}
.form-extra[open]>.form-grid{margin-top:20px}
.consent{display:flex;align-items:flex-start;gap:12px;margin:24px 0;font-size:13px;line-height:1.7;color:#d4cfc9}
.consent input{flex-shrink:0;width:20px;height:20px;margin:2px 0;accent-color:#ff6500}
.consent a{color:#ffd0ad;text-decoration:underline}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.upload-field{margin:22px 0}
.upload-field p{font-size:12px;line-height:1.6;color:#c8bfb7}
.turnstile-slot{margin:20px 0;min-height:65px;max-width:100%}
.form-submit{width:100%;border:0;cursor:pointer}
.form-submit:disabled{opacity:.65;cursor:default}
.landing-final-cta .motion-toggle{display:block;margin-top:28px}
@media(max-width:1000px){.landing-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.form-layout{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.landing-gallery{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.quote-form{padding:22px}.landing-inline-cta{padding:25px}.landing-form{padding:55px 0}}
@media(max-width:900px){
 .landing-hero-grid{grid-template-columns:1fr;gap:35px}
 .landing-hero{padding:35px 0 55px}
 .landing-hero-visual{width:100%;max-width:680px;margin-inline:auto}
 .landing-content,.landing-related{padding:55px 0}
}
@media(max-width:560px){
 .landing-wrap{width:88vw}
 .landing-page h1{font-size:36px}
 .landing-page h2{font-size:28px}
 .landing-lead{font-size:16px}
 .landing-related-grid{grid-template-columns:1fr;gap:25px}
 .landing-cards{grid-template-columns:1fr}
 .landing-final-cta{padding:55px 0}
 .landing-actions .button{width:100%}
}
