/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.rounded{border-radius:.25rem}.object-contain{object-fit:contain}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:light dark;--paper:#faf8f3;--paper-raised:#fff;--ink:#172030;--ink-soft:#586173;--rule:#e8e3d7;--accent:#b45309;--accent-contrast:#fff;--sun:#f7c52b;--sun-strong:#eeb30e;--sun-ink:#1b1f27;--dawn:#fff4d6;--dusk:#fde3b4;--syntax-comment:#787d86;--syntax-punctuation:#676c74;--syntax-keyword:#9c3382;--syntax-string:#37702f;--syntax-literal:#a8431d;--syntax-function:#2a5aa8;--syntax-variable:#7d5410;--color-bg:var(--paper);--color-surface:var(--paper-raised);--color-text:var(--ink);--color-text-muted:var(--ink-soft);--color-border:var(--rule);--color-accent:var(--accent);--color-accent-contrast:var(--accent-contrast);--color-accent-wash:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--color-accent-wash:color-mix(in oklab, var(--accent) 8%, transparent)}}:root{--color-sun:var(--sun);--color-sun-strong:var(--sun-strong);--color-sun-ink:var(--sun-ink);--color-sun-wash:var(--sun)}@supports (color:color-mix(in lab, red, red)){:root{--color-sun-wash:color-mix(in oklab, var(--sun) 22%, transparent)}}:root{--color-hero-from:var(--dawn);--color-hero-to:var(--dusk);--color-syntax-comment:var(--syntax-comment);--color-syntax-punctuation:var(--syntax-punctuation);--color-syntax-keyword:var(--syntax-keyword);--color-syntax-string:var(--syntax-string);--color-syntax-literal:var(--syntax-literal);--color-syntax-function:var(--syntax-function);--color-syntax-variable:var(--syntax-variable);--text-xs:.79rem;--text-sm:.889rem;--text-base:clamp(1rem, .97rem + .16vw, 1.125rem);--text-lg:clamp(1.2rem, 1.15rem + .28vw, 1.35rem);--text-xl:clamp(1.44rem, 1.34rem + .5vw, 1.7rem);--text-2xl:clamp(1.73rem, 1.55rem + .88vw, 2.15rem);--text-3xl:clamp(2.07rem, 1.76rem + 1.5vw, 2.75rem);--text-hero:clamp(2.2rem, 1.6rem + 2.6vw, 3.4rem);--measure:68ch;--header-height:4.75rem;--sidebar-width:15rem;--shell-width:76rem;--gutter:clamp(1rem, .6rem + 2vw, 2.5rem);--flow:1.25em;--radius:10px;--radius-lg:16px;--shadow-sm:0 1px 2px var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-sm:0 1px 2px color-mix(in oklab, var(--ink) 8%, transparent)}}:root{--shadow-md:0 1px 2px var(--ink), 0 12px 28px -12px var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-md:0 1px 2px color-mix(in oklab, var(--ink) 6%, transparent), 0 12px 28px -12px color-mix(in oklab, var(--ink) 22%, transparent)}}@media (prefers-color-scheme:dark){:root{--paper:#0e1116;--paper-raised:#161a22;--ink:#eceef2;--ink-soft:#9aa3b2;--rule:#273040;--accent:#fbbf24;--accent-contrast:#1b1406;--sun:#f7c52b;--sun-strong:#ffd34d;--sun-ink:#1b1f27;--dawn:#1c1a14;--dusk:#2a2010;--syntax-comment:#737a86;--syntax-punctuation:#939aa6;--syntax-keyword:#e08cd0;--syntax-string:#92cf87;--syntax-literal:#f2a07a;--syntax-function:#85b0ef;--syntax-variable:#dcb272}}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-inter);--font-heading:var(--font-outfit), var(--font-inter);font-size:var(--text-base);text-align:left;text-underline-offset:.18em;word-wrap:break-word;overflow-wrap:break-word;-webkit-font-smoothing:antialiased;margin:0;padding:0;line-height:1.65}main{inline-size:100%;max-inline-size:var(--measure);padding:clamp(2rem, 5vw, 4rem) var(--gutter);margin-inline:auto}::selection{background:var(--color-accent);color:var(--color-accent-contrast)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:3px}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-family:var(--font-heading);letter-spacing:-.015em;text-wrap:balance;margin:0 0 .5rem;font-weight:700;line-height:1.15}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm);color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}p{margin-block:0 var(--flow)}strong,b{font-weight:700}small{font-size:var(--text-sm);color:var(--color-text-muted)}a{color:var(--color-accent);text-decoration-thickness:1px}a:hover{color:var(--color-accent);text-decoration-thickness:2px}ul,ol{padding-inline-start:1.4em}li+li{margin-block-start:.35em}.prose{font-size:var(--text-lg);line-height:1.7}.prose p{margin-bottom:var(--flow)}.prose>*+h2,.prose>*+h3{margin-block-start:2em}.prose h2{border-block-end:1px solid var(--color-border);padding-block-end:.3em}img{border-radius:var(--radius);max-width:100%;height:auto}figure{margin:0 0 var(--flow)}figcaption{color:var(--color-text-muted);font-size:var(--text-sm);margin-block-start:.6em}address{font-style:normal;line-height:1.7}blockquote{margin:var(--flow) 0;border-inline-start:2px solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--color-accent-wash);font-size:var(--text-lg);padding:.8em 1.2em}blockquote>:last-child{margin-block-end:0}.callout{border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent-wash);margin-block:1.5rem;padding:1rem 1.25rem}.callout>:last-child{margin-block-end:0}hr{border:none;border-block-start:1px solid var(--color-border);margin-block:2.5em}code{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:4px;padding:.15em .4em;font-size:.9em}pre{border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);font-size:var(--text-sm);padding:1.25em 1.4em;line-height:1.6;overflow-x:auto}pre>code{all:unset}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:var(--color-syntax-comment);font-style:italic}.token.punctuation{color:var(--color-syntax-punctuation)}.token.namespace{opacity:.7}.token.property,.token.tag,.token.symbol,.token.deleted,.token.keyword,.token.atrule,.token.title{color:var(--color-syntax-keyword)}.token.boolean,.token.number,.token.constant,.token.regex,.token.important{color:var(--color-syntax-literal)}.token.selector,.token.attr-name,.token.attr-value,.token.string,.token.char,.token.builtin,.token.inserted{color:var(--color-syntax-string)}.token.operator,.token.entity,.token.url,.token.variable{color:var(--color-syntax-variable)}.token.function,.token.class-name{color:var(--color-syntax-function)}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th,td{border-block-end:1px solid var(--color-border);text-align:start;padding:.55em .7em}th{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-weight:700}input,textarea,select,button{font:inherit;font-size:max(16px, var(--text-sm))}input,textarea,select{border:1px solid var(--color-border);border-radius:var(--radius);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:.6em .75em}button{cursor:pointer}.shell{gap:var(--gutter);max-inline-size:var(--shell-width);padding:clamp(2rem, 5vw, 3.5rem) var(--gutter);grid-template-columns:minmax(0,1fr);margin-inline:auto;display:grid}.shell>main{inline-size:100%;min-inline-size:0;max-inline-size:var(--measure);margin-inline:0;padding:0}.shell[data-wide]>main{max-inline-size:none}@media (width>=60rem){.shell{grid-template-columns:minmax(0, 1fr) var(--sidebar-width);gap:clamp(2rem,4vw,4rem)}.shell .rail{align-self:start;position:sticky;inset-block-start:2rem}}.site-header{z-index:20;padding:0 var(--gutter);background:var(--color-surface);position:sticky;inset-block-start:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklab, var(--color-surface) 92%, transparent)}}.site-header{border-block-end:1px solid var(--color-border);backdrop-filter:blur(8px)}.site-header .bar{max-inline-size:var(--shell-width);min-block-size:var(--header-height);align-items:center;gap:1rem;margin-inline:auto;display:flex}.site-header .brand{color:var(--color-text);align-items:center;gap:.6rem;text-decoration:none;display:flex}.site-header .brand-mark{color:var(--color-sun-strong);stroke-width:2.2px;flex:none}.site-header .brand-text{flex-direction:column;line-height:1.1;display:flex}.site-header .brand-name{font-family:var(--font-heading);font-size:var(--text-xl);letter-spacing:-.02em;font-weight:700}.site-header .brand-tagline{color:var(--color-text-muted);font-size:var(--text-xs);display:none}.site-header .main-nav{flex-wrap:nowrap;gap:.1rem;margin-inline:auto;display:none}.site-header .main-nav a,.site-header .mobile-menu nav a{white-space:nowrap;border-radius:var(--radius);color:var(--color-text);font-size:var(--text-sm);padding:.5em .55em;text-decoration:none}.site-header .main-nav a:hover,.site-header .mobile-menu nav a:hover{background:var(--color-sun-wash)}.site-header a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--color-sun);font-weight:700}.site-header .actions{align-items:center;gap:.6rem;margin-inline-start:auto;display:flex}.site-header .search-link{background:var(--color-bg);block-size:2.6rem;inline-size:2.6rem;color:var(--color-text);border-radius:50%;place-items:center;display:grid}.site-header .search-link:hover{background:var(--color-sun-wash)}.site-header .cta{display:none}.site-header .mobile-menu{position:relative}.site-header .mobile-menu summary{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;place-items:center;block-size:2.6rem;inline-size:2.6rem;list-style:none;display:grid}.site-header .mobile-menu summary::-webkit-details-marker{display:none}.site-header .mobile-menu[open] summary{background:var(--color-sun-wash)}.site-header .mobile-menu nav{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-inline-size:15rem;box-shadow:var(--shadow-md);flex-direction:column;padding:.5rem;display:flex;position:absolute;inset-block-start:calc(100% + .6rem);inset-inline-end:0}.site-header .mobile-menu nav a{font-size:var(--text-base);padding:.75em .9em}@media (width>=40rem){.site-header .brand-tagline{display:block}.site-header .cta{display:inline-flex}}@media (width>=76rem){.site-header .main-nav{display:flex}.site-header .mobile-menu{display:none}}.sidebar{font-size:var(--text-sm);flex-direction:column;gap:2rem;display:flex}.sidebar h2{border-block-end:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;padding-block-end:.4rem;font-weight:700}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar li+li{margin-block-start:.55rem}.sidebar .nav-list a,.sidebar .post-list a{color:var(--color-text);text-decoration:none}.sidebar .nav-list a:hover,.sidebar .post-list a:hover{color:var(--color-accent);text-decoration:underline}.sidebar .nav-list a[aria-current=page]{color:var(--color-accent);font-weight:700}.sidebar .post-list li{flex-direction:column;gap:.15rem;line-height:1.35;display:flex}.sidebar .post-list li+li{margin-block-start:.9rem}.sidebar .meta{color:var(--color-text-muted);font-size:var(--text-xs);margin:0}.sidebar .sidebar-cta{border-radius:var(--radius-lg);background:var(--color-sun-wash);color:var(--color-text);gap:.75rem;padding:1rem;text-decoration:none;display:flex}.sidebar .sidebar-cta svg{color:var(--color-accent);flex:none}.sidebar .sidebar-cta strong{display:block}.sidebar .sidebar-cta:hover strong{color:var(--color-accent)}@media (width<=60rem){.sidebar{border-block-start:1px solid var(--color-border);padding-block-start:2rem}}.site-footer{padding:3rem var(--gutter) 2rem;border-block-start:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-sm);margin-block-start:4rem}.site-footer .inner{max-inline-size:var(--shell-width);margin-inline:auto}.site-footer .columns{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:2rem;display:grid}.site-footer .brand{grid-column:1/-1}.site-footer .brand-name{font-family:var(--font-heading);color:var(--color-text);font-size:var(--text-lg);letter-spacing:-.02em;align-items:center;gap:.5rem;margin:0;font-weight:700;display:flex}.site-footer .brand-name svg{color:var(--color-sun-strong)}.site-footer .brand-tagline{max-inline-size:40ch;margin:.3rem 0 0}.site-footer .brand-note{max-inline-size:46ch;font-size:var(--text-xs);margin:.8rem 0 0}.site-footer .brand-note a{text-decoration:underline}.site-footer h2{color:var(--color-text);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .7rem;font-weight:700}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-block-start:.5rem}.site-footer a{color:var(--color-text-muted);text-decoration:none}.site-footer a:hover{color:var(--color-accent);text-decoration:underline}.site-footer .baseline{border-block-start:1px solid var(--color-border);font-size:var(--text-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1.5rem;margin-block-start:2.5rem;padding-block-start:1.5rem;display:flex}.site-footer .baseline p{margin:0}@media (width>=60rem){.site-footer .columns{grid-template-columns:2fr repeat(3,1fr)}.site-footer .brand{grid-column:auto}}.lead{color:var(--color-text-muted);font-size:var(--text-lg)}.latest{border-block-start:1px solid var(--color-border);margin-block-start:3rem;padding-block-start:1.5rem}.latest .latest-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.latest .latest-head h2{margin:0}.latest .latest-head a{font-size:var(--text-sm)}.latest ul{margin:1.5rem 0 0;padding:0;list-style:none}.latest li+li{border-block-start:1px solid var(--color-border);margin-block-start:1.25rem;padding-block-start:1.25rem}.latest li>a{align-items:flex-start;gap:1rem;text-decoration:none;display:flex}.latest .thumb{border-radius:var(--radius);flex:none;block-size:auto;inline-size:9rem;transition:box-shadow .2s}.latest .text{min-inline-size:0;display:block}.latest .title{color:var(--color-text);font-size:var(--text-lg);font-weight:700;line-height:1.25;display:block}.latest .date{color:var(--color-text-muted);font-size:var(--text-sm);margin-block-start:.15rem;display:block}.latest .excerpt{color:var(--color-text-muted);font-size:var(--text-sm);margin-block-start:.35rem;display:block}.latest li>a:hover .title{color:var(--color-accent);text-decoration:underline}.latest li>a:hover .thumb{box-shadow:var(--shadow-md)}@media (width<=30rem){.latest li>a{flex-direction:column}.latest .thumb{inline-size:100%}}.page-about h1{margin-block-end:1em}.page-404 .code{color:var(--color-text-muted);font-size:var(--text-2xl);margin-block-end:.25rem;font-weight:700;line-height:1}.page-404 h1{margin-block-start:0}.page-policy .updated{color:var(--color-text-muted);font-size:var(--text-sm)}.contact-form{max-inline-size:var(--measure);gap:.5rem;display:grid}.contact-form label{font-weight:700}.contact-form button{border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);border:0;justify-self:start;margin-block-start:.5rem;padding:.6em 1.25em}.contact-form button:disabled{opacity:.5;cursor:not-allowed}.sr-only{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.button-sun{background:var(--color-sun);color:var(--color-sun-ink);white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45em;padding:.7em 1.2em;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.button-sun:hover{background:var(--color-sun-strong);color:var(--color-sun-ink)}.button-sun.wide{border-radius:var(--radius);inline-size:100%}.text-link{align-items:center;gap:.35em;font-weight:700;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.kicker{color:var(--color-accent);font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .4rem;font-weight:700}.muted{color:var(--color-text-muted)}.page-head{margin-block-end:2rem}.page-head h1{margin-block-end:.75rem}.page-head .lead{max-inline-size:var(--measure)}.breadcrumbs{color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:.4rem;margin-block-end:1.25rem;display:flex}.breadcrumbs a{color:var(--color-text-muted)}.segments{border:0;grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.4rem;margin:0 0 1rem;padding:0;display:grid}.segments legend{font-size:var(--text-sm);margin-block-end:.4rem;font-weight:700}.segments label{position:relative}.segments input{opacity:0;cursor:pointer;block-size:100%;inline-size:100%;margin:0;position:absolute;inset:0}.segments span{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);font-size:var(--text-sm);justify-content:center;align-items:center;gap:.4em;padding:.6em .5em;display:flex}.segments input:checked+span{border-color:var(--color-sun-strong);background:var(--color-sun);color:var(--color-sun-ink);font-weight:700}.segments input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:2px}.fields{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.9rem 1rem;display:grid}.fields label{font-size:var(--text-sm);flex-direction:column;justify-content:flex-end;gap:.35rem;display:flex}.fields input,.fields select{font-size:max(16px, var(--text-sm))}.guide-cards{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.guide-cards li+li{margin-block-start:0}.guide-cards a{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);block-size:100%;color:var(--color-text);flex-direction:column;gap:.4rem;padding:1.25rem;text-decoration:none;transition:box-shadow .2s,border-color .2s;display:flex}.guide-cards a:hover{border-color:var(--color-sun-strong);box-shadow:var(--shadow-md)}.guide-cards .kicker{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:700}.guide-cards .title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;line-height:1.25}.guide-cards a:hover .title{color:var(--color-accent)}.guide-cards .text{color:var(--color-text-muted);font-size:var(--text-sm)}.guide-cards .meta{color:var(--color-text-muted);font-size:var(--text-xs);margin-block-start:auto;padding-block-start:.5rem}main.page-full{max-inline-size:none;padding:0}.page-container{max-inline-size:var(--shell-width);padding:clamp(2rem, 5vw, 3.5rem) var(--gutter) 0;margin-inline:auto}.home-hero{padding:clamp(2rem, 5vw, 4.5rem) var(--gutter);background:radial-gradient(60rem 30rem at 85% 0%, var(--color-sun-wash), transparent 70%), linear-gradient(160deg, var(--color-hero-from), var(--color-hero-to));border-block-end:1px solid var(--color-border)}.home-hero .inner{max-inline-size:var(--shell-width);align-items:center;gap:2.5rem;margin-inline:auto;display:grid}.home-hero h1{max-inline-size:16ch;font-size:var(--text-hero);letter-spacing:-.025em;margin-block-end:1rem;line-height:1.05}.home-hero .lead{max-inline-size:48ch;color:var(--color-text);font-size:var(--text-lg)}.home-hero .points{margin:1.5rem 0 0;padding:0;list-style:none}.home-hero .points li{align-items:center;gap:.65rem;display:flex}.home-hero .points li+li{margin-block-start:.6rem}.home-hero .tick{background:var(--color-sun);block-size:1.4rem;inline-size:1.4rem;color:var(--color-sun-ink);stroke-width:3px;border-radius:50%;flex:none;place-items:center;display:grid}.home-hero .tick svg{stroke-width:3px}@media (width>=60rem){.home-hero .inner{grid-template-columns:1.1fr 1fr;gap:3rem}}.hero-calc{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);padding:clamp(1.25rem,3vw,2rem)}.hero-calc h2{font-size:var(--text-2xl);margin-block-end:.25rem}.hero-calc .intro{color:var(--color-text-muted);font-size:var(--text-sm);margin-block-end:1.25rem}.hero-calc .fields{margin-block-end:1.25rem}.hero-calc .note{color:var(--color-text-muted);font-size:var(--text-xs);justify-content:center;align-items:center;gap:.4rem;margin:.75rem 0 0;display:flex}.home-section{max-inline-size:var(--shell-width);padding:clamp(2rem, 5vw, 3.5rem) var(--gutter) 0;margin-inline:auto}.home-section .section-head{margin-block-end:1.5rem}.section-head h2{align-items:center;gap:.5rem;margin-block-end:.25rem;display:flex}.section-head p{color:var(--color-text-muted);margin:0}.section-head.split{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1.5rem;display:flex}.tool-cards{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.tool-cards li+li{margin-block-start:0}.tool-cards a{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);block-size:100%;color:var(--color-text);flex-direction:column;text-decoration:none;transition:box-shadow .2s;display:flex;overflow:hidden}.tool-cards a:hover{box-shadow:var(--shadow-md)}.tool-cards .art{background:radial-gradient(14rem 6rem at 80% 10%, var(--color-sun-wash), transparent), linear-gradient(140deg, var(--color-hero-from), var(--color-hero-to));block-size:5.5rem;position:relative}.tool-cards .badge{border:3px solid var(--color-surface);background:var(--color-sun);block-size:3.4rem;inline-size:3.4rem;color:var(--color-sun-ink);border-radius:50%;place-items:center;display:grid;position:absolute;inset-block-end:-1.6rem;inset-inline-start:1.25rem}.tool-cards .body{flex-direction:column;flex:1;gap:.4rem;padding:2.25rem 1.25rem 1.25rem;display:flex}.tool-cards .title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:700}.tool-cards .text{color:var(--color-text-muted);font-size:var(--text-sm)}.tool-cards .more{color:var(--color-accent);align-items:center;gap:.35em;margin-block-start:auto;padding-block-start:.5rem;font-weight:700;display:inline-flex}.process{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.process li+li{margin-block-start:0}.process a{border-radius:var(--radius-lg);block-size:100%;color:var(--color-text);flex-direction:column;gap:.2rem;padding:.85rem .75rem;text-decoration:none;display:flex}.process a:hover{background:var(--color-surface);box-shadow:var(--shadow-sm)}.process .step-top{align-items:center;gap:.6rem;margin-block-end:.4rem;display:flex}.process .num{background:var(--color-sun);block-size:1.8rem;inline-size:1.8rem;color:var(--color-sun-ink);font-size:var(--text-sm);border-radius:50%;place-items:center;font-weight:700;display:grid}.process .step-icon{color:var(--color-text-muted)}.process .title{font-weight:700}.process .text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.4}@media (width>=40rem){.process{grid-template-columns:repeat(4,minmax(0,1fr))}}.category-grid{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.category-grid li+li{margin-block-start:0}.category-grid a{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);block-size:100%;color:var(--color-text);grid-template-columns:auto 1fr;gap:.25rem .9rem;padding:1.25rem;text-decoration:none;display:grid}.category-grid a:hover{border-color:var(--color-sun-strong)}.category-grid .icon{border-radius:var(--radius);background:var(--color-sun-wash);block-size:2.75rem;inline-size:2.75rem;color:var(--color-accent);grid-row:span 3;place-items:center;display:grid}.category-grid .title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700}.category-grid a:hover .title{color:var(--color-accent)}.category-grid .text{color:var(--color-text-muted);font-size:var(--text-sm)}.category-grid .count{color:var(--color-text-muted);font-size:var(--text-xs)}.trust{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);gap:1.25rem;padding:clamp(1.5rem,4vw,2.5rem);display:flex}.trust .trust-icon{color:var(--color-accent);flex:none}.trust p{max-inline-size:var(--measure);color:var(--color-text-muted)}.hub .hub-head{align-items:flex-start;gap:1rem;margin-block-end:2rem;display:flex}.hub .hub-icon{border-radius:var(--radius-lg);background:var(--color-sun);block-size:3.5rem;inline-size:3.5rem;color:var(--color-sun-ink);flex:none;place-items:center;display:grid}.hub .hub-head h1{margin-block-end:.4rem}.hub .hub-tools{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-block-start:2.5rem;display:grid}.hub .hub-tools a{border-radius:var(--radius-lg);background:var(--color-sun-wash);color:var(--color-text);font-size:var(--text-sm);gap:.75rem;padding:1rem 1.25rem;text-decoration:none;display:flex}.hub .hub-tools svg{color:var(--color-accent);flex:none}.hub .hub-tools strong{font-size:var(--text-base);display:block}.hub .guide-section+.guide-section{margin-block-start:2.5rem}.hub .section-head{border-block-end:1px solid var(--color-border);margin-block-end:1rem;padding-block-end:.5rem}.hub .link-list{margin:0;padding:0;list-style:none}.hub .link-list li{flex-direction:column;display:flex}.hub .link-list li+li{margin-block-start:.9rem}.hub .link-list a{font-weight:700}.hub .link-list span{color:var(--color-text-muted);font-size:var(--text-sm)}.hub .tool-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.hub .tool-list li+li{margin-block-start:0}.hub .tool-list a{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);gap:1rem;padding:1.25rem;text-decoration:none;display:flex}.hub .tool-list a:hover{border-color:var(--color-sun-strong)}.hub .tool-list .badge{background:var(--color-sun);block-size:3rem;inline-size:3rem;color:var(--color-sun-ink);border-radius:50%;flex:none;place-items:center;display:grid}.hub .tool-list .title{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:700;display:block}.hub .tool-list .text{color:var(--color-text-muted);font-size:var(--text-sm);display:block}.guide .guide-head{margin-block-end:2rem}.guide .guide-head .lead{margin-block-end:1rem}.guide .byline{border-block:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding-block:.75rem;display:flex}.guide .toc{border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);font-size:var(--text-sm);margin-block-end:2rem;padding:1rem 1.25rem}.guide .toc p{margin:0 0 .4rem;font-weight:700}.guide .toc ol{margin:0}.guide .prose table{margin-block-end:var(--flow);display:block;overflow-x:auto}.guide .sources,.guide .next-steps{border-radius:var(--radius-lg);margin-block-start:2.5rem;padding:1.25rem 1.5rem}.guide .sources{border:1px solid var(--color-border);font-size:var(--text-sm)}.guide .next-steps{background:var(--color-sun-wash)}.guide .sources h2,.guide .next-steps h2{font-size:var(--text-lg)}.guide .sources ul,.guide .next-steps ul{margin:0;padding:0;list-style:none}.guide .next-steps a{color:var(--color-text);align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.guide .next-steps a:hover{color:var(--color-accent)}.guide .next-steps svg{color:var(--color-accent);flex:none}.guide .guide-footnote{color:var(--color-text-muted);font-size:var(--text-sm);margin-block-start:2rem}.calc-page .calc-grid{align-items:start;gap:1.5rem;display:grid}.calc-page .calc-form,.calc-page .calc-results{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:clamp(1.25rem,3vw,1.75rem)}.calc-page .calc-form>.fields{margin-block-end:1rem}.calc-page .advanced{border-block-start:1px solid var(--color-border);margin-block-end:1.25rem;padding-block-start:.5rem}.calc-page .advanced summary{font-size:var(--text-sm);cursor:pointer;padding-block:.5rem;font-weight:700}.calc-page .advanced .fields{margin-block-start:.5rem}.calc-page .calc-results h2{font-size:var(--text-xl)}.calc-page .calc-results h3{font-size:var(--text-base);margin-block-start:1.5rem}.calc-page .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.calc-page .stat{border-radius:var(--radius);background:var(--color-bg);padding:.85rem 1rem}.calc-page .stat.highlight{background:var(--color-sun-wash)}.calc-page .stat.wide{grid-column:1/-1}.calc-page .stat dt{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.calc-page .stat dd{font-family:var(--font-heading);font-size:var(--text-lg);flex-direction:column;margin:.2rem 0 0;font-weight:700;line-height:1.25;display:flex}.calc-page .stat small{font-family:var(--font-inter);font-size:var(--text-xs);font-weight:400}.calc-page .roof-note{color:var(--color-text-muted);font-size:var(--text-sm);margin:1rem 0 0}.calc-page .month-bars{grid-template-columns:repeat(12,minmax(0,1fr));gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.calc-page .month-bars li+li{margin-block-start:0}.calc-page .month-bars li{flex-direction:column;align-items:center;gap:.25rem;display:flex}.calc-page .bar-track{align-items:flex-end;block-size:7rem;inline-size:100%;display:flex}.calc-page .bar{background:var(--color-sun);border-radius:4px 4px 0 0;block-size:0;inline-size:100%;transition:block-size .3s}.calc-page .month{color:var(--color-text-muted);font-size:var(--text-xs)}.calc-page .month-caption{color:var(--color-text-muted);font-size:var(--text-xs);margin:.75rem 0 0}.calc-page .assumptions{max-inline-size:var(--measure);margin-block-start:3rem}@media (width>=60rem){.calc-page .calc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.calc-page .calc-results{position:sticky;inset-block-start:calc(var(--header-height) + 1rem)}}.search-page .search-form{gap:.5rem;max-inline-size:40rem;display:flex}.search-page .search-form input{font-size:max(16px, var(--text-base));flex:1}.search-page .search-status{color:var(--color-text-muted);font-size:var(--text-sm);margin-block:1.25rem .75rem}.search-page .search-results{gap:.75rem;max-inline-size:48rem;margin:0;padding:0;list-style:none;display:grid}.search-page .search-results li+li{margin-block-start:0}.search-page .search-results a{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);flex-direction:column;gap:.2rem;padding:1rem 1.25rem;text-decoration:none;display:flex}.search-page .search-results a:hover{border-color:var(--color-sun-strong)}.search-page .kind{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.search-page .title{font-weight:700}.search-page .text{color:var(--color-text-muted);font-size:var(--text-sm)}.quotes-page .quote-tips{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-block-end:2.5rem;display:grid}.quotes-page .quote-tips>div{border-radius:var(--radius-lg);background:var(--color-sun-wash);gap:.75rem;padding:1.25rem;display:flex}.quotes-page .quote-tips svg{color:var(--color-accent);flex:none}.quotes-page .quote-tips p{font-size:var(--text-sm);margin:0}.quotes-page .checklist-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-block-start:1rem;display:grid}.quotes-page .checklist-group{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);padding:1.25rem}.quotes-page .checklist-group h3{font-size:var(--text-lg)}.quotes-page .checklist-group ul{font-size:var(--text-sm);margin:0;padding:0;list-style:none}.quotes-page .checklist-group li{gap:.5rem;display:flex}.quotes-page .checklist-group svg{color:var(--color-accent);flex:none;margin-block-start:.25rem}.quotes-page .quote-request{max-inline-size:var(--measure);margin-block-start:3rem}.quotes-page .quotes-top{gap:1.5rem;max-inline-size:48rem;margin-block-end:2.5rem;display:grid}.quotes-page .quotes-top .page-head{margin:0}.quotes-page .affiliate-disclaimer{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);gap:.5rem;margin:0;padding:.75rem 1rem;display:flex}.quotes-page .affiliate-disclaimer svg{flex:none;margin-block-start:.15rem}.quotes-page .partner-card{border:1px solid var(--color-sun-strong);border-radius:var(--radius-lg);background:radial-gradient(24rem 12rem at 100% 0%, var(--color-sun-wash), transparent 70%), linear-gradient(160deg, var(--color-hero-from), var(--color-hero-to));box-shadow:var(--shadow-md);padding:clamp(1.25rem,3vw,1.75rem)}.quotes-page .partner-top{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:1rem;display:flex}.quotes-page .partner-logo{box-sizing:content-box;border-radius:var(--radius);background:#fff;block-size:auto;inline-size:7.5rem;padding:.5rem .75rem}.quotes-page .partner-card h2{font-size:var(--text-xl)}.quotes-page .partner-label{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin:0;padding:.2em .6em;font-weight:700}.quotes-page .partner-facts{font-size:var(--text-sm);margin:0 0 1.25rem;padding:0;list-style:none}.quotes-page .partner-facts li{align-items:center;gap:.5rem;display:flex}.quotes-page .partner-facts svg{color:var(--color-accent);flex:none}.quotes-page .partner-note{color:var(--color-text-muted);font-size:var(--text-xs);margin:.75rem 0 0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
