*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#1f2937;line-height:1.65;background:#fff}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
header.top{background:#1c1917;color:#fff;padding:12px 0;position:sticky;top:0;z-index:50}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;max-width:960px}
.brand{font-weight:800;font-size:18px;color:#fff;text-decoration:none}
.brand span{color:#f59e0b}
.callbtn{background:#ea580c;color:#fff;font-weight:700;padding:10px 18px;border-radius:8px;text-decoration:none;display:inline-block}
.callbtn:hover{background:#c2410c}
.hero{background:#1c1917;color:#fff;padding:56px 0 64px}
.hero h1{font-size:34px;line-height:1.2;margin-bottom:14px}
.hero p.sub{color:#d6d3d1;font-size:18px;margin-bottom:26px;max-width:640px}
.hero .cta-row{display:flex;gap:14px;flex-wrap:wrap}
.ghostbtn{border:2px solid #fff;color:#fff;padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:600}
main{padding:40px 0 80px}
main h2{font-size:26px;margin:34px 0 12px}
main h3{font-size:20px;margin:24px 0 8px}
main p{margin-bottom:14px}
main ul,main ol{margin:0 0 16px 22px}
main li{margin-bottom:8px}
.faq{border:1px solid #e7e5e4;border-radius:10px;padding:18px 20px;margin-bottom:14px;background:#fafaf9}
.faq h3{margin:0 0 6px;font-size:18px}
.card{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:18px 20px;margin:22px 0}
.areas{background:#f5f5f4;border-radius:10px;padding:18px 20px;margin:22px 0}
footer{background:#1c1917;color:#a8a29e;padding:28px 0;font-size:14px}
footer a{color:#d6d3d1}
.sticky-call{position:fixed;bottom:0;left:0;right:0;background:#ea580c;color:#fff;text-align:center;padding:14px;font-weight:800;font-size:18px;text-decoration:none;z-index:60}
body{padding-bottom:64px}
@media(max-width:600px){.hero h1{font-size:27px}header.top .wrap{max-width:100%}}

/* ---- 360 upgrade ---- */
details.faq{border:1px solid #e7e5e4;border-radius:10px;background:#fafaf9;margin-bottom:14px;padding:0}
details.faq summary{cursor:pointer;padding:16px 20px;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";color:#ea580c;font-size:24px;font-weight:800;line-height:1;flex:none}
details.faq[open] summary::after{content:"\2013"}
details.faq .answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
details.faq[open] .answer{grid-template-rows:1fr}
details.faq .answer>div{overflow:hidden}
details.faq .answer p{padding:2px 20px 18px;margin:0}
details.faq summary:focus-visible{outline:3px solid #ea580c;outline-offset:2px;border-radius:10px}
.estimator{background:#fff7ed;border:2px solid #fdba74;border-radius:12px;padding:22px;margin:26px 0}
.est-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.estimator label{font-weight:600;display:block}
.estimator input,.estimator select{width:100%;padding:10px;border:1px solid #d6d3d1;border-radius:8px;margin-top:6px;font-size:16px}
#est-btn{background:#ea580c;color:#fff;border:0;font-weight:800;font-size:17px;padding:12px 26px;border-radius:8px;cursor:pointer}
.est-result{margin-top:16px;background:#fff;border:1px solid #fed7aa;border-radius:8px;padding:14px 16px}
.fine{font-size:13px;color:#78716c;margin-top:10px}
.area-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:16px 0 8px}
.area-card{border:1px solid #e7e5e4;border-radius:10px;padding:16px;text-decoration:none;color:#1f2937;background:#fafaf9;display:block}
.area-card:hover{border-color:#ea580c}
.area-card strong{display:block;font-size:17px;margin-bottom:4px}
.area-card span{font-size:14px;color:#57534e}
.how{margin:30px 0}
.steps{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.steps li{display:flex;gap:14px;align-items:flex-start;background:#fafaf9;border:1px solid #e7e5e4;border-radius:10px;padding:14px 16px}
.step-n{background:#ea580c;color:#fff;font-weight:800;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.cta-banner{background:#ea580c;color:#fff;border-radius:12px;padding:28px 24px;margin:30px 0;text-align:center}
.cta-banner h2{color:#fff;margin-top:0}
.callbtn.light{background:#fff;color:#ea580c}
@media(max-width:600px){.est-grid{grid-template-columns:1fr}}
