:root{color-scheme:light;--color-background:#F7F5F0;--color-surface:#fff;--color-text:#17212B;--color-text-muted:#596273;--color-primary:#1F4E79;--color-primary-hover:#163C5F;--color-result-surface:#EAF1F7;--color-accent:#E87532;--color-border:#D8D6D0;--color-input-border:#7B8495;--color-error:#B42318;--color-neutral-surface:#EFEEE9;--color-result-border:#CAD8E4;--color-warning-surface:#FFF4E6;--color-surface-hover:#FFFFFF88;--color-shadow-subtle:#17212B04;--color-shadow:#17212B08;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--color-text);background:var(--color-background);font-size:17px;line-height:1.6}
*{box-sizing:border-box}
body{margin:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.18;font-weight:650;letter-spacing:-.035em}
h1{font-size:48px;margin-bottom:20px}
h2{font-size:29px;margin-bottom:16px}
h3{font-size:22px;margin-bottom:12px}
a{color:var(--color-primary);text-underline-offset:4px}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.5}
input,select,textarea{max-width:100%}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:4px}
.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.icon{width:32px;height:32px;flex-shrink:0;vertical-align:middle}
.header{background:var(--color-background);border-bottom:1px solid var(--color-border)}
/* Calm primary navigation; installation belongs in the footer. */
.header-inner{min-height:80px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.brand{display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}
.brand-logo{display:block;width:auto;height:40px}
.header nav{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.header nav a{display:flex;align-items:center;min-height:48px;padding:10px 14px;color:var(--color-text-muted);font-size:.94rem;font-weight:550;text-decoration:none;border-radius:6px}
.header nav a:hover{color:var(--color-primary);background:var(--color-neutral-surface)}
.header nav a[aria-current]{color:var(--color-primary);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:4px;border-left:1px solid var(--color-border);padding-left:20px}
.header-search{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:8px 10px;color:var(--color-text-muted);font-size:.94rem;text-decoration:none;border-radius:6px;border:0;background:transparent}
.header-search .icon{width:21px;height:21px}
.header-search:hover,.header-search[aria-current]{color:var(--color-primary);background:var(--color-result-surface)}
.menu-button{display:none;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--color-primary);font-size:.88rem}
.menu-button:hover,.menu-button[aria-expanded=true]{background:var(--color-result-surface)}
.menu-button .icon{width:20px;height:20px}
.menu-button .menu-close-icon,.menu-button[aria-expanded=true] .menu-open-icon{display:none}
.menu-button[aria-expanded=true] .menu-close-icon{display:block}
@media(max-width:55.999rem){
 .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:0 8px;min-height:72px;padding-block:10px}
 .header .brand{justify-self:start}
 .header .brand-logo{height:34px}
 .header-actions{grid-column:2;border:0;padding:0}
 .header-search .search-label{display:none}
 .menu-button{display:inline-flex}
 .header nav{grid-column:1/-1;grid-row:2;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:12px 0 2px;margin-top:10px;border-top:1px solid var(--color-border)}
 .header[data-menu-ready] nav:not(.is-open){display:none}
 .header nav a{min-height:50px;padding:12px 14px;font-size:1rem}
 .header nav a[aria-current]{background:var(--color-result-surface);text-decoration:none;box-shadow:inset 3px 0 var(--color-primary)}
}
@media(max-width:22rem){.header .brand-logo{height:30px}}
/* The same search field expands in place on desktop and becomes a full row below on smaller screens. */
.header-search-panel{grid-column:3;grid-row:1;position:relative;z-index:20;width:clamp(19rem,30vw,23rem);min-width:0}
.header[data-search-open] .header-actions{visibility:hidden}
.header-search-field{display:flex;align-items:center;gap:8px;min-height:46px;border:1px solid var(--color-input-border);border-radius:6px;padding-left:12px;background:var(--color-surface)}
.header-search-field>.icon{width:20px;height:20px;color:var(--color-primary)}
.header-search-field:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}
.header-search-field input{width:100%;min-width:0;min-height:44px;padding:8px 0;border:0;background:transparent;color:var(--color-text);font-size:1rem}
.header-search-field input:focus{outline:0;box-shadow:none}
.header-search-field input::placeholder{color:var(--color-text-muted);opacity:1;font-size:.9rem}
.header-search-field button{flex-shrink:0;display:grid;place-items:center;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--color-primary);border-radius:5px}
.header-search-field button:hover{background:var(--color-result-surface)}
.header-search-field button .icon{width:20px;height:20px}
.header-search-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:100%;max-height:min(65dvh,30rem);overflow-y:auto;overscroll-behavior:contain;padding:16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 8px 24px var(--color-shadow)}
.header-search-dropdown p{font-size:.85rem;color:var(--color-text-muted);margin:0 0 12px}
.header-search-dropdown p:empty{display:none}
.header-search-dropdown p:last-child{margin-bottom:0}
.header-search-dropdown #header-search-status{font-weight:600;color:var(--color-primary)}
.header-search-dropdown section+section{margin-top:16px}
.header-search-dropdown h2{font-size:.85rem;letter-spacing:0;margin:0 0 4px;color:var(--color-text-muted)}
.header-search-dropdown ul{padding:0;margin:0;list-style:none}
.header-search-dropdown li+li{border-top:1px solid var(--color-border)}
.header-search-dropdown a{display:flex;align-items:center;min-height:44px;padding:10px 6px;font-size:.94rem;text-decoration:none;overflow-wrap:anywhere;line-height:1.4;border-radius:3px}
.header-search-dropdown a:hover,.header-search-dropdown a:focus-visible{background:var(--color-result-surface);text-decoration:underline}
@media(max-width:68rem){
 .header-search-panel{grid-column:1/-1;grid-row:3;width:100%;margin-block:8px 14px}
 .header[data-search-open] .header-actions{visibility:visible}
 .header-search[aria-expanded=true]{color:var(--color-primary);background:var(--color-result-surface)}
 .header-search-dropdown{position:static;max-height:min(50dvh,24rem);margin-top:8px;box-shadow:none}
}
.skip-link{position:fixed;left:16px;top:-90px;background:var(--color-surface);padding:12px;z-index:110}
.skip-link:focus{top:10px}
.hero{padding:58px 0 47px;text-align:center;position:relative}
.eyebrow{font-size:13px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--color-primary);margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:10px}
.eyebrow:before{content:'';width:24px;height:1px;background:var(--color-accent)}
.hero h1{max-width:700px;margin-inline:auto}
.hero h1 span{color:var(--color-primary)}
.hero .intro{max-width:650px;margin:0 auto 28px;color:var(--color-text-muted);font-size:18px}
.search-area{max-width:650px;margin:auto;text-align:left}
.search-area label{display:block;font-size:14px;font-weight:650;margin-bottom:8px}
.search-box{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:8px;padding:0 16px;min-height:60px;box-shadow:0 5px 16px var(--color-shadow-subtle)}
.search-box>.icon{width:24px;color:var(--color-primary)}
.search-box input{width:100%;min-width:0;border:0;background:transparent;min-height:56px;color:var(--color-text);outline-offset:0}
.search-box:focus-within{outline:3px solid var(--color-primary);outline-offset:3px}
.search-box input:focus{outline:0;box-shadow:none}
.search-box button{border:0;background:none;color:var(--color-primary);min-width:44px;min-height:44px;font-size:24px}
.search-results{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;margin-top:12px;padding:16px}
.search-results ul{padding:0;margin:0;list-style:none}
.search-results li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--color-border);text-decoration:none}
.search-results li a:hover{text-decoration:underline}
.search-results p{font-size:14px;margin-bottom:10px;color:var(--color-text-muted)}
[hidden]{display:none!important}
.section{padding:36px 0 56px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.section-heading h2{font-size:26px;margin:0}
.text-link{font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:9px;min-height:44px}
.text-link .icon{width:20px}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tool-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:25px 26px 20px;text-decoration:none;color:var(--color-text);transition:box-shadow .15s,border-color .15s,transform .15s}
.tool-card:hover{border-color:var(--color-primary);box-shadow:0 8px 24px var(--color-shadow);transform:translateY(-2px)}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}
.tool-icon{color:var(--color-primary)}
.card-category{font-size:12px;color:var(--color-text-muted)}
.tool-card h3{font-size:22px}
.tool-card p{font-size:15px;color:var(--color-text-muted);margin:0 0 23px;max-width:30ch}
.card-link{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:650;color:var(--color-primary)}
.card-link .icon{width:22px;height:22px}
.category-section{border-top:1px solid var(--color-border);padding:37px 0 43px}
.category-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.category-links a{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:15px;font-weight:600;min-height:64px}
.category-links a:hover{text-decoration:underline}
.category-links .icon{width:27px}
.trust-section{background:var(--color-result-surface);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:34px}
.trust-inner h2{font-size:23px;margin-bottom:8px}
.trust-inner p{font-size:15px;color:var(--color-text-muted);margin:0}
.footer{padding-top:40px}
.footer-main{display:grid;grid-template-columns:minmax(220px,1fr) 2.5fr;gap:64px;padding-bottom:40px}
.footer-install{margin-top:18px;font-size:.88rem;text-align:left;max-width:100%}
.footer-brand .brand-logo{height:34px}
.footer p{font-size:14px;color:var(--color-text-muted);margin:10px 0 0}
.footer-groups{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
.footer-group h2{font-size:15px;letter-spacing:0;margin:4px 0 14px}
.footer-group ul{list-style:none;padding:0;margin:0}
.footer-group a,.footer-group button{font-size:14px;color:var(--color-text-muted);text-decoration:none;min-height:44px;display:flex;align-items:center;text-align:left;padding:7px 0;line-height:1.45}
.footer-group button{background:none;border:0}
.footer-group a:hover,.footer-group button:hover{text-decoration:underline;color:var(--color-primary)}
.footer-group [hidden]{display:none}
.cookie-dialog{position:fixed;z-index:100;inset:auto auto max(20px,env(safe-area-inset-bottom)) 50%;transform:translateX(-50%);width:min(550px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:20px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);color:var(--color-text);box-shadow:0 10px 40px #17212B26}
.cookie-dialog[hidden]{display:none}
.cookie-dialog{display:flex;flex-direction:column}
.cookie-dialog>*{flex-shrink:0}
.cookie-dialog #cookie-description{flex-shrink:1;min-height:0;overflow-y:auto}
.cookie-dialog h2{font-size:18px;margin-bottom:8px}
.cookie-dialog p{font-size:14px;line-height:1.55;margin-bottom:12px}
.cookie-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:1fr;gap:10px}
.cookie-actions button{font-size:15px;min-height:46px;justify-content:center;padding:10px 12px}
#cookie-accept{border-color:var(--color-primary)}
.cookie-links{display:flex;gap:16px}
.cookie-details{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-top:4px}
.cookie-status:empty{display:none}
.policy-table-wrap{overflow-x:auto;margin-block:20px}
.policy-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}
.policy-table caption{text-align:left;font-weight:650;margin-bottom:10px}
.policy-table th,.policy-table td{padding:12px;vertical-align:top;border-bottom:1px solid var(--color-border)}
.policy-table th{background:var(--color-neutral-surface)}
.policy-table code{overflow-wrap:anywhere}
.policy-date{font-size:14px;color:var(--color-text-muted)}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--color-border);padding-block:18px;color:var(--color-text-muted);font-size:12px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--color-text-muted);padding:25px 0}
.breadcrumbs a{color:var(--color-text-muted)}
.page-title{max-width:760px;margin:10px 0 30px}
.page-title h1{font-size:42px}
.page-title p{color:var(--color-text-muted);margin-bottom:0}
.calculator{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:start;gap:24px;margin-bottom:40px}
.form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:28px}
.form-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}
.form-head h2{font-size:23px;margin:0}
.link-button{color:var(--color-primary);text-decoration:underline;text-underline-offset:4px;border:none;background:none;font-size:14px;min-height:44px;padding:4px}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}
.energy-section{border:0;padding:0;margin:0 0 28px;min-width:0}
.energy-section>legend{font-size:1.08rem;font-weight:650;color:var(--color-primary);padding:0 0 16px;max-width:100%}
.energy-section .field-grid{margin-bottom:20px}
.energy-calculator>div{position:static!important}
.expansion-calculator>div{position:static!important}
.expansion-calculator fieldset,.expansion-calculator .field,.expansion-calculator .input-shell{min-width:0}
.expansion-calculator select{width:100%;min-width:0;max-width:100%}
.expansion-calculator .result-rows dd,.expansion-calculator .material-line{overflow-wrap:anywhere}
.page-title h1{overflow-wrap:anywhere}
.expansion-calculator .project-fields:first-of-type legend{position:static;clip-path:none;height:auto;width:auto;overflow:visible}
.energy-read-more{margin-block:24px 40px;max-width:80ch}
.energy-read-more details{border-top:1px solid var(--color-border);padding:8px 0}
.energy-read-more summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;color:var(--color-primary)}
.energy-read-more summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.energy-read-more details>p{padding:0 0 12px}
@media print{.energy-read-more{display:none!important}}
.field{min-width:0;margin-bottom:20px}
.field-grid .field{margin-bottom:0}
.field label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}
.input-shell{position:relative;display:flex;align-items:center}
.input-shell input,.field select{width:100%;min-width:0;background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:8px;padding:11px 55px 11px 12px;min-height:48px;color:var(--color-text);font-size:17px}
.input-shell .unit{position:absolute;right:12px;pointer-events:none;color:var(--color-text-muted);font-size:14px}
.field select{padding-right:25px}
.field small{display:block;color:var(--color-text-muted);font-size:13px;line-height:1.5;margin-top:7px}
.field .error{color:var(--color-error);font-weight:550}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.field-help{margin-top:4px;font-size:.84rem;line-height:1.55}
.field-help>summary{width:fit-content;max-width:100%;min-height:44px;padding:10px 2px;cursor:pointer;color:var(--color-primary);font-weight:600;overflow-wrap:anywhere}
.field-help>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:3px}
.field-help>div{padding:12px 14px;background:var(--color-result-surface);border-left:3px solid var(--color-primary);border-radius:0 4px 4px 0;color:var(--color-text)}
.field-help p{font-size:inherit;line-height:inherit;margin:0 0 10px}
.field-help p:last-child{margin-bottom:0}
.field-help[open]{margin-bottom:4px}
.field-grid>.field:has(.field-help[open]){grid-column:1/-1}
/* Keep both fuel inputs level when one label wraps onto another line. */
@supports(grid-template-rows:subgrid){
 .fuel-pair{align-items:stretch;row-gap:0}
 .fuel-pair>.field{display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;margin-bottom:20px}
 .fuel-pair>.field>label{grid-row:1}
 .fuel-pair>.field>.input-shell{grid-row:2;align-self:start}
 .fuel-pair>.field>small:not(.error){grid-row:3}
 .fuel-pair>.field>.field-help,.fuel-pair>.field>div:has(>.field-help){grid-row:4}
 .fuel-pair>.field>.error{grid-row:5}
}
@supports not(grid-template-rows:subgrid){.fuel-pair{grid-template-columns:1fr}}
.field input[aria-invalid=true]{border:2px solid var(--color-error)}
.mode-field{border:0;padding:0;margin:0 0 23px}
.mode-field legend{font-size:14px;font-weight:600;margin-bottom:8px}
.segmented{display:flex;border:1px solid var(--color-input-border);border-radius:8px;padding:4px;gap:4px}
.segmented label{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 8px;min-height:44px;font-size:14px;border-radius:5px;cursor:pointer;line-height:1.35}
.segmented label:has(input:checked){background:var(--color-primary);color:var(--color-surface)}
.segmented input{accent-color:var(--color-primary);width:16px;height:16px;margin:0}
.segmented input:checked{accent-color:var(--color-surface)}
.geometry{width:100%;height:145px;color:var(--color-primary);margin:2px 0 21px}
.geometry text{font:13px system-ui;fill:var(--color-text-muted)}
.fields-group{margin-bottom:20px}
.purchase{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin:24px 0}
.purchase summary{cursor:pointer;font-size:15px;font-weight:600;min-height:52px;align-content:center;padding:12px 0}
.purchase>div{padding-bottom:20px}
.form-actions{display:flex;align-items:center;gap:20px}
.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:50px;border:1px solid var(--color-primary);border-radius:8px;background:var(--color-primary);color:var(--color-surface);font-weight:600;padding:11px 25px;text-decoration:none}
.primary-button:hover{background:var(--color-primary-hover)}
.form-actions .primary-button{flex:1}
.primary-button .icon{width:23px}
.result-card{background:var(--color-result-surface);border:1px solid var(--color-result-border);border-radius:12px;padding:29px;overflow-wrap:anywhere}
.result-eyebrow{font-size:13px;font-weight:650;letter-spacing:.075em;text-transform:uppercase;color:var(--color-primary);margin:0 0 22px}
.result-card{border-radius:4px;border-top:4px solid var(--color-primary);background-image:linear-gradient(#1f4e7906 1px,transparent 1px),linear-gradient(90deg,#1f4e7906 1px,transparent 1px);background-size:24px 24px}
.result-eyebrow{font-size:1rem;text-transform:none;letter-spacing:0;font-weight:750;display:flex;align-items:center;gap:12px}
.result-eyebrow:after{content:'';height:3px;width:32px;background:var(--color-accent)}
.primary-button{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-text)}
.primary-button:hover{background:#F18B4E;border-color:#F18B4E}
.result-empty{padding:38px 10px 48px;text-align:center}
.result-empty .icon{width:44px;height:44px;margin-bottom:18px}
.result-empty h2{font-size:23px;max-width:280px;margin:0 auto 12px}
.result-empty p{font-size:15px;color:var(--color-text-muted);max-width:270px;margin:0 auto}
.result-heading{color:var(--color-primary);font-size:40px;letter-spacing:-.035em;line-height:1.15;margin:0 0 9px;font-variant-numeric:tabular-nums}
.result-heading:focus{outline:0}
.result-heading:focus-visible{outline:3px solid var(--color-primary);outline-offset:7px}
.result-subtitle{color:var(--color-text-muted);font-size:15px;margin-bottom:27px}
.result-rows{margin:0 0 22px}
.result-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid var(--color-result-border);font-size:14px}
.result-rows dt{max-width:65%}
.result-rows dd{margin:0;font-weight:650;text-align:right;font-variant-numeric:tabular-nums}
.assumptions{font-size:14px;color:var(--color-text-muted);margin-bottom:22px}
.assumptions p{margin-bottom:10px}
.assumptions ul{padding-left:19px}
.result-actions{display:flex;flex-wrap:wrap;gap:10px}
.secondary-button{min-height:44px;padding:9px 14px;background:transparent;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:7px;font-size:14px;font-weight:600}
.secondary-button:hover{background:var(--color-surface-hover)}
.manual-copy{width:100%;min-height:180px;font-size:14px;margin-top:12px}
.result-footnote{font-size:13px;margin:18px 3px 0;color:var(--color-text-muted)}
.content-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;padding:30px 0 48px;border-top:1px solid var(--color-border)}
.content-grid h2{font-size:26px}
.prose{max-width:73ch}
.prose p,.prose li{color:var(--color-text-muted)}
.prose li{margin-bottom:9px}
.formula{display:block;background:var(--color-neutral-surface);border-left:3px solid var(--color-primary);padding:16px 20px;border-radius:0 8px 8px 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:20px 0}
.example-box{padding:18px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;font-size:15px}
.example-box strong{display:block;margin-bottom:6px}
.example-box p{margin:0}
.faq details{border-bottom:1px solid var(--color-border)}
.faq summary{font-size:15px;font-weight:600;padding:16px 0;cursor:pointer}
.faq details p{font-size:15px;color:var(--color-text-muted)}
.source-note{border-top:1px solid var(--color-border);padding:24px 0 40px;color:var(--color-text-muted);font-size:13px}
.source-note p{margin:6px 0}
.catalog-top{padding:48px 0 30px}
.catalog-top .page-title{margin:0 0 26px}
.catalog-top .search-area{max-width:100%;margin:0}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 14px}
.filter{min-height:44px;background:transparent;border:1px solid var(--color-input-border);border-radius:8px;padding:8px 14px;color:var(--color-primary);font-size:14px;text-decoration:none}
.filter[aria-pressed=true]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface)}
.filter-summary{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--color-text-muted)}
.empty-search{padding:32px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);grid-column:1/-1}
.article-page{padding:48px 0 64px;min-height:58vh}
.article-page h1{margin-bottom:25px}
.article-page h2{font-size:26px;margin-top:34px}
.article-page .lead{font-size:20px;color:var(--color-text-muted)}
.notice{padding:16px 20px;background:var(--color-result-surface);border-left:3px solid var(--color-primary);border-radius:0 8px 8px 0;margin:24px 0}
.noscript{padding:16px;background:var(--color-warning-surface);border:1px solid var(--color-accent);border-radius:8px;margin-bottom:20px}
.print-only{display:none}
.error-summary{color:var(--color-error);font-size:14px;margin-bottom:18px}
html{scroll-padding-top:24px}
@media(min-width:1500px){.hero{padding-top:70px;padding-bottom:58px}
}
@media(max-width:899px){.calculator{grid-template-columns:1fr}
.result-empty{padding:20px 0}
.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.category-links{grid-template-columns:repeat(2,minmax(0,1fr))}
.content-grid{grid-template-columns:1fr;gap:28px}
.footer-main{grid-template-columns:1fr;gap:32px}
.hero h1{font-size:44px}
.page-title h1{font-size:38px}
}
@media(max-width:599px){.wrap{width:calc(100% - 32px)}
.hero{padding:32px 0 25px;text-align:left}
.eyebrow{justify-content:flex-start;font-size:12px;margin-bottom:16px}
.hero h1{font-size:36px;line-height:1.14;letter-spacing:-.045em;margin-bottom:18px}
.hero .intro{font-size:16px;line-height:1.65;margin-bottom:23px}
.search-box{min-height:56px;gap:8px;padding-inline:12px}
.search-box input{font-size:16px;min-height:54px}
.search-box input::placeholder{font-size:14px}
.section{padding:24px 0 35px}
.section-heading{align-items:flex-start;gap:10px;margin-bottom:18px}
.section-heading h2{font-size:23px}
.section-heading .text-link{font-size:13px;white-space:nowrap;min-height:32px}
.section-heading .text-link .icon{width:17px}
.tool-grid{grid-template-columns:1fr;gap:12px}
.tool-card{padding:20px}
.card-top{margin-bottom:17px}
.tool-card p{max-width:none;margin-bottom:18px}
.category-section{padding:28px 0}
.category-section h2{font-size:23px}
.category-links{gap:6px 12px}
.category-links a{font-size:14px;gap:8px;line-height:1.4}
.category-links .icon{width:24px}
.trust-inner{align-items:flex-start;flex-direction:column;gap:12px;padding-block:27px}
.trust-inner h2{font-size:22px}
.footer{padding-top:30px}
.footer-groups{grid-template-columns:1fr;gap:24px}
.footer-group h2{margin-bottom:8px}
.cookie-dialog{inset:auto auto max(12px,env(safe-area-inset-bottom)) 50%;width:calc(100% - 24px);padding:18px;max-height:calc(100dvh - 24px)}
.footer-bottom{gap:14px;flex-wrap:wrap}
.breadcrumbs{font-size:12px;gap:8px;padding:20px 0}
.page-title{margin:5px 0 24px}
.page-title h1{font-size:34px;margin-bottom:14px}
.page-title p{font-size:16px}
.form-card,.result-card{padding:20px}
.form-head{margin-bottom:20px}
.form-head h2{font-size:22px}
.field-grid{gap:18px 12px}
.field label{font-size:14px}
.input-shell input{padding-right:47px}
.geometry{height:120px;margin-bottom:12px}
.result-heading{font-size:38px}
.content-grid{padding-top:24px;gap:24px}
.content-grid h2{font-size:24px}
.form-actions{gap:12px}
.form-actions .primary-button{padding-inline:12px}
.article-page,.catalog-top{padding-top:32px}
.article-page h1{font-size:36px}
.article-page .lead{font-size:18px}
.filter{font-size:13px;padding-inline:11px}
.result-rows>div{flex-wrap:wrap;gap:5px 12px}
.result-rows dt{max-width:100%}
.result-rows dd{margin-left:auto}
.segmented label{font-size:13px;padding-inline:5px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}
}
@media print{body{background:var(--color-surface);color:black;font-size:11pt}
.header,.footer,.cookie-dialog,.breadcrumbs,.page-title>p,.form-card,.content-grid,.related,.source-note,.result-actions,.result-footnote,.skip-link,.webmcp-status{display:none!important}
.wrap{width:100%;max-width:none}
.page-title{margin:0 0 16px}
.page-title h1{font-size:24pt}
.calculator{display:block;margin:0}
.result-card{border:0;padding:0;background:var(--color-surface)}
.result-card>*{break-inside:avoid}
.result-heading{font-size:30pt}
.result-rows>div{padding:7px 0}
.result-rows dt{max-width:70%}
.print-only{display:block}
.print-inputs{padding:0;list-style:none;font-size:10pt}
.print-only p{font-size:9pt}
.manual-copy{display:none}
}

body{min-height:100vh;min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
.header{padding-top:env(safe-area-inset-top)}
.footer{padding-bottom:calc(24px + env(safe-area-inset-bottom))}
:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;box-shadow:0 0 0 3px var(--color-surface)}
.segmented{flex-wrap:wrap}
.field-grid>*{min-width:0}
.field input,.field select{font-size:16px;min-width:0;max-width:100%}
.input-shell input{padding-right:var(--unit-width,55px)}
.input-shell .unit{font-size:13px;pointer-events:none}
.repeat-row{border:1px solid var(--color-border);border-radius:12px;padding:18px;margin:0 0 16px;min-width:0}
.repeat-row legend{font-weight:650;color:var(--color-text)}
.repeat-row .field-grid .field{margin-bottom:12px}
.repeater{margin:18px 0 24px}
button:disabled{opacity:.5;cursor:not-allowed}
.form-card h3{margin:24px 0 16px;font-size:19px}
.download-notice{position:fixed;z-index:50;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-result-border);border-radius:12px;box-shadow:0 8px 36px var(--color-shadow);font-size:14px;color:var(--color-text)}
.download-notice p{margin:0;line-height:1.5}
.download-notice button{margin-top:8px}
.install-help{padding:18px 0;max-width:680px;font-size:14px}
.install-help p{line-height:1.65}
.update-banner{position:fixed;z-index:50;bottom:calc(20px + env(safe-area-inset-bottom));right:calc(20px + env(safe-area-inset-right));max-width:min(440px,calc(100vw - 40px));background:var(--color-surface);border:1px solid var(--color-result-border);border-radius:16px;box-shadow:0 8px 36px var(--color-shadow);padding:22px;color:var(--color-text)}
.update-banner strong{font-size:18px;color:var(--color-primary)}
.update-banner p{font-size:14px;margin:8px 0 16px}
.update-actions{display:flex;gap:20px;align-items:center}
@media(max-width:600px){.field-grid{grid-template-columns:1fr}.repeat-row{padding:14px}.form-head{gap:12px}.form-head h2{font-size:20px}.result-heading{overflow-wrap:anywhere}}
@media print{.download-notice,.install-help,.update-banner{display:none!important}}

/* Project-first working surface: warm paper, blueprint rules, orange action. */
.eyebrow{justify-content:flex-start;font-size:.76rem}
.page-title .eyebrow{color:var(--color-primary);margin-bottom:10px}
.project-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:80px;align-items:center;padding:54px 0 42px}
.project-hero h1{font-size:clamp(2.3rem,4.4vw,3.4rem);line-height:1.09;color:var(--color-primary);margin-bottom:22px}
.project-hero .intro{font-size:1.12rem;max-width:480px;color:var(--color-text-muted);margin-bottom:24px}
.hero-actions{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.section-heading .eyebrow{margin:0 0 10px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.project-card{display:grid;grid-template-columns:48px minmax(0,1fr);gap:20px;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:4px;padding:26px;text-decoration:none;color:var(--color-text);transition:border-color .15s}
.project-card:hover{border-color:var(--color-primary);background:#FCFDFE}
.project-card-icon{width:48px;height:48px;background:var(--color-result-surface);color:var(--color-primary);display:grid;place-items:center}
.project-card h3{font-size:1.32rem;margin-bottom:9px;color:var(--color-primary)}
.project-card p{margin:0 0 14px;color:var(--color-text-muted);font-size:.94rem;max-width:36ch}
.project-includes{font-size:.82rem;color:var(--color-text-muted)}
.project-action{grid-column:2;display:flex;gap:14px;align-items:center;font-size:.88rem;font-weight:650;color:var(--color-primary)}
.project-action .icon{width:20px;height:20px}
.quick-section{border-top:1px solid var(--color-border)}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.quick-grid a{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid var(--color-border);font-size:.94rem;text-decoration:none;font-weight:600}
.quick-grid .icon{width:25px;height:25px}
.quick-grid .icon:last-child{margin-left:auto;width:18px}
.quick-grid a:hover{text-decoration:underline}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.guide-card{text-decoration:none;color:var(--color-text);border-top:2px solid var(--color-primary);padding:20px 0 10px;display:flex;flex-direction:column}
.guide-card .eyebrow{font-size:.71rem;margin-bottom:14px}
.guide-card .eyebrow:before{display:none}
.guide-card h3{font-size:1.25rem;margin-bottom:12px}
.guide-card p{font-size:.94rem;color:var(--color-text-muted)}
.guide-card .text-link{margin-top:auto}
.guide-card:hover h3{text-decoration:underline;text-underline-offset:4px}
.how-section{border-block:1px solid var(--color-border);padding:28px 0}
.how-section h2{font-size:1.3rem}
.how-section ol{list-style:none;counter-reset:step;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.how-section li{counter-increment:step;display:grid;grid-template-columns:30px 1fr;gap:6px 10px;font-size:.88rem}
.how-section li:before{content:counter(step,decimal-leading-zero);grid-row:span 2;color:var(--color-primary);font-weight:700}
.how-section li span{color:var(--color-text-muted)}
.tool-card{border-radius:4px;padding:22px}
.tool-card h3{font-size:1.18rem}
.tool-card p{font-size:.94rem}
.card-top{margin-bottom:18px}
.field small,.result-footnote{font-size:.82rem}
.form-card{border-radius:4px}
.project-fields{padding:0;border:0;margin:24px 0 0;min-width:0}
.project-fields legend{font-size:1rem;font-weight:650;margin-bottom:16px}
.project-fields:first-of-type legend{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}
.material-list h3{font-size:1rem;margin:26px 0 10px}
.assumptions h3{font-size:1rem;color:var(--color-text);margin-top:24px}
.material-list ul{list-style:none;padding:0;margin:0 0 24px}
.material-list li{padding:14px 0;border-top:1px solid var(--color-result-border)}
.material-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:.94rem}
.material-line strong{font-size:1.12rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.material-list small{font-size:.76rem;color:var(--color-text-muted);display:block;margin-top:6px}
.material-list li>p{font-size:.82rem;line-height:1.5;margin:5px 0 0;color:var(--color-text-muted)}
.project-nudge{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 36px;padding:22px;background:var(--color-result-surface);border-left:3px solid var(--color-primary);font-size:.94rem}
.project-nudge>div{display:flex;gap:16px;flex-wrap:wrap}
.project-nudge a{min-height:44px;display:flex;align-items:center;gap:8px}
.project-nudge .icon{width:22px}
.guide-article{max-width:760px;padding-bottom:56px}
.guide-article>.prose{margin-top:36px}
.guide-article section{margin-top:28px}
.guide-article h2{font-size:1.4rem}
.search-page{padding-block:38px 56px;min-height:70vh}
.search-page .search-area{max-width:800px;margin:0}
.search-results h2{font-size:1.1rem;margin:24px 0 12px}
@media(min-width:1001px){.calculator>div{position:sticky;top:20px}.project-calculator>.result-column{position:static}}
@media(max-width:1050px){.project-hero{gap:36px}}
@media(max-width:899px){.project-hero{grid-template-columns:1fr 1fr;gap:28px}.hero-actions{gap:8px}.project-card{gap:14px;padding:20px;grid-template-columns:36px minmax(0,1fr)}.project-card-icon{width:36px;height:40px}.project-card-icon .icon{width:28px}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer nav{justify-content:flex-start}.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-nudge{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:599px){.project-hero{grid-template-columns:1fr;gap:24px;padding:30px 0 24px}.project-hero h1{font-size:2.25rem}.project-hero .intro{font-size:1rem;margin-bottom:20px}.hero-actions{gap:12px}.hero-actions .primary-button{font-size:.9rem;padding-inline:16px}.hero-actions .text-link{font-size:.85rem}.project-grid{grid-template-columns:1fr;gap:12px}.project-card{padding:20px;column-gap:16px}.project-card p{font-size:.94rem}.project-includes{font-size:.82rem}.section-heading{flex-wrap:wrap;gap:8px}.section-heading h2{font-size:1.35rem;max-width:22ch}.section-heading .text-link{font-size:.82rem;min-height:44px}.guide-grid{grid-template-columns:1fr;gap:14px}.quick-grid{gap:0 18px}.quick-grid a{font-size:.85rem;gap:9px}.quick-grid .icon:last-child{display:none}.how-section ol{grid-template-columns:1fr;gap:20px}.material-line{flex-wrap:wrap;gap:4px 10px}.material-line strong{margin-left:auto}.project-calculator .form-actions{flex-wrap:wrap}.guide-article{padding-bottom:32px}}
/* Homepage spacing and hierarchy; shared project and guide cards stay unchanged elsewhere. */
.home-page{--home-section-space:40px}
.home-page .project-hero{display:block;padding:40px 0 24px;text-align:center}
.home-page .project-hero>div{max-width:42rem;margin-inline:auto}
.home-page .project-hero .eyebrow{justify-content:center;margin-bottom:12px}
.home-page .project-hero h1{max-width:20ch;margin:0 auto 16px}
.home-page .project-hero .intro{max-width:32rem;margin:0 auto 20px}
.home-page .hero-actions{justify-content:center;gap:12px 24px}
.home-page .hero-actions a{white-space:nowrap}
.home-page>.section{padding-block:var(--home-section-space)}
.home-page>.home-projects{padding-top:24px}
.home-page .section-heading{margin-bottom:20px}
.home-page .project-card{grid-template-rows:1fr auto;gap:12px 20px;padding:20px 24px;border-left-width:1px}
.home-page .project-card h3{margin-bottom:8px}
.home-page .project-card p{line-height:1.55;margin-bottom:10px}
.home-page .project-includes{display:block;line-height:1.5}
.home-page .project-action{align-self:end}
.home-page>.quick-section{padding:32px;border-block:1px solid var(--color-result-border);border-radius:4px;background:var(--color-result-surface)}
.home-page .quick-grid a{padding-block:16px;border-color:var(--color-result-border)}
.home-page .quick-grid a span{min-width:0;line-height:1.4}
.home-page .guide-card{padding:16px 0 0}
.home-page .guide-card .eyebrow{margin-bottom:10px}
.home-page .guide-card h3{margin-bottom:10px}
.home-page .guide-card p{margin-bottom:12px}
.home-page .how-section{padding-block:var(--home-section-space);border-top:2px solid var(--color-result-border)}
.home-page .how-section h2{font-size:26px;margin-bottom:24px}
.home-page .how-section ol{gap:28px;margin:0 0 20px}
.home-page .how-section li{grid-template-columns:48px minmax(0,1fr);grid-template-rows:auto 1fr;gap:6px 16px}
.home-page .how-section li:before{font-size:2.25rem;line-height:1;font-variant-numeric:tabular-nums}
.home-page .how-section li strong{font-size:.94rem}
@media(max-width:899px){
 .home-page .project-card{padding:20px;column-gap:16px}
 .home-page>.quick-section{padding-inline:24px}
 .home-page .how-section li{grid-template-columns:40px minmax(0,1fr);column-gap:12px}
 .home-page .how-section li:before{font-size:2rem}
}
@media(max-width:599px){
 .home-page{--home-section-space:28px}
 .home-page .project-hero{padding:28px 0 20px;text-align:left}
 .home-page .project-hero .eyebrow{justify-content:flex-start}
 .home-page .project-hero h1{margin-inline:0;margin-bottom:14px}
 .home-page .project-hero .intro{margin-inline:0;margin-bottom:16px}
 .home-page .hero-actions{justify-content:flex-start;gap:8px 16px}
 .home-page>.home-projects{padding-top:20px}
 .home-page .section-heading{margin-bottom:16px}
 .home-page .project-card{padding:16px;gap:12px}
 .home-page>.quick-section{padding:24px 16px}
 .home-page .quick-grid{gap:0 16px}
 .home-page .quick-grid a{gap:8px;padding-block:14px}
 .home-page .guide-grid{gap:20px}
 .home-page .how-section h2{font-size:1.35rem;margin-bottom:20px}
 .home-page .how-section ol{gap:20px;margin-bottom:16px}
 .home-page .how-section li{column-gap:16px}
}
@media(max-width:359px){.home-page .quick-grid{grid-template-columns:1fr}}
@media print{.project-nudge{display:none!important}.calculator>div{position:static!important}.material-list li{break-inside:avoid}.material-list p,.material-list small,.assumptions{color:#17212B}.result-card{background-image:none}.material-list{break-inside:auto}.result-card .material-list{break-inside:auto}}

@media(max-width:400px){.page-title h1{font-size:30px;hyphens:auto}}
/* Golvets ritningar och läsbara måttabeller. */
.floor-plan{margin-block:1.5rem;min-width:0}.floor-drawing-scroll,.floor-table-scroll{max-width:100%;overflow:auto;margin-block:1rem;border:1px solid var(--color-border,#bac3cc);border-radius:8px}.floor-drawing{display:block;width:100%;min-width:480px;max-height:650px;background:#fff}.floor-piece{stroke:#17212b}.floor-a{fill:#d3e5f2}.floor-b{fill:#f7f6f2}.floor-drawing text{fill:#17212b}.floor-table{border-collapse:collapse;width:100%;font-size:.88rem}.floor-table caption{text-align:left;font-weight:700;padding:.6rem}.floor-table th,.floor-table td{padding:.5rem;text-align:left;vertical-align:top;border-bottom:1px solid #bac3cc}.floor-table td{min-width:5rem;overflow-wrap:anywhere}.floor-table th{background:#eaf1f7}.floor-details summary{cursor:pointer;font-weight:700}.floor-plan p{overflow-wrap:anywhere}.floor-table-scroll:focus-visible,.floor-drawing-scroll:focus-visible{outline:3px solid #1f4e79;outline-offset:2px}
@media print{.floor-table-scroll,.floor-drawing-scroll{overflow:visible;max-height:none;border:0}.floor-drawing{min-width:0;max-height:600px}.floor-details::details-content{display:block}.floor-table{font-size:8pt}.floor-table tr{break-inside:avoid}.floor-details>*{display:block}.floor-details table{display:table}}
.expansion-calculator>.result-column,.expansion-calculator .result-card,.expansion-calculator #result-content{min-width:0;max-width:100%}

/* Flooring: progressive forms and inspectable plans. */
.floor-options{margin-block:1rem;padding:1rem;border:1px solid #bac3cc;border-radius:8px}.floor-options>summary{cursor:pointer;font-weight:600}.floor-options[open]>summary{margin-bottom:1rem}.floor-options [data-options-summary]{display:block;font-size:.85rem;font-weight:400;color:#596273;overflow-wrap:anywhere;margin-top:.3rem}.floor-shopping{list-style:none;padding:0;margin:1rem 0}.floor-shopping li{display:flex;flex-direction:column;gap:.4rem;padding:1rem 0;border-bottom:1px solid #bac3cc;overflow-wrap:anywhere}.floor-shopping strong{font-size:1.12rem}.floor-missing{padding:1rem;background:#eaf1f7;border-left:3px solid #1f4e79}.floor-result-details{margin-block:1.5rem}.floor-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin-block:1rem}.floor-controls label{display:flex;flex-direction:column;gap:.3rem;max-width:100%}.floor-controls input{width:7rem;padding:.6rem;border:1px solid #7b8495;border-radius:5px;font:inherit}.floor-controls button{white-space:normal}.floor-plan .floor-drawing{min-width:0;max-height:650px}.floor-drawing-scroll{max-height:650px}.floor-piece{cursor:pointer}.floor-drawing text{pointer-events:none}.floor-drawing polygon.floor-selected{fill:#f7b880;stroke:#17212b;stroke-width:2}.floor-drawing polygon.floor-linked{fill:#92bddb;stroke:#17212b;stroke-width:2}.floor-piece-detail{background:#fff;border:1px solid #bac3cc;padding:1rem;border-radius:8px;overflow-wrap:anywhere}.floor-board{display:block;width:100%;max-height:240px;min-height:100px}.floor-comparison{margin-top:1.5rem}.floor-comparison>button{margin:0 .5rem .5rem 0}.floor-comparison-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem}.floor-comparison-card{min-width:0;padding:1rem;background:#fff;border:1px solid #bac3cc;border-radius:8px}.floor-comparison-card h4{margin-top:0}.floor-preview{display:block;width:100%;height:auto}.floor-controls button:focus-visible,.floor-controls input:focus-visible{outline:3px solid #1f4e79;outline-offset:2px}
@media print{.floor-controls,.floor-piece-detail,.floor-comparison{display:none!important}.floor-drawing-scroll{max-height:none;overflow:visible}.floor-plan .floor-drawing{width:100%!important;max-height:600px!important}.floor-result-details>*{display:block}.floor-shopping li{break-inside:avoid}.floor-details>summary{list-style:none}}

@media print{.floor-drawing polygon.floor-a{fill:#d3e5f2}.floor-drawing polygon.floor-b{fill:#f7f6f2}.floor-drawing polygon{stroke-width:1}}

@media print{.result-card>.floor-result-content{break-inside:auto}.floor-result-content>.result-heading{break-after:avoid}.floor-result-content .result-rows>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);break-inside:avoid}.floor-result-content .result-rows dt,.floor-result-content .result-rows dd{max-width:100%;min-width:0;overflow-wrap:anywhere}.floor-result-content .material-line{flex-wrap:wrap}}

@media print{body.floor-page{background:#fff}.floor-result-content .floor-plan>h3{break-after:avoid}}
.fence-page{max-width:1160px}.fence-form{max-width:none}.fence-form>.fence-inputs,.fence-form>.result-column{min-width:0;position:static}.fence-form .fence-section-views{grid-template-columns:1fr}.fence-form .fence-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.fence-step{padding:2rem 0;border-top:1px solid var(--color-border,#dbe2dc)}.fence-step>h2{display:flex;align-items:center;gap:.7rem;font-size:1.45rem}.fence-step>h2>span{display:inline-grid;place-items:center;background:#e3ede6;color:#234d3c;border-radius:50%;width:2rem;height:2rem;flex-shrink:0;font-size:1rem}.fence-choice{border:0;padding:0;margin:1.5rem 0}.fence-choice legend{font-weight:650;margin-bottom:.7rem}.fence-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fence-cards-four{grid-template-columns:repeat(2,minmax(0,1fr))}.fence-choice-card{position:relative;border:2px solid #d6ded7;border-radius:12px;cursor:pointer;overflow:hidden;display:flex;flex-direction:column;background:#fff;padding:8px;min-width:0}.fence-choice-card:has(input:checked){border-color:#315d47;box-shadow:0 0 0 1px #315d47;background:#f1f6ef}.fence-choice-card:focus-within{outline:3px solid #995e17;outline-offset:3px}.fence-choice-card input{position:absolute;top:12px;left:12px;width:18px;height:18px;accent-color:#315d47}.fence-type-svg{width:100%;height:auto;display:block}.fence-card-caption{font-weight:650;display:flex;flex-direction:column;gap:4px;font-size:.93rem;padding:4px}.fence-selected{visibility:hidden;font-size:.8rem;color:#315d47}.fence-choice-card:has(input:checked) .fence-selected{visibility:visible}.fence-row{border:1px solid #d8e0d9;border-radius:12px;padding:1rem;margin:1.2rem 0;min-width:0}.fence-row legend{font-weight:650;padding:0 .4rem}.fence-detail{border-top:1px solid #dde3dd;margin:1rem 0;padding:.8rem 0}.fence-detail>summary{cursor:pointer;font-weight:650;line-height:1.6}.fence-detail-value{display:block;font-weight:400;font-size:.85rem;color:#58675d;margin-left:1rem}.fence-detail[open]>summary{margin-bottom:1rem}.fence-measure,.fence-section-svg,.fence-cross-svg,.fence-topology{width:100%;height:auto;display:block;max-width:720px;margin:1rem auto}.fence-topology{max-height:1500px}.fence-section-views{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.fence-section-views:has(>figure:only-child){grid-template-columns:1fr}.fence-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:1rem 0}.fence-stat-grid>div{min-width:0;overflow-wrap:anywhere;border-radius:10px;background:#eaf1e9;padding:1rem;display:flex;flex-direction:column}.fence-stat-grid strong{font-size:1.8rem}.fence-stat-grid span{font-size:.88rem}.fence-material{border:1px solid #d6dfd7;background:#fff;border-radius:12px;padding:1.2rem;margin:1rem 0;break-inside:avoid}.fence-material h3{overflow-wrap:anywhere}.fence-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin:1rem 0}.fence-numbers>div{min-width:0}.fence-numbers dt{font-size:.85rem;color:#5c6b61}.fence-numbers dd{font-weight:600;margin:.25rem 0;overflow-wrap:anywhere}.fence-stale .fence-summary,.fence-stale .fence-numbers{opacity:.65}.fence-stale:before{content:'Inaktuellt facit – beräkna igen efter ändringarna';display:block;background:#fff1d8;padding:1rem;border:1px solid #a07538;border-radius:8px}.fence-form [hidden]{display:none!important}.fence-form input,.fence-form select{max-width:100%;min-width:0}.fence-form .field-grid{align-items:start}.fence-form .field-grid>*{min-width:0}.fence-form .field small{overflow-wrap:anywhere}.fence-form .input-shell .unit{font-size:.8rem}.fence-form .field-help{margin:.5rem 0}.fence-costs,.fence-section-result,.fence-transfers{margin:2rem 0}.fence-transfers button{display:block;margin:.5rem 0}.fence-cuts{padding-left:1.5rem;overflow-wrap:anywhere}.fence-cuts li{padding:.5rem 0;border-bottom:1px solid #dfe4dd}.fence-form textarea{width:100%;min-height:240px}.fence-form .form-actions{position:static}.fence-form #error-summary:focus{outline:3px solid #a54e2e}.fence-print pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:10pt}#fence-print-output{display:none}
@media(max-width:850px){.fence-cards-four{grid-template-columns:repeat(2,minmax(0,1fr))}.fence-section-views{grid-template-columns:1fr}.fence-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.fence-inputs,.fence-facit{padding:16px}.fence-page .page-title h1{font-size:2rem}.fence-choice-card{padding:4px}.fence-card-caption{font-size:.82rem}.fence-stat-grid{grid-template-columns:1fr;gap:5px}.fence-stat-grid>div{padding:.65rem;flex-direction:row;align-items:center;gap:.7rem}.fence-stat-grid strong{font-size:1.5rem;min-width:2rem}.fence-stat-grid span{font-size:.88rem}.fence-material{padding:.8rem}.fence-step>h2{font-size:1.2rem}.fence-form .fence-numbers{grid-template-columns:1fr}.fence-measure{min-width:0}.fence-form .field-grid{grid-template-columns:1fr}.fence-form .form-actions{flex-wrap:wrap}}
@media print{body:has(#fence-print-output)>*:not(#fence-print-output){display:none!important}body:has(#fence-print-output) #fence-print-output{display:block!important}.fence-print details>*{display:block!important}.fence-print details>summary{display:block}.fence-print svg{max-width:500px;break-inside:avoid}.fence-print .no-print{display:none!important}.fence-print h2{break-after:avoid}.fence-print .fence-section-views{display:block}}

.fence-guide-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.fence-guide-types>span{display:block;border:1px solid #d8e0d9;border-radius:10px;padding:.5rem}.guide-article .fence-type-svg{max-width:320px}.fence-guide-types strong{font-size:.9rem}

#fence-print-preview{width:min(850px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid #b8c5bb;border-radius:12px;padding:1.25rem;color:#17212b;background:#fff}#fence-print-preview::backdrop{background:#17212b88}.fence-print-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.fence-print-actions button{padding:.6rem;cursor:pointer}
.fence-section-views figure{margin:0;min-width:0}.fence-section-views figcaption{font-weight:650}

/* Fält på samma rad delar höjd för etikett, kontroll, hjälp och fel. */
@supports(grid-template-rows:subgrid){
 .fence-form .field-grid{align-items:stretch;row-gap:0}
 .fence-form .field-grid>.field{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0;margin-bottom:20px}
 .fence-form .field-grid>.field>label{grid-row:1}
 .fence-form .field-grid>.field>.input-shell,.fence-form .field-grid>.field>select{grid-row:2;align-self:stretch}
 .fence-form .field-grid>.field>.input-shell>input{align-self:stretch}
 .fence-form .field-grid>.field>small:not(.error){grid-row:3;align-self:start}
 .fence-form .field-grid>.field>.error{grid-row:4;align-self:start}
}
@supports not(grid-template-rows:subgrid){.fence-form .field-grid{grid-template-columns:1fr}}

.fence-guide-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.fence-guide-examples>span,.fence-guide-example{display:block;padding:1rem;border:1px solid #d6dfd7;border-radius:10px;background:#fff}.fence-guide-example{margin:1rem 0}@media(max-width:420px){.fence-guide-examples{grid-template-columns:1fr}}
/* Four material tools: shared field controls, readable results and scalable plans. */
.four-measure{margin:0 0 1.5rem}.four-measure svg{width:100%;height:auto;max-height:170px}.four-measure text{font:13px sans-serif;fill:currentColor}.four-measure figcaption{font-size:.875rem;color:var(--color-muted)}
.four-result-section{margin-block:1.5rem;padding-block-start:1rem;border-top:1px solid #d8dde3}.four-result-section h3{overflow-wrap:anywhere}.four-plan{display:block;width:100%;height:auto;max-height:540px;margin:1rem 0;background:#fff}.four-table-wrap{max-width:100%;overflow:auto}.four-table{border-collapse:collapse;width:100%;font-size:.875rem}.four-table th,.four-table td{padding:.6rem .4rem;text-align:left;border-bottom:1px solid #d8dde3;overflow-wrap:anywhere;vertical-align:top}.four-table th{color:#1F4E79}.four-presets{display:flex;gap:.6rem;flex-wrap:wrap}.four-presets button{flex:1 1 130px}.four-presets span{display:block;font-size:2rem}.row-actions{display:flex;gap:1rem;flex-wrap:wrap}.four-result-section .result-rows dd{overflow-wrap:anywhere}
@media(max-width:600px){.four-table th,.four-table td{font-size:.8rem;padding:.5rem .2rem}.four-result-section .result-rows>div{display:block}.four-result-section .result-rows dd{text-align:left;margin-top:.25rem}.four-table-wrap{overflow:visible}.four-table{table-layout:fixed}}
@media print{.four-table-wrap{overflow:visible}.four-plan{max-height:450px;break-inside:avoid}.four-result-section{break-inside:auto}.four-presets{display:none}}
.four-measure text{fill:var(--color-text);stroke:none;font-size:15px}

@media print{.result-card:has(.four-result-section)>#result-content{break-inside:auto}.result-card:has(.four-result-section) .result-footnote{display:block!important}.result-card:has(.four-result-section) [role=status]{display:none!important}.four-result-section h3{break-after:avoid}.four-table tr{break-inside:avoid}.four-table{font-size:9pt}}

/* Measurement drawings use the existing blue/orange palette. */
.water-measure{margin:1rem 0 1.5rem;max-width:36rem}.water-measure svg{display:block;width:100%;height:auto;max-height:260px}.water-measure text{font:22px sans-serif;fill:var(--color-text);stroke:none}.water-measure figcaption{font-size:.875rem;color:var(--color-muted);line-height:1.6}

/* Room trim: measurement drawings and a wrapping, printable cutting list. */
.trim-figure{margin:18px 0;max-width:100%;padding:12px;border:1px solid #dde2e8;border-radius:10px;background:#fff;color:#17212B}
.trim-figure svg{display:block;width:100%;max-width:380px;height:auto;margin:auto}
.trim-figure text{fill:currentColor;stroke:none;font:14px system-ui}
.trim-figure figcaption{font-size:.875rem;line-height:1.55;margin-top:8px}
form[data-trim] [data-repeat]{margin-block:20px}
form[data-trim] .row-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}
form[data-trim] [data-internal]{display:none}
.trim-facts{margin:12px 0;min-width:0}
.trim-facts>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:8px 0;border-bottom:1px solid #dde2e8}
.trim-facts dt{flex:1 1 180px;color:#596273}
.trim-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.trim-item{border:1px solid #dde2e8;border-radius:10px;padding:14px;margin:12px 0;min-width:0;overflow-wrap:anywhere}
.trim-item h4{margin:0 0 8px;font-size:1rem}
.trim-item ol{padding-left:22px}
.trim-item li{margin:8px 0}
.trim-cost{background:#EAF1F7;padding:16px;border-radius:10px;margin:16px 0}
.trim-result{margin:20px 0;border-top:1px solid #dde2e8;padding-top:14px}
.trim-result>summary{cursor:pointer;font-weight:700;overflow-wrap:anywhere}
.trim-bar{display:block;width:100%;height:44px;margin:12px 0}
@media print{.trim-result::details-content{display:block;content-visibility:visible}.trim-result>*{display:block!important}.trim-result>summary{list-style:none}.trim-item{break-inside:avoid}.trim-facts>div{display:flex!important}.trim-bar{print-color-adjust:exact}.result-card:has(.trim-result)>#result-content{break-inside:auto}.result-card:has(.trim-result) [role=status]{display:none!important}}

/* Alternative fuel purchases stay distinct, including in print. */
.fuel-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:16px;margin:24px 0}
.fuel-result{min-width:0;border:1px solid var(--color-result-border);border-radius:12px;padding:16px;background:var(--color-surface,#fff)}
.fuel-result h3{margin:0 0 8px}.fuel-amount{font-size:1.5rem;font-weight:700;margin:0;overflow-wrap:anywhere}
.fuel-result .result-rows>div{display:block}.fuel-result .result-rows dt{max-width:100%}.fuel-result .result-rows dd{text-align:left;margin:4px 0 0;overflow-wrap:anywhere}
@media print{.fuel-comparison{display:block}.fuel-result{break-inside:auto;margin:12px 0}.fuel-result h3,.fuel-amount{break-after:avoid}.fuel-result .result-rows>div{break-inside:avoid}}

@media print{.result-card:has(.fuel-comparison)>#result-content{break-inside:auto}.fuel-result .result-footnote{display:block!important}}
