/* ------------------------------------------------------------------
   Adsteller · location page styles
   Loaded ONLY on location pages (/{service}/{city}). Every rule is
   scoped under .lp so it can never affect the header, the footer or
   any other page on the site.
------------------------------------------------------------------ */
.lp{color:var(--ink);}
.lp img{max-width:100%;}

.lp{--ink:#123B3A; --support:#2E5C58; --accent:#B87A4E; --accent-2:#D9A576;
    --base:#EFEAE1; --surface:#E3DACB; --deep:#0D2C2B; --line:rgba(18,59,58,.14);
    --muted:#6B7A72; --bodyink:#22322D; --maxw:1160px;}
.lp .wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,56px);}
.lp h1,.lp h2,.lp h3{font-family:'Fraunces',serif; font-weight:500; letter-spacing:-.015em; line-height:1.08;}
.lp a{color:inherit; text-decoration:none;}
.lp .accent{color:var(--accent);}
.lp .eyebrow{font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--accent);}
.lp .btn{display:inline-block; font-weight:600; font-size:14px; padding:14px 24px; border-radius:9px; transition:transform .15s, background .15s, border-color .15s; cursor:pointer; font-family:inherit; border:none;}
.lp .btn-solid{background:var(--ink); color:var(--base);}
.lp .btn-solid:hover{background:#0d2c2b; transform:translateY(-1px);}
.lp .btn-ghost{border:1px solid rgba(18,59,58,.3); color:var(--ink); background:none;}
.lp .btn-ghost:hover{border-color:var(--ink);}
.lp .btn-accent{background:var(--accent); color:#fff;}
.lp .btn-accent:hover{background:#a76c43; transform:translateY(-1px);}
.lp a.btn:focus-visible,.lp button:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}
.lp .rv{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease;}
.lp .rv.in{opacity:1; transform:none;}
.lp .logo b{color:var(--accent);}
.lp .nav .btn{padding:11px 20px;}
.lp .mb-bars i:nth-child(2){width:13px;}
.lp .crumb{font-size:13px; color:var(--muted); font-weight:600; padding:22px 0 0;}
.lp .crumb a{color:var(--support);}
.lp .crumb .sep{margin:0 8px; color:var(--line);}
.lp .hero{padding:clamp(16px,4vw,30px) 0 clamp(40px,6vw,64px);}
.lp .hero-grid{display:grid; grid-template-columns:1.12fr .88fr; gap:clamp(28px,4vw,52px); align-items:start; margin-top:14px;}
@media(max-width:900px){
.lp .hero-grid{grid-template-columns:1fr; gap:36px;}
}
.lp .hero h1{font-size:clamp(30px,5.2vw,50px); max-width:16ch; margin-top:14px;}
.lp .hero .lede{color:var(--support); font-size:clamp(16px,2vw,18.5px); margin-top:18px; max-width:52ch;}
.lp .ticks{list-style:none; margin-top:20px; display:flex; flex-direction:column; gap:9px;}
.lp .ticks li{display:flex; gap:10px; align-items:flex-start; font-size:15px; color:var(--bodyink);}
.lp .ticks svg{color:var(--accent); flex-shrink:0; margin-top:3px;}
.lp .hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:26px;}
.lp .servedby{margin-top:22px; font-size:13px; color:var(--muted);}
.lp .formcard{background:#fff; border:1px solid var(--line); border-radius:16px; padding:clamp(20px,3vw,26px); box-shadow:0 18px 50px -30px rgba(18,59,58,.4);}
.lp .formcard h2{font-size:21px;}
.lp .formcard p.sub{color:var(--muted); font-size:13.5px; margin-top:4px; margin-bottom:14px;}
.lp .field{margin-bottom:11px;}
.lp .field label{font-size:12.5px; font-weight:600; color:var(--support); display:block; margin-bottom:4px;}
.lp .field input,.lp .field select,.lp .field textarea{width:100%; font-family:inherit; font-size:15px; border:1.5px solid var(--line); border-radius:9px; padding:11px 13px; background:#fdfcfa; color:var(--ink);}
.lp .field input:focus,.lp .field select:focus,.lp .field textarea:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:transparent;}
.lp .field textarea{resize:vertical; min-height:62px;}
.lp .consent{display:flex; gap:9px; align-items:flex-start; font-size:12px; color:var(--muted); line-height:1.45; margin:6px 0 12px; cursor:pointer;}
.lp .consent input{width:15px; height:15px; margin-top:2px; accent-color:var(--accent); flex-shrink:0;}
.lp .hp{position:absolute; left:-9999px; top:-9999px;}
.lp .form-note{font-size:11.5px; color:var(--muted); text-align:center; margin-top:9px;}
.lp .ok{display:none; background:#EAF3EE; border:1px solid #BEDCCB; border-radius:12px; padding:20px; text-align:center;}
.lp .ok h3{font-size:19px; color:#2C6E49;}
.lp .ok p{font-size:14px; color:var(--support); margin-top:6px;}
.lp .band{padding:clamp(42px,6vw,68px) 0;}
.lp .band.alt{background:var(--surface);}
.lp .sec-head{max-width:60ch;}
.lp .sec-head h2{font-size:clamp(24px,3.6vw,36px);}
.lp .sec-head p{color:var(--support); font-size:16px; margin-top:12px;}
.lp .grid3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:30px;}
@media(max-width:820px){
.lp .grid3{grid-template-columns:1fr 1fr;}
}
@media(max-width:540px){
.lp .grid3{grid-template-columns:1fr;}
}
.lp .card{background:var(--base); border:1px solid var(--line); border-radius:14px; padding:22px;}
.lp .band.alt .card{background:#fff;}
.lp .card h3{font-size:19px;}
.lp .card p{font-size:14.5px; color:var(--support); margin-top:8px;}
.lp .card a.more{display:inline-block; margin-top:10px; font-size:13.5px; font-weight:600; color:var(--accent);}
.lp .steps{display:grid; grid-template-columns:repeat(5,1fr); gap:14px; margin-top:30px;}
@media(max-width:820px){
.lp .steps{grid-template-columns:1fr 1fr;}
}
@media(max-width:480px){
.lp .steps{grid-template-columns:1fr;}
}
.lp .step{border-top:2px solid var(--accent); padding-top:12px;}
.lp .step .n{font-family:'Fraunces',serif; color:var(--accent); font-weight:600; font-size:14px;}
.lp .step h3{font-size:17px; margin-top:3px;}
.lp .step p{font-size:13.5px; color:var(--support); margin-top:5px;}
.lp .pricebox{background:var(--ink); color:var(--base); border-radius:16px; padding:clamp(22px,3vw,32px); margin-top:30px; display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media(max-width:700px){
.lp .pricebox{grid-template-columns:1fr;}
}
.lp .pricebox h3{color:var(--base); font-size:22px;}
.lp .pricebox p{color:#A9C0B6; font-size:14.5px; margin-top:8px;}
.lp .pricebox .amt{font-family:'Fraunces',serif; font-size:28px; color:var(--accent-2); font-weight:600;}
.lp .chips{display:flex; flex-wrap:wrap; gap:9px; margin-top:22px;}
.lp .chip{background:var(--base); border:1px solid var(--line); border-radius:20px; padding:8px 15px; font-size:13.5px; font-weight:500;}
.lp .band.alt .chip{background:#fff;}
.lp details.faq{border-bottom:1px solid var(--line); padding:16px 0;}
.lp details.faq summary{font-family:'Fraunces',serif; font-size:18px; font-weight:500; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center;}
.lp details.faq summary::-webkit-details-marker{display:none;}
.lp details.faq summary::after{content:"+"; color:var(--accent); font-size:22px;}
.lp details.faq[open] summary::after{content:"–";}
.lp details.faq p{color:var(--support); font-size:15px; margin-top:12px;}
.lp .final{background:var(--deep); color:var(--base); text-align:center; padding:clamp(44px,6vw,72px) 0;}
.lp .final h2{font-size:clamp(26px,4vw,40px); color:var(--base);}
.lp .final p{color:#A9C0B6; margin-top:14px; font-size:16px;}
@media (prefers-reduced-motion:reduce){
.lp .rv{opacity:1; transform:none;}
}
