@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/sora-latin-ext-600-normal.Cue1zdhl.woff2)format("woff2"),url(/_astro/sora-latin-ext-600-normal.DLOJK0Ta.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/sora-latin-600-normal.Cdg4DaK0.woff2)format("woff2"),url(/_astro/sora-latin-600-normal.1_7fyUAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/sora-latin-ext-700-normal.DM0oy5s8.woff2)format("woff2"),url(/_astro/sora-latin-ext-700-normal.Oc7uZIYt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/sora-latin-700-normal.9waGdLWo.woff2)format("woff2"),url(/_astro/sora-latin-700-normal.BKPfQAnC.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/sora-latin-ext-800-normal.YDFYE6t9.woff2)format("woff2"),url(/_astro/sora-latin-ext-800-normal.BvAfeed7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-display:swap;font-weight:800;src:url(/_astro/sora-latin-800-normal.2tKLL3qT.woff2)format("woff2"),url(/_astro/sora-latin-800-normal.c3Huklug.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-ext-400-normal.BwJdxs7r.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-400-normal.BqOlcezh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-400-normal.DjhbW-4D.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-400-normal.DkNBMcYd.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-ext-400-normal.CpIwTHMM.woff2)format("woff2"),url(/_astro/source-sans-3-greek-ext-400-normal.CN4VBqpr.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-400-normal.DZReXJla.woff2)format("woff2"),url(/_astro/source-sans-3-greek-400-normal.DyO2Yfz5.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-vietnamese-400-normal.CwtaIDr2.woff2)format("woff2"),url(/_astro/source-sans-3-vietnamese-400-normal.eMQk7hmk.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-ext-400-normal.UNsKFIBq.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-400-normal.D5P-Ud2J.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-normal.DQi5PRDE.woff2)format("woff2"),url(/_astro/source-sans-3-latin-400-normal.RR2C27NP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-ext-400-italic.HOVu-9SC.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-400-italic.BG_K6FZ1.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-cyrillic-400-italic.DbGEEBAE.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-400-italic.Dywud06w.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-ext-400-italic.D2IhUMi0.woff2)format("woff2"),url(/_astro/source-sans-3-greek-ext-400-italic.27OHTbs-.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-greek-400-italic.CW67wuKv.woff2)format("woff2"),url(/_astro/source-sans-3-greek-400-italic.CqOQbTKU.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-vietnamese-400-italic.Ip6ozmKu.woff2)format("woff2"),url(/_astro/source-sans-3-vietnamese-400-italic.DNgFUjkA.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-ext-400-italic.DtcUteIv.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-400-italic.i7UD_PwQ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/source-sans-3-latin-400-italic.bFKvakRX.woff2)format("woff2"),url(/_astro/source-sans-3-latin-400-italic.V6AhVXnr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-ext-600-normal.6AhwUnSr.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-600-normal.Cjpx_pje.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-cyrillic-600-normal.BnFu5nHC.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-600-normal.CloKWf-q.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-ext-600-normal.DynePNDL.woff2)format("woff2"),url(/_astro/source-sans-3-greek-ext-600-normal.CnpzyT-3.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-greek-600-normal.BSO157bq.woff2)format("woff2"),url(/_astro/source-sans-3-greek-600-normal.B42bzTIr.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-vietnamese-600-normal.B2sTNYey.woff2)format("woff2"),url(/_astro/source-sans-3-vietnamese-600-normal.BzH4Q14_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-ext-600-normal.AEyhgUpm.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-600-normal.D2VZAM8_.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/source-sans-3-latin-600-normal.DeckBYAU.woff2)format("woff2"),url(/_astro/source-sans-3-latin-600-normal.Ck0n4g8U.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-cyrillic-ext-700-normal.BhUSqjb8.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-ext-700-normal.COA7LiPB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-cyrillic-700-normal.CIuudVLB.woff2)format("woff2"),url(/_astro/source-sans-3-cyrillic-700-normal.D_p3L75o.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-greek-ext-700-normal.Dd6uIcuy.woff2)format("woff2"),url(/_astro/source-sans-3-greek-ext-700-normal.KTP46hTS.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-greek-700-normal.C8Tp2qRF.woff2)format("woff2"),url(/_astro/source-sans-3-greek-700-normal.C-sAg5NG.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-vietnamese-700-normal.Bgamivog.woff2)format("woff2"),url(/_astro/source-sans-3-vietnamese-700-normal.W-J7ohm4.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-ext-700-normal.6Xi0A2be.woff2)format("woff2"),url(/_astro/source-sans-3-latin-ext-700-normal.C1ecyfgK.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/source-sans-3-latin-700-normal.CkzU-mV9.woff2)format("woff2"),url(/_astro/source-sans-3-latin-700-normal.B-h9tW5h.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--ink:#1b2224;--body:#3d3d45;--gray:#5c5c66;--ground:#f4f4f2;--line:#e4e4e0;--rule:#d8d8d4;--link:#1d6e68;--hub:#1d6e68;--on-hub:#fff;--t1:#d6eae6;--t2:#a3cfc7;--t3:#5fa79a;--deep:#124a46;--f-head:"Sora","Segoe UI","Helvetica Neue",Arial,sans-serif;--f-body:"Source Sans 3","Segoe UI","Helvetica Neue",Arial,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}.hub-calc{--hub:#1d6e68;--on-hub:#fff;--t1:#d6eae6;--t2:#a3cfc7;--t3:#5fa79a;--deep:#124a46}.hub-doors{--hub:#b8382e;--on-hub:#fff;--t1:#f6dedb;--t2:#edbdb7;--t3:#d9867d;--deep:#8a2a22}.hub-bath{--hub:#6fb8b0;--on-hub:#1b2224;--t1:#ddefed;--t2:#bfe2de;--t3:#97cdc7;--deep:#2c6b64}.hub-kitchen{--hub:#f2cf63;--on-hub:#1b2224;--t1:#fcf2d3;--t2:#f9e6ae;--t3:#f5db88;--deep:#8a6a12}.hub-framing{--hub:#d9a066;--on-hub:#1b2224;--t1:#f6e8da;--t2:#edd2b4;--t3:#e3ba8d;--deep:#7a4e22}.hub-closet{--hub:#e8a0b4;--on-hub:#1b2224;--t1:#fbeaf0;--t2:#f5d3de;--t3:#edb6c8;--deep:#8e3553}.hub-outdoor{--hub:#3f7a3b;--on-hub:#fff;--t1:#e1eedf;--t2:#c2ddbf;--t3:#8dbb88;--deep:#2f5a2c}.hub-electrical{--hub:#ee8a3c;--on-hub:#1b2224;--t1:#fdebdc;--t2:#fad5b5;--t3:#f4b07a;--deep:#8c4513}.hub-beds{--hub:#a79bd8;--on-hub:#1b2224;--t1:#ece8f7;--t2:#d7d0ef;--t3:#bfb5e4;--deep:#4e3f94}.hub-planning{--hub:#4f5866;--on-hub:#fff;--t1:#e6e8eb;--t2:#cbd0d6;--t3:#98a1ac;--deep:#2e343c}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--ink);font-family:var(--f-body);margin:0;font-size:18px;line-height:1.6;overflow-x:clip}img,svg{max-width:100%}a{color:var(--link)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #1d6e68}[hidden]{display:none!important}.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}@media (width<=600px){.wrap{padding-left:16px;padding-right:16px}}.eyebrow{font-family:var(--f-mono);letter-spacing:.06em;color:var(--gray);font-size:11px;line-height:16px}.preview-bar{color:#fff;font-family:var(--f-mono);letter-spacing:.06em;text-align:center;background:#1b2224;flex-wrap:wrap;justify-content:center;gap:4px 16px;padding:7px 16px;font-size:11px;display:flex}.preview-bar a{color:#f2cf63}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 28px;padding-top:10px;padding-bottom:10px;display:flex}.hubnav{scrollbar-width:none;flex-wrap:nowrap;order:3;justify-content:space-between;gap:0 18px;width:100%;font-size:15px;font-weight:700;display:flex;overflow-x:auto}.hubnav a{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;min-height:40px;padding:9px 0;text-decoration:none;display:inline-flex}.hubnav a span{background:var(--sw);width:12px;height:12px}.hubnav a[aria-current=page]{box-shadow:inset 0 -4px 0 var(--sw)}.seg{border:1.5px solid var(--ink);display:inline-flex}.u-btn{min-width:44px;min-height:41px;font-family:var(--f-mono);cursor:pointer;color:var(--ink);background:#fff;border:none;padding:0 14px;font-size:13px}@media (width<=860px){.hubnav{justify-content:flex-start}}.hero{background:var(--hub);color:var(--on-hub)}.hero-in{flex-direction:column;gap:20px;padding-top:22px;padding-bottom:40px;display:flex}.crumbs{flex-wrap:wrap;gap:8px;font-size:14px;line-height:20px;display:flex}.hero-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;display:flex}.hero-text{flex-direction:column;flex:560px;gap:12px;min-width:0;max-width:840px;display:flex}.hero .eyebrow{color:inherit;font-size:12px;line-height:18px}.hero h1{font-family:var(--f-head);letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(32px,4.6vw,56px);font-weight:800;line-height:1.05}.lede{text-wrap:pretty;max-width:720px;margin:0;font-size:20px;line-height:1.55}.byline{opacity:.92;font-size:15px;line-height:21px}.fan{flex-direction:column;width:170px;display:flex;box-shadow:0 12px 24px -12px #00000073}.fan span{height:22px}@media (width<=700px){.fan{display:none}}.main{flex-direction:column;gap:36px;padding-top:32px;padding-bottom:80px;display:flex}.layout{flex-wrap:wrap;align-items:flex-start;gap:48px;display:flex}.post{flex-direction:column;flex:999 560px;gap:40px;min-width:0;max-width:800px;display:flex}.side{flex-direction:column;flex:260px;gap:24px;min-width:0;display:flex;position:sticky;top:16px}@media (width<=900px){.side{position:static}}.side-card{border-top:8px solid var(--hub);background:#fff;flex-direction:column;gap:2px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #1b22241a}.side-card .eyebrow{margin-bottom:6px}.side-card a{padding:6px 0;font-size:16px;font-weight:700;line-height:22px}.side-rel{flex-direction:column;gap:10px;display:flex}.rel-list{flex-direction:column;display:flex;box-shadow:0 1px 3px #1b22241a}.rel{min-height:46px;color:var(--ink);justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;font-size:15px;font-weight:700;line-height:20px;text-decoration:none;display:flex}.rel:hover{color:var(--ink)}.rel .soon{font-family:var(--f-mono);letter-spacing:.06em;color:var(--gray);font-size:9px;font-weight:400}.ad{text-align:center;height:110px;font-family:var(--f-mono);letter-spacing:.06em;color:var(--gray);border:1.5px dashed #8a8a94;justify-content:center;align-items:center;padding:0 12px;font-size:11px;display:flex}.ad-side{height:250px}.post section{flex-direction:column;gap:16px;min-width:0;display:flex}.post h2{font-family:var(--f-head);letter-spacing:-.01em;text-wrap:balance;margin:0;scroll-margin-top:16px;font-size:clamp(26px,3.2vw,32px);font-weight:800;line-height:1.2}.post h3{font-family:var(--f-head);margin:8px 0 0;font-size:21px;font-weight:700;line-height:1.3}.post p{margin:0}.post ul,.post ol{flex-direction:column;gap:6px;margin:0;padding-left:24px;display:flex}.post li::marker{color:var(--gray)}.post b,.post strong{font-weight:800}.post .small,.small{color:var(--body);font-size:15px;line-height:1.5}.num{font-family:var(--f-mono);white-space:nowrap;font-size:.86em}.answer{border-left:8px solid var(--hub);background:#fff;flex-wrap:wrap;align-items:flex-start;gap:18px 24px;padding:20px 24px;display:flex;box-shadow:0 1px 3px #1b22241a}.answer-text{flex-direction:column;flex:999 320px;gap:8px;min-width:0;display:flex}.answer-text p{margin:0;font-size:20px;line-height:1.55}.answer-strip{flex:230px}.answer-strip .chip.buy .big{font-size:clamp(26px,3vw,34px)}.strip{background:#fff;flex-direction:column;padding:10px;display:flex;box-shadow:0 2px 4px #1b22241a,0 24px 44px -24px #1b222459}.chip{color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;padding:12px 14px;display:flex}.chip .k{font-size:16px;font-weight:700;line-height:22px}.chip .v{font-family:var(--f-mono);text-align:right;font-size:14px;line-height:22px}.chip.c1{background:var(--t1)}.chip.c2{background:var(--t2)}.chip.c3{background:var(--t3)}.chip.buy{background:var(--hub);color:var(--on-hub);flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px}.chip.buy .k{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:400;line-height:16px}.chip.buy .big{font-family:var(--f-head);font-size:clamp(28px,3.4vw,40px);font-weight:800;line-height:1.05}.strip-foot{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 10px;padding:10px 4px 2px;display:flex}.strip-foot b{font-size:15px}.strip-foot span{font-family:var(--f-mono);color:var(--gray);font-size:10px}.pc-chip{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}.pc-chip:hover{transform:translate(10px);box-shadow:-6px 6px 16px #1b22242e}.fig{background:#fff;flex-direction:column;gap:10px;margin:0;padding:12px;display:flex;box-shadow:0 1px 3px #1b22241a}.fig-art{background:var(--t1);padding:12px}.fig-art svg{width:100%;height:auto;display:block}.fig figcaption{color:var(--body);padding:0 4px 4px;font-size:15px;line-height:1.5}.fig figcaption b{color:var(--ink)}@media (width<=600px){.fig-art{-webkit-overflow-scrolling:touch;overflow-x:auto}.fig-art svg{min-width:480px}}.fig-row>*,.fig{min-width:0}.fig-row{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;display:grid}.chart{background:#fff;overflow-x:auto;box-shadow:0 1px 3px #1b22241a}.chart table{border-collapse:collapse;width:100%;font-size:16px;line-height:1.45}.chart thead tr{background:var(--hub);color:var(--on-hub);text-align:left}.chart th[scope=col]{vertical-align:bottom;padding:12px 14px;font-weight:700}.chart th[scope=col]:first-child{padding-left:22px}.chart tbody tr{border-bottom:1px solid #efefec}.chart tbody tr:last-child{border-bottom:none}.chart tbody th{border-left:8px solid var(--t2);text-align:left;padding:11px 14px;font-weight:700}.chart tbody tr:nth-child(3n+1) th{border-left-color:var(--t1)}.chart tbody tr:nth-child(3n) th{border-left-color:var(--t3)}.chart td{font-family:var(--f-mono);vertical-align:top;padding:11px 14px;font-size:13.5px}.chart td.t{font-family:var(--f-body);font-size:16px}.chart-note{color:var(--body);margin:0;font-size:15px;line-height:1.5}.note{border:1.5px solid var(--ink);background:#fff;flex-direction:column;display:flex}.note:before{content:"";background:repeating-linear-gradient(-45deg,#1b2224 0 10px,#fff 10px 20px);height:10px}.note-in{align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.note-in svg{flex:none;margin-top:3px}.note-in p{margin:0;font-size:16px;line-height:1.5}.tip{background:var(--t1);border-left:8px solid var(--hub);flex-direction:column;gap:6px;padding:16px 20px;display:flex}.tip p{margin:0;font-size:17px;line-height:1.55}.tip .eyebrow{color:var(--ink)}.keyfacts{grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:10px;display:grid}.keyfacts div{border-top:6px solid var(--hub);background:#fff;flex-direction:column;gap:2px;padding:12px 14px;display:flex;box-shadow:0 1px 3px #1b22241a}.keyfacts b{font-family:var(--f-head);font-size:24px;font-weight:800;line-height:1.15}.keyfacts span{color:var(--body);font-size:15px;line-height:1.4}.steps{counter-reset:st;flex-direction:column;margin:0;list-style:none;display:flex;gap:12px!important;padding:0!important}.steps li{counter-increment:st;min-height:34px;padding-top:3px;padding-left:48px;position:relative}.steps li:before{content:counter(st);background:var(--t2);width:34px;height:34px;font-family:var(--f-mono);color:var(--ink);justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;top:0;left:0}.steps li:nth-child(4n+1):before{background:var(--t1)}.steps li:nth-child(4n+3):before{background:var(--t3)}.steps li:nth-child(4n):before{background:var(--hub);color:var(--on-hub)}.cta{background:var(--cta-bg,#6fb8b0);color:var(--cta-ink,#1b2224);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;padding:22px 24px;display:flex}.cta.to-calc{--cta-bg:#1d6e68;--cta-ink:#fff}.cta.to-doors{--cta-bg:#b8382e;--cta-ink:#fff}.cta.to-bath{--cta-bg:#6fb8b0}.cta.to-kitchen{--cta-bg:#f2cf63}.cta.to-framing{--cta-bg:#d9a066}.cta.to-beds{--cta-bg:#a79bd8}.post .cta{flex-flow:wrap;align-items:center;gap:14px 24px}.cta-text{flex-direction:column;flex:300px;gap:4px;display:flex}.cta-text .eyebrow{color:inherit}.cta-text b{font-family:var(--f-head);font-size:23px;font-weight:800;line-height:1.25}.cta-text span{font-size:16px;line-height:1.5}.btn{background:var(--ink);color:#fff;border:1.5px solid var(--ink);min-height:50px;font-family:var(--f-body);cursor:pointer;justify-content:center;align-items:center;padding:0 22px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 0 -2px #1b222440}.btn.ghost{color:var(--ink);background:#fff}.cta.to-calc .btn,.cta.to-doors .btn{color:var(--ink);background:#fff;border-color:#fff}.faq{border-top:1px solid var(--rule);flex-direction:column;gap:0;display:flex}.faq h3{font-family:var(--f-head);margin:0;padding-top:16px;font-size:19px;font-weight:700;line-height:1.35}.faq p{border-bottom:1px solid var(--rule);padding:6px 0 16px}.sources{border-top:1px solid var(--rule);padding-top:20px}.post .sources h2{font-size:22px;line-height:1.3}.sources ul{color:var(--body);gap:8px;font-size:15px;line-height:1.5}.sources p{color:var(--body);font-size:15px;line-height:1.5}.tool{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.tool-in{border-top:8px solid var(--hub);background:#fff;flex-direction:column;flex:340px;gap:20px;min-width:0;padding:22px;display:flex;box-shadow:0 1px 3px #1b22241a}.tool-in-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tool-in-head b{font-family:var(--f-head);font-size:20px;font-weight:800;line-height:24px}.tool-out{flex-wrap:wrap;flex:999 520px;align-items:flex-start;gap:20px;min-width:0;display:flex}.tool-draw{background:#fff;flex-direction:column;flex:999 320px;gap:10px;min-width:0;padding:12px;display:flex;box-shadow:0 1px 3px #1b22241a}.tool-draw .art{background:var(--t1);padding:12px}.tool-draw svg{width:100%;height:auto;display:block}.tool-draw .cap{font-family:var(--f-mono);letter-spacing:.04em;color:var(--gray);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:0 2px;font-size:11px;line-height:16px;display:flex}.tool-res{flex-direction:column;flex:280px;gap:14px;min-width:0;display:flex}.fields{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:14px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label,.field .lab,.opts-lab{font-size:15px;font-weight:800;line-height:20px}.box{border:1.5px solid var(--ink);background:#fff;align-items:stretch;height:52px;display:flex}.box input,.box select{width:100%;min-width:0;font-family:var(--f-mono);color:var(--ink);-moz-appearance:textfield;background:0 0;border:none;border-radius:0;flex:1;padding:0 12px;font-size:17px}.box input::-webkit-outer-spin-button,.box input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.box .unit{background:var(--t1);font-family:var(--f-mono);white-space:nowrap;align-items:center;padding:0 12px;font-size:13px;display:flex}.hint{color:var(--gray);font-size:15px;line-height:1.4}.opts-group{flex-direction:column;gap:8px;display:flex}.opts{flex-wrap:wrap;gap:8px;display:flex}.p-btn{border:1.5px solid var(--ink);min-width:56px;min-height:44px;color:var(--ink);font-family:var(--f-mono);cursor:pointer;background:#fff;padding:0 14px;font-size:13px}.p-btn[aria-pressed=true]{background:var(--hub);border-color:var(--hub);color:var(--on-hub)}.hub-bath .p-btn[aria-pressed=true],.hub-kitchen .p-btn[aria-pressed=true],.hub-framing .p-btn[aria-pressed=true],.hub-closet .p-btn[aria-pressed=true],.hub-electrical .p-btn[aria-pressed=true],.hub-beds .p-btn[aria-pressed=true],.hub-home .p-btn[aria-pressed=true],.hub-basement .p-btn[aria-pressed=true],.hub-garage .p-btn[aria-pressed=true]{border-color:var(--ink)}.check{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:16px;display:flex}.check input{width:22px;height:22px;accent-color:var(--ink);margin:0}.warn-inline{border:1.5px solid var(--ink);background:#fff;align-items:flex-start;gap:10px;padding:10px 12px;font-size:15px;line-height:1.45;display:flex}.warn-inline svg{flex:none;margin-top:2px}.mathbox{border-left:8px solid var(--hub);font-family:var(--f-mono);background:#fff;flex-direction:column;padding:16px 20px;font-size:13.5px;line-height:26px;display:flex;overflow-x:auto;box-shadow:0 1px 3px #1b22241a}.mathbox span{white-space:pre}.mathbox .em{background:var(--t1);font-weight:500}@media (prefers-reduced-motion:reduce){.pc-chip,.btn{transition:none}.pc-chip:hover,.btn:hover{transform:none}}.site-foot{color:#a8a8b0;background:#1b2224}.stripe{grid-template-columns:repeat(6,minmax(0,1fr));height:14px;display:grid}.foot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding-top:26px;padding-bottom:28px;font-size:14px;line-height:20px;display:flex}.brand-foot{font-family:var(--f-head);letter-spacing:.02em;color:#fff;font-size:18px;font-weight:800}.site-foot a{color:#d6eae6}.pm{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}@media (width<=960px){.pm{grid-template-columns:1fr}}.pm-stage{background:#fff;overflow:hidden;box-shadow:0 1px 3px #1b22241a}.pm-bar{border-bottom:1.5px solid var(--ink);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 18px;display:flex}.pm-cap{font-family:var(--f-mono);color:var(--ink);font-size:12px}.pm-bar .btn{min-height:42px;padding:0 18px}.pm-body{background:var(--t1);padding:22px 20px 28px;overflow:hidden}.pm-fit{margin:0 auto;position:relative}.pm-pages{transform-origin:0 0;flex-direction:column;gap:22px;width:max-content;display:flex;position:absolute;top:0;left:0}.pm .panel{border-top:8px solid var(--hub);background:#fff;flex-direction:column;gap:14px;padding:18px;display:flex;box-shadow:0 1px 3px #1b22241a}.pm .panel-sec{flex-direction:column;gap:9px;display:flex}.pm .panel-sec+.panel-sec{border-top:1px solid var(--line);padding-top:14px}.pm .panel h2{font-family:var(--f-head);color:var(--ink);margin:0;font-size:20px;font-weight:800;line-height:1.2}.pm .opts-lab{font-size:15px;font-weight:700}.pm .p-btn{min-height:38px;padding:0 12px;font-size:12px}.pm .hint{margin:0;font-size:14px}.pm .check{min-height:0;color:var(--body);align-items:flex-start;gap:8px;font-size:15.5px;line-height:1.35}.pm .check input{flex:none;width:18px;height:18px;margin:2px 0 0}.pm .checks{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.pm .mini{flex-wrap:wrap;gap:6px;display:flex}.pm .mini button{border:1px solid var(--rule);min-height:30px;font-family:var(--f-mono);color:var(--body);cursor:pointer;background:#fff;padding:0 10px;font-size:11px}.pm .swatches{flex-wrap:wrap;gap:8px;display:flex}.pm .swatch{width:30px;height:30px;box-shadow:0 0 0 1px var(--rule);background:var(--sw);cursor:pointer;border:3px solid #fff;padding:0}.pm .swatch[aria-pressed=true]{box-shadow:0 0 0 2.5px var(--ink)}.pm .btn-row{flex-wrap:wrap;gap:8px;display:flex}.pm [hidden]{display:none!important}@media (width<=600px){.pm-body{padding:12px 8px 16px}.pm .checks{grid-template-columns:1fr}}.sheet{--acc:#4f5866;--tint:#e6e8eb;--rule:#b9bec5;color:#1b2224;font-family:var(--f-body);-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;flex-direction:column;flex:none;gap:.1in;padding:.5in .5in .55in;font-size:9.5pt;line-height:1.3;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 30px -20px #1b222473,0 0 0 1px #1b222414}.sheet>*{flex:none}.sheet.letter{width:8.5in;height:11in}.sheet.letter.land{width:11in;height:8.5in}.sheet.a4{width:210mm;height:297mm}.sheet.a4.land{width:297mm;height:210mm}.sheet.c-blue{--acc:#1d6e68;--tint:#d6eae6}.sheet.c-green{--acc:#3f7a3b;--tint:#e1eedf}.sheet.c-teal{--acc:#2c6b64;--tint:#ddefed}.sheet.c-ochre{--acc:#8a6a12;--tint:#fcf2d3}.sheet.c-ink{--acc:#333;--tint:#efefef;--rule:#9a9a9a}.sheet p{margin:0}.s-head{border-bottom:3pt solid var(--acc);justify-content:space-between;align-items:flex-end;gap:.25in;padding-bottom:.06in;display:flex}.s-title{font-family:var(--f-head);color:var(--acc);letter-spacing:-.01em;font-size:23pt;font-weight:800;line-height:1}.s-sub{font-family:var(--f-mono);color:#4d4d55;text-align:right;text-transform:uppercase;letter-spacing:.06em;max-width:3.6in;font-size:7pt}.s-key{color:#4d4d55;flex-wrap:wrap;gap:.03in .24in;font-size:8pt;display:flex}.s-key span{align-items:center;gap:4pt;display:inline-flex}.s-fields{gap:.22in;display:flex}.s-field{color:#4d4d55;flex:1;align-items:flex-end;gap:5pt;min-width:0;font-size:8.5pt;display:flex}.s-field span{white-space:nowrap}.s-field i{color:#1b2224;white-space:nowrap;border-bottom:1pt solid #8c8c94;flex:1;align-items:flex-end;min-width:.4in;height:.21in;padding:0 3pt;font-size:9.5pt;font-style:normal;font-weight:700;display:flex;overflow:hidden}.sheet .bx{vertical-align:-1.5pt;background:#fff;border:1pt solid #5c5c66;flex:none;width:.13in;height:.13in;display:inline-block}.s-table{border-collapse:collapse;table-layout:fixed;width:100%}.s-table th{background:var(--tint);text-align:left;border:.75pt solid var(--rule);vertical-align:bottom;color:#2d2d33;padding:3pt 5pt;font-size:7.5pt;font-weight:700}.s-table td{border:.75pt solid var(--rule);vertical-align:middle;padding:2.4pt 5pt;font-size:8.6pt;line-height:1.25}.s-table th.c,.s-table td.c{text-align:center;padding-left:0;padding-right:0}.s-table td.n{color:#8c8c94;font-size:7.5pt}.s-table td.code{font-family:var(--f-mono);color:#4d4d55;font-size:6.8pt}.s-table tr.grp td{font-family:var(--f-head);color:var(--acc);border-left-color:#0000;border-right-color:#0000;padding:6pt 0 1.5pt;font-size:11pt;font-weight:800}.s-table tr.own td{height:.27in}.s-table tbody th{vertical-align:middle;background:#fff;font-size:8.5pt;font-weight:700}.s-choose td,.s-sizes td{height:.25in}.s-tot th,.s-tot td{height:.24in}.s-tot tr.sum th,.s-tot tr.sum td{background:var(--tint)}.s-pay td{height:.24in}.s-sec{font-family:var(--f-head);color:var(--acc);border-bottom:1pt solid var(--acc);margin-top:.04in;padding-bottom:1.5pt;font-size:12.5pt;font-weight:800}.s-note{color:#4d4d55;font-size:7.8pt}.s-list{flex-direction:column;display:flex}.s-it{border-bottom:.5pt solid #e4e4e0;align-items:flex-start;gap:6pt;padding:2.4pt 0;font-size:8.8pt;line-height:1.28;display:flex}.s-it .bx{margin-top:.5pt}.s-it .t{flex:1;min-width:0}.s-look{color:#4d4d55;font-size:7.8pt;line-height:1.4}.s-look b{color:#1b2224}.s-sign{gap:.2in;display:flex}.s-foot{font-family:var(--f-mono);color:#9a9aa2;justify-content:space-between;gap:.2in;font-size:6.5pt;display:flex;position:absolute;bottom:.22in;left:.5in;right:.5in}@media print{body:has(.pm) .site-head,body:has(.pm) footer,body:has(.pm) .hero,body:has(.pm) .main>:not(.pm),.pm .panel,.pm-bar{display:none!important}body:has(.pm){background:#fff}body:has(.pm) .main{display:block;max-width:none!important;margin:0!important;padding:0!important}.pm{display:block}.pm-stage{box-shadow:none;background:0 0;overflow:visible}.pm-body{overflow:visible;background:0 0!important;padding:0!important}.pm-fit{width:auto!important;height:auto!important}.pm-pages{gap:0;display:block;position:static;transform:none!important}.sheet{box-shadow:none;break-after:page;page-break-after:always;margin:0}.sheet:last-child{break-after:auto;page-break-after:auto}.sheet.letter{height:10.97in}.sheet.letter.land{height:8.47in}.sheet.a4{height:296mm}.sheet.a4.land{height:209mm}}.is-later{cursor:default}a.rel:not(.is-later),span.rel{color:var(--ink)}span.rel.is-later{opacity:.75}[data-later]:not(.rel){color:inherit}.grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr));gap:16px;display:grid}.card{border-top:10px solid var(--hub);color:var(--ink);background:#fff;flex-direction:column;gap:6px;padding:18px 18px 16px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #1b22241a}.card:hover{color:var(--ink);transform:translateY(-3px);box-shadow:0 14px 28px -16px #1b222473}.card .kind{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gray);font-size:11px}.card b{font-family:var(--f-head);font-size:22px;font-weight:800;line-height:1.2}.card .desc{color:var(--body);font-size:16px;line-height:1.5}.card .stats{font-family:var(--f-mono);margin-top:auto;padding-top:10px;font-size:12px}.card .kw{font-family:var(--f-mono);color:var(--gray);font-size:11px}.card .url{font-family:var(--f-mono);color:var(--link);word-break:break-all;font-size:11px}.card.tool{background:linear-gradient(var(--t1),var(--t1)) top/100% 0 no-repeat,#fff}@media (prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}.hub-head{flex-direction:column;gap:8px;margin:0 0 6px;display:flex}.hub-head h2{font-family:var(--f-head);margin:0;font-size:24px;font-weight:800}.soon-list{color:var(--body);grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:6px 24px;margin:0;padding-left:22px;font-size:16px;display:grid}.hub-tiles{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:16px;display:grid}.hub-tile{border-top:10px solid var(--hub);background:#fff;flex-direction:column;gap:8px;padding:18px;display:flex;box-shadow:0 1px 3px #1b22241a}.hub-tile h3{font-family:var(--f-head);margin:0;font-size:22px;font-weight:800;line-height:1.2}.hub-tile h3 a{color:var(--ink);text-decoration:none}.hub-tile .kind{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gray);font-size:11px}.hub-tile p{color:var(--body);margin:0;font-size:16px;line-height:1.5}.hub-tile ul{margin:4px 0 0;padding-left:20px;font-size:16px;line-height:1.5}.hub-tile li span{color:var(--gray)}.home-hero .hero-in{padding-top:40px;padding-bottom:48px}.contact-form{flex-direction:column;gap:16px;max-width:640px;display:flex}.contact-form .botcheck{display:none}.contact-form textarea{resize:vertical;border:1.5px solid var(--ink);width:100%;min-height:180px;font-family:var(--f-body);background:#fff;padding:10px 12px;font-size:17px}.contact-form .box input,.contact-form .box select{font-family:var(--f-body)}.contact-status{margin:0;font-size:16px}.contact-status:empty{display:none}.pc-card{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s;box-shadow:0 1px 3px #1b22241a}.pc-card:hover{transform:translateY(-6px);box-shadow:0 2px 4px #1b222414,0 22px 40px -18px #1b222459}.pc-fan{position:relative}.pc-blade{transform-origin:50% 94%;border-radius:5px;width:40px;height:112px;margin-left:-20px;transition:transform .5s cubic-bezier(.2,.8,.2,1);position:absolute;bottom:6px;left:50%;box-shadow:0 2px 6px #1b222440}.pc-blade:first-child{transform:rotate(-18deg)}.pc-blade:nth-child(2){transform:rotate(-11deg)}.pc-blade:nth-child(3){transform:rotate(-4deg)}.pc-blade:nth-child(4){transform:rotate(3deg)}.pc-blade:nth-child(5){transform:rotate(10deg)}.pc-blade:nth-child(6){transform:rotate(17deg)}.pc-fan:hover .pc-blade:first-child{transform:rotate(-62deg)}.pc-fan:hover .pc-blade:nth-child(2){transform:rotate(-38deg)}.pc-fan:hover .pc-blade:nth-child(3){transform:rotate(-13deg)}.pc-fan:hover .pc-blade:nth-child(4){transform:rotate(12deg)}.pc-fan:hover .pc-blade:nth-child(5){transform:rotate(37deg)}.pc-fan:hover .pc-blade:nth-child(6){transform:rotate(61deg)}@media (prefers-reduced-motion:reduce){.pc-chip,.pc-card,.pc-blade{transition:none}}:root{--ink:#1b2224;--body:#3c4648;--gray:#5a6869;--ground:#f5f7f6;--line:#d5e3e0;--rule:#c9dad6;--link:#1d6e68;--band:#e6f0ee;--band-line:#cfe1dc;--soft:#f0f6f4;--brand:#1d6e68;--tape:#c59a3d}.hub-calc,.hub-doors,.hub-bath,.hub-kitchen,.hub-framing,.hub-closet,.hub-outdoor,.hub-electrical,.hub-beds,.hub-planning,.hub-home,.hub-basement,.hub-garage{--hub:#1d6e68;--on-hub:#fff;--t1:#d6eae6;--t2:#a3cfc7;--t3:#5fa79a;--deep:#124a46}body{background:var(--ground);color:var(--ink);font-size:17.5px}a:hover{color:#124a46}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--brand)}.site-head{border-bottom:1px solid var(--line);background:#fff}.site-head .head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 18px;min-height:56px;padding-top:8px;padding-bottom:0;display:flex}.brand{min-height:44px;color:var(--ink);font-family:var(--f-head);letter-spacing:-.01em;align-items:center;gap:10px;font-size:21px;font-weight:800;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.head-tools{align-items:center;gap:10px;margin-left:auto;display:flex}.seg{border:1px solid var(--rule);border-radius:10px;display:inline-flex;overflow:hidden}.u-btn{min-width:44px;min-height:40px;padding:0 12px;font-size:12px}.u-btn[aria-pressed=true]{background:var(--ink);color:#fff}.my-btn{border:1px solid var(--rule);min-height:42px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.my-btn:hover{color:var(--ink);border-color:var(--ink)}.my-btn .n{background:var(--ink);color:#fff;font-family:var(--f-mono);border-radius:6px;padding:4px 7px;font-size:10.5px;line-height:1}.my-btn[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fff}.my-btn[aria-current=page] .n{color:var(--ink);background:#fff}.site-head .hubnav{scrollbar-width:none;flex-wrap:nowrap;order:0;justify-content:flex-start;gap:0 22px;width:auto;margin-top:2px;font-size:15px;font-weight:700;display:flex;overflow-x:auto}.site-head .hubnav::-webkit-scrollbar{display:none}.site-head .hubnav a{min-height:44px;color:var(--ink);white-space:nowrap;align-items:center;gap:7px;padding:0;text-decoration:none;display:inline-flex}.site-head .hubnav a .hub-icon{color:var(--brand);flex:none}.site-head .hubnav a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--brand);font-weight:800}@media (width<=560px){.site-head .head-row{gap:6px 10px}.my-btn{padding:0 10px}.brand{font-size:19px}}@media (width<=480px){.site-head .head-row{flex-wrap:nowrap;gap:8px}.brand{gap:8px;font-size:17px}.brand svg{width:30px;height:30px}.head-tools{gap:6px}.u-btn{min-width:38px;padding:0 9px}.my-btn{gap:6px;padding:0 10px}.my-btn .lbl{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.hero{background:var(--band);color:var(--ink);border-bottom:1px solid var(--band-line)}.hero a{color:var(--brand)}.hero a:focus-visible{outline-color:var(--brand)}.hero .crumbs{color:#46524f}.hero .eyebrow{color:var(--brand);font-size:11.5px}.hero h1{letter-spacing:-.025em;color:var(--ink)}.lede{color:#36413f}.byline{color:#46524f;opacity:1;font-size:14.5px}.fan{display:none}.card,.hub-tile{border-top:0;border:1px solid var(--line);box-shadow:none;border-radius:10px}.card:hover{border-color:var(--brand);transform:none;box-shadow:0 12px 26px -20px #1b222473}.card .kind,.hub-tile .kind{color:var(--gray)}.side-card{border-top:0;border:1px solid var(--line);box-shadow:none;border-radius:10px}.rel-list{border:1px solid var(--line);box-shadow:none;background:#fff;border-radius:10px;overflow:hidden}.rel-list .rel+.rel{border-top:1px solid var(--line)}.keyfacts div{border-top:0;border:1px solid var(--line);box-shadow:none;border-radius:10px}.answer{border-left:0;border:1px solid var(--band-line);box-shadow:none;border-radius:12px}.strip{border:1px solid var(--band-line);box-shadow:none;border-radius:10px;padding:0;overflow:hidden}.strip .chip{border-radius:0}.strip-foot{padding:10px 2px 2px}.fig{border:1px solid var(--line);box-shadow:none;border-radius:10px}.fig-art{background:var(--soft);border-radius:6px}.chart{border:1px solid var(--line);box-shadow:none;border-radius:10px}.chart thead tr{background:var(--soft);color:var(--ink)}.chart th[scope=col]{font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--gray);font-size:11px;font-weight:400}.chart tbody th{border-left:0}.chart tr.hl{background:var(--soft)}.note{background:#fff6f2;border:1px solid #f0cdbf;border-radius:10px;overflow:hidden}.note:before{display:none}.tip{background:var(--soft);border-left:0;border:1px solid var(--band-line);border-radius:10px}.mathbox{border-left:0;border:1px solid var(--line);box-shadow:none;border-radius:10px}.warn-inline{background:#fff6f2;border:1px solid #f0cdbf;border-radius:8px}.steps li:before,.steps li:nth-child(4n+1):before,.steps li:nth-child(4n+3):before,.steps li:nth-child(4n):before{background:var(--ink);color:#fff;border-radius:6px;width:30px;height:30px;font-size:12px}.steps li{padding-left:44px}.cta,.cta.to-calc,.cta.to-doors,.cta.to-bath,.cta.to-kitchen,.cta.to-framing,.cta.to-beds{--cta-bg:#1b2224;--cta-ink:#fff;border-radius:12px}.cta .btn,.cta.to-calc .btn,.cta.to-doors .btn{color:var(--ink);background:#fff;border-color:#fff}.btn{border-width:1px;border-radius:10px;min-height:48px}.btn:hover{box-shadow:none;background:#2c3638;border-color:#2c3638;transform:none}.btn.ghost{border-color:var(--rule)}.btn.ghost:hover{color:var(--ink);border-color:var(--ink);background:#fff}.cta .btn:hover{color:var(--ink);background:#fff}.tool-in{border-top:0;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #1b22240d,0 10px 26px #1b22240f}.tool-draw{border:1px solid var(--line);box-shadow:none;border-radius:12px}.tool-draw .art{background:var(--soft);border-radius:8px}.box{border:1px solid var(--rule);border-radius:8px;height:48px;overflow:hidden}.box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px #1d6e6826}.box .unit{background:var(--soft)}.box.bad{border-color:#b3261e;box-shadow:inset 0 0 0 1px #b3261e}.p-btn{border:1px solid var(--rule);border-radius:8px}.p-btn[aria-pressed=true],.hub-bath .p-btn[aria-pressed=true],.hub-kitchen .p-btn[aria-pressed=true],.hub-framing .p-btn[aria-pressed=true],.hub-closet .p-btn[aria-pressed=true],.hub-electrical .p-btn[aria-pressed=true],.hub-beds .p-btn[aria-pressed=true],.hub-home .p-btn[aria-pressed=true],.hub-basement .p-btn[aria-pressed=true],.hub-garage .p-btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.pm-stage{border:1px solid var(--line);box-shadow:none;border-radius:12px}.pm-bar{border-bottom:1px solid var(--line)}.pm .panel{border-top:0;border:1px solid var(--line);box-shadow:none;border-radius:12px}.ad{border-radius:8px}.site-foot{color:var(--body);border-top:1px solid var(--line);background:#fff;margin-top:24px}.site-foot a{color:var(--body);text-decoration:none}.site-foot a:hover{color:var(--brand)}.foot-cols{flex-wrap:wrap;gap:28px 48px;padding-top:32px;padding-bottom:20px;display:flex}.foot-brand{flex-direction:column;flex:260px;gap:10px;min-width:0;display:flex}.foot-brand p{color:#46524f;max-width:320px;margin:0;font-size:15px;line-height:1.5}.site-foot .brand{color:var(--ink);font-size:19px}.foot-nav{flex-direction:column;flex:0 180px;gap:5px;font-size:15px;display:flex}.foot-nav b{color:var(--ink);margin-bottom:3px}@media (width>=980px){.foot-cols{grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(0,1fr));gap:28px 32px;display:grid}}.foot-base{color:var(--gray);border-top:1px solid #e3ecea;padding-top:14px;padding-bottom:24px;font-size:13.5px}.hub-hero .hub-mark{align-items:center;gap:12px;display:flex}.hub-hero .hub-mark span.tile{border:1px solid var(--band-line);width:48px;height:48px;color:var(--brand);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.hub-hero .hub-mark span.code{font-family:var(--f-mono);letter-spacing:.06em;color:var(--brand);font-size:11.5px}.hub-stats{flex:300px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;max-width:420px;display:grid}.hub-stats div{border:1px solid var(--band-line);background:#fff;border-radius:10px;padding:12px 14px}.hub-stats b{font-family:var(--f-head);color:var(--ink);font-size:26px;font-weight:800;line-height:1.1;display:block}.hub-stats span{color:#46524f;font-size:13.5px}.hub-filters{flex-wrap:wrap;gap:6px;margin:0 0 4px;display:flex}.hub-filters button{border:1px solid var(--rule);min-height:44px;color:var(--ink);font-family:var(--f-body);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:700;display:inline-flex}.hub-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.hub-filters button span{font-family:var(--f-mono);opacity:.85;font-size:11px}.hub-tiles .hub-tile{gap:8px;min-height:190px;padding:16px 18px}.hub-tile .tile-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.hub-tile .code-tag{font-family:var(--f-mono);color:#fff;background:var(--brand);border-radius:5px;padding:3px 7px;font-size:11px}.hub-tile .grp{font-family:var(--f-mono);letter-spacing:.05em;color:var(--gray);text-transform:uppercase;font-size:10.5px}.hub-tile h3{font-size:19px}.hub-tile p{font-size:15.5px}.hub-tile .open{color:var(--brand);align-items:center;gap:6px;margin-top:auto;font-size:15px;font-weight:700;display:inline-flex}.soon-box{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px 20px}.soon-box h2{margin:0 0 6px}.soon-box .soon-list{margin-top:6px}.chip.c0{background:var(--soft)}.chip.buy .sub{font-size:14.5px;line-height:1.4}.rf-home{overflow-x:clip}.rh-hero{background:var(--band);border-bottom:1px solid var(--band-line)}.rh-hero-in{flex-wrap:wrap;align-items:flex-start;gap:28px;padding-top:38px;padding-bottom:40px;display:flex}.rh-text{flex:999 520px;min-width:0}.rh-eyebrow{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin:0;font-size:11.5px}.rh-text h1{font-family:var(--f-head);letter-spacing:-.03em;color:var(--ink);text-wrap:balance;margin:12px 0 0;font-size:clamp(36px,4.8vw,60px);font-weight:800;line-height:1.02}.rh-lede{color:#36413f;max-width:620px;margin:16px 0 0;font-size:19px;line-height:1.55}.rh-btns{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.rh-meta{color:#46524f;flex-wrap:wrap;gap:4px 18px;margin:18px 0 0;font-size:14px;display:flex}.rh-quick{border:1px solid var(--band-line);background:#fff;border-radius:12px;flex:380px;min-width:0;overflow:hidden;box-shadow:0 1px 2px #1b22240d,0 12px 28px #1b222412}.rh-quick-head{border-bottom:1px solid #e3ecea;flex-wrap:wrap;align-items:center;gap:10px;padding:13px 18px;display:flex}.rh-quick-head h2{font-family:var(--f-head);color:var(--ink);margin:0;font-size:18px;font-weight:800}.code-tag{font-family:var(--f-mono);color:#fff;background:var(--brand);border-radius:5px;padding:3px 7px;font-size:11px}.ex-tag{font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:#6b4e00;background:#f6ecd6;border-radius:5px;margin-left:auto;padding:4px 8px;font-size:10.5px}.rh-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px 18px 6px;display:grid}.rh-fields .field label,.rh-fields .lab{color:#46524f;font-size:13.5px;font-weight:700}.rh-fields .box{height:46px}.rh-fields .box input{padding:0 10px;font-size:15px}.rh-fields .box .unit{padding:0 10px;font-size:12px}.rh-fields .opts{flex-wrap:nowrap;gap:4px}.rh-fields .p-btn{flex:1 1 0;min-width:0;height:46px;padding:0}.rh-strip{margin:10px 18px 0}.rh-strip .chip.buy .big{font-size:30px}.rh-note{color:var(--gray);margin:0;padding:10px 18px 16px;font-size:13px;line-height:1.45}@media (width<=480px){.rh-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.rh-sec{padding-top:34px}.rh-sec>h2{font-family:var(--f-head);letter-spacing:-.015em;color:var(--ink);margin:0 0 14px;font-size:clamp(22px,2.2vw,28px);font-weight:800}.rh-sub{color:#46524f;margin:-8px 0 16px}.rh-sizes{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;display:grid}.rh-size{border:1px solid var(--line);color:var(--body);background:#fff;border-radius:10px;flex-direction:column;gap:4px;padding:16px 18px;text-decoration:none;display:flex}.rh-size:hover{border-color:var(--brand);color:var(--body)}.rh-size .k{font-family:var(--f-mono);letter-spacing:.06em;color:var(--gray);font-size:10.5px}.rh-size b{font-family:var(--f-head);color:var(--ink);font-size:32px;font-weight:800;line-height:1.1}.rh-size span:last-child{font-size:15px;line-height:1.45}.rh-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px;display:grid}.rh-card{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:8px;padding:16px 18px;display:flex}.rh-card-head{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.rh-card-head:hover{color:var(--brand)}.rh-card-head .tile{background:var(--band);width:40px;height:40px;color:var(--brand);border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.rh-card-head b{font-family:var(--f-head);font-size:18px;font-weight:800;line-height:1.2;display:block}.rh-card-head .meta{font-family:var(--f-mono);letter-spacing:.05em;color:var(--gray);font-size:10.5px}.rh-card p{color:var(--body);margin:0;font-size:15.5px;line-height:1.45}.rh-card ul{margin:2px 0 0;padding:0;list-style:none}.rh-card li{border-top:1px solid #e3ecea}.rh-card li a{min-height:42px;color:var(--ink);justify-content:space-between;align-items:center;gap:8px;font-size:15.5px;font-weight:700;text-decoration:none;display:flex}.rh-card li a svg{color:var(--brand);flex:none}.rh-card li a:hover{color:var(--brand)}.rh-coming{color:#46524f;margin:14px 0 0;font-size:15px}.rh-steps{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.rh-steps li{border:1px solid var(--line);background:#fff;border-radius:10px;gap:14px;padding:18px;font-size:16px;display:flex}.rh-steps .n{font-family:var(--f-mono);color:#fff;background:var(--ink);border-radius:5px;flex:none;align-self:flex-start;padding:3px 7px;font-size:12px}.rh-steps b{font-family:var(--f-head);color:var(--ink);font-size:18px;font-weight:800;display:block}.rh-mine{color:#d5e3e0;background:#1b2224;border-radius:12px;flex-wrap:wrap;align-items:center;gap:20px 28px;padding:26px 28px;display:flex}.rh-mine-text{flex:999 420px;min-width:0}.rh-mine-text h2{font-family:var(--f-head);color:#fff;margin:0;font-size:clamp(22px,2.2vw,28px);font-weight:800}.rh-mine-text p{max-width:560px;margin:8px 0 0;font-size:16.5px;line-height:1.55}.rh-mine-box{background:#262a33;border:1px solid #3a3f4b;border-radius:10px;flex:320px;min-width:0;padding:14px 16px}.rh-mine-box ul{flex-direction:column;gap:6px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.rh-mine-box li{justify-content:space-between;gap:10px;display:flex}.rh-mine-box li b{color:#fff}.rh-mine-box li span{font-family:var(--f-mono);color:#a3cfc7;font-size:12.5px}.rh-mine-box li.empty{color:#b5ccc7}.rh-mine-link{color:#fff;align-items:center;gap:6px;min-height:44px;margin-top:6px;font-weight:700;display:inline-flex}.rh-mine-link:hover{color:#d6eae6}.rh-src{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-bottom:12px;padding:20px 22px;display:flex}.rh-src>div{flex:420px;min-width:0}.rh-src h2{font-family:var(--f-head);color:var(--ink);margin:0;font-size:20px;font-weight:800}.rh-src p{margin:4px 0 0}.mp{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.mp-main{flex-direction:column;flex:999 600px;gap:12px;min-width:0;display:flex}.mp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.mp-head h2,.mp-shop h2{font-family:var(--f-head);color:var(--ink);margin:0;font-size:24px;font-weight:800}.mp-clear{min-height:40px}.mp-rooms{flex-direction:column;gap:10px;display:flex}.mp-empty{border:1px dashed var(--t2);color:var(--body);background:#fff;border-radius:12px;margin:0;padding:16px 18px}.mp-room{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 18px;display:flex}.mp-info{flex-direction:column;flex:200px;min-width:0;display:flex}.mp-info b{font-family:var(--f-head);color:var(--ink);font-size:19px;font-weight:800}.mp-size{font-family:var(--f-mono);color:var(--gray);font-size:12.5px}.mp-open{color:#46524f;font-size:14.5px}.mp-nums{flex:2 320px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.mp-num{background:var(--soft);border-radius:8px;padding:8px 10px}.mp-num.paint{background:var(--t1)}.mp-num dt{font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--gray);font-size:10px}.mp-num dd{color:var(--ink);margin:0;font-size:15px;font-weight:700}.mp-rm{min-height:44px;padding:0 14px}.mp-add{border:1px dashed var(--t2);background:#fff;border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.mp-add>b{color:var(--ink)}.mp-add .hint:empty{display:none}.mp-side{flex-direction:column;flex:320px;gap:12px;min-width:0;display:flex}.mp-shop{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:12px;padding:16px 18px;display:flex}.mp-shop-btns{flex-wrap:wrap;gap:8px;display:flex}@media (width<=560px){.mp-nums{grid-template-columns:1fr}}@media print{body:has(.mp) .site-head,body:has(.mp) .site-foot,body:has(.mp) .hero,.mp-add,.mp-rm,.mp-clear,.mp-shop-btns,.mp-side .side-card{display:none!important}body:has(.mp){background:#fff}}:root{--ink:#1b2224;--body:#3c4648;--gray:#5a6869;--ground:#f5f7f6;--line:#d5e3e0;--rule:#c9dad6;--link:#1d6e68;--band:#e6f0ee;--band-line:#cfe1dc;--soft:#f0f6f4;--brand:#1d6e68;--tape:#c59a3d;--brass-soft:#f6ecd6;--ok:#2e7d4f;--warn:#a86a12;--bad:#b3261e}.brand .fit{color:var(--brand)}body{font-size:17.5px}.plan-btn{background:var(--ink);color:#fff;white-space:nowrap;border-radius:10px;align-items:center;min-height:42px;padding:0 16px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.plan-btn:hover{color:#fff;background:#2c3638}.plan-btn-m{display:none}.menu-btn{border:1px solid var(--rule);min-height:42px;color:var(--ink);font-family:var(--f-body);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:15px;font-weight:700;display:none}.secnav{margin-top:2px}.sec-row{flex-wrap:wrap;gap:0 22px;margin:0;padding:0;list-style:none;display:flex}.sec{align-items:center;gap:2px;display:flex;position:relative}.sec-top{min-height:44px;color:var(--ink);white-space:nowrap;align-items:center;gap:7px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.sec-top .hub-icon{color:var(--brand);flex:none}.sec-top:hover{color:var(--brand)}.sec.is-current .sec-top{box-shadow:inset 0 -3px 0 var(--brand);font-weight:800}.sec-caret{width:28px;min-height:44px;color:var(--gray);cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.sec-caret:hover{color:var(--ink)}.sec-menu{z-index:40;border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;gap:12px 28px;width:max-content;max-width:min(600px,92vw);padding:14px 18px 16px;display:none;position:absolute;top:100%;left:-14px;box-shadow:0 22px 44px -26px #1b222480}.sec.open .sec-menu{display:flex}@media (hover:hover) and (width>=861px){.sec:hover .sec-menu,.sec:focus-within .sec-menu{display:flex}}.sec-k{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--brand);flex-basis:100%;margin:0;font-size:11px}.sec-list{min-width:210px;max-width:280px}.sec-list>b{letter-spacing:.04em;text-transform:uppercase;color:var(--gray);margin:0 0 4px;font-size:12.5px;display:block}.sec-list ul{margin:0;padding:0;list-style:none}.sec-list li a{color:var(--ink);padding:5px 0;font-size:15px;font-weight:600;line-height:1.3;text-decoration:none;display:block}.sec-list li a span{color:var(--gray);font-size:13.5px;font-weight:400;display:block}.sec-list li a:hover,.sec-list li a[aria-current=page]{color:var(--brand)}.sec-list ul.chips{flex-wrap:wrap;gap:6px;display:flex}.sec-list ul.chips li a{border:1px solid var(--rule);font-family:var(--f-mono);border-radius:8px;padding:5px 9px;font-size:12.5px;font-weight:500}.sec-list ul.chips li a:hover{border-color:var(--brand)}.sec-more{flex-basis:100%;font-size:14.5px;font-weight:700}@media (width<=860px){.plan-btn{display:none}.menu-btn{display:inline-flex}.secnav{border-top:1px solid var(--line);padding:4px 0 14px;display:none}.secnav.open{display:block}.sec-row{flex-direction:column}.sec{border-bottom:1px solid #e3ecea;flex-wrap:wrap}.sec-top{flex:auto}.sec-menu{width:100%;max-width:none;box-shadow:none;border:0;border-radius:0;padding:2px 0 12px 25px;position:static}.plan-btn-m{justify-content:center;margin-top:12px;display:flex}}@media (width<=480px){.menu-btn span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.menu-btn{padding:0 10px}}.plan-fig{margin:0}.plan-fig .fig-art{background:#fbfcfc;border:1px solid #e3ecea;border-radius:10px;padding:10px}.plan-fig .fig-art svg{width:100%;height:auto;display:block}.plan-open svg{flex:none}.plan-fig figcaption{color:var(--body);margin-top:8px;font-size:15px}.plan-open{align-items:center;gap:6px;margin-top:8px;font-size:15px;font-weight:700;display:inline-flex}.plan-checks,.post .plan-checks{flex-flow:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.plan-checks li{font-family:var(--f-mono);background:var(--soft);border:1px solid var(--band-line);color:var(--ink);border-radius:6px;padding:3px 8px;font-size:12px}.plan-checks li.tight{background:var(--brass-soft);border-color:#e7d3a6}.plan-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;display:grid}.plan-row{grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.plan-row.wide{grid-template-columns:minmax(0,1fr)}.plan-row .plan-text{flex-direction:column;gap:12px;min-width:0;display:flex}.plan-row .plan-text h3{margin:0}.plan-text .pros{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.plan-text .pros li{padding-left:0}.plan-text .pros b{color:var(--ink)}@media (width<=760px){.plan-row{grid-template-columns:minmax(0,1fr)}.plan-row:not(.wide) .plan-fig{width:100%;max-width:340px;margin:0 auto}}html[data-units=met] .u-imp,html:not([data-units=met]) .u-met{display:none}.bdp{flex-direction:column;gap:18px;margin:6px 0 28px;display:flex}.bdp-in{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px 18px;padding:18px;display:grid;box-shadow:0 1px 2px #1b22240d,0 10px 26px #1b22240f}.bdp-in fieldset{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.bdp-in legend{font-family:var(--f-head);margin-bottom:6px;padding:0;font-size:16px;font-weight:700}.bdp-in .field{flex-direction:column;gap:4px;min-width:0;display:flex}.bdp-in label,.bdp-in .lab{color:var(--body);font-size:14px;font-weight:600}.bdp-in select{border:1px solid var(--rule);min-height:44px;font:inherit;color:var(--ink);background:#fff;border-radius:8px;max-width:100%;padding:0 10px;font-size:16px}.bdp-in .box2{gap:8px;display:flex}.bdp-in .box2 .box{flex:1 1 0;min-width:0}.bdp-in .box{background:#fff;align-items:stretch;display:flex}.bdp-in .box input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;flex:auto;padding:0 10px;font-size:16px}.bdp-in .box .unit{font-family:var(--f-mono);color:var(--gray);align-items:center;padding:0 10px;font-size:12.5px;display:flex}.bdp-in .hint{color:var(--gray);margin:0;font-size:13.5px;line-height:1.4}.bdp-in .check{color:var(--ink);align-items:center;gap:8px;min-height:40px;font-size:15px;font-weight:600;display:flex}.bdp-in .check input{width:18px;height:18px;accent-color:var(--brand)}.bdp-go{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px 16px;display:flex}.bdp-go .btn{background:var(--ink);color:#fff;border:1px solid var(--ink)}.bdp-results p{margin:0}.bdp-count{font-size:16px}.bdp-err,.bdp-none{background:#fff6f2;border:1px solid #f0cdbf;border-radius:10px;padding:12px 14px}.bdp-none ul{margin:6px 0 0;padding-left:20px}.bdp-wait{color:var(--gray)}.bdp-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.bdp-card{border:1px solid var(--line);cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:8px;display:flex}.bdp-card:hover{border-color:var(--brand)}.bdp-card[aria-pressed=true]{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}.bdp-card svg{width:100%;height:auto;display:block}.bdp-card .cap{flex-direction:column;gap:1px;padding:0 2px 2px;font-size:14px;display:flex}.bdp-card .cap span{color:var(--gray);font-size:12.5px}.bdp-stage{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.bdp-stage[hidden]{display:none}.bdp-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.bdp-bar .u-btn{font-family:var(--f-body);padding:0 12px;font-size:14px;font-weight:700}.bdp-tog{align-items:center;gap:8px;font-size:14.5px;font-weight:600;display:flex}.bdp-tog input{width:18px;height:18px;accent-color:var(--brand)}.bdp-main{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.bdp-draw{touch-action:none;background:#fbfcfc;border:1px solid #e3ecea;border-radius:10px;flex:3 380px;min-width:0;padding:6px}.bdp-draw svg{width:100%;height:auto;display:block}.bdp-fix{cursor:grab}.bdp-fix.is-sel rect,.bdp-fix.is-sel ellipse{stroke:var(--brand);stroke-width:2.4px}.bdp-side{flex-direction:column;flex:2 280px;gap:12px;min-width:0;display:flex}.bdp-move{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bdp-move label{font-size:14px;font-weight:700}.bdp-move select{border:1px solid var(--rule);min-height:40px;font:inherit;border-radius:8px;max-width:100%;padding:0 8px;font-size:15px}.bdp-move button{border:1px solid var(--rule);min-height:40px;font:inherit;cursor:pointer;color:var(--ink);background:#fff;border-radius:8px;padding:0 10px;font-size:14px;font-weight:700}.bdp-move button:hover{border-color:var(--ink)}.bdp-checks ul{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.bdp-checks li{background:var(--soft);border-radius:8px;grid-template-columns:20px minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;padding:7px 8px;font-size:14.5px;line-height:1.35;display:grid}.bdp-checks li.fail{background:#fff6f2}.bdp-checks li .mark{color:var(--ok);font-weight:800}.bdp-checks li.fail .mark{color:var(--bad)}.bdp-checks li .t small{color:var(--gray);font-size:12.5px;display:block}.bdp-checks li .n{font-family:var(--f-mono);white-space:nowrap;text-align:right;font-size:12.5px}.bdp-checks li .n i{color:var(--gray);font-style:normal;display:block}.bdp-checks li .src{font-family:var(--f-mono);color:var(--gray);grid-column:2/-1;font-size:11px}.bdp-checks li.lv-comfort:not(.fail) .mark,.bdp-checks li.lv-ada:not(.fail) .mark{color:var(--brand)}.bdp-checks li.lv-comfort.fail,.bdp-checks li.lv-ada.fail{background:var(--brass-soft)}.bdp-checks li.lv-comfort.fail .mark,.bdp-checks li.lv-ada.fail .mark{color:var(--warn)}.bdp-v{border-radius:10px;margin:0;padding:10px 12px;font-size:15px}.bdp-v.ok{background:#e8f3ec;border:1px solid #bfdcc9}.bdp-v.ok-ish{background:var(--brass-soft);border:1px solid #e7d3a6}.bdp-v.bad{background:#fff6f2;border:1px solid #f0cdbf}.bdp-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bdp-actions input{border:1px solid var(--rule);min-height:44px;font:inherit;border-radius:8px;flex:180px;min-width:0;padding:0 10px;font-size:15px}.bdp-actions .btn{min-height:44px;padding:0 16px;font-size:15px}.bdp-actions [data-flash]{color:var(--brand);font-size:14px;font-weight:600}[data-share-url]{border:1px solid var(--rule);width:100%;min-height:40px;font-family:var(--f-mono);border-radius:8px;padding:0 10px;font-size:12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media print{.site-head,.site-foot,.bdp-in,.bdp-results,.bdp-bar,.bdp-move,.bdp-actions,[data-share-url],.hero .crumbs{display:none!important}.bdp-stage{border:0;padding:0}.bdp-main{display:block}.bdp-draw{border:0}main article.post>section{break-inside:avoid}}.mb{flex-direction:column;gap:14px;margin-bottom:28px;display:flex}.mb-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.mb-head h2{margin:0}.mb-plan{background:#fff;flex-direction:column;gap:8px;padding:12px;display:flex}.mb-btns{flex-wrap:wrap;gap:8px;display:flex}.mb-btns .btn{min-height:42px;padding:0 14px;font-size:14.5px}.mb-empty{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.size-chips{flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.size-chips a{border:1px solid var(--rule);min-height:44px;color:var(--ink);font-family:var(--f-mono);background:#fff;border-radius:10px;align-items:center;padding:0 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.size-chips a:hover{border-color:var(--brand);color:var(--brand)}.rh-quick .plan-fig .fig-art{background:#fbfcfc}.bdp-draw svg{max-height:76vh}.bdp-card svg{max-height:260px}.bdp-draw{-webkit-user-select:none;user-select:none}.lib-filters{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.lib-filters .seg{flex-wrap:wrap}.lib-count{font-family:var(--f-mono);color:var(--gray);margin:0;font-size:13px}.lib-grid,.post .lib-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.lib-card{border:1px solid var(--band-line);background:#fff;border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:10px;display:flex}.lib-art{background:#fbfcfc;border-radius:8px;justify-content:center;align-items:center;min-height:160px;display:flex}.lib-art svg{width:100%;height:auto;max-height:240px;display:block}.lib-cap{color:var(--body);margin:0;font-size:14.5px;line-height:1.4}.lib-cap b{color:var(--ink);font-family:var(--f-mono);font-weight:600}.lib-links{flex-direction:column;gap:2px;margin:0;font-size:14px;font-weight:700;display:flex}.calc-out{border:1px solid var(--line);background:#fff;border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.calc-total{flex-direction:column;gap:2px;display:flex}.calc-total .k{font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--gray);font-size:12px}.calc-total .big{font-family:var(--f-head);color:var(--ink);font-size:clamp(26px,5vw,34px);font-weight:800;line-height:1.15}.calc-total .sub{color:var(--gray);font-size:14.5px}.calc-lines th small{color:var(--gray);font-size:12px;font-weight:400;font-family:var(--f-mono);display:block}.calc-lines tfoot th,.calc-lines tfoot td{font-weight:800}.calc-note{color:var(--body);margin:0;font-size:14px;line-height:1.5}.calc-out h3.calc-h{color:var(--ink);margin:4px 0 -4px;font-size:15px;font-weight:700}.calc-out .bdp-checks ul{margin-top:0}.bdp-in [data-for][hidden],.bdp-in [data-plans][hidden]{display:none}.calc-lines tbody th{font-size:14.5px;font-weight:600;line-height:1.35}
