
:root{--bg:#080c10;--p:#0e151b;--p2:#111920;--line:#293640;--text:#f3f5f7;--muted:#929da6;--gold:#d7b36b;--gold2:#f0d8a8;--green:#55c981}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 95% 0,rgba(215,179,107,.08),transparent 30rem),radial-gradient(circle at 0 28%,rgba(75,108,133,.09),transparent 28rem),var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
button,input,select,textarea{font:inherit}
.wrap{width:min(1220px,calc(100% - 28px));margin:36px auto 48px}
.eyebrow{color:var(--gold);font-size:.6rem;letter-spacing:.16em;font-weight:800}
.intro{max-width:960px}
.intro h1{margin:8px 0 12px;font-size:clamp(2.4rem,6vw,4.6rem);line-height:1.02;letter-spacing:-.055em}
.intro>p{max-width:780px;color:#a0a9b0;line-height:1.7}
.flow{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.flow span{min-height:54px;padding:9px 11px;display:flex;align-items:center;gap:9px;border:1px solid #202b34;border-radius:11px;background:#0d141a;color:#9ba5ad;font-size:.64rem}
.flow b{width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(215,179,107,.2);border-radius:8px;color:var(--gold2);background:rgba(215,179,107,.08)}
.notice{margin-top:14px;padding:13px 15px;border-left:3px solid var(--gold);border-radius:9px;background:rgba(215,179,107,.055);color:#b0b8be;font-size:.71rem;line-height:1.6}
form{margin-top:28px}
.steps{position:sticky;top:82px;z-index:30;padding:8px;display:grid;grid-template-columns:repeat(6,1fr);gap:7px;border:1px solid var(--line);border-radius:14px;background:rgba(9,14,19,.95);backdrop-filter:blur(12px)}
.steps button{min-height:44px;border:1px solid transparent;border-radius:9px;background:transparent;color:#79848d;font-size:.61rem;cursor:pointer}
.steps .active{border-color:rgba(215,179,107,.25);background:rgba(215,179,107,.06);color:#e7d6b5}
.layout{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;align-items:start}
.form-main{min-width:0}
.step{display:none;padding:25px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#10171d,#0c1217)}
.step.active{display:block}
.heading{display:flex;gap:12px;margin-bottom:20px}
.heading>b{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid rgba(215,179,107,.24);border-radius:10px;color:var(--gold2);background:rgba(215,179,107,.06);font-size:.66rem}
.heading h2{margin:0;font-size:1.14rem}
.heading p{margin:4px 0 0;color:#7f8a93;font-size:.67rem}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
label{display:block;margin-top:13px;color:#c7cdd2;font-size:.69rem;font-weight:650}
label small{color:#6f7a83;font-weight:400}
input,select,textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #2c3943;border-radius:10px;outline:none;background:#0a1015;color:#edf0f2;font-size:.72rem}
textarea{resize:vertical;line-height:1.55}
input:focus,select:focus,textarea:focus{border-color:rgba(215,179,107,.48);box-shadow:0 0 0 3px rgba(215,179,107,.05)}
fieldset{margin:18px 0 0;padding:0;border:0}
legend{margin-bottom:9px;font-size:.69rem;font-weight:700}
.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.choices.three{grid-template-columns:repeat(3,1fr)}
.choices label{margin:0;position:relative}
.choices input{position:absolute;opacity:0;pointer-events:none}
.choices span{min-height:41px;padding:9px 10px;display:flex;align-items:center;border:1px solid #28343d;border-radius:10px;background:#0c1318;color:#929ca5;font-size:.63rem;font-weight:500}
.choices input:checked+span{border-color:rgba(215,179,107,.4);background:rgba(215,179,107,.08);color:#ead7b3}
.rules{padding:17px;border:1px solid #2d3943;border-radius:13px;background:#0b1217}
.rules h3{margin:0 0 10px}
.rules ol{margin:0;padding-left:20px}
.rules li{margin:8px 0;color:#99a3ab;font-size:.66rem;line-height:1.6}
details{margin-top:9px;border:1px solid #26323b;border-radius:10px;background:#0b1217}
summary{padding:12px 14px;cursor:pointer;font-size:.67rem;font-weight:650}
details p{margin:0;padding:0 14px 13px;color:#89949d;font-size:.65rem;line-height:1.6}
.payment{margin-top:18px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(215,179,107,.26);border-radius:14px;background:linear-gradient(145deg,rgba(215,179,107,.08),rgba(12,18,23,.95))}
.payment>div>span{color:#aa8b55;font-size:.51rem;letter-spacing:.14em;font-weight:800}
.payment h3{margin:6px 0 3px}
.payment p{margin:2px 0;color:#9ca6ae;font-size:.66rem}
.payment .acct{font-size:1.14rem;color:#f1ddb9;font-weight:800;letter-spacing:.04em}
.payment>b{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(85,201,129,.28);border-radius:13px;background:rgba(85,201,129,.08);color:#72d392}
.payment.notready{border-color:#613f39;background:rgba(121,59,51,.08)}
.copy{margin-top:9px;padding:7px 9px;border:1px solid rgba(215,179,107,.24);border-radius:8px;background:#12181c;color:#ddc598;font-size:.58rem;cursor:pointer}
.tip{color:#7f8a92;font-size:.59rem}
.consents{margin-top:17px;display:grid;gap:8px}
.consents label{margin:0;padding:11px;display:grid;grid-template-columns:18px 1fr;gap:9px;border:1px solid #26323b;border-radius:10px;background:#0b1217;font-size:.63rem;font-weight:500;line-height:1.5}
.consents input{width:16px;height:16px;margin:1px 0;accent-color:#d7b36b}
.actions{margin-top:12px;display:flex;gap:9px}
.btn{min-height:44px;padding:0 16px;border:1px solid #2d3942;border-radius:10px;cursor:pointer;font-size:.67rem;font-weight:750}
.btn.primary{margin-left:auto;background:linear-gradient(145deg,#eadab9,#c5a05c);border-color:#dcc18b;color:#121518}
.btn.ghost{background:#0f161c;color:#aeb6bd}
.btn:disabled{opacity:.5}
.status{margin-top:10px;min-height:20px;font-size:.65rem;color:#a3acb3}
.status.error{color:#ef9a8b}.status.success{color:#75d493}
.summary{position:sticky;top:154px;padding:18px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#10171d,#0c1217)}
.summary h3{margin:7px 0 15px}
.summary dl{margin:0;display:grid;gap:10px}
.summary dl div{padding-bottom:9px;border-bottom:1px solid #1d272f}
.summary dt{color:#66727b;font-size:.51rem}
.summary dd{margin:4px 0 0;color:#c6ccd1;font-size:.66rem;overflow-wrap:anywhere}
.summary>p{padding:10px;border-radius:9px;background:#0b1217;color:#75818a;font-size:.57rem;line-height:1.5}
.summary button{width:100%;min-height:38px;border:1px solid #293640;border-radius:9px;background:#111920;color:#9aa4ac;font-size:.59rem;cursor:pointer}
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
footer{width:min(1220px,calc(100% - 28px));margin:0 auto 28px;padding:18px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;border-top:1px solid #1e282f;color:#66717a;font-size:.59rem}
footer nav{display:flex;gap:14px;flex-wrap:wrap}footer a{text-decoration:none;color:#8b959d}
code{color:#dfc792}

/* Estimator */
.estimate-warning,.invoice-warning{margin-bottom:16px;padding:13px 15px;border-left:3px solid var(--gold);border-radius:9px;background:rgba(215,179,107,.055);color:#aeb7be;font-size:.68rem;line-height:1.6}
.estimate-warning strong,.invoice-warning strong{color:#edd9b3}
.estimator-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px;align-items:start}
.estimator-controls{display:grid;gap:12px;min-width:0}
.estimator-block{padding:16px;border:1px solid #26323b;border-radius:13px;background:#0b1217}
.estimator-title{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.estimator-title>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid rgba(215,179,107,.23);border-radius:8px;background:rgba(215,179,107,.07);color:#e9cf9d;font-size:.58rem;font-weight:800}
.estimator-title h3{margin:0;font-size:.82rem}
.estimator-title p{margin:3px 0 0;color:#737f88;font-size:.59rem;line-height:1.5}
.package-price-card{margin-top:10px;padding:13px;border:1px solid rgba(215,179,107,.20);border-radius:11px;background:linear-gradient(145deg,rgba(215,179,107,.07),rgba(10,16,21,.96))}
.package-price-card span,.package-price-card small{display:block;color:#7f8a93;font-size:.57rem}
.package-price-card strong{display:block;margin:5px 0;color:#f1ddb6;font-size:1.15rem}
.planner-row{padding:11px 0;display:grid;grid-template-columns:minmax(0,1fr) 170px 150px;gap:10px;align-items:end;border-bottom:1px solid #1e282f}
.planner-row:last-child{border-bottom:0}
.planner-copy{min-width:0}.planner-copy strong{display:block;color:#cbd1d5;font-size:.68rem}.planner-copy small{display:block;margin-top:4px;color:#6f7b84;font-size:.56rem;line-height:1.45}
.planner-row select,.planner-row input{margin-top:0}.money-input{margin-top:0}.money-input input{margin-top:6px}
.ad-planner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.marketing-note{margin-top:11px;padding:10px 12px;border-radius:9px;background:#0e161c;color:#748089;font-size:.59rem;line-height:1.55}
.estimate-result{position:sticky;top:156px;padding:17px;border:1px solid rgba(215,179,107,.25);border-radius:14px;background:radial-gradient(circle at 100% 0,rgba(215,179,107,.08),transparent 38%),linear-gradient(145deg,#10171d,#0b1116)}
.estimate-result h3{margin:7px 0 13px;font-size:.9rem}
.estimate-breakdown{margin:0;display:grid;gap:8px}
.estimate-breakdown div{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #1e282f}
.estimate-breakdown dt{color:#76818a;font-size:.57rem}.estimate-breakdown dd{margin:0;color:#cbd1d5;font-size:.62rem;font-weight:700;text-align:right}
.estimate-total{margin-top:13px;padding:13px;border:1px solid rgba(215,179,107,.23);border-radius:11px;background:rgba(215,179,107,.055)}
.estimate-total span{display:block;color:#917a55;font-size:.56rem}.estimate-total strong{display:block;margin-top:4px;color:#f2ddb3;font-size:1.25rem}
.estimate-split{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px}
.estimate-split div{padding:9px;border:1px solid #26323b;border-radius:9px;background:#0b1217}
.estimate-split small{display:block;color:#68747d;font-size:.49rem}.estimate-split strong{display:block;margin-top:4px;color:#c4cbd0;font-size:.62rem}
.quote-flags{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px}
.quote-flags span{padding:5px 7px;border:1px solid rgba(222,157,104,.20);border-radius:999px;background:rgba(222,157,104,.06);color:#c99e7d;font-size:.49rem}
.estimate-disclaimer{margin:11px 0;color:#69757e;font-size:.54rem;line-height:1.55}
.estimate-disclaimer strong{color:#aeb6bc}
.estimate-save,.estimate-reset{width:100%;min-height:39px;margin-top:7px;border-radius:9px;cursor:pointer;font-size:.59rem}
.estimate-save{border:1px solid rgba(215,179,107,.28);background:rgba(215,179,107,.07);color:#e5cca0}
.estimate-reset{border:1px solid #293640;background:#0d141a;color:#818c95}
.estimator-privacy,.continuation-note{margin-top:2px;padding:12px 13px;display:flex;gap:10px;border:1px solid rgba(85,201,129,.16);border-radius:10px;background:rgba(85,201,129,.045);color:#8ea598;font-size:.62rem;line-height:1.55}
.estimator-privacy>span{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:7px;background:rgba(85,201,129,.09);color:#6fd18d}
.estimator-privacy p{margin:0}.continuation-note{display:block;margin-bottom:10px}
.invoice-warning{border-left-color:#d08b65;background:rgba(208,139,101,.05)}

@media(max-width:980px){.estimator-layout{grid-template-columns:1fr}.estimate-result{position:static}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.summary{position:static}.layout aside{order:-1}.summary dl{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.planner-row{grid-template-columns:1fr}.ad-planner-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .wrap{width:calc(100% - 18px);margin-top:24px}
  .flow{grid-template-columns:repeat(2,1fr)}
  .steps{top:78px;overflow-x:auto;grid-template-columns:repeat(6,minmax(118px,1fr));scrollbar-width:none}
  .steps::-webkit-scrollbar{display:none}
  .step{padding:18px}
  .two,.choices,.choices.three{grid-template-columns:1fr}
  .summary dl{grid-template-columns:repeat(2,1fr)}
  .intro h1{font-size:2.55rem}
}
@media(max-width:430px){
  .step{padding:15px}
  .actions{position:sticky;bottom:8px;z-index:20;padding:8px;border:1px solid #28343d;border-radius:12px;background:rgba(9,14,19,.95);backdrop-filter:blur(10px)}
  .btn{flex:1;padding-inline:10px}
  footer{width:calc(100% - 18px)}
  .estimate-split{grid-template-columns:1fr}
}


/* =========================================================
   FLOW V4 — customer data after scope, agreement before pay
   ========================================================= */
.customer-agreement-separator{
  margin:24px 0 14px;
  padding-top:20px;
  border-top:1px solid #26323b;
}
.customer-agreement-separator>span{
  display:block;
  color:#a98b55;
  font-size:.5rem;
  letter-spacing:.14em;
  font-weight:800;
}
.customer-agreement-separator h3{
  margin:6px 0 4px;
  font-size:.92rem;
}
.customer-agreement-separator p{
  margin:0;
  color:#7e8992;
  font-size:.62rem;
  line-height:1.55;
}
.payment-flow-note{
  margin-bottom:16px;
  padding:14px;
  border:1px solid rgba(85,201,129,.18);
  border-radius:11px;
  background:rgba(85,201,129,.05);
}
.payment-flow-note strong{
  display:block;
  color:#9bd0aa;
  font-size:.68rem;
}
.payment-flow-note span{
  display:block;
  margin-top:5px;
  color:#7f9386;
  font-size:.61rem;
  line-height:1.55;
}
.payment-final-note{
  margin-top:14px;
  padding:12px 13px;
  border-left:3px solid #d7b36b;
  border-radius:8px;
  background:rgba(215,179,107,.05);
  color:#9e9a8e;
  font-size:.62rem;
  line-height:1.55;
}
.payment-final-note strong{color:#e5cfaa}
