/* Alcora Residences — śródziemnomorski modernizm: wapno, trawertyn, morska zieleń, terakota jako akcent */
:root{
  --lime:#f4efe6;--lime-2:#ebe3d5;--paper:#fffdf9;--ink:#20302f;--ink-2:#3d4c4a;--muted:#66706b;
  --sea:#1f5c63;--sea-d:#163f45;--terra:#b8643f;--sand:#d9c7a7;--line:#ddd2bf;
  --available:#3f7d6a;--reserved:#c48a3a;--sold:#a7a196;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --g:clamp(16px,4vw,48px);--w:1240px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--lime);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0;text-wrap:balance}
h2{font-size:clamp(30px,4vw,48px)}
a{color:var(--sea)}
.wrap{max-width:var(--w);margin:0 auto;padding-inline:var(--g)}
.mut{color:var(--muted)}.small{font-size:14px}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.demo{margin:0;background:var(--sea-d);color:#e8efe9;font-size:12px;line-height:1.4;letter-spacing:.04em;text-align:center;padding:6px var(--g)}
.hdr{display:flex;align-items:center;gap:20px;padding:12px var(--g);background:rgba(244,239,230,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand svg{width:30px;height:30px;color:var(--terra)}
.brand span{font:500 18px/1 var(--serif);letter-spacing:.28em}
.brand small{display:block;font:600 9px/1 var(--sans);letter-spacing:.34em;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:22px}.nav a{color:var(--ink-2);text-decoration:none;font-weight:500;font-size:14px}
.nav a:hover{color:var(--sea)}
.lang{display:flex;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.lang button{background:none;border:0;padding:6px 10px;font:600 12px var(--sans);cursor:pointer;color:var(--muted)}
.lang button[aria-pressed=true]{background:var(--sea);color:#fff}
@media (max-width:720px){.nav{display:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border-radius:24px;border:1px solid var(--sea);background:var(--sea);color:#fff;font:600 15px var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--sea-d)}
.btn--l{background:transparent;color:var(--sea)}
.btn--l:hover{background:var(--lime-2)}
.btn:disabled{opacity:.5;cursor:default}
.hero{position:relative;min-height:min(86svh,820px);display:grid;align-items:end;overflow:hidden;color:#fff;
  background:linear-gradient(180deg,#e9b98a 0%,#e7c7a3 34%,#c9d4cf 52%,#5f8f93 53%,#2d6469 74%,#1d4a50 100%)}
.hero__img,.hero__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,40,42,.62) 0%,rgba(18,40,42,.25) 45%,rgba(18,40,42,0) 70%),linear-gradient(180deg,rgba(18,40,42,.25) 0%,rgba(18,40,42,0) 25%,rgba(18,40,42,0) 45%,rgba(18,40,42,.7) 100%)}
.hero__in{position:relative;z-index:1;max-width:var(--w);width:100%;margin:0 auto;padding:0 var(--g) clamp(32px,6vh,72px)}
.kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;opacity:.92}
.hero h1{font-size:clamp(42px,7vw,92px);max-width:14ch}
.hero h1 em{font-style:italic;color:#f3d9b8}
.hero__p{max-width:56ch;font-size:clamp(16px,1.4vw,19px);margin:18px 0 0;color:#eef2ee}
.cta{margin:26px 0 0}.hero .btn{background:#fff;color:var(--sea-d);border-color:#fff}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:var(--w);margin:0 auto;padding:0 var(--g)}
.facts div{padding:22px 0;border-bottom:1px solid var(--line)}
.facts b{display:block;font:400 clamp(22px,6vw,32px)/1.1 var(--serif);color:var(--sea-d);overflow-wrap:anywhere}.facts span{font-size:13px;color:var(--muted)}
@media (max-width:720px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sec{padding:clamp(56px,8vw,104px) 0}.sec--alt{background:var(--paper)}
.sec h2+p{margin:10px 0 0;max-width:62ch}
.elev{margin-top:28px;background:linear-gradient(180deg,#fbf7f0,#efe6d6);border:1px solid var(--line);border-radius:10px;padding:10px;overflow-x:auto}
.elev svg{display:block;width:100%;min-width:620px;height:auto}
.elev .u rect{fill:#fff;stroke:#cdbfa7;stroke-width:1;cursor:pointer;transition:fill .15s}
.elev .u.available rect{fill:#e3efe8}.elev .u.reserved rect{fill:#f5e6cd}.elev .u.sold rect{fill:#e6e2db}
.elev .u:hover rect,.elev .u:focus rect{fill:var(--sea);stroke:var(--sea-d)}
.elev .u:hover text,.elev .u:focus text{fill:#fff}
.elev .u:focus{outline:none}.elev .u:focus-visible rect{stroke-width:3}
.elev text{font:600 10px var(--sans);fill:var(--ink-2);text-anchor:middle;pointer-events:none}
.elev .rail{stroke:#b9ab93;stroke-width:1}.elev .perg{stroke:#b8643f;stroke-width:1.2;fill:none}
.elev .ground{stroke:#9fb3ad;stroke-width:2}.elev .bl{font:500 13px var(--serif);fill:var(--muted)}
.legend{display:flex;gap:18px;font-size:13px;color:var(--muted);margin:12px 0 0}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:0}
.dot.available{background:var(--available)}.dot.reserved{background:var(--reserved)}.dot.sold{background:var(--sold)}
.filters{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:end;margin:30px 0 14px}
.filters label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}
.filters select{font:400 15px var(--sans);min-height:42px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);min-width:130px}
.filters .chk{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:14px;min-height:42px}
.filters #n{margin:0 0 0 auto;align-self:center}
.chk input{width:18px;height:18px;accent-color:var(--sea)}
.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:16px 14px;vertical-align:middle;border-bottom:1px solid #eee5d6;text-align:left;white-space:nowrap}
.tbl thead th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tbl tbody th{font-weight:600}.tbl tbody th small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.tbl tbody tr{cursor:pointer}.tbl tbody tr:hover{background:#f7f1e6}
.tbl tr.sold{color:var(--muted)}
.lnk{background:none;border:0;color:var(--sea);font:600 14px var(--sans);cursor:pointer;padding:6px}
.pill{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:9px}
.pill.reserved{background:#f5e6cd;color:#8a5b1c}.pill.sold{background:#ece8e1;color:var(--muted)}
.life{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:30px}
.life h3{font-size:22px}.life p{color:var(--muted);margin:8px 0 0}
@media (max-width:900px){.life{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.life{grid-template-columns:1fr}}
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px}
@media (max-width:860px){.contact{grid-template-columns:minmax(0,1fr)}}
.contact h2,.contact p,.contact label span{overflow-wrap:anywhere;hyphens:auto;-webkit-hyphens:auto}
#lead{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
#lead label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}
#lead input:not([type=checkbox]),#lead select,#lead textarea{font:400 16px var(--sans);padding:11px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);min-width:0;max-width:100%}
#lead .chk{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400}
.hp{position:absolute;left:-9999px}.err{color:#a3422c;margin:0;min-height:1em}
.ok{padding:24px;background:var(--paper);border:1px solid var(--line);border-radius:10px}
.foot{background:var(--sea-d);color:#d9e4e0;font-size:13px;padding:30px 0}.foot a{color:#fff}
/* karta */
dialog{width:min(1080px,calc(100% - 24px));max-height:calc(100dvh - 24px);border:0;border-radius:14px;padding:0;background:var(--paper);color:var(--ink)}
dialog::backdrop{background:rgba(18,40,42,.55)}
.dlg__hd{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--paper);border-bottom:1px solid var(--line)}
.dlg__hd h2{font-size:24px;margin-right:auto;min-width:0}.dlg__hd h2 small{font:400 15px var(--sans);color:var(--muted)}
.dlg__p{margin:0;font:400 22px/1.1 var(--serif);color:var(--sea-d)}
.x44{min-height:44px!important;min-width:44px;width:44px;padding:0!important;font-size:24px!important;line-height:1}
@media (max-width:560px){.dlg__hd{padding:8px 12px;gap:8px}.dlg__hd h2{font-size:20px}.dlg__hd h2 small{display:none}.dlg__p{font-size:18px}}
.dlg__b{padding:20px}
.card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px}
@media (max-width:820px){.card{grid-template-columns:minmax(0,1fr)}}
.card__plan{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
.plan{display:block;width:100%;height:auto}
.plan .r{fill:#fbf8f2;stroke:#33413f;stroke-width:1}.plan .wet{fill:#e8f0ef}.plan .hall{fill:#f4efe6}
.plan .wall{fill:none;stroke:#20302f;stroke-width:4}.plan .win{stroke:#7fb2b6;stroke-width:5}
.plan .door{fill:none;stroke:#20302f;stroke-width:1}
.plan .ter{fill:#efe4d0;stroke:#b8a988;stroke-dasharray:4 3}.plan .gar{fill:#dfe9d6;stroke:#a6bb94}
.plan .rl{font:600 11px var(--sans);fill:#20302f;text-anchor:middle}.plan .ra{font:400 10px var(--sans);fill:#66706b;text-anchor:middle}
.plan .north circle{fill:#fff;stroke:#20302f}.plan .north path{fill:#20302f}.plan .north text{font:600 10px var(--sans);text-anchor:middle}
.card__price{font:400 38px/1.1 var(--serif);margin:0;color:var(--sea-d)}
.card__st{margin:6px 0 14px;color:var(--muted)}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:0}
.kv div{background:#fff;padding:9px 12px}.kv div:last-child:nth-child(odd){grid-column:1/-1}.kv dt{font-size:12px;color:var(--muted)}.kv dd{margin:0;font-weight:600}
.hist{margin-top:16px}.hist h4{margin:0 0 6px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.hist p{display:flex;gap:12px;align-items:baseline;margin:4px 0;font-size:14px}.hist small{color:var(--muted)}
.calc{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.calc h3{font-size:26px}.calc>.mut{margin:6px 0 14px;max-width:70ch}
.calc__ctl{display:flex;flex-wrap:wrap;gap:16px 26px;align-items:end;margin-bottom:12px}
.calc__ctl label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.calc__ctl .chk{flex-direction:row;align-items:center;gap:8px;font-weight:400}
.calc__ctl select{font:400 15px var(--sans);min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff}
.calc__ctl fieldset{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.calc__ctl legend{font-size:13px;font-weight:600;margin-bottom:4px}
.calc__ctl input[type=range]{width:200px;accent-color:var(--sea)}
.cost{width:100%;border-collapse:collapse;font-size:15px}
.cost th,.cost td{padding:9px 4px;border-bottom:1px solid #eee5d6;text-align:left;font-weight:400}
.cost td{text-align:right}.cost td.pct{color:var(--muted);width:70px}
.cost th small{color:var(--muted)}
.cost .tot th,.cost .tot td{font-weight:700;border-bottom:0;border-top:2px solid var(--ink);font-size:17px}
.src{color:var(--muted);margin:10px 0 0}
.fine{font-size:14px;line-height:1.55;color:var(--ink-2);margin:10px 0 0;max-width:80ch}
.card__acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media print{
  @page{size:A4;margin:12mm}
  body.printing{background:#fff}
  body.printing>*:not(dialog){display:none!important}
  body.printing dialog{position:static;display:block;width:100%;max-width:none;max-height:none;height:auto;overflow:visible;margin:0;border-radius:0;box-shadow:none;background:#fff}
  body.printing dialog::backdrop{display:none}
  body.printing .dlg__hd{position:static;padding:0 0 8px;border-bottom:2px solid #20302f}
  body.printing .dlg__b{padding:12px 0 0;overflow:visible}
  .no-print,.dlg__hd .btn,.calc__ctl{display:none!important}
  .print-only{display:block!important}
  .card{grid-template-columns:1.2fr 1fr;gap:16px}
  .calc{break-inside:avoid}
}
.print-only{display:none}
/* rzut do PDF (arkusz A4) — widoczny tylko w druku z klasą body.printplan */
.planprint{display:none}
.plan__acts{display:flex;flex-wrap:wrap;gap:8px}
@media print{
  body.printplan{background:#fff}
  body.printplan>*:not(#planprint){display:none!important}
  body.printplan #planprint{display:block;color:#20302f;font-size:11pt}
  .planprint header{border-bottom:2px solid #20302f;padding-bottom:6px;margin-bottom:8px}
  .planprint__b{letter-spacing:.2em;font-size:9pt;margin:0}
  .planprint h1{font-size:18pt;margin:2px 0}
  .planprint header p{margin:0}
  .planprint dl{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 16px;margin:0 0 8px}
  .planprint dl div{display:flex;justify-content:space-between;border-bottom:1px solid #ccc}
  .planprint dt{color:#555}.planprint dd{margin:0;font-weight:600}
  .planprint svg{display:block;width:100%;height:auto;max-height:190mm}
  .planprint__cap{font-weight:600;margin:6px 0 2px}
  .planprint__demo{font-size:8.5pt;color:#555;margin:0}
}
.mp{position:relative;margin:28px 0 0;border-radius:12px;overflow:hidden;background:#d9c7a7}
.mp img{display:block;width:100%;height:auto}
.mp svg{position:absolute;inset:0;width:100%;height:100%}
.mp .ap{fill:transparent;stroke:transparent;stroke-width:2;cursor:pointer;transition:fill .15s}
.mp .ap.available:hover{fill:rgba(63,125,106,.45);stroke:#fff}
.mp .ap.reserved:hover{fill:rgba(196,138,58,.45);stroke:#fff}
.mp .ap.sold:hover{fill:rgba(120,115,108,.45);stroke:#fff}
@media (hover:none){.mp .ap.available{fill:rgba(63,125,106,.22);stroke:rgba(255,255,255,.7)}}
#mp-tip{position:absolute;z-index:2;background:rgba(22,63,69,.94);color:#fff;font-size:13px;line-height:1.4;padding:8px 10px;border-radius:6px;pointer-events:none;max-width:220px}
.inter{margin:28px 0 0}.inter img{display:block;width:100%;height:auto;border-radius:12px}.inter figcaption{font-size:13px;color:var(--muted);margin-top:8px}
@media (max-width:640px){.filters #n{margin-left:0;width:100%}}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.pair .inter{margin:0}@media (max-width:860px){.pair{grid-template-columns:1fr}}
.cmpbar{position:fixed;z-index:30;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:8px 10px 8px 18px;box-shadow:0 8px 30px rgba(18,40,42,.18);max-width:calc(100% - 24px);font-size:14px}
.cmpbar .btn{min-height:38px}
.tbl.cmp tbody tr{cursor:default}
[hidden]{display:none!important}
@media (max-width:520px){.cmpbar{left:12px;right:12px;transform:none;max-width:none;border-radius:14px;justify-content:space-between}}
.plan .fu{fill:#fff;stroke:#8b958f;stroke-width:1}.plan .fu2{fill:#ece5d8;stroke:#a59c8b;stroke-width:.8}
.plan .gap{stroke:#fbf8f2;stroke-width:4}
.plan .r{stroke-width:2.2}
.ctop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px}
.ctop__eye{margin:0 0 4px;font-size:13px;color:var(--muted);letter-spacing:.02em}
.ctop .card__acts{margin:0}
.stats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:18px}
.stats div{background:#fff;padding:12px 16px}.stats b{display:block;font:400 26px/1.15 var(--serif);color:var(--sea-d)}.stats span{font-size:12px;color:var(--muted)}
.vtabs{display:flex;gap:4px;margin:2px 2px 8px}.vtabs button{font:600 13px var(--sans);border:1px solid var(--line);background:#fff;border-radius:16px;padding:6px 12px;cursor:pointer;color:var(--ink-2)}
.vtabs button[aria-selected=true]{background:var(--sea);color:#fff;border-color:var(--sea)}
.vpane img{display:block;width:100%;height:auto;border-radius:6px}
details.hist summary,details.calc summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
details summary::-webkit-details-marker{display:none}
details.calc summary h3::after{content:" ▾";font-size:16px;color:var(--muted)}
details.calc:not([open]) summary h3::after{content:" ▸"}
details.calc summary b{font:400 24px var(--serif);color:var(--sea-d)}
details.hist{margin-top:14px}details.hist summary{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
@media print{details.calc,details.hist{display:block}details>*{display:block}}
.seltabs{margin:24px 0 0}
.seltabs+.mp{margin-top:10px}
#elev{margin-top:10px}
/* historia ceny: widoczny wskaźnik rozwinięcia i liczba zmian zamiast „pustego” nagłówka */
details.hist summary{border-top:1px solid var(--line);padding-top:10px}
details.hist summary::after{content:"+";font-size:18px;line-height:1;color:var(--ink)}
details.hist[open] summary::after{content:"−"}

/* A4 (26.10): statusy tekstem, dopisek o podatkach, oznaczenia „przykładowe dane”, karty lokali na telefonie, panel wyboru, rzut na pełnym ekranie */
.tag{display:inline-block;font:600 11px/1.5 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#6b5323;background:#f3e7cf;border:1px solid #e2cfa6;border-radius:4px;padding:0 6px;vertical-align:1px;white-space:nowrap}
.pill{font-size:12px;padding:3px 9px;border-radius:10px;white-space:nowrap}
.pill.available{background:#e3efe8;color:#2b5e4e}.pill.reserved{background:#f5e6cd;color:#7a4f15}.pill.sold{background:#ece8e1;color:#5d5850}
.btn--s{min-height:40px;padding:0 16px;font-size:14px}
.tbl td.price small,.ucard__p small{display:block;font:400 11px var(--sans);color:var(--muted);white-space:normal}
.tbl tbody tr.hl{background:#eef4f1;box-shadow:inset 3px 0 0 var(--sea)}
.pnote{margin:0 0 10px;color:var(--ink-2);max-width:none}
.ucards{display:none;list-style:none;margin:0;padding:0;gap:12px}
.ucard{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;display:grid;gap:6px}
.ucard.hl{border-color:var(--sea);box-shadow:0 0 0 2px var(--sea) inset}
.ucard__hd{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.ucard__hd b{font:500 20px var(--serif)}.ucard__hd span:not(.pill){color:var(--muted);font-size:14px;flex:1 1 auto}
.ucard__p{margin:0;font:400 24px/1.2 var(--serif);color:var(--sea-d)}.ucard.sold .ucard__p{color:var(--muted)}
.ucard__m{margin:0;font-size:14px;color:var(--ink-2)}
.ucard .btn{min-height:44px;width:100%}
@media (max-width:640px){.tblwrap{display:none}.ucards{display:grid}}
.mp .ap.hl{fill:rgba(31,92,99,.5)!important;stroke:#fff!important}
.elev .u.hl rect{fill:var(--sea);stroke:var(--sea-d)}.elev .u.hl text{fill:#fff}
.elev text.st{font:500 7px var(--sans);fill:var(--muted)}
.elev .u.sold rect{fill:#e6e2db;stroke-dasharray:3 2}
#mp-tip{max-width:260px}#mp-tip small{opacity:.85}#mp-tip .pill{font-size:11px}
.mpsel{position:relative;margin:10px 0 0;padding:14px 56px 14px 16px;background:var(--paper);border:1px solid var(--sea);border-radius:10px;font-size:15px;line-height:1.5}
.mpsel small{color:var(--muted)}.mpsel .btn{margin-top:10px;min-height:44px}
.mpsel__x{position:absolute;top:4px;right:4px}
.legend{flex-wrap:wrap;align-items:center}
.card__excl{margin:2px 0 0;font-size:13px;color:var(--muted)}
.card__st{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.plan__ft{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 4px 2px}.plan__ft p{margin:0}
details.calc summary{align-items:center}
.sum__h{display:flex;flex-direction:column;gap:2px}.sum__h small{font-size:13px;color:var(--muted)}
.calc .fixed{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.calc .fixed b{font:400 15px var(--sans);min-height:40px;display:flex;align-items:center}
.cost .cmph td{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:right}
.cost .cmpc{color:var(--muted)}
.cost tr.opt th,.cost tr.opt td{color:var(--ink-2);font-style:italic}
.cost .tot--opt th,.cost .tot--opt td{font-size:15px;border-top:1px solid var(--ink)}
details.how{margin-top:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 14px}
details.how summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:12px;min-height:44px;align-items:center;font-weight:600;font-size:15px}
details.how summary::after{content:"+";font-size:18px}details.how[open] summary::after{content:"−"}
details.how ul{margin:0 0 12px;padding-left:18px;font-size:14px;line-height:1.55;color:var(--ink-2)}details.how li{margin:4px 0}
.sched th small{display:block;color:var(--muted);font-weight:400}.sched .guar{color:var(--available)}
.sched thead th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600}
.sched thead th.num{text-align:right}.sched td.w{text-align:left}.sched td{white-space:nowrap}
.sched tr.mile th,.sched tr.mile td{color:var(--muted);font-style:italic;background:#faf6ef}.sched .mile__n{text-align:right}
@media (max-width:700px){
  .sched thead{display:none}
  .sched,.sched tbody,.sched tr{display:block}
  .sched tr{padding:10px 0;border-bottom:1px solid #eee5d6}
  .sched th,.sched td{display:flex;justify-content:space-between;gap:12px;border:0;padding:2px 0;text-align:right}
  .sched th{display:block;text-align:left;font-weight:600;padding-bottom:4px}
  .sched td[data-l]::before{content:attr(data-l);color:var(--muted);font-size:13px;text-align:left}
  .sched td:empty,.sched td.pct{display:none}
  .sched tr.tot{border-top:2px solid var(--ink)}.sched tr.tot th,.sched tr.tot td{border:0}
}
.defs{margin:8px 0 0;font-size:14px}.defs dt{font-weight:600;margin-top:8px}.defs dd{margin:2px 0 0;color:var(--ink-2)}
.loc{margin-top:36px;max-width:72ch}.loc h3{font-size:22px}.loc p{color:var(--ink-2);margin:8px 0 0}
.sec--docs{border-top:1px solid var(--line)}
.docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:28px}
.doc{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:18px}
.doc h3{font-size:21px}.doc__s{margin:8px 0}.doc p:last-child{margin:0;color:var(--ink-2);font-size:15px}
.docs__note{margin:18px 0 0;color:var(--ink-2)}
.tel{display:grid;grid-template-columns:minmax(0,130px) minmax(0,1fr);gap:10px}
.consent{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 12px}.consent a{font-size:14px;padding:2px 0}
.zoom{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border-radius:0;display:none;flex-direction:column;background:#fff}
.zoom[open]{display:flex}
.zoom__hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--paper)}
.zoom__hd h2{font-size:20px}
.zoom__ctl{display:flex;align-items:center;gap:6px}.zoom__ctl output{min-width:48px;text-align:center;font-size:14px}
.zoom__b{flex:1;overflow:auto;padding:12px;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
.zoom__b svg{display:block;width:100%;max-width:none;height:auto}
.zoom__cap{margin:0;padding:8px 12px;border-top:1px solid var(--line);color:var(--muted)}
@media (max-width:560px){.stats{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.stats div{padding:10px 10px}.stats b{font-size:20px}.stats span{font-size:12px;line-height:1.3;display:block}}
@media (max-width:560px){.dlg__b{padding:14px}.vtabs{flex-wrap:wrap}.card__acts .btn{width:100%}}
@media (max-width:560px){.cost{font-size:14px}.cost th,.cost td{padding:8px 3px}.cost td small{display:block}.cost .tot th,.cost .tot td{font-size:15px}details.calc summary{flex-wrap:wrap}details.calc summary b{font-size:22px}.calc h3{font-size:23px}}
@media (max-width:400px){.cost th{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:anywhere}.cost td{font-size:13px}.cost .tot td{font-size:14px}}
@media (max-width:560px){.dlg__hd{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:8px;row-gap:0}.dlg__hd h2{grid-column:1;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dlg__p{grid-column:1;grid-row:2}#dlg-ask{grid-column:2;grid-row:1/3}#dlg-x{grid-column:3;grid-row:1/3}}
@media (max-width:400px){.stats{grid-template-columns:1fr}.stats div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 12px}.stats span{font-size:13px;text-align:right}}
#dlg-t:focus{outline:none}
