:root{--green-950: #073310;--green-900: #0B4A16;--green-700: #16663A;--green-500: #3D8B55;--sage-400: #A5BAA6;--sage-200: #CBD9CB;--tint-50: #F1F5F0;--white: #FFFFFF;--ink-900: #12201A;--ink-600: #4A5A50;--ink-400: #7C8C82;--amber-500: #B7791F;--red-600: #B42318;--blue-600: #175CD3;--r-sm: 6px;--r-md: 12px;--r-lg: 20px;--r-full: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", monospace;--container: 1200px;--header-h: 64px;--tabbar-h: 56px;--shadow-sm: 0 1px 2px rgba(11, 74, 22, .06);--shadow-md: 0 4px 12px rgba(11, 74, 22, .08);--shadow-lg: 0 12px 32px rgba(11, 74, 22, .12);--ease-enter: cubic-bezier(.32, .72, 0, 1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.625;color:var(--ink-900);background:var(--white)}img,svg,video{max-width:100%;height:auto}h1,h2,h3,h4{margin:0 0 var(--s-3);line-height:1.25;color:var(--green-900)}h1{font-size:26px;font-weight:700}h2{font-size:21px;font-weight:600}h3{font-size:17px;font-weight:600}p{margin:0 0 var(--s-4)}a{color:var(--green-700);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--green-900)}code,pre,.mono{font-family:var(--font-mono);font-size:14px}@media (min-width: 768px){h1{font-size:32px}h2{font-size:24px}h3{font-size:19px}}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--s-4)}.page{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s-5))}@media (min-width: 768px){.page{padding-bottom:var(--s-7)}}.layout{display:block}@media (min-width: 1024px){.layout{display:grid;grid-template-columns:minmax(0,760px) 300px;gap:var(--s-5);align-items:start}.layout__aside{position:sticky;top:calc(var(--header-h) + var(--s-4))}}.skip-link{position:absolute;left:-9999px;top:var(--s-2);z-index:100;padding:var(--s-2) var(--s-4);background:var(--green-900);color:var(--white);border-radius:var(--r-md)}.skip-link:focus{left:var(--s-4);color:var(--white)}.site-header{position:sticky;top:0;z-index:40;height:var(--header-h);display:flex;align-items:center;background:var(--white);border-bottom:1px solid var(--sage-200)}.site-header--scrolled{box-shadow:var(--shadow-sm)}.site-header__inner{display:flex;align-items:center;gap:var(--s-5);width:100%;height:100%}.brand{display:inline-flex;align-items:center;gap:var(--s-2);text-decoration:none;flex-shrink:0}.brand__mark{width:32px;height:32px}.brand__word{font-size:19px;font-weight:700;color:var(--green-900);letter-spacing:-.01em}.brand__word em{font-style:normal;color:var(--sage-400)}.nav{display:none}@media (min-width: 768px){.nav{display:flex;align-self:stretch;align-items:stretch;gap:var(--s-1);flex:1}}.nav__item{display:flex}.nav__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:var(--s-2);padding:0 var(--s-3);font-size:16px;color:var(--ink-900);text-decoration:none;border-radius:var(--r-md);position:relative;transition:background-color .12s var(--ease-enter),color .12s var(--ease-enter)}.nav__link:after{content:"";position:absolute;left:var(--s-3);right:var(--s-3);bottom:0;height:2px;background:var(--green-900);border-radius:2px 2px 0 0;opacity:0;transition:opacity .12s var(--ease-enter)}.nav__link:hover,.nav__link:focus-visible,.nav__link[aria-expanded=true]{color:var(--green-900);background:var(--tint-50)}.nav__link[aria-expanded=true]:after,.nav__link[aria-current=page]:after{opacity:1}.nav__link[aria-current=page]{color:var(--green-900);font-weight:500}.nav__caret{flex:none;transition:transform .16s var(--ease-enter)}.nav__link[aria-expanded=true] .nav__caret{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.nav__link,.nav__link:after,.nav__caret{transition:none}}.megamenu{position:absolute;left:0;right:0;top:var(--header-h);max-height:420px;overflow-y:auto;background:var(--white);border-bottom:1px solid var(--sage-200);box-shadow:var(--shadow-lg);animation:rise .24s var(--ease-enter)}.megamenu__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);padding:var(--s-5) 0}.megamenu__heading{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-400);margin-bottom:var(--s-2)}.megamenu__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-1)}.megamenu__list a{display:block;padding:4px 0;font-size:15px;color:var(--ink-900);text-decoration:none}.megamenu__list a:hover{color:var(--green-900)}.megamenu__strip{background:var(--tint-50);border-radius:var(--r-md);padding:var(--s-3);margin-bottom:var(--s-4);font-size:14px}.megamenu__all{display:inline-block;margin-bottom:var(--s-5);color:var(--green-700);font-weight:500}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-5);border:1px solid transparent;border-radius:var(--r-md);font:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #0b4a1640}.btn[disabled]{background:var(--sage-200);color:var(--ink-400);cursor:not-allowed;border-color:transparent}.btn--primary{background:var(--green-900);color:var(--white)}.btn--primary:hover:not([disabled]){background:var(--green-950);color:var(--white)}.btn--secondary{background:var(--tint-50);border-color:var(--sage-200);color:var(--green-900)}.btn--secondary:hover{border-color:var(--green-900);color:var(--green-900)}.btn--ghost{background:transparent;color:var(--green-700)}.btn--danger{background:var(--red-600);color:var(--white)}.btn--block{width:100%}@media (min-width: 768px){.btn{min-height:40px}.btn--block{width:auto}}.field{margin-bottom:var(--s-4)}.field__label{display:block;margin-bottom:var(--s-1);font-size:14px;font-weight:500;color:var(--ink-600)}.field__hint{margin-top:var(--s-1);font-size:14px;color:var(--ink-400)}.field__error{margin-top:var(--s-1);font-size:14px;color:var(--red-600)}.input,.select,.textarea{width:100%;min-height:44px;padding:var(--s-2) var(--s-3);font:inherit;color:var(--ink-900);background:var(--white);border:1px solid var(--sage-200);border-radius:var(--r-sm)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--green-700);box-shadow:0 0 0 3px #0b4a1640}.textarea{min-height:160px;resize:vertical;font-family:var(--font-mono);font-size:14px}.input-affix{position:relative;display:flex;align-items:center}.input-affix__prefix,.input-affix__suffix{position:absolute;color:var(--ink-400);font-size:15px;pointer-events:none}.input-affix__prefix{left:var(--s-3)}.input-affix__suffix{right:var(--s-3)}.input-affix:has(.input-affix__prefix) .input{padding-left:var(--s-6)}.input-affix:has(.input-affix__suffix) .input{padding-right:var(--s-7)}.range{width:100%;accent-color:var(--green-900);margin-top:var(--s-2)}.range__bounds{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-400)}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--s-3);width:100%;min-height:180px;padding:var(--s-5);text-align:center;background:var(--tint-50);border:2px dashed var(--sage-200);border-radius:var(--r-lg);font:inherit;color:var(--ink-900);cursor:pointer;transition:border-color .15s ease-out,background-color .15s ease-out,transform .15s ease-out}.dropzone:focus-visible{outline:none;box-shadow:0 0 0 3px #0b4a1640}.dropzone.is-dragover{border-style:solid;border-color:var(--green-900);background:#0b4a160a;transform:scale(1.01)}.dropzone__icon{width:40px;height:40px;color:var(--green-900)}.dropzone__title{font-size:17px;font-weight:600;color:var(--green-900)}.dropzone__meta{font-size:14px;color:var(--ink-600)}.dropzone__privacy{font-size:12px;font-weight:500;color:var(--green-700)}@media (min-width: 768px){.dropzone{min-height:220px}}.result{margin-top:var(--s-5);padding:var(--s-5);background:var(--tint-50);border-radius:var(--r-lg);box-shadow:var(--shadow-md);animation:result-in .24s var(--ease-enter)}.result__status{display:flex;align-items:center;gap:var(--s-2);font-weight:600;color:var(--green-500);margin-bottom:var(--s-3)}.result__body{display:flex;gap:var(--s-4);align-items:center;flex-wrap:wrap}.result__thumb{width:64px;height:64px;object-fit:cover;border-radius:var(--r-sm);background:var(--white)}.result__saving{color:var(--green-700);font-weight:600}.result__actions{display:flex;gap:var(--s-3);margin-top:var(--s-4);flex-wrap:wrap}@keyframes result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.calc-result{padding:var(--s-5);background:var(--tint-50);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.calc-result__label{font-size:14px;color:var(--ink-600);margin-bottom:var(--s-1)}.calc-result__headline{font-size:30px;font-weight:700;color:var(--green-900);line-height:1.15;transition:opacity .12s ease-out}.calc-result__rows{list-style:none;margin:var(--s-4) 0 0;padding:var(--s-4) 0 0;border-top:1px solid var(--sage-200);display:grid;gap:var(--s-2)}.calc-result__row{display:flex;justify-content:space-between;gap:var(--s-4);font-size:15px}.calc-result__row--emphasis{font-weight:600;color:var(--green-900)}.calc-result__actions{display:flex;gap:var(--s-2);margin-top:var(--s-4);flex-wrap:wrap}@media (min-width: 768px){.calc-result__headline{font-size:40px}}.schedule{width:100%;border-collapse:collapse;font-size:14px}.schedule th,.schedule td{padding:var(--s-2) var(--s-3);text-align:right;border-bottom:1px solid var(--sage-200)}.schedule th:first-child,.schedule td:first-child{text-align:left}.schedule thead th{color:var(--ink-600);font-weight:500}.table-scroll{overflow-x:auto}.qr-form{display:grid;gap:0}.qr-form .field:last-of-type{margin-bottom:var(--s-3)}.qr-form__row{display:grid;gap:var(--s-3);grid-template-columns:1fr}@media (min-width: 560px){.qr-form__row{grid-template-columns:1fr 1fr}}.qr-colours{margin:var(--s-4) 0 0;padding:var(--s-4);border:1px solid var(--sage-200);border-radius:var(--r-md);background:var(--tint-50)}.qr-colours legend{padding:0 var(--s-2)}.qr-colours__grid{display:flex;flex-wrap:wrap;gap:var(--s-4);align-items:flex-end}.qr-colours__grid .select{max-inline-size:320px}.qr-swatch{display:inline-flex;flex-direction:column;gap:var(--s-1);cursor:pointer}.qr-swatch input[type=color]{inline-size:44px;block-size:44px;padding:2px;border:1px solid var(--sage-200);border-radius:var(--r-sm);background:var(--white);cursor:pointer}.qr-swatch input[type=color]::-webkit-color-swatch-wrapper{padding:0}.qr-swatch input[type=color]::-webkit-color-swatch{border:0;border-radius:2px}.qr-swatch input[type=color]::-moz-color-swatch{border:0;border-radius:2px}.qr-swatch input[type=color]:focus-visible{outline:none;border-color:var(--green-700);box-shadow:0 0 0 3px #0b4a1640}.qr-swatch__label{order:-1;font-size:14px;font-weight:500;color:var(--ink-600)}.qr-output{margin-top:var(--s-5)}.qr-output__frame{display:grid;place-items:center;min-block-size:320px;padding:var(--s-5);background:var(--tint-50);border:1px solid var(--sage-200);border-radius:var(--r-md)}.qr-output__frame canvas{inline-size:100%;max-inline-size:280px;block-size:auto;border-radius:var(--r-sm)}.qr-output__frame canvas[hidden]{display:none}.qr-output__empty{margin:0;font-size:14px;color:var(--ink-400);text-align:center}.qr-output__actions{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;margin-top:var(--s-4)}.qr-output [data-qr-contrast]{margin-top:var(--s-3)}.card{display:block;padding:var(--s-4);background:var(--white);border:1px solid var(--sage-200);border-radius:var(--r-md);text-decoration:none;color:inherit;transition:box-shadow .15s ease-out,border-color .15s ease-out}.card:hover{box-shadow:var(--shadow-md);border-color:var(--green-900)}.card__title{font-weight:600;color:var(--green-900);margin-bottom:var(--s-1)}.card__meta{font-size:14px;color:var(--ink-600)}.grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(2,minmax(0,1fr))}.grid--1{grid-template-columns:1fr}@media (min-width: 768px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}.faq{background:var(--tint-50);border-radius:var(--r-md);padding:var(--s-2) var(--s-4);margin-bottom:var(--s-2)}.faq__question{display:flex;justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) 0;font:inherit;font-size:17px;font-weight:600;color:var(--green-900);text-align:left;background:none;border:0;cursor:pointer}.faq__chevron{transition:transform .2s ease-out;flex-shrink:0}.faq__question[aria-expanded=true] .faq__chevron{transform:rotate(180deg)}.faq__answer{padding-bottom:var(--s-3);color:var(--ink-900)}.disclaimer{display:flex;gap:var(--s-3);margin-top:var(--s-5);padding:var(--s-4);background:var(--tint-50);border:1px solid var(--sage-200);border-radius:var(--r-md);font-size:14px;color:var(--ink-900)}.disclaimer__icon{color:var(--amber-500);flex-shrink:0}.notice{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:14px;margin-bottom:var(--s-4)}.notice--info{background:var(--tint-50);border:1px solid var(--sage-200)}.notice--warning{background:#fdf6e7;border:1px solid var(--amber-500);color:#6b4708}.notice--error{background:#fef3f2;border:1px solid var(--red-600);color:var(--red-600)}.breadcrumbs{font-size:14px;color:var(--ink-600);margin:var(--s-4) 0}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0}.breadcrumbs li:after{content:"›";margin-left:var(--s-2);color:var(--ink-400)}.breadcrumbs li:last-child:after{content:none}.breadcrumbs [aria-current]{color:var(--ink-900)}.meta-line{font-size:14px;color:var(--ink-600);margin-top:var(--s-5)}.source-line{font-size:14px;color:var(--ink-600)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--s-2);font-size:12px;font-weight:500;border-radius:var(--r-full);background:var(--tint-50);color:var(--green-700);border:1px solid var(--sage-200)}.ad-slot{display:flex;align-items:center;justify-content:center;margin:var(--s-5) 0;background:var(--tint-50);border-radius:var(--r-md);overflow:hidden}.ad-slot:before{content:"Advertisement";font-size:11px;color:var(--ink-400);letter-spacing:.04em}.ad-slot--has-ad:before{content:none}.ad-slot[data-placement=sidebar_top]{min-height:250px}.ad-slot[data-placement=sidebar_sticky]{min-height:600px}.ad-slot[data-placement=after_result],.ad-slot[data-placement=before_related]{min-height:280px}@media (min-width: 768px){.ad-slot[data-placement=after_result],.ad-slot[data-placement=before_related]{min-height:90px}}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--white);border-top:1px solid var(--sage-200)}.tabbar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--ink-400);text-decoration:none;background:none;border:0;cursor:pointer}.tabbar__item[aria-current=page]{color:var(--green-900);font-weight:600}@media (min-width: 768px){.tabbar{display:none}}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;background:var(--white)}.search-overlay[hidden]{display:none}.search-overlay__box{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--sage-200)}.search-overlay__input{flex:1;border:0;font-size:17px;outline:none;color:var(--ink-900);background:transparent}.search-overlay__results{flex:1;overflow-y:auto;padding:var(--s-2) 0;margin:0;list-style:none}.search-overlay__result{display:flex;justify-content:space-between;gap:var(--s-4);padding:var(--s-3) var(--s-4);text-decoration:none;color:var(--ink-900)}.search-overlay__result:hover,.search-overlay__result.is-active{background:var(--tint-50)}.search-overlay__result mark{background:none;color:var(--green-700);font-weight:600}.search-overlay__cat{font-size:14px;color:var(--ink-400);white-space:nowrap}.search-overlay__hint{padding:var(--s-3) var(--s-4);border-top:1px solid var(--sage-200);font-size:12px;color:var(--ink-400)}@media (min-width: 768px){.search-overlay{inset:10vh auto auto 50%;transform:translate(-50%);width:640px;max-height:70vh;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--sage-200)}.search-overlay__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#12201a4d}}.hero{background:var(--tint-50);padding:var(--s-7) 0;text-align:center}.hero__title{font-size:30px;font-weight:700;color:var(--green-900)}.hero__tagline{letter-spacing:.18em;font-size:14px;color:var(--ink-600);text-transform:lowercase;margin-bottom:var(--s-5)}.hero__search{max-width:560px;margin-inline:auto}.hero__popular{margin-top:var(--s-4);font-size:14px;color:var(--ink-600)}@media (min-width: 768px){.hero{padding:var(--s-8) 0}.hero__title{font-size:40px}}.section{margin:var(--s-7) 0}.section__title{margin-bottom:var(--s-4)}.prose{max-width:68ch}.prose table{width:100%;border-collapse:collapse;font-size:15px;margin-bottom:var(--s-4)}.prose th,.prose td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--sage-200);text-align:left}.prose thead th{color:var(--ink-600);font-weight:600}.footer{background:var(--green-900);color:var(--white);padding:var(--s-7) 0 var(--s-8);margin-top:var(--s-8)}.footer a{color:var(--sage-400);text-decoration:none}.footer a:hover{color:var(--white);text-decoration:underline}.footer__grid{display:grid;gap:var(--s-5);grid-template-columns:1fr}.footer__heading{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--sage-400);margin-bottom:var(--s-2)}.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:15px}@media (min-width: 768px){.footer__grid{grid-template-columns:repeat(4,1fr)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.is-processing .bolt{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:0ms!important;scroll-behavior:auto!important}}@media print{.site-header,.tabbar,.ad-slot,.layout__aside,.footer,.no-print{display:none!important}body{font-size:12pt}.calc-result{box-shadow:none;border:1px solid #ccc}a[href]:after{content:" (" attr(href) ")";font-size:9pt;color:#555}}
