@import './fonts/zasso-fonts.css';
img,svg { display:block; max-width:100%; }
img { height:auto; }
button,input,select { color:inherit; }
summary { list-style:none; }
summary::-webkit-details-marker { display:none; }

:root { --ink:#141414; --muted:#565656; --line:#dedede; --soft:#f5f5f5; --warning:#a32929; --rail:72px; }
.plain-number { width:100%; padding:12px; background:#242424; color:#fff; border:1px solid #777; }
.assumption-note,.financial-notes,.result-explainer { color:#565656; font-size:14px; line-height:1.65; }
.assumption-note { margin:28px 0 0; max-width:1000px; }
.unit-summary { font-size:12px; line-height:1.5; margin:15px 0 0; }
.method-card.featured .unit-summary { color:#ccc; }
.impact-strip strong { overflow-wrap:anywhere; }
.table-select { width:100%; max-width:100%; padding:10px 6px; font-size:14px; background:#fff; color:#141414; border:1px solid #bbb; }
.derived-row { background:#ededed !important; }
.derived-row td { font-weight:600; font-variant-numeric:tabular-nums; }
.finance-table { border-collapse:collapse; width:100%; min-width:760px; font-size:14px; }
.finance-table th,.finance-table td { padding:16px; text-align:left; border:1px solid #ddd; }
.finance-table th:first-child { width:34%; }
.finance-table td { white-space:nowrap; font-variant-numeric:tabular-nums; }
.finance-table thead { background:#141414; color:#fff; }
.financial-notes { margin-top:25px; max-width:1050px; }
.methodology-links { font-size:13px; text-decoration:underline; }
@media(max-width:520px) { .editable-cost-table { min-width:760px; } .editable-cost-table th:first-child { width:140px !important; } .editable-cost-table th,.editable-cost-table td { padding:12px; } .impact-strip div { align-items:flex-start !important; } .impact-strip strong { text-align:right; max-width:58%; } }
@media print { .finance-table { min-width:0; font-size:10px; } .finance-table th,.finance-table td { padding:7px; white-space:normal; } .assumption-note,.financial-notes,.result-explainer { font-size:10px; } .table-select { font-size:10px; } .editable-cost-table { min-width:0; } .unit-summary { font-size:9px; } .plain-number { color:#141414; background:#fff; } }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:#fff; color:var(--ink); font-family:'Source Sans Pro',Arial,sans-serif; font-size:17px; line-height:1.6; }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button,select,summary { cursor:pointer; }
button,a,input,select,summary { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
button { border-radius:0; }
h1,h2,h3 { font-family:'Poppins',Arial,sans-serif; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; top:12px; left:90px; padding:12px 20px; background:#fff; color:#111; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.site-shell { position:relative; margin-left:var(--rail); }
.site-rail { position:fixed; z-index:70; left:0; top:0; bottom:0; width:var(--rail); background:#fff; border-right:1px solid #eee; display:flex; align-items:center; justify-content:center; }
.rail-home { position:absolute; top:30px; padding:8px; }
.rail-home img { width:26px; height:26px; display:block; }
.menu-toggle { width:var(--rail); height:72px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:6px; border:0; background:#fff; color:#141414; }
.menu-toggle span { width:24px; height:1px; background:currentColor; transition:transform .25s,opacity .25s; }
.menu-toggle.is-open span:first-child { transform:translateY(7px) rotate(45deg); }
.menu-toggle.is-open span:nth-child(2) { opacity:0; }
.menu-toggle.is-open span:last-child { transform:translateY(-7px) rotate(-45deg); }
.rail-social { position:absolute; bottom:24px; }
.rail-social summary { list-style:none; display:grid; place-items:center; width:48px; height:48px; color:#555; }
.rail-social summary::-webkit-details-marker { display:none; }
.rail-social svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.3; }
.rail-social > div { position:absolute; left:52px; bottom:0; width:160px; padding:15px 20px; background:#141414; color:#fff; box-shadow:0 5px 25px #0002; }
.rail-social a { display:block; padding:6px 0; font-size:14px; }
.site-menu { position:fixed; inset:0 0 0 var(--rail); z-index:60; background:#141414; color:#aaa; overflow-y:auto; animation:menu-in .25s ease-out; }
.site-menu-inner { min-height:100%; padding:54px clamp(35px,9vw,160px) 24px; display:flex; flex-direction:column; }
.menu-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:38px; border-bottom:1px solid #ffffff12; }
.menu-heading img { display:block; width:210px; height:auto; }
.menu-close { width:44px; height:44px; border:1px solid #ffffff33; color:#ddd; background:transparent; font-size:30px; line-height:1; }
.menu-links { width:min(660px,100%); margin:58px 0; font-family:'Poppins',Arial,sans-serif; font-size:clamp(20px,2.3vw,30px); line-height:1.55; }
.menu-links > a,.menu-links > details { display:block; margin:8px 0; }
.menu-links a:hover,.menu-links summary:hover { color:#fff; }
.menu-links a[aria-current] { color:#fff; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.menu-links summary { list-style:none; display:flex; justify-content:space-between; gap:30px; }
.menu-links summary::-webkit-details-marker { display:none; }
.menu-links summary span { font-family:Arial,sans-serif; font-size:20px; opacity:.55; }
.menu-links details[open] summary span { transform:rotate(180deg); }
.menu-links details > div { padding:10px 0 10px 22px; }
.menu-links details a { display:block; padding:6px 0; font-size:15px; color:#999; }
.menu-bottom { margin-top:auto; border-top:1px solid #ffffff12; padding-top:24px; display:flex; justify-content:space-between; gap:20px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
@keyframes menu-in { from { opacity:0; transform:translateX(-15px); } to { opacity:1; transform:none; } }
.topbar { position:absolute; z-index:2; top:0; left:0; right:0; height:116px; padding:25px clamp(30px,6.5vw,110px); display:flex; align-items:center; justify-content:space-between; gap:24px; color:#fff; }
.brand img { display:block; width:175px; height:auto; }
.top-actions { display:flex; align-items:center; gap:28px; }
.eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.16em; opacity:.75; }
.language-switch { display:flex; gap:8px; }
.language-switch button { padding:5px; border:0; border-bottom:1px solid transparent; background:transparent; color:#bbb; font-size:12px; letter-spacing:.08em; }
.language-switch button.active { border-bottom-color:#fff; color:#fff; }
.hero { min-height:650px; padding:185px clamp(30px,6.5vw,110px) 72px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,.65fr); align-items:end; gap:70px; color:#fff; background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.4)),url('./zasso-hero.jpg') center/cover; }
.kicker { margin:0 0 24px; display:flex; align-items:center; gap:14px; color:var(--muted); font-family:'Poppins',Arial,sans-serif; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.kicker > span { height:1px; width:45px; background:currentColor; }
.hero .kicker { color:#ddd; font-family:'Source Sans Pro',Arial,sans-serif; font-size:12px; }
h1 { margin:0; font-size:clamp(38px,4.6vw,68px); font-weight:400; letter-spacing:-.035em; line-height:1.18; }
h1 strong { font-weight:700; }
.intro { max-width:630px; margin:26px 0 0; font-size:clamp(18px,1.55vw,24px); line-height:1.55; color:#eaeaea; }
.hero-button,.outline-button,.contact-button { display:inline-flex; justify-content:space-between; align-items:center; gap:35px; padding:17px 29px; border:1px solid currentColor; background:transparent; color:inherit; font-size:12px; font-weight:400; text-transform:uppercase; letter-spacing:.17em; transition:background .2s,color .2s; }
.hero-button { margin-top:32px; color:#ddd; }
.hero-button:hover,.contact-button:hover { background:#fff; color:#141414; border-color:#fff; }
.hero-stat { border-top:1px solid #ffffff66; padding-top:24px; padding-bottom:9px; display:flex; flex-direction:column; }
.hero-stat > span { font-size:13px; color:#ddd; }
.hero-stat strong { margin:8px 0; font-family:'Poppins',Arial,sans-serif; font-size:clamp(27px,2.8vw,42px); line-height:1.3; font-weight:600; letter-spacing:-.04em; white-space:nowrap; }
.hero-stat small { color:#bbb; font-size:13px; }
.negative { color:var(--warning) !important; }
.hero .negative,.savings-card .negative { color:#ffb1a9 !important; }
.workspace { display:grid; grid-template-columns:minmax(280px,340px) minmax(0,1fr); margin:80px clamp(25px,4.8vw,80px); border:1px solid var(--line); }
.control-panel,.results-panel { padding:40px 32px; }
.control-panel { background:#141414; color:#fff; }
.results-panel { min-width:0; }
.section-heading { display:flex; align-items:flex-start; gap:15px; }
.section-heading > span,.wide-heading > div > span { display:block; flex:0 0 27px; padding:3px 0 9px; border-bottom:1px solid currentColor; color:#999; font-size:11px; font-weight:400; }
.section-heading h2 { margin:0; font-size:19px; line-height:1.5; font-weight:600; letter-spacing:-.025em; }
.section-heading p { margin:9px 0 0; font-size:14px; line-height:1.6; color:#aaa; }
.results-heading p { color:var(--muted); }
.field { display:block; margin-top:29px; }
.field > span { display:block; margin-bottom:10px; font-size:11px; letter-spacing:.09em; text-transform:uppercase; color:#ccc; }
.field select { width:100%; padding:12px 30px 12px 12px; color:#fff; background:#202020; border:1px solid #ffffff40; border-radius:0; font-size:15px; }
.field select option { color:#fff; background:#202020; }
.range-value { display:flex; align-items:baseline; gap:10px; }
.range-value input { width:calc(100% - 35px); min-width:0; padding:0; border:0; border-bottom:1px solid #777; background:transparent; color:#fff; font-family:'Poppins',Arial,sans-serif; font-size:32px; font-weight:400; }
.range-value b { font-size:13px; font-weight:400; color:#aaa; }
.range-field input[type='range'] { display:block; width:100%; margin:23px 0 7px; accent-color:#ddd; }
.range-field small { display:flex; justify-content:space-between; font-size:10px; color:#999; }
.source-note { margin:27px 0 0; padding-top:20px; border-top:1px solid #ffffff22; font-size:12px; line-height:1.6; color:#aaa; }
.method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:35px; }
.method-card { min-width:0; padding:20px 17px; border:1px solid var(--line); background:#f9f9f9; }
.method-card.featured { background:#141414; color:#fff; border-color:#141414; }
.method-top { display:flex; align-items:center; justify-content:space-between; gap:5px; min-height:28px; }
.method-icon { display:grid; place-items:center; width:28px; height:28px; border:1px solid #ccc; font-size:12px; }
.method-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.3; }
.best-badge { font-size:8px; text-transform:uppercase; letter-spacing:.08em; white-space:nowrap; }
.method-card h3 { margin:24px 0 7px; font-family:'Source Sans Pro',Arial,sans-serif; color:#666; font-size:13px; font-weight:600; }
.method-card.featured h3 { color:#ccc; }
.method-card strong { display:block; font-family:'Poppins',Arial,sans-serif; font-size:clamp(22px,2vw,33px); font-weight:600; letter-spacing:-.045em; line-height:1.4; overflow-wrap:anywhere; }
.method-card small { font-size:12px; color:#777; }
.method-card.featured small { color:#aaa; }
.bar { height:3px; margin-top:23px; background:#ddd; }
.bar span { display:block; height:100%; background:#777; transition:width .25s; }
.featured .bar { background:#555; }
.featured .bar span { background:#fff; }
.impact-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:30px; padding-top:25px; border-top:1px solid var(--line); }
.impact-strip span { display:block; color:#666; font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.impact-strip strong { display:block; margin-top:8px; font-family:'Poppins',Arial,sans-serif; font-size:21px; font-weight:400; line-height:1.4; }
.breakdown-section,.outlook-section { padding:75px clamp(25px,5.8vw,96px); }
.breakdown-section { background:#f6f6f6; }
.wide-heading { display:grid; grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr); gap:45px; align-items:start; }
.wide-heading > div:first-child { display:flex; gap:15px; align-items:flex-start; }
.wide-heading p { margin:3px 0 0; font-family:'Poppins',Arial,sans-serif; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.wide-heading h2 { margin:0; font-size:clamp(20px,2vw,29px); font-weight:400; letter-spacing:-.025em; line-height:1.6; }
.breakdown-heading-copy button { display:block; margin-top:18px; padding:7px 0; border:0; border-bottom:1px solid #888; color:#555; background:transparent; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.editable-cost-table-wrap { margin-top:38px; overflow-x:auto; border:1px solid #d6d6d6; background:#fff; }
.editable-cost-table { width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed; }
.editable-cost-table th,.editable-cost-table td { padding:17px 18px; width:23%; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:left; }
.editable-cost-table th:first-child { width:31%; }
.editable-cost-table tr > *:last-child { border-right:0; }
.editable-cost-table thead th { background:#141414; color:#eee; border-color:#333; font-family:'Poppins',Arial,sans-serif; font-size:12px; font-weight:400; }
.editable-cost-table thead th:first-child { font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.editable-cost-table th small { display:block; margin-top:5px; font-family:'Source Sans Pro',Arial,sans-serif; font-size:11px; line-height:1.5; font-weight:400; color:#777; }
.editable-cost-table thead small { color:#aaa; }
.editable-cost-table tbody th,.editable-cost-table tfoot th { font-size:14px; font-weight:600; }
.editable-cost-table tbody tr:nth-child(even) { background:#fcfcfc; }
.editable-cost-table tbody td { padding-top:12px; padding-bottom:12px; }
.table-input { position:relative; display:flex; align-items:center; background:#f3f3f3; border-bottom:1px solid #bbb; }
.table-input:focus-within { outline:1px solid #141414; outline-offset:2px; }
.table-input b { padding-left:10px; color:#777; font-size:11px; font-weight:400; }
.table-input input { width:100%; min-width:0; padding:11px 8px; border:0; background:transparent; color:#141414; text-align:right; font-size:15px; font-variant-numeric:tabular-nums; }
.table-input input:focus-visible { outline:0; }
.cost-total-row { background:#eaeaea; }
.cost-total-row td strong { font-family:'Poppins',Arial,sans-serif; font-size:clamp(17px,1.6vw,24px); font-weight:600; white-space:nowrap; letter-spacing:-.03em; }
.cost-total-row td small { padding-left:3px; font-size:10px; font-weight:400; }
.investment-row { background:#fafafa; }
.investment-row th { color:#555; }
.editable-cost-table tfoot tr:last-child > * { border-bottom:0; }
.outlook-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr); gap:20px; margin-top:40px; }
.cost-chart { padding:30px; border:1px solid var(--line); }
.chart-row + .chart-row { margin-top:25px; }
.chart-label { display:flex; justify-content:space-between; gap:20px; margin-bottom:10px; font-size:14px; }
.chart-label strong { font-weight:600; }
.chart-track { height:9px; background:#eee; }
.chart-track span { display:block; height:100%; background:#999; transition:width .25s; }
.chart-track span.zasso { background:#141414; }
.chart-track span.herbicide { background:#666; }
.savings-card { display:flex; flex-direction:column; justify-content:center; padding:30px; background:#141414; color:#fff; }
.savings-card > span { font-size:11px; color:#aaa; text-transform:uppercase; letter-spacing:.08em; }
.savings-card strong { margin:14px 0 7px; font-family:'Poppins',Arial,sans-serif; font-size:clamp(26px,2.7vw,38px); font-weight:600; line-height:1.4; letter-spacing:-.04em; }
.savings-card p { margin:0; font-size:13px; color:#bbb; }
.financial-table { margin-top:20px; border:1px solid var(--line); overflow-x:auto; }
.table-row { display:grid; grid-template-columns:minmax(190px,1.2fr) repeat(3,minmax(130px,1fr)); min-width:690px; }
.table-row + .table-row { border-top:1px solid var(--line); }
.table-row > * { padding:17px 20px; border-right:1px solid var(--line); }
.table-row > *:last-child { border-right:0; }
.table-row span { font-size:13px; color:#666; }
.table-row b { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.table-row strong { font-size:16px; font-weight:600; white-space:nowrap; }
.table-head { background:#f6f6f6; }
.methodology-section { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:60px; align-items:center; padding:70px clamp(25px,5.8vw,96px); border-top:1px solid var(--line); background:#f9f9f9; }
.methodology-section h2 { margin:0; max-width:900px; font-family:'Source Sans Pro',Arial,sans-serif; font-size:19px; font-weight:400; line-height:1.7; color:#444; }
.methodology-section small { display:block; max-width:900px; margin-top:20px; color:#777; font-size:12px; }
.outline-button { color:#141414; flex-shrink:0; }
.outline-button:hover { background:#141414; color:#fff; }
.cta-section { display:flex; align-items:center; justify-content:space-between; gap:50px; padding:75px clamp(25px,5.8vw,96px); background:#141414; color:#fff; border-bottom:1px solid #333; }
.cta-section > div { max-width:760px; }
.cta-section > div > span { color:#999; font-family:'Poppins',Arial,sans-serif; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.cta-section h2 { margin:17px 0; font-size:clamp(26px,2.8vw,40px); font-weight:400; line-height:1.4; letter-spacing:-.025em; }
.cta-section p { margin:0; color:#aaa; font-size:16px; }
.contact-button { min-width:220px; flex-shrink:0; color:#ddd; }
.site-footer { padding:65px clamp(25px,5.8vw,96px) 25px; background:#141414; color:#aaa; }
.footer-main { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:35px; }
.footer-brand img { width:165px; }
.footer-main h3 { margin:0 0 21px; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:#f5f5f5; }
.footer-main p { margin:0; font-size:15px; line-height:1.7; }
.footer-main a:not(.brand) { font-size:15px; }
.site-footer a:hover { color:#fff; }
.footer-languages { display:flex; gap:20px; padding:40px 0; font-size:13px; }
.footer-languages button { padding:0; border:0; border-bottom:1px solid transparent; background:transparent; color:#999; }
.footer-languages button[aria-pressed='true'] { color:#fff; border-color:#888; }
.footer-languages a { margin-left:auto; }
.footer-bottom { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; padding-top:25px; border-top:1px solid #ffffff15; font-size:10px; color:#888; }
.footer-bottom nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px 22px; }
.footer-bottom > span { flex-shrink:0; }
.back-top { padding:0 6px; font-size:20px; line-height:1; color:#ddd; }
@media(min-width:1500px) { .workspace { grid-template-columns:370px minmax(0,1fr); } .control-panel,.results-panel { padding:48px 42px; } .method-card { padding:25px; } }
@media(max-width:1100px) { .hero { gap:35px; grid-template-columns:minmax(0,1.4fr) minmax(200px,.7fr); } .workspace { margin:60px 30px; grid-template-columns:270px minmax(0,1fr); } .control-panel,.results-panel { padding:30px 23px; } .method-grid { gap:7px; } .method-card { padding:18px 11px; } .best-badge { font-size:7px; } .impact-strip { gap:14px; } .impact-strip strong { font-size:18px; } .methodology-section { grid-template-columns:1fr; gap:30px; } .outline-button { justify-self:start; } .footer-main { grid-template-columns:repeat(2,1fr); gap:40px; } }
@media(max-width:860px) { :root { --rail:50px; } .hero { min-height:650px; grid-template-columns:1fr; gap:35px; padding-top:165px; padding-bottom:45px; } .hero-stat { max-width:320px; } .hero-stat strong { font-size:30px; } .topbar { height:100px; } .top-actions .eyebrow { display:none; } .workspace { grid-template-columns:1fr; } .control-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; padding:35px; } .control-panel .section-heading,.control-panel .source-note { grid-column:1/-1; } .results-panel { padding:35px; } .method-grid { gap:12px; } .method-card { padding:22px 18px; } .method-card strong { font-size:27px; } .wide-heading { grid-template-columns:1fr; gap:25px; } .outlook-grid { grid-template-columns:1fr; } .cta-section { flex-direction:column; align-items:flex-start; gap:30px; } .menu-heading img { width:190px; } .menu-links { margin:40px 0; font-size:23px; } }
@media(max-width:520px) { :root { --rail:44px; } .rail-home { top:20px; } .rail-home img { width:23px; height:23px; } .rail-social { bottom:12px; } .rail-social summary { width:40px; } .topbar { height:94px; padding:24px; } .brand img { width:145px; } .top-actions { gap:12px; } .language-switch { gap:3px; } .hero { min-height:650px; padding:148px 25px 40px; background-position:58% center; } .hero .kicker { font-size:9px; letter-spacing:.07em; } .hero .kicker > span { display:none; } h1 { font-size:35px; } .intro { font-size:18px; } .hero-button { padding:15px 21px; font-size:10px; gap:20px; } .hero-stat > span { font-size:12px; } .hero-stat strong { font-size:29px; } .workspace { margin:40px 18px; } .control-panel { display:block; padding:28px 23px; } .results-panel { padding:28px 19px; } .section-heading { gap:12px; } .section-heading h2 { font-size:17px; } .method-grid { grid-template-columns:1fr; margin-top:28px; } .method-card { position:relative; padding:22px; } .method-card h3 { margin:16px 0 5px; } .method-card strong { font-size:31px; } .impact-strip { grid-template-columns:1fr; gap:15px; } .impact-strip div { display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding-bottom:15px; border-bottom:1px solid #eee; } .impact-strip div:last-child { border-bottom:0; padding-bottom:0; } .impact-strip strong { margin-top:0; font-size:20px; } .breakdown-section,.outlook-section { padding:45px 23px; } .wide-heading h2 { font-size:20px; } .editable-cost-table-wrap { margin-top:28px; } .editable-cost-table th:first-child { position:sticky; left:0; background:#fff; box-shadow:1px 0 #ddd; } .editable-cost-table thead th:first-child { background:#141414; } .editable-cost-table tfoot .cost-total-row th:first-child { background:#eaeaea; } .editable-cost-table tfoot .investment-row th:first-child { background:#fafafa; } .cost-chart,.savings-card { padding:25px 20px; } .chart-label { font-size:13px; } .chart-label strong { font-size:14px; } .methodology-section { padding:45px 23px; } .methodology-section h2 { font-size:17px; } .outline-button { width:100%; padding:15px 20px; font-size:10px; } .cta-section { padding:48px 23px; } .cta-section h2 { font-size:27px; } .contact-button { width:100%; padding:16px 20px; font-size:10px; } .site-footer { padding:48px 23px 25px; } .footer-main { grid-template-columns:1fr; gap:32px; } .footer-main h3 { margin-bottom:12px; } .footer-languages { gap:15px; flex-wrap:wrap; font-size:12px; padding:32px 0; } .footer-languages a { margin-left:0; } .footer-bottom { flex-wrap:wrap; gap:20px; } .footer-bottom nav { order:3; justify-content:flex-start; } .site-menu-inner { padding:32px 25px 25px; } .menu-heading { padding-bottom:30px; gap:10px; } .menu-heading img { width:155px; } .menu-close { width:34px; height:34px; } .menu-links { font-size:21px; } .menu-bottom { flex-direction:column; gap:9px; font-size:9px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
@media print { @page { margin:12mm; } body { font-size:11px; } .site-rail,.site-menu,.skip-link,.top-actions,.hero-button,.cta-section,.site-footer,.outline-button,.breakdown-heading-copy button { display:none !important; } .site-shell { margin:0; } .topbar { position:relative; height:65px; padding:12px 0; background:#141414; print-color-adjust:exact; -webkit-print-color-adjust:exact; } .brand img { width:140px; margin-left:15px; } .hero { min-height:0; grid-template-columns:1.4fr 1fr; padding:25px 0; gap:25px; color:#141414; background:none; } .hero .kicker,.intro,.hero-stat small,.hero-stat > span { color:#555; } .hero h1 { font-size:32px; } .hero-stat { border-color:#777; } .hero-stat strong { font-size:24px; } .intro { font-size:14px; } .workspace { margin:15px 0; grid-template-columns:220px minmax(0,1fr); break-inside:avoid; } .control-panel { display:block; background:#f5f5f5; color:#141414; padding:20px; } .results-panel { padding:20px; } .field { margin-top:15px; } .field > span,.source-note { color:#555; } .field select,.range-value input { color:#141414; background:#fff; border-color:#aaa; } .range-field input[type='range'],.range-field small { display:none; } .range-value input { font-size:24px; } .method-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; } .method-card { padding:12px; } .method-card strong { font-size:19px; } .method-card.featured { print-color-adjust:exact; -webkit-print-color-adjust:exact; } .best-badge { font-size:6px; } .impact-strip { grid-template-columns:repeat(3,1fr); gap:10px; } .impact-strip div { display:block; } .impact-strip strong { font-size:15px; } .breakdown-section,.outlook-section,.methodology-section { padding:25px 0; background:#fff; } .wide-heading { grid-template-columns:180px 1fr; gap:20px; } .wide-heading h2 { font-size:16px; } .editable-cost-table { min-width:0; } .editable-cost-table th,.editable-cost-table td { padding:10px; } .editable-cost-table th:first-child { position:static; } .editable-cost-table thead th { background:#eee; color:#141414; } .editable-cost-table thead small { color:#555; } .table-input input { font-size:11px; padding:6px; } .table-input b { padding-left:4px; font-size:9px; } .cost-total-row td strong { font-size:15px; } .outlook-grid { grid-template-columns:1.5fr 1fr; } .savings-card { background:#f1f1f1; color:#141414; } .savings-card strong { font-size:24px; } .savings-card > span,.savings-card p { color:#555; } .financial-table .table-row { min-width:0; grid-template-columns:1.2fr repeat(3,1fr); } .table-row > * { padding:12px; } .table-row strong { font-size:12px; } .methodology-section { display:block; } .methodology-section h2 { font-size:13px; } }
/* Keep mobile monetary amounts intact and reserve explicit table columns. */
.editable-cost-table col { width: 190px; }
.editable-cost-table col.cost-label-column { width: 240px; }
@media (max-width:520px) {
  .impact-strip div > span { flex:1; min-width:0; }
  .impact-strip div > strong { flex:0 0 auto; max-width:none; white-space:nowrap; font-size:17px; }
  .editable-cost-table { min-width:710px; }
  .editable-cost-table col.cost-label-column { width:140px; }
  .editable-cost-table th:first-child { position:static; box-shadow:none; }
}
@media (max-width:520px) {
  .editable-cost-table { min-width:545px; }
  .editable-cost-table col:not(.cost-label-column) { width:135px; }
  .editable-cost-table .table-input input { font-size:14px; padding:9px 5px; }
}
