[hidden]{display:none!important}
.floating-cta{position:fixed;right:24px;bottom:24px;z-index:20;box-shadow:0 6px 24px #0003;min-height:54px;border-radius:30px;gap:22px}
.floating-cta:focus-visible{outline:3px solid #171918;outline-offset:4px}
#request-form{scroll-margin-top:115px}
.steps article>span{display:none}.steps article{padding-left:0}
.hero-grid{min-height:610px}.hero-art{overflow:hidden}.hero-art img{top:0}
.hero-copy{padding-bottom:65px}
.service .price-condition{line-height:1.6}
.footer-tools{flex-wrap:wrap;gap:18px 28px;padding-bottom:75px}
.cookie-banner{max-width:440px}.cookie-banner:has(~*){z-index:30}
.faq-grid summary span:first-child{color:var(--ink)}
.faq-grid details[open] summary span:first-child{transform:none}
.login #show-password{min-height:44px;border:0;background:transparent;text-decoration:underline;cursor:pointer;padding:8px 0;font:inherit}
.login #login-error{color:#a51c1c;font-size:1rem}
.login input{font-size:1rem}.login .button{display:block}
@media(max-width:700px){.hero-grid{min-height:0}.hero-copy{padding-bottom:0}.hero-art{height:315px}.hero-art img{top:-20px}.floating-cta{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:52px;padding:14px 22px}.cookie-banner{bottom:84px;max-height:65vh}.steps article{padding-left:0}#request-form{scroll-margin-top:92px}.footer-tools{padding-bottom:18px}footer{padding-bottom:95px}}

[hidden]{display:none!important}.services{grid-template-columns:repeat(3,minmax(0,1fr))}.service{cursor:default}.service p{margin-bottom:16px}.service-price{font-size:1.65rem;font-weight:750;margin-top:auto}.service small{font-size:.875rem;color:var(--muted)}.service .price-condition{font-size:.875rem;margin:12px 0 20px}.service button{border:0;background:none;text-align:left;padding:10px 0;cursor:pointer;font:inherit;font-weight:700;min-height:44px}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{border:1px solid var(--line);border-radius:10px;padding:22px;overflow-wrap:anywhere}.review-card p{white-space:pre-wrap}.review-card small{display:block;color:var(--muted);margin-top:8px}.stars{color:#795a00;font-size:1.4rem;letter-spacing:3px}.review-details{margin-top:25px}.review-details form{margin-top:20px;max-width:650px}.check-label{display:flex;gap:12px;align-items:flex-start}.check-label input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:3px 0;accent-color:#705600}.honeypot{position:absolute;left:-10000px}.footer-tools{display:flex;gap:30px;margin-top:20px;font-size:.875rem}.footer-tools button{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline}.cookie-banner{position:fixed;bottom:24px;left:24px;z-index:30;width:min(560px,calc(100% - 48px));background:#fff;color:var(--ink);border:1px solid #cdd3c7;box-shadow:0 8px 65px #0005;padding:25px;border-radius:12px;max-height:80vh;overflow:auto}.cookie-banner h2{font-size:1.4rem;letter-spacing:0}.cookie-banner p,.cookie-banner a{font-size:.875rem}.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.cookie-actions .button{font-size:.875rem;gap:10px;padding:12px}.cookie-banner>a{text-decoration:underline}.admin,.login{padding-top:45px;padding-bottom:60px;max-width:1050px}.admin h1,.login h1{font-size:2.6rem;letter-spacing:-1px;margin-top:25px}.admin h2{font-size:1.7rem;letter-spacing:-.5px;margin:28px 0 18px}.admin form{margin:25px 0}.admin fieldset{border:1px solid #ccd3c7;border-radius:8px;padding:20px;margin-bottom:25px;background:#fff}.admin legend{padding:0 10px}.admin textarea{min-height:100px}.admin details{padding:14px 0}.admin details textarea{margin:10px 0}.admin #save{position:sticky;bottom:20px;box-shadow:0 3px 20px #0002}.admin #admin-status{position:sticky;top:94px;z-index:2;background:#fff3bd;padding:12px;border-radius:6px;min-height:48px}.moderation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.moderation-actions button{padding:10px;cursor:pointer;font:inherit}.admin-reviews .review-card{margin:15px 0}.login{max-width:600px}button:disabled{opacity:.55;cursor:wait}.admin p{overflow-wrap:anywhere}@media(max-width:850px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid{grid-template-columns:1fr}}@media(max-width:550px){.services{grid-template-columns:1fr}.cookie-banner{bottom:85px;left:14px;width:calc(100% - 28px);padding:19px}.cookie-actions{display:grid}.admin .nav{gap:10px}.admin h1{font-size:2rem}.admin #admin-status{top:76px}.admin form{padding:18px}}

