@font-face{font-family:"Bricolage Grotesque";src:url(/static/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/static/fonts/source-serif.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/static/fonts/source-serif-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:"JetBrains Mono";src:url(/static/fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{color-scheme:light;--bg:#f5f5f0;--bg-2:#eeefe8;--surface:#ffffff;--surface-2:#fafaf6;--sunk:#e9ebe3;--ink:#1d2b29;--ink-2:#465552;--ink-3:#6d7a77;--line:#dfe2da;--line-2:#eaece5;--blue:#1f6f68;--blue-2:#2b8a80;--blue-soft:#e3f0ec;--neon:#e8b04e;--neon-soft:#fbefd6;--neon-ink:#3a2a08;--sun:rgba(255,206,120,.30);--sun-2:rgba(255,226,170,.22);--shade:rgba(40,70,60,.07);--navy:#1f3431;--navy-2:#284340;--on-navy:#eef4f1;--on-navy-2:#b7c7c2;--amber:#c98a1c;--grid:rgba(31,111,104,.06);--shadow:0 1px 2px rgba(29,43,41,.05),0 8px 24px -16px rgba(29,43,41,.22);--shadow-lg:0 2px 6px rgba(29,43,41,.05),0 24px 48px -28px rgba(29,43,41,.32);--f-display:"Bricolage Grotesque",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--f-body:"Source Serif 4",Georgia,"Times New Roman",serif;--f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--read-scale:1;--s-2:.76rem;--s-1:.88rem;--s0:1.08rem;--s1:1.28rem;--s2:1.6rem;--s3:2rem;--s4:2.45rem;--gap:1.15rem;--wrap:74rem;--narrow:44rem;--r-s:10px;--r-m:16px;--r-l:24px;--ease:cubic-bezier(.2,.7,.2,1)}[data-theme=dark]{color-scheme:dark;--bg:#0f1716;--bg-2:#131d1c;--surface:#172220;--surface-2:#1b2826;--sunk:#101a18;--ink:#e7efec;--ink-2:#b0c0bb;--ink-3:#85958f;--line:#27352f;--line-2:#1f2b28;--blue:#72c9bb;--blue-2:#95dacd;--blue-soft:#1b3330;--neon:#e9c07a;--neon-soft:#2e2718;--neon-ink:#1d1506;--sun:rgba(150,205,255,.07);--sun-2:rgba(170,215,255,.05);--shade:rgba(0,0,0,.28);--navy:#0b1312;--navy-2:#16211f;--on-navy:#e7efec;--on-navy-2:#a3b3ae;--amber:#e9c07a;--grid:rgba(114,201,187,.06);--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 28px -18px rgba(0,0,0,.8);--shadow-lg:0 24px 50px -28px rgba(0,0,0,.9)}.tone-leaf{--tone:#2f8a5b}.tone-brass{--tone:#b7791f}.tone-blueprint{--tone:#2a6f96}.tone-clay{--tone:#b5543a}[data-theme=dark] .tone-leaf{--tone:#7fd3a3}[data-theme=dark] .tone-brass{--tone:#ebc07a}[data-theme=dark] .tone-blueprint{--tone:#8cc3e3}[data-theme=dark] .tone-clay{--tone:#f0a58c}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--s0)/1.75 var(--f-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color .35s,color .35s}img,svg{max-width:100%;height:auto}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:color-mix(in srgb,var(--blue) 45%,transparent)}a:hover{text-decoration-color:var(--blue)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}h1,h2,h3,h4{font-family:var(--f-display);font-weight:700;line-height:1.14;letter-spacing:-.022em;color:var(--ink);text-wrap:balance;margin:0}p{text-wrap:pretty}.wrap{width:min(100% - 2*var(--gap),var(--wrap));margin-inline:auto}.narrow{width:min(100% - 2*var(--gap),var(--narrow));margin-inline:auto}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hp{position:absolute;left:-9999px;opacity:0}.skip{position:absolute;left:1rem;top:-3rem;background:var(--ink);color:var(--bg);padding:.5rem 1rem;border-radius:var(--r-s);z-index:100;text-decoration:none;font-family:var(--f-display)}.skip:focus{top:1rem}.small{font-size:var(--s-1);color:var(--ink-3)}.mono{font-family:var(--f-mono)}.label{display:inline-block;font:600 var(--s-2)/1.3 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--tone,var(--blue))}.lede{font:400 1.14rem/1.6 var(--f-body);color:var(--ink-2);max-width:38ch;margin:0}.bp{position:relative;isolation:isolate;background:var(--bg)}.btn,.search button,.more,.news-form button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 .95rem/1 var(--f-display);background:var(--blue);color:#fff;border:0;border-radius:12px;padding:.85rem 1.2rem;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s var(--ease)}[data-theme=dark] .btn,[data-theme=dark] .search button,[data-theme=dark] .news-form button{color:#0c1614}.btn:hover,.search button:hover,.news-form button:hover{background:var(--blue-2)}.sunlight{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.sunlight .pane{position:absolute;width:62vw;max-width:560px;aspect-ratio:3/4;filter:blur(14px);opacity:1;background:linear-gradient(var(--sun),var(--sun)) 0 0/47% 47% no-repeat,linear-gradient(var(--sun),var(--sun)) 100% 0/47% 47% no-repeat,linear-gradient(var(--sun-2),var(--sun-2)) 0 100%/47% 47% no-repeat,linear-gradient(var(--sun-2),var(--sun-2)) 100% 100%/47% 47% no-repeat;transform:skewX(-16deg) rotate(-6deg);will-change:transform;animation:drift 38s ease-in-out infinite alternate}.sunlight .pane.a{right:-12%;top:-6%}.sunlight .pane.b{right:34%;top:6%;width:40vw;max-width:360px;opacity:.7;animation-duration:46s;animation-delay:-12s}.sunlight .plant{position:absolute;right:4%;bottom:-4%;width:min(46vw,380px);color:var(--shade);filter:blur(3px);transform-origin:50% 100%;animation:sway 9s ease-in-out infinite alternate}@keyframes drift{from{transform:skewX(-16deg) rotate(-6deg) translate3d(0,0,0)}to{transform:skewX(-12deg) rotate(-4deg) translate3d(-4%,3%,0)}}@keyframes sway{from{transform:rotate(-1.6deg)}to{transform:rotate(1.8deg)}}.loader{display:none}.ld .loader{display:grid;position:fixed;inset:0;z-index:200;place-items:center;background:var(--bg);transition:opacity .4s var(--ease),visibility .4s}.ld.ld-out .loader{opacity:0;visibility:hidden}.loader-card{text-align:center;padding:2rem;display:grid;justify-items:center}.loader-draw{width:130px;height:100px;margin-bottom:1rem}.loader-draw path{fill:none;stroke:var(--blue);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:420;animation:draw 1.1s var(--ease) forwards}.loader-draw .d2{stroke:var(--ink-3);stroke-width:1.2;stroke-dasharray:4 5;stroke-dashoffset:0;opacity:0;animation:fadein .4s .8s forwards}.loader-draw .tag{fill:var(--neon);stroke:none;opacity:0;animation:fadein .35s .9s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes fadein{to{opacity:1}}.loader-mark{width:48px;height:48px;margin-bottom:.7rem}.loader-mark svg,.loader-mark img{width:48px;height:48px;border-radius:12px}.loader-site{font:800 1.5rem/1 var(--f-display);letter-spacing:-.03em;margin:0}.loader-person{font:600 1rem/1.3 var(--f-display);margin:.7rem 0 0}.loader-role{font:500 var(--s-2)/1.3 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:.3rem 0 0}.tape{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,var(--blue),var(--neon));transition:width .1s linear}.util{background:var(--bg-2);color:var(--ink-2);font:500 .8rem/1 var(--f-display);border-bottom:1px solid var(--line-2)}.util-in{display:flex;justify-content:center;align-items:center;gap:1rem;min-height:2.2rem;text-align:center}.util p{margin:0;display:flex;align-items:center;gap:.5rem}.util-dot{width:7px;height:7px;border-radius:50%;background:var(--neon);flex:none}.util nav{display:none;gap:1.2rem}.util a{color:var(--ink-2);text-decoration:none}.util a:hover{color:var(--blue)}.top{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 88%,transparent);border-bottom:1px solid var(--line-2)}@supports (backdrop-filter:blur(8px)){.top{backdrop-filter:saturate(1.2) blur(14px)}}.top-in{display:flex;align-items:center;gap:.5rem;min-height:3.8rem}.brand{display:flex;align-items:center;gap:.5rem;min-width:0;text-decoration:none;color:var(--ink);font:800 1.12rem/1 var(--f-display);letter-spacing:-.03em;white-space:nowrap;margin-right:auto}.brand svg,.brand img{width:34px;height:34px;border-radius:10px;flex:none}.nav{display:flex;align-items:center;gap:.1rem;font:600 .94rem/1 var(--f-display)}.nav>a,.menu summary{padding:.6rem .7rem;border-radius:10px;text-decoration:none;color:var(--ink);cursor:pointer;list-style:none;white-space:nowrap}.nav>a{display:none}.mega-links{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem .4rem .2rem;border-top:1px solid var(--line-2);margin-top:.4rem}.mega-links a{font:600 .88rem var(--f-display);padding:.55rem .8rem;border-radius:10px;background:var(--bg-2);color:var(--ink);text-decoration:none}.menu summary::-webkit-details-marker{display:none}.menu summary::after{content:"";display:inline-block;width:.36em;height:.36em;margin-left:.45em;border-right:2px solid;border-bottom:2px solid;transform:translateY(-.2em) rotate(45deg)}.nav>a:hover,.menu summary:hover,.menu[open] summary{background:var(--bg-2)}.menu{position:static}.mega{position:fixed;left:.6rem;right:.6rem;top:6.3rem;max-height:74vh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-lg);padding:.6rem;z-index:60}.menu-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr;gap:.15rem}.menu-list a{display:flex;align-items:center;gap:.7rem;padding:.6rem;border-radius:12px;text-decoration:none;color:var(--ink)}.menu-list a:hover{background:var(--bg-2)}.menu-list a span{display:grid;gap:.1rem}.menu-list a b{font:700 .92rem/1.2 var(--f-display)}.menu-list a small{font:400 .78rem/1.35 var(--f-display);color:var(--ink-3)}.menu-list .ic{width:34px;height:34px;padding:7px;border-radius:10px;background:color-mix(in srgb,var(--tone) 14%,transparent);color:var(--tone);flex:none}.top-tools{display:flex;gap:.35rem}.search-btn,.icon-btn{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;padding:0}.search-btn span,.search-btn kbd{display:none}.search-btn svg,.icon-btn svg{width:18px;height:18px}.search-btn:hover,.icon-btn:hover{border-color:var(--ink-3)}.i-moon{display:none}[data-theme=dark] .i-moon{display:block}[data-theme=dark] .i-sun{display:none}.ic{display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sov{position:fixed;inset:0;z-index:150;background:color-mix(in srgb,var(--bg) 60%,rgba(0,0,0,.35));backdrop-filter:blur(8px);display:grid;place-items:start center;padding:4.5rem .8rem 1rem}.sov[hidden]{display:none}.sov-box{width:min(40rem,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-lg);overflow:hidden}.sov-form{display:flex;align-items:center;gap:.7rem;padding:.95rem 1rem;border-bottom:1px solid var(--line)}.sov-form svg{width:20px;height:20px;color:var(--ink-3);flex:none}.sov-form input{flex:1;min-width:0;border:0;background:transparent;font:500 1.05rem var(--f-display);color:var(--ink)}.sov-form input:focus{outline:none}.sov-x{font:600 .72rem var(--f-display);border:1px solid var(--line);background:var(--bg);color:var(--ink-3);border-radius:8px;padding:.35rem .55rem;cursor:pointer}.sov-res{list-style:none;margin:0;padding:.4rem;max-height:56vh;overflow:auto}.sov-res a{display:grid;gap:.2rem;padding:.7rem .8rem;border-radius:12px;text-decoration:none;color:var(--ink)}.sov-res a:hover,.sov-res a.on{background:var(--bg-2)}.sov-res b{font:650 .98rem/1.35 var(--f-display)}.sov-res small{font:600 .7rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}.sov-res mark{background:var(--neon-soft);color:inherit;border-radius:3px}.sov-empty{padding:1rem;color:var(--ink-3);font:500 .92rem var(--f-display)}.sov-hint{margin:0;padding:.8rem 1rem;border-top:1px solid var(--line);font:500 .82rem var(--f-display);color:var(--ink-3);display:flex;gap:.8rem;flex-wrap:wrap}.sov-hint a{color:var(--ink-2);text-decoration:none}.sov-hint a:hover{color:var(--blue)}.hero{position:relative;overflow:hidden;padding:2.2rem 0 2.4rem}.hero-in{position:relative;display:grid;gap:1.8rem;align-items:center}.hero-copy .label{display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .7rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink-2)}.hero-copy .label i{width:7px;height:7px;border-radius:50%;background:var(--neon)}.hero h1{font-size:var(--s4);margin:1rem 0;max-width:14ch;font-weight:750;letter-spacing:-.035em}.hero h1 em{font-style:normal;color:var(--blue);background:linear-gradient(transparent 70%,var(--neon-soft) 70%)}.hero .lede{margin-bottom:1.4rem}.search{display:flex;gap:.4rem;max-width:34rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:.35rem;box-shadow:var(--shadow)}.search input{flex:1;min-width:0;border:0;background:transparent;font:500 1rem var(--f-display);color:var(--ink);padding:.6rem .7rem}.search input::placeholder{color:var(--ink-3)}.search input:focus{outline:none}.search:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.quick{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.quick a{font:600 .84rem/1 var(--f-display);padding:.6rem .8rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);text-decoration:none}.quick a:hover{border-color:var(--blue);color:var(--blue)}.trust{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;gap:1.6rem;flex-wrap:wrap}.trust li{display:grid;gap:.15rem}.trust b{font:750 1.5rem/1 var(--f-display);letter-spacing:-.02em;color:var(--ink)}.trust span{font:500 var(--s-2)/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.hero-house{position:relative}.iso-wrap{position:relative;width:100%;max-width:560px;margin-inline:auto;aspect-ratio:554/526}.iso{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.iso g[data-depth]{transition:transform .6s var(--ease)}.iso .gd{fill:var(--surface);stroke:var(--line)}.iso .gl{stroke:var(--grid);stroke-width:1}.iso .lawn{fill:color-mix(in srgb,#5fae84 22%,var(--surface))}.iso .walk{fill:var(--bg-2);stroke:var(--line)}.iso .sewer{stroke:var(--neon);stroke-width:3;stroke-dasharray:6 7;fill:none;animation:flow 2.4s linear infinite}@keyframes flow{to{stroke-dashoffset:-26}}.iso .tree-sh{fill:var(--shade)}.iso .trunk{fill:#9a7a58}.iso .crown{fill:#6fb78f}.iso .crown.c2{fill:#9fd4b4}.iso .b-l,.iso .b-r,.iso .b-t,.iso .b-cut,.iso .k-l,.iso .k-r,.iso .k-t,.iso .wh-l,.iso .wh-r,.iso .wh-t,.iso .u-l,.iso .u-r,.iso .u-t,.iso .win,.iso .door,.iso .panel,.iso .r-l,.iso .r-r,.iso .r-b{stroke:var(--ink-2);stroke-width:1.1;stroke-linejoin:round}.iso .b-l{fill:var(--surface)}.iso .b-r{fill:var(--sunk)}.iso .b-t{fill:var(--surface-2)}.iso .b-cut{fill:color-mix(in srgb,var(--blue) 6%,var(--surface));stroke-dasharray:5 4}.iso .wall{stroke:var(--ink-2);stroke-width:1.8}.iso .k-l,.iso .u-l{fill:var(--surface-2)}.iso .k-r,.iso .u-r{fill:var(--sunk)}.iso .k-t,.iso .u-t{fill:var(--surface)}.iso .wh-l{fill:color-mix(in srgb,var(--neon) 45%,var(--surface))}.iso .wh-r{fill:color-mix(in srgb,var(--neon) 60%,var(--surface))}.iso .wh-t{fill:color-mix(in srgb,var(--neon) 25%,var(--surface))}.iso .fan{fill:none;stroke:var(--ink-2);stroke-width:1.2;stroke-dasharray:3 3;transform-box:fill-box;transform-origin:center;animation:spin 4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.iso .win{fill:color-mix(in srgb,#8ec8d8 40%,var(--surface))}.iso .door{fill:color-mix(in srgb,var(--neon) 55%,var(--surface))}.iso .panel{fill:var(--sunk)}.iso .r-l{fill:color-mix(in srgb,var(--blue) 80%,#0b1f1d)}.iso .r-r{fill:color-mix(in srgb,var(--blue) 62%,#0b1f1d)}.iso .r-b{fill:color-mix(in srgb,var(--blue) 70%,#0b1f1d)}[data-theme=dark] .iso .r-l{fill:#2d5b55}[data-theme=dark] .iso .r-r{fill:#23493f}[data-theme=dark] .iso .r-b{fill:#2a544e}.iso .sh{stroke:rgba(255,255,255,.16);stroke-width:1}.iso .solar{fill:#183a44;stroke:#9fd0dc;stroke-width:1}.roof-float{animation:bob 7s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-7px)}}.pin{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);z-index:3;display:block;text-decoration:none;color:var(--ink);padding:10px}.pin-dot{display:block;width:16px;height:16px;border-radius:50%;background:var(--neon);border:3px solid var(--surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 25%,transparent),0 0 0 0 color-mix(in srgb,var(--neon) 55%,transparent);animation:pulse 3.2s ease-out infinite}.pin:nth-child(2n) .pin-dot{animation-delay:1s}.pin:nth-child(3n) .pin-dot{animation-delay:2s}@keyframes pulse{0%{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 25%,transparent),0 0 0 0 color-mix(in srgb,var(--neon) 55%,transparent)}70%{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 25%,transparent),0 0 0 12px transparent}100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 25%,transparent),0 0 0 0 transparent}}.pin-tag{position:absolute;left:50%;bottom:calc(100% - 2px);transform:translate(-50%,6px);white-space:nowrap;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:.45rem .7rem;font:650 .78rem/1.25 var(--f-display);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}.pin-tag b{display:block;font:600 .76rem/1.35 var(--f-display);color:var(--blue)}.pin:hover .pin-tag,.pin:focus-visible .pin-tag,.pin.on .pin-tag{opacity:1;transform:translate(-50%,0)}.iso-note{margin:.2rem 0 0;font:500 var(--s-2)/1.3 var(--f-display);color:var(--ink-3);text-align:center}.ticker{background:var(--surface);color:var(--ink-2);overflow:hidden;border-block:1px solid var(--line-2)}.ticker-track{display:flex;gap:2.6rem;width:max-content;padding:.8rem 0;animation:tick 80s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker-track span{font:500 .84rem/1 var(--f-display);white-space:nowrap;display:inline-flex;align-items:center;gap:.7rem}.ticker-track span::before{content:"";width:6px;height:6px;background:var(--blue);border-radius:50%}@keyframes tick{to{transform:translateX(-50%)}}.band{padding:3rem 0}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem 1rem;margin-bottom:1.5rem;flex-wrap:wrap}.sec-h{font-size:var(--s3);font-weight:750;letter-spacing:-.03em}.sec-h.small{font-size:var(--s2);letter-spacing:-.02em;color:var(--ink)}.sec-lede{color:var(--ink-2);margin:.5rem 0 0;max-width:52ch}.link-strong{font:650 .95rem var(--f-display);color:var(--blue);text-decoration:none;display:inline-flex;gap:.35rem;align-items:center}.link-strong::after{content:"\2192"}.link-strong:hover{text-decoration:underline}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:1rem}.card a{display:flex;flex-direction:column;height:100%;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-l);overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .3s var(--ease),box-shadow .3s}.card a:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.card-img{position:relative;display:block;aspect-ratio:16/9;background:var(--bg-2);overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.card a:hover .card-img img{transform:scale(1.03)}.card-art{position:absolute;inset:0;display:grid;place-items:center;color:var(--tone);background:radial-gradient(circle at 70% 30%,var(--sun),transparent 60%),color-mix(in srgb,var(--tone) 10%,var(--surface-2))}.card-art .ic{width:22%;height:auto;stroke-width:1}.card-kind{position:absolute;left:.7rem;top:.7rem;font:600 .68rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;padding:.42rem .55rem;border-radius:8px;background:var(--surface);color:var(--ink)}.card-body{display:flex;flex-direction:column;gap:.45rem;padding:1rem 1.1rem 1.15rem;flex:1}.card-ch{font:600 var(--s-2)/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--tone)}.card-title{font:700 1.08rem/1.32 var(--f-display);letter-spacing:-.012em}.card-dek{font:400 .93rem/1.55 var(--f-body);color:var(--ink-2)}.card-meta{margin-top:auto;padding-top:.5rem;display:flex;gap:1rem;font:500 .76rem/1 var(--f-display);color:var(--ink-3)}.card.big .card-title{font-size:var(--s2);letter-spacing:-.025em;line-height:1.16}.plan{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.room a{position:relative;display:flex;flex-direction:column;height:100%;min-height:9.5rem;padding:1rem;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line-2);text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}.room a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tone) 45%,transparent);box-shadow:var(--shadow-lg)}.room.wide{grid-column:span 2}.room-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.room .ic{width:40px;height:40px;padding:9px;border-radius:12px;background:color-mix(in srgb,var(--tone) 13%,transparent);color:var(--tone)}.room-no{font:600 var(--s-2)/1 var(--f-display);color:var(--ink-3);letter-spacing:.06em}.room-name{font:700 1.02rem/1.2 var(--f-display);letter-spacing:-.015em;margin-top:auto;padding-top:.9rem}.room-blurb{display:none;font:400 .9rem/1.5 var(--f-body);color:var(--ink-2);margin:.4rem 0 .6rem}.room-count{font:600 var(--s-2)/1.2 var(--f-display);color:var(--tone);letter-spacing:.04em;text-transform:uppercase;margin-top:.45rem}.calc-band{display:grid;gap:1.4rem;align-items:center}.jobs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.8rem}.job a{display:flex;flex-direction:column;gap:.4rem;height:100%;padding:1.1rem 1.2rem;background:var(--surface);border:1px solid var(--line-2);border-left:4px solid var(--tone);border-radius:var(--r-m);text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.job .jt{font:700 1rem/1.35 var(--f-display)}.tools{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.8rem}.tools a{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border-radius:var(--r-m);background:var(--surface);color:var(--ink);text-decoration:none;font:650 1rem/1.3 var(--f-display);border:1px solid var(--line-2);box-shadow:var(--shadow)}.tools a:hover{border-color:var(--blue)}.tools svg{width:38px;height:38px;flex:none;color:var(--blue)}.navy-band{background:var(--bg-2);border-block:1px solid var(--line-2)}.spec{display:grid;gap:.8rem;margin:0;padding:0}.spec li{list-style:none;padding:1.2rem;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line-2)}.spec .no{font:700 .8rem/1 var(--f-display);color:var(--blue);background:var(--blue-soft);padding:.35rem .5rem;border-radius:8px}.spec h3{font-size:1.12rem;margin:.8rem 0 .35rem}.spec p{margin:0;color:var(--ink-2);font-size:.97rem}.cta{display:grid;gap:1.2rem;padding:1.5rem;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line-2);box-shadow:var(--shadow);position:relative;overflow:hidden}.cta::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:radial-gradient(closest-side,var(--sun),transparent);pointer-events:none}.cta p{margin:0;color:var(--ink-2)}.news-form{display:flex;gap:.4rem;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:.3rem;position:relative;z-index:1}.news-form input{flex:1;min-width:0;border:0;background:transparent;padding:.55rem .75rem;font:500 .95rem var(--f-display);color:var(--ink)}.news-form input::placeholder{color:var(--ink-3)}.news-form input:focus{outline:none}.news-form:focus-within{border-color:var(--blue)}.ok-note{padding:1rem 1.2rem;border-radius:var(--r-m);background:var(--blue-soft);border:1px solid color-mix(in srgb,var(--blue) 30%,transparent);color:var(--ink)}.err-note{padding:1rem 1.2rem;border-radius:var(--r-m);background:color-mix(in srgb,#b5543a 12%,var(--surface));border:1px solid color-mix(in srgb,#b5543a 35%,transparent);color:var(--ink)}.empty{padding:1.3rem;border:1px dashed var(--line);border-radius:var(--r-m);color:var(--ink-2);background:var(--surface)}.more{margin:1.6rem auto 0;display:flex;background:var(--surface);color:var(--ink);border:1px solid var(--line)}.more:hover{border-color:var(--blue);color:var(--blue);background:var(--surface)}.more[disabled]{opacity:.55;cursor:progress}.faqs details{border:1px solid var(--line-2);border-radius:14px;background:var(--surface);margin-bottom:.6rem}.faqs details[open]{box-shadow:var(--shadow)}.faqs summary{cursor:pointer;padding:1rem 3rem 1rem 1.1rem;font:650 1rem/1.4 var(--f-display);position:relative;list-style:none;color:var(--ink)}.faqs summary::-webkit-details-marker{display:none}.faqs summary::after{content:"+";position:absolute;right:1rem;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font:600 1.1rem/24px var(--f-display);text-align:center;transition:transform .25s var(--ease)}.faqs details[open] summary::after{transform:rotate(45deg)}.faqs details>div{padding:0 1.1rem 1rem;color:var(--ink-2)}.faqs details>div p{margin:0}.ch-head{position:relative;overflow:hidden;padding:2rem 0 2rem;border-bottom:1px solid var(--line-2)}.ch-head-in{display:grid;gap:1.1rem;align-items:center}.ch-badge{width:84px;aspect-ratio:1;border-radius:24px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--tone);box-shadow:var(--shadow)}.ch-badge .ic{width:52%;height:52%;stroke-width:1.5}.ch-head h1{font-size:var(--s4);font-weight:750;letter-spacing:-.035em;margin:.4rem 0 .6rem}.ch-stats{display:flex;gap:1.3rem;flex-wrap:wrap;margin-top:1rem;font:500 var(--s-2)/1 var(--f-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.ch-stats b{color:var(--ink);font-size:1.25em}.crumbs{font:500 .8rem/1.4 var(--f-display);color:var(--ink-3);display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.7rem}.crumbs a{color:var(--ink-3);text-decoration:none}.crumbs a:hover{color:var(--blue)}.hub-card{position:relative;display:grid;gap:.5rem;margin:1.6rem 0;padding:1.4rem;background:var(--surface);border:1px solid var(--line-2);border-left:5px solid var(--tone);border-radius:var(--r-l);text-decoration:none;box-shadow:var(--shadow);color:var(--ink)}.hub-title{font:750 var(--s2)/1.2 var(--f-display);letter-spacing:-.025em;color:var(--ink)}.hub-card .entry-dek{color:var(--ink-2)}.chips{display:flex;gap:.45rem;overflow-x:auto;margin-top:1.4rem;padding-bottom:.3rem;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips a{flex:none;font:600 .85rem/1 var(--f-display);padding:.6rem .85rem;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);text-decoration:none}.chips a span{color:var(--ink-3);margin-left:.2rem}.chips a.on{background:var(--blue);color:#fff;border-color:var(--blue)}[data-theme=dark] .chips a.on{color:#0c1614}.chips a.on span{color:inherit;opacity:.8}.board{margin:2.4rem 0 1rem;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line-2);padding:1.2rem 1.3rem;box-shadow:var(--shadow)}.board ul{list-style:none;margin:.8rem 0 0;padding:0}.board li{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px dashed var(--line);font:500 .95rem/1.4 var(--f-display);color:var(--ink-2)}.board li:last-child{border-bottom:0}.board time{flex:none;font:600 .8rem/1.4 var(--f-display);color:var(--blue)}.post-head{position:relative;padding:1.8rem 0 1.4rem}.post-head .label{padding:.38rem .6rem;border-radius:8px;background:color-mix(in srgb,var(--tone) 12%,transparent)}.post-head h1{font-size:var(--s3);font-weight:750;letter-spacing:-.03em;margin:.8rem 0 .9rem;line-height:1.16}.post-head .lede{max-width:none;font-size:1.1rem}.byline{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem 1.1rem;margin-top:1.1rem;font:500 .9rem/1.4 var(--f-display);color:var(--ink-2)}.byline .av{width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font:750 .95rem var(--f-display)}.byline a{color:var(--ink);font-weight:650;text-decoration:none}.byline .m{font:500 .8rem/1 var(--f-display);color:var(--ink-3)}.read-tools{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.1rem}.read-tools button,.pin-btn,.share-btn{display:inline-flex;align-items:center;gap:.4rem;font:600 .84rem/1 var(--f-display);padding:.62rem .85rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;cursor:pointer;text-decoration:none}.read-tools button:hover,.share-btn:hover{border-color:var(--ink-3)}.read-tools svg,.share-btn svg{width:16px;height:16px}.read-tools [aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pin-btn{background:#b8323c;border-color:#b8323c;color:#fff}.pin-btn:hover{background:#9c2831;color:#fff}.post-hero{position:relative;margin:0 auto 1.8rem}.post-hero img,.art{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-l);background:var(--bg-2)}.art{overflow:hidden}.art svg{width:100%;height:100%;display:block}.post-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}.toc{font:500 .9rem/1.4 var(--f-display);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-m);padding:.9rem 1rem .5rem}.toc summary{font:650 .8rem/1 var(--f-display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);cursor:pointer;margin-bottom:.6rem;list-style:none}.toc summary::-webkit-details-marker{display:none}.toc ol{list-style:none;margin:0;padding:0;counter-reset:t}.toc li{counter-increment:t}.toc a{display:grid;grid-template-columns:1.8rem 1fr;padding:.45rem .5rem;border-radius:10px;color:var(--ink-2);text-decoration:none}.toc a::before{content:counter(t,decimal-leading-zero);font:600 .74rem/1.6 var(--f-display);color:var(--ink-3)}.toc a:hover{background:var(--bg-2);color:var(--ink)}.toc a.on{background:var(--blue-soft);color:var(--ink)}.toc a.on::before{color:var(--blue)}.post-body{font-size:calc(var(--s0) * var(--read-scale));min-width:0}.glance{position:relative;margin:0 0 2.2rem;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-l);padding:1.1rem 1.25rem 1.2rem;box-shadow:var(--shadow);overflow:hidden}.glance::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--blue),var(--neon))}.glance-h{display:flex;justify-content:space-between;margin:0 0 .7rem;font:650 .78rem/1 var(--f-display);letter-spacing:.07em;text-transform:uppercase;color:var(--blue)}.glance-h span:last-child{color:var(--ink-3)}.glance p{margin:0 0 .7rem}.glance p:last-child{margin:0}.glance strong{font-weight:700;color:var(--ink);background:linear-gradient(transparent 62%,var(--neon-soft) 62%)}.prose{counter-reset:h}.prose>*{margin-block:0 1.2em}.prose h2{font-size:var(--s2);font-weight:750;letter-spacing:-.025em;margin-top:2.2em;counter-increment:h;line-height:1.22}.prose h2::before{content:counter(h,decimal-leading-zero);display:block;font:700 .72rem/1 var(--f-display);letter-spacing:.08em;color:var(--blue);margin-bottom:.55rem}.prose h3{font-size:var(--s1);margin-top:1.7em;letter-spacing:-.015em}.prose h4{font:700 1em/1.4 var(--f-display);margin-top:1.5em}.prose ul,.prose ol{padding-left:1.25em}.prose li{margin-bottom:.5em}.prose li::marker{color:var(--blue)}.prose blockquote{margin-inline:0;padding:1rem 1.2rem;border-radius:var(--r-m);background:var(--bg-2);border-left:4px solid var(--blue);color:var(--ink-2)}.prose blockquote p{margin:0}.prose figure{margin:2em 0}.prose figure img{border-radius:var(--r-m);width:100%}.prose figcaption{font:500 .82rem/1.4 var(--f-display);color:var(--ink-3);margin-top:.6rem}.prose strong{font-weight:700;color:var(--ink)}.prose hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.soon-link{border-bottom:1px dashed var(--ink-3)}.tbl{overflow-x:auto;margin:1.7em 0;border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface);-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;min-width:30rem;font:500 .9rem/1.45 var(--f-display);font-variant-numeric:tabular-nums}th,td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--line-2);vertical-align:top;color:var(--ink)}thead th{background:var(--bg-2);color:var(--ink);font:700 .78rem/1.3 var(--f-display);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-2)}.faqs{margin-top:2.6rem}.faqs h2,.refs h2{font-size:var(--s2);font-weight:750;letter-spacing:-.025em;margin-bottom:1rem}.refs{margin-top:2.4rem}.refs ol{list-style:none;padding:0;margin:0;counter-reset:r;font:400 .9rem/1.55 var(--f-display);color:var(--ink-2)}.refs li{counter-increment:r;display:grid;grid-template-columns:2rem 1fr;padding:.55rem 0;border-bottom:1px solid var(--line-2);overflow-wrap:anywhere}.refs li::before{content:counter(r)".";font:700 .8rem/1.7 var(--f-display);color:var(--blue)}.helpful{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:2.4rem 0 1rem;padding:1rem 1.2rem;border:1px solid var(--line-2);border-radius:var(--r-m);background:var(--surface)}.helpful p{margin:0;font:650 1rem var(--f-display);color:var(--ink)}.helpful div{display:flex;gap:.5rem}.helpful button{font:600 .88rem var(--f-display);padding:.55rem 1.1rem;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer}.helpful button:hover{border-color:var(--blue);color:var(--blue)}.helpful-thanks{font-weight:500!important;color:var(--ink-2)!important}.share{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0 0 2rem}.share .label{width:100%;margin-bottom:.2rem;color:var(--ink-3)}.share a,.share button{font:600 .82rem var(--f-display);padding:.5rem .8rem;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer}.share a:hover,.share button:hover{border-color:var(--blue);color:var(--blue)}.author{display:flex;gap:1rem;margin:2.6rem 0;padding:1.3rem;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-l);font:400 .93rem/1.55 var(--f-display);color:var(--ink-2);box-shadow:var(--shadow)}.author img,.author-mark{width:60px;height:60px;border-radius:50%;flex:none;object-fit:cover}.author-mark{display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);font:750 1.5rem var(--f-display)}.author p{margin:0 0 .4rem}.author-name{font:750 1.02rem var(--f-display);color:var(--ink)}.author-name a{color:var(--ink);text-decoration:none}.author-name span{display:block;font:500 .8rem/1.5 var(--f-display);color:var(--ink-3)}.pin-card{display:grid;grid-template-columns:6rem 1fr;gap:1rem;align-items:center;margin:2rem 0;padding:1rem;background:var(--bg-2);border-radius:var(--r-m)}.pin-card img{border-radius:10px;aspect-ratio:2/3;object-fit:cover;width:100%}.pin-card p{margin:0 0 .8rem;color:var(--ink-2)}.keep{border-top:1px solid var(--line-2);background:var(--bg-2)}.ad{margin:2.2rem 0;min-height:120px;text-align:center}.ad-label{display:block;font:500 .68rem/1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.45rem}.ad-side{display:none}.calc{margin:0 0 2.4rem;padding:1.2rem;border-radius:var(--r-l);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);position:relative;overflow:hidden}.calc::before{content:"";position:absolute;inset:0;background:linear-gradient(var(--grid) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/22px 22px;pointer-events:none}.calc>*{position:relative}.calc-h{font:750 1.2rem/1.2 var(--f-display);margin:0 0 1rem;color:var(--ink)}.calc-form{display:grid;grid-template-columns:1fr;gap:.85rem}.calc label{display:grid;gap:.35rem;font:600 .88rem/1.3 var(--f-display);color:var(--ink);align-content:end}.calc .unit{font-weight:500;color:var(--ink-3)}.calc input,.calc select{font:500 1rem var(--f-display);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:.75rem .8rem;width:100%;min-height:2.9rem}.calc input:focus,.calc select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.calc-out{margin-top:1.2rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.calc-out .co{padding:.8rem .7rem;border-radius:14px;background:var(--bg);border:1px solid var(--line-2);text-align:center}.calc-out .co b{display:block;font:750 1.08rem/1.15 var(--f-display);letter-spacing:-.02em;color:var(--ink);margin-top:.3rem;font-variant-numeric:tabular-nums}.calc-out .co span{font:600 .7rem/1 var(--f-display);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}.calc-out .co.mid{background:var(--blue);border-color:var(--blue)}.calc-out .co.mid b,.calc-out .co.mid span{color:#fff}[data-theme=dark] .calc-out .co.mid b,[data-theme=dark] .calc-out .co.mid span{color:#0c1614}.calc-bar{grid-column:1/-1;position:relative;height:8px;border-radius:999px;background:var(--sunk);margin:.4rem 0 .2rem;overflow:hidden}.calc-bar i{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--neon));transition:left .4s var(--ease),width .4s var(--ease)}.calc-note{grid-column:1/-1;font:400 .84rem/1.5 var(--f-display);color:var(--ink-3);margin:0}.page{padding:2rem 0 3rem}.page h1{font-size:var(--s3);font-weight:750;letter-spacing:-.03em;margin-bottom:1rem}.form{display:grid;gap:1rem;max-width:34rem;margin-top:1.5rem}.form label{display:grid;gap:.35rem;font:600 .9rem/1.3 var(--f-display);color:var(--ink)}.form input,.form select,.form textarea{font:500 1rem var(--f-display);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.75rem .8rem;width:100%}.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.preview-bar{background:var(--neon-soft);color:var(--ink);text-align:center;font:600 .88rem/1.4 var(--f-display);padding:.6rem;border-bottom:1px solid var(--line)}.smap{columns:1;padding-left:1.1rem;font:500 .95rem/1.5 var(--f-display)}.smap li{margin-bottom:.45rem;break-inside:avoid}.nf{text-align:center}.nf .search{margin:1.5rem auto}.nf-code{font:800 clamp(4rem,18vw,8rem)/1 var(--f-display);letter-spacing:-.06em;color:var(--sunk);margin:0}.nf-code span{color:var(--blue)}.nf-ch{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;font:600 .9rem var(--f-display)}.nf-ch a{display:block;padding:.5rem .9rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--surface);color:var(--ink)}.foot{margin-top:2rem;background:var(--bg-2);color:var(--ink-2);font:400 .92rem/1.6 var(--f-display);border-top:1px solid var(--line-2)}.foot a{color:var(--ink-2);text-decoration:none}.foot a:hover{color:var(--blue)}.foot-mark{padding:2.4rem 0 1.4rem;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}.foot-word{font:800 clamp(2rem,9vw,4.4rem)/.95 var(--f-display);letter-spacing:-.05em;color:var(--ink);margin:0}.foot-word b{color:var(--neon)}.foot-mark .mono{font-family:var(--f-display);color:var(--ink-3);margin:0}.foot-in{display:grid;grid-template-columns:1fr;gap:1.6rem;padding:1.8rem 0 2rem}.foot-h{font:700 .74rem/1 var(--f-display);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0 0 .8rem}.foot ul{list-style:none;margin:0;padding:0;columns:2}.foot li{margin-bottom:.45rem}.foot-person{color:var(--ink)}.socials{display:flex;gap:1rem;flex-wrap:wrap}.foot-news .small{color:var(--ink-3)!important}.foot-base{border-top:1px solid var(--line);padding:1.1rem 0 1.8rem;font:500 .8rem/1.5 var(--f-display);color:var(--ink-3);display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.totop{position:fixed;right:.9rem;bottom:.9rem;z-index:40;width:44px;height:44px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}.totop.on{opacity:1;transform:none;pointer-events:auto}.totop svg{width:20px;height:20px}.av-big{border-radius:50%;overflow:hidden;font:750 2.4rem var(--f-display);color:var(--blue);background:var(--blue-soft)}.av-big img{width:100%;height:100%;object-fit:cover}body.reading .top,body.reading .util,body.reading .post-aside,body.reading .ad,body.reading .keep,body.reading .foot,body.reading .post-hero,body.reading .pin-card,body.reading .share,body.reading .totop{display:none!important}body.reading{--read-scale:1.08}body.reading .read-tools{position:sticky;top:.6rem;z-index:40;background:var(--surface);padding:.4rem;border-radius:14px;box-shadow:var(--shadow);width:max-content;max-width:100%}@media (min-width:600px){:root{--gap:1.6rem;--s3:2.3rem;--s4:3rem}.cards{grid-template-columns:1fr 1fr}.plan{grid-template-columns:repeat(2,1fr)}.room-blurb{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.calc-form{grid-template-columns:1fr 1fr}.calc-out .co b{font-size:1.4rem}.jobs,.tools{grid-template-columns:1fr 1fr}.spec{grid-template-columns:repeat(3,1fr)}.cta{grid-template-columns:1.2fr 1fr;align-items:center;padding:2rem}.foot-in{grid-template-columns:1fr 1fr}.smap{columns:2}.pin-card{grid-template-columns:8rem 1fr}.util-in{justify-content:space-between;text-align:left}.util nav{display:flex}.ch-head-in{grid-template-columns:auto 1fr}.ch-badge{width:110px}.search-btn{display:flex;width:auto;min-width:11rem;padding:0 .6rem 0 .75rem;gap:.5rem;color:var(--ink-3);font:500 .88rem var(--f-display)}.search-btn span{display:block;flex:1;text-align:left}.search-btn kbd{display:block;font:600 .7rem var(--f-display);border:1px solid var(--line);border-radius:6px;padding:.12rem .4rem;background:var(--bg)}}@media (min-width:900px){:root{--s0:1.12rem;--s1:1.4rem;--s2:1.9rem;--s3:2.7rem;--s4:3.9rem}.hero{padding:3.6rem 0 3.4rem}.hero-in{grid-template-columns:1fr 1.02fr;gap:3rem}.cards{grid-template-columns:repeat(3,1fr);gap:1.3rem}.cards.feature{grid-template-columns:repeat(3,1fr)}.cards.feature .card.big{grid-column:span 2;grid-row:span 2}.card.big .card-img{aspect-ratio:auto;flex:1 1 auto;min-height:17rem}.card.big .card-body{flex:0 0 auto}.plan{grid-template-columns:repeat(4,1fr);gap:.9rem}.room a{min-height:11.5rem;padding:1.2rem}.room-name{font-size:1.12rem}.calc-band{grid-template-columns:.8fr 1.2fr;gap:3rem}.calc-band .calc{margin:0}.band{padding:4.2rem 0}.post-grid{grid-template-columns:15rem minmax(0,var(--narrow));justify-content:center;gap:3rem}.post-aside{position:relative}.toc{position:sticky;top:5.5rem;background:none;border:0;padding:0}.toc details:not([open]) summary{margin:0}.ad-side{display:block;position:sticky;top:28rem;margin-top:2rem}.foot-in{grid-template-columns:1.3fr 1fr 1fr 1.3fr}.nav>a{display:block}.mega-links{display:none}.mega{position:absolute;left:auto;right:1rem;top:calc(100% - .2rem);width:min(46rem,94vw);max-height:none}.menu{position:static}.top-in{position:relative}.menu-list{grid-template-columns:1fr 1fr}.post-head{padding:2.8rem 0 1.8rem}.ch-head{padding:3rem 0 2.6rem}}@media (max-width:420px){.brand span{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.loader-draw path{stroke-dashoffset:0}}@media print{.top,.util,.foot,.ad,.read-tools,.post-aside,.keep,.loader,.ticker,.share,.helpful,.totop,.sunlight{display:none!important}body{background:#fff;color:#000}.post-grid{display:block}}