.km-calculators-intro,.km-calculators-content{box-sizing:border-box;width:100%;max-width:none;margin-inline:0;padding-inline:var(--km-page-inset,max(64px,calc((100vw - 1440px)/2)))}
.km-calculators-intro{padding-top:32px;padding-bottom:30px}
.km-calculators-intro .crumb{margin:0 0 18px;font-size:13px;color:#7c7064}
.km-calculators-intro h1{max-width:none;margin:0;color:#292724;font:400 clamp(38px,4vw,60px)/1.12 Georgia,serif;letter-spacing:-.035em}
.km-calculators-lead{margin:18px 0 0;font:16px/1.6 Arial,sans-serif;color:#685f55}
.km-calculators-content{padding-top:0;padding-bottom:60px}
.km-calculators-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.km-calculators-label{margin:0 0 8px;color:#967044;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.16em}
.km-calculators-heading h2{margin:0;max-width:none;color:#292724;font:400 clamp(28px,2.6vw,38px)/1.2 Georgia,serif;letter-spacing:-.025em}
.km-calculators-badge{flex-shrink:0;border:1px solid #d8c7a9;border-radius:30px;padding:8px 14px;color:#836330;font:12px/1.4 Arial,sans-serif}
.km-calculators-description{margin:14px 0 24px;color:#685f55;font:15px/1.6 Arial,sans-serif}
.km-calculator-frame{display:block;width:100%;max-width:100%;border:0;background:transparent;color-scheme:light}
@media(max-width:1199px){.km-calculators-intro,.km-calculators-content{padding-inline:var(--km-page-inset,32px)}}
@media(max-width:767px){.km-calculators-intro,.km-calculators-content{padding-inline:var(--km-page-inset,20px)}.km-calculators-intro{padding-top:24px;padding-bottom:28px}.km-calculators-content{padding-bottom:40px}.km-calculators-heading{flex-wrap:wrap;gap:12px}.km-calculators-lead,.km-calculators-description{font-size:14px}}

/* Apartment planner entry point. The editor loads only in its own tab. */
.km-planner{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0 var(--km-page-inset,max(var(--km-page-gutter,64px),calc((100% - var(--km-content-max,1440px))/2))) 56px;color:#292724;font:15px/1.6 Arial,sans-serif}
.km-planner *{box-sizing:border-box}
.km-planner-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;border:1px solid #dcd3c5;border-radius:22px;background:#fffdf9;box-shadow:0 12px 36px #4938240b}
.km-planner-preview{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:20px 24px 62px;background:#e5e2dc;text-decoration:none;color:#292724}
.km-planner-preview img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain}
.km-planner-preview-caption{position:absolute;left:24px;right:24px;bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#504638;font-size:13px}
.km-planner-preview-caption span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #b9aa96;border-radius:50%;font-size:18px}
.km-planner-body{min-width:0;padding:28px 24px}
.km-planner-body h3{max-width:none;margin:0 0 14px;font:400 clamp(24px,2.1vw,30px)/1.25 Georgia,serif;letter-spacing:-.02em;color:#292724}
.km-planner-body p{margin:0 0 18px;color:#685f55}
.km-planner-body .km-calculators-label{margin:0 0 10px;color:#967044}
.km-planner-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0;padding:18px 0;border-top:1px solid #e9e0d4;border-bottom:1px solid #e9e0d4}
.km-planner-stats dt{margin:0 0 5px;color:#9b733e;font:400 38px/1 Georgia,serif}
.km-planner-stats dd{margin:0;color:#685f55;font-size:12px;line-height:1.45}
.km-planner-body .km-planner-examples{font-size:14px}
.km-planner a.km-planner-launch{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:50px;max-width:100%;padding:13px 22px;border:1px solid #b28a4b;border-radius:999px;background:linear-gradient(120deg,#efd7a3,#cba062);box-shadow:inset 0 1px 0 #fff8,0 5px 16px #9d763323;color:#302516;text-decoration:none;font:600 14px/1.5 Arial,sans-serif;transition:box-shadow .2s,background .2s}
.km-planner a.km-planner-launch:hover{background:linear-gradient(120deg,#f4dfb1,#d5ae72);box-shadow:inset 0 1px 0 #fff8,0 7px 22px #9d763338}
.km-planner a:focus-visible,.km-planner summary:focus-visible{outline:3px solid #8b692f;outline-offset:5px}
.km-planner-body .km-planner-hint{margin:12px 0 0;color:#827567;font-size:12px;line-height:1.6}
.km-planner-catalog{margin-top:18px;border:1px solid #dcd3c5;border-radius:16px;background:#fffdf9b8}
.km-planner-catalog summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:16px 24px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;color:#44392c}
.km-planner-catalog summary::-webkit-details-marker{display:none}
.km-planner-catalog summary>span{flex-shrink:0;font-size:24px;font-weight:400;line-height:1;transition:transform .2s}
.km-planner-catalog[open] summary>span{transform:rotate(45deg)}
.km-planner-catalog[open] summary{border-bottom:1px solid #e9e0d4}
.km-planner-catalog-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:24px}
.km-planner-catalog-grid h3{max-width:none;margin:0 0 8px;font:400 25px/1.3 Georgia,serif;color:#292724}
.km-planner-catalog-grid p{margin:0 0 14px;color:#685f55;font-size:14px}
.km-planner-catalog-grid ul{margin:0 0 20px;padding-left:19px;color:#685f55;font-size:14px}
.km-planner-catalog-grid li{padding-left:3px;margin:0 0 7px}
.km-planner-catalog-note{margin:0;padding:0 24px 24px;color:#827567;font-size:13px}
@media(max-width:1199px){.km-planner{padding-inline:var(--km-page-inset,var(--km-page-gutter,32px))}}
@media(max-width:767px){.km-planner{padding-inline:var(--km-page-inset,var(--km-page-gutter,20px));padding-bottom:40px}.km-planner-card{grid-template-columns:minmax(0,1fr);border-radius:18px}.km-planner-preview{padding:20px 20px 58px}.km-planner-preview img{max-height:280px}.km-planner-preview-caption{left:20px;right:20px;bottom:16px}.km-planner-body{padding:24px 20px}.km-planner-stats{gap:8px}.km-planner a.km-planner-launch{width:100%;padding-inline:16px;gap:12px}.km-planner-catalog summary{padding:16px 20px;font-size:14px}.km-planner-catalog-grid{grid-template-columns:minmax(0,1fr);gap:4px;padding:20px}.km-planner-catalog-note{padding:0 20px 20px}}
@media(prefers-reduced-motion:reduce){.km-planner a.km-planner-launch,.km-planner-catalog summary>span{transition:none}}

.km-planner-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;margin:0 0 22px;padding:26px 24px;border:1px solid #b58a4c;border-radius:20px;background:radial-gradient(ellipse at top right,#c99a4f2b,transparent 65%),linear-gradient(120deg,#292926,#181918);box-shadow:inset 0 1px 0 #f4d39333,0 8px 28px #9b733e18;color:#fff8eb}
.km-planner-upload-copy{min-width:0}
.km-planner-upload .km-planner-upload-label{margin:0 0 10px;color:#d5b376;font:700 10px/1.4 Arial,sans-serif;letter-spacing:.16em}
.km-planner-upload h3{max-width:none;margin:0;color:#fff8eb;font:400 clamp(26px,2.2vw,32px)/1.2 Georgia,serif;letter-spacing:-.02em}
.km-planner-upload .km-planner-upload-accent{margin:9px 0 12px;color:#f2d292;font:600 clamp(18px,1.6vw,23px)/1.35 Arial,sans-serif}
.km-planner-upload .km-planner-upload-description{margin:0;color:#ded7cc;font:14px/1.65 Arial,sans-serif}
.km-planner-upload-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.km-planner-upload-actions p{margin:0;color:#d0c6b6;font:12px/1.65 Arial,sans-serif}
@media(max-width:1199px){.km-planner-upload{grid-template-columns:minmax(0,1fr);gap:20px}.km-planner-upload-actions{flex-direction:row;align-items:center;gap:20px}}
@media(max-width:767px){.km-planner-upload{padding:24px 20px;border-radius:18px}.km-planner-upload-actions{flex-direction:column;align-items:stretch;gap:12px}.km-planner-upload-actions p{text-align:center}}
