
:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--page-bg:#f3f1ed;--page-bg-top:#f8f6f2;--page-bg-bottom:#f1efeb;--card-bg:#ffffff;--ink:#2f3332;--muted:#716f6a;--accent:#5d716b;--accent-hover:#4d605b;--accent-soft:#eef3f0;--line:#dedbd5;--panel:#f7f5f2;--panel-strong:#f1efeb;--warning-bg:#fff5d8;--warning-line:#eddca7;--danger-bg:#fff0f0;--danger-line:#ebc7c7;--danger-ink:#861e1e;color:var(--ink);background:var(--page-bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,var(--page-bg-top) 0,var(--page-bg-bottom) 100%);color:var(--ink)}.page-shell{width:min(980px,calc(100% - 28px));margin:24px auto 48px}.card{background:var(--card-bg);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 32px rgba(20,20,20,.045)}
.hero{padding:28px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:24px;align-items:end;margin-bottom:16px}.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--accent)}.hero h1{font-size:clamp(28px,5vw,42px);line-height:1.05;margin:7px 0 10px;letter-spacing:-.035em}.hero-copy{font-size:17px;color:#64615c;margin:0;max-width:620px}.hero-note{border-radius:15px;background:var(--panel-strong);padding:15px 16px;font-size:13px;line-height:1.5}.hero-note b,.hero-note span{display:block}.hero-note span{margin-top:4px;color:#615e58}
.form-card{padding:0 28px 28px}.step{padding:26px 0;border-bottom:1px solid #ece9e4}.step:last-of-type{border-bottom:0}.step-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}.step-no{width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;flex:0 0 auto}.step-head h2{font-size:20px;margin:2px 0 3px;letter-spacing:-.015em}.step-head p{margin:0;color:#77726b;font-size:14px;line-height:1.45}
label{display:block;font-weight:700;font-size:14px;margin:0 0 7px}input,select,button{font:inherit}input[type=text],input[type=number],select{width:100%;border:1px solid #cfcac2;border-radius:12px;background:#fff;padding:12px 13px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(93,113,107,.14)}select:disabled,input:disabled{background:#efede9;color:#8d8880}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compact-top{margin-top:14px}.field-narrow{max-width:50%;margin-top:14px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice-card{margin:0;border:1px solid #d8d4cd;border-radius:15px;padding:15px;cursor:pointer;display:flex;gap:11px;align-items:flex-start;font-weight:400;transition:border-color .15s,background .15s}.choice-card:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice-card input{margin:3px 0 0;accent-color:var(--accent)}.choice-card b,.choice-card small{display:block}.choice-card b{font-size:15px}.choice-card small{font-size:13px;line-height:1.45;color:#747069;margin-top:4px}
.field-note,.privacy-hint{font-size:12px;line-height:1.45;color:#7b766f;margin-top:6px}.info-line{margin-top:14px;background:var(--panel);border-radius:11px;padding:11px 13px;color:#57534e;font-size:13px;line-height:1.45}.service-fixed,.service-select{border:1px solid #dedad3;border-radius:14px;padding:15px;display:flex;align-items:center;gap:12px}.service-fixed{background:var(--panel)}.service-select{justify-content:space-between;margin-top:12px}.service-select select{width:120px;flex:0 0 auto}.checkmark{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:900}.service-fixed b,.service-fixed small,.service-select b,.service-select small{display:block}.service-fixed small,.service-select small{color:#77726b;margin-top:4px;line-height:1.4}
.primary-action{border:0;border-radius:13px;background:var(--accent);color:white;font-weight:800;width:100%;padding:15px 18px;margin-top:26px;cursor:pointer}.primary-action:hover{background:var(--accent-hover)}.primary-action:disabled{opacity:.55;cursor:wait}.under-action{text-align:center;color:#77726b;font-size:12px;line-height:1.4;margin-top:9px}.form-error{margin-top:20px;border-radius:12px;background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger-ink);padding:12px 14px;font-size:13px}
.result-card{padding:28px;margin-top:16px}.result-top{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.result-kicker{font-size:13px;color:var(--accent);font-weight:800}.price{font-size:clamp(34px,7vw,52px);font-weight:850;letter-spacing:-.045em;line-height:1;margin-top:7px;color:var(--accent)}.quote-box{min-width:220px;background:var(--accent);color:#fff;border-radius:15px;padding:14px 16px}.quote-box span,.quote-box b{display:block}.quote-box span{font-size:12px;color:#edf2f0}.quote-box b{font-size:20px;margin-top:4px;letter-spacing:.025em}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.summary-item{background:var(--panel);border-radius:12px;padding:12px 14px}.summary-item span,.summary-item b{display:block}.summary-item span{font-size:11px;color:#77726b;text-transform:uppercase;letter-spacing:.06em}.summary-item b{font-size:14px;margin-top:5px}.result-services{border-top:1px solid #ece9e4;border-bottom:1px solid #ece9e4;padding:15px 0;margin:4px 0 18px;font-size:14px;line-height:1.65}.result-services b{font-weight:750}.disclaimer{background:var(--warning-bg);border:1px solid var(--warning-line);border-radius:14px;padding:15px 16px;font-size:13px;line-height:1.55}.disclaimer p{margin:0 0 9px}.disclaimer p:last-child{margin-bottom:0}.contact-card{margin-top:12px;border:1px solid #dedad3;border-radius:14px;padding:15px 16px;font-size:14px;line-height:1.55}.contact-card a{color:var(--accent);font-weight:800}.manager-action{margin-top:14px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:800;padding:13px 17px;cursor:pointer}.manager-action:hover{background:var(--accent-hover)}.notify-state{font-size:13px;margin-top:10px}.notify-ok{color:#28623b}.notify-error{color:#8b2727}.build{text-align:center;color:#918c85;font-size:11px;margin-top:12px}
[hidden]{display:none!important}
@media(max-width:720px){
/* MOBILE_FIX_V1_20260920 */
html,body{max-width:100%;overflow-x:hidden}
body{font-size:15px}
.page-shell{width:calc(100% - 12px);margin:6px auto 28px}
.card{border-radius:14px}

.hero{
grid-template-columns:1fr;
padding:14px;
gap:12px;
margin-bottom:10px
}
.hero h1{
font-size:clamp(24px,8vw,30px);
line-height:1.08;
letter-spacing:-.025em;
overflow-wrap:anywhere
}
.hero-copy{
font-size:15px;
line-height:1.45
}
.hero-note{
padding:12px 13px;
font-size:12px;
line-height:1.45;
border-radius:12px
}

.form-card{
padding:0 14px 18px
}
.result-card{
padding:16px 14px;
margin-top:10px
}

.step{
padding:18px 0
}
.step-head{
gap:10px;
margin-bottom:13px
}
.step-no{
width:26px;
height:26px;
font-size:12px
}
.step-head h2{
font-size:18px;
line-height:1.2;
margin:1px 0 3px;
overflow-wrap:anywhere
}
.step-head p{
font-size:13px;
line-height:1.4
}

label{
font-size:13px
}
input[type=text],
input[type=number],
select{
font-size:16px;
padding:11px 12px;
border-radius:10px;
min-width:0
}

.two,
.choice-grid,
.summary-grid,
.result-top{
grid-template-columns:1fr
}

.two{
gap:11px
}
.choice-grid{
gap:9px
}
.field-narrow{
max-width:none
}

.choice-card{
padding:12px;
gap:9px;
border-radius:12px;
min-width:0
}
.choice-card b{
font-size:14px;
line-height:1.25;
overflow-wrap:anywhere
}
.choice-card small{
font-size:12px;
line-height:1.4
}

.info-line{
padding:10px 11px;
font-size:12px;
line-height:1.4
}

.service-fixed,
.service-select{
padding:12px;
border-radius:12px;
gap:10px;
min-width:0
}
.service-select{
align-items:stretch;
flex-direction:column
}
.service-select select{
width:100%
}
.service-fixed b,
.service-select b{
font-size:14px;
line-height:1.25;
overflow-wrap:anywhere
}
.service-fixed small,
.service-select small{
font-size:12px;
line-height:1.4
}
.checkmark{
width:26px;
height:26px;
flex:0 0 auto
}

.primary-action{
margin-top:20px;
padding:14px 16px;
font-size:15px
}
.under-action{
font-size:11px
}

.result-top{
gap:12px
}
.price{
font-size:32px;
line-height:1.05
}
.quote-box{
min-width:0;
padding:12px 13px;
border-radius:12px
}
.quote-box b{
font-size:18px
}

.summary-grid{
gap:8px;
margin:16px 0
}
.summary-item{
padding:10px 12px
}

.result-services{
font-size:13px;
line-height:1.5;
padding:12px 0;
margin:3px 0 14px
}
.disclaimer,
.contact-card{
padding:12px 13px;
font-size:12px;
line-height:1.5
}
.manager-action{
width:100%;
padding:13px 15px
}

.hero,
.form-card,
.result-card,
.step,
.choice-card,
.service-fixed,
.service-select,
.summary-item,
.quote-box,
.disclaimer,
.contact-card{
min-width:0;
max-width:100%
}

.hero h1,
.step-head h2,
.choice-card b,
.service-fixed b,
.service-select b,
.summary-item b,
.quote-box b{
overflow-wrap:anywhere
}
}
