@theme inline{--radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --radius-2xl: calc(var(--radius) + 8px); --radius-3xl: calc(var(--radius) + 12px); --radius-4xl: calc(var(--radius) + 16px); --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); --color-ring-offset-background: var(--background); --color-chart-1: var(--chart-1); --color-chart-2: var(--chart-2); --color-chart-3: var(--chart-3); --color-chart-4: var(--chart-4); --color-chart-5: var(--chart-5); --color-sidebar: var(--sidebar); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring);}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(12.9% .042 264.695);--card:oklch(100% 0 0);--card-foreground:oklch(12.9% .042 264.695);--popover:oklch(100% 0 0);--popover-foreground:oklch(12.9% .042 264.695);--primary:oklch(20.8% .042 265.755);--primary-foreground:oklch(98.4% .003 247.858);--secondary:oklch(96.8% .007 247.896);--secondary-foreground:oklch(20.8% .042 265.755);--muted:oklch(96.8% .007 247.896);--muted-foreground:oklch(55.4% .046 257.417);--accent:oklch(96.8% .007 247.896);--accent-foreground:oklch(20.8% .042 265.755);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.4% .003 247.858);--border:oklch(92.9% .013 255.508);--input:oklch(92.9% .013 255.508);--ring:oklch(70.4% .04 256.788);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.4% .003 247.858);--sidebar-foreground:oklch(12.9% .042 264.695);--sidebar-primary:oklch(20.8% .042 265.755);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(96.8% .007 247.896);--sidebar-accent-foreground:oklch(20.8% .042 265.755);--sidebar-border:oklch(92.9% .013 255.508);--sidebar-ring:oklch(70.4% .04 256.788)}.dark{--background:oklch(12.9% .042 264.695);--foreground:oklch(98.4% .003 247.858);--card:oklch(20.8% .042 265.755);--card-foreground:oklch(98.4% .003 247.858);--popover:oklch(20.8% .042 265.755);--popover-foreground:oklch(98.4% .003 247.858);--primary:oklch(92.9% .013 255.508);--primary-foreground:oklch(20.8% .042 265.755);--secondary:oklch(27.9% .041 260.031);--secondary-foreground:oklch(98.4% .003 247.858);--muted:oklch(27.9% .041 260.031);--muted-foreground:oklch(70.4% .04 256.788);--accent:oklch(27.9% .041 260.031);--accent-foreground:oklch(98.4% .003 247.858);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.4% .003 247.858);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.1% .027 264.364);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.8% .042 265.755);--sidebar-foreground:oklch(98.4% .003 247.858);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(27.9% .041 260.031);--sidebar-accent-foreground:oklch(98.4% .003 247.858);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.1% .027 264.364)}:root{--navy:#14284a;--navy-deep:#0e1c34;--red:#c8102e;--soft:#f4f7fb;--line:#e7ebf1;--text:#1a2740;--muted:#5b6b85;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text);background:var(--white);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}h1,h2,h3{letter-spacing:-.01em;line-height:1.15}.promo-bar{background:var(--red);color:#fff;text-align:center;letter-spacing:.01em;padding:10px 24px;font-size:14px;font-weight:600}.promo-bar a{font-weight:700;text-decoration:underline}header{z-index:60;background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:12px 24px;display:flex}.logo img{width:auto;height:54px;display:block}nav.main{white-space:nowrap;align-items:center;gap:20px;display:flex}nav.main a,nav.main .nav-top{color:var(--navy);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:600}nav.main a:hover,nav.main .nav-top:hover{color:var(--red)}nav.main .has-dropdown{position:relative}nav.main .dropdown{border:1px solid var(--line);z-index:70;background:#fff;min-width:230px;padding:10px 0;display:none;position:absolute;top:100%;left:-14px;box-shadow:0 10px 24px #0e1c3414}nav.main .dropdown a{padding:10px 18px;font-size:14px;display:block}nav.main .dropdown a:hover{background:var(--soft);color:var(--red)}nav.main .has-dropdown:hover .dropdown,nav.main .has-dropdown:focus-within .dropdown{display:block}nav.main [aria-current=page]{color:var(--red)}.header-right{align-items:center;gap:14px;display:flex}.header-phone{text-align:right;flex-direction:column;line-height:1.1;display:flex}.header-phone .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.header-phone .num{color:var(--navy);font-size:18px;font-weight:800}.btn{text-align:center;cursor:pointer;border:none;border-radius:0;padding:14px 26px;font-size:15px;font-weight:700;transition:filter .15s;display:inline-block}.header-right .btn{padding:12px 20px;font-size:14px}.btn:hover{filter:brightness(1.08)}.btn-red{background:var(--red);color:#fff}.btn-navy{background:var(--navy);color:#fff}.btn-ghost{color:#fff;background:0 0;border:2px solid #fff}.btn-outline{color:var(--navy);border:2px solid var(--navy);background:0 0}.menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.menu-toggle span{background:var(--navy);width:26px;height:3px;display:block}.hero{color:#fff;background:linear-gradient(90deg,#0e1c34db 0%,#0e1c348c 55%,#0e1c3433 100%),url(https://www.swssidingandwindows.com/wp-content/uploads/2025/12/hp-hero.webp) 50%/cover no-repeat;align-items:center;min-height:640px;display:flex;position:relative}.hero-content{max-width:640px;padding:64px 0}.hero .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--red);margin-bottom:22px;padding:7px 14px;font-size:13px;font-weight:700;display:inline-block}.hero h1{margin-bottom:16px;font-size:52px;font-weight:800}.hero .sub{color:#dbe4f2;max-width:560px;margin-bottom:30px;font-size:21px;font-weight:500}.hero-cta{flex-wrap:wrap;gap:14px;margin-bottom:28px;display:flex}.hero-trust{color:#e7edf7;flex-wrap:wrap;gap:26px;font-size:14px;font-weight:600;display:flex}.hero-trust span{align-items:center;gap:7px;display:flex}.hero-trust .dot{color:var(--red);font-size:18px;line-height:1}.trust-strip{background:var(--navy);color:#fff;padding:22px 0}.trust-strip .wrap{text-align:center;flex-wrap:wrap;justify-content:space-between;gap:20px;display:flex}.trust-item{flex:1;min-width:150px}.trust-item .big{font-size:26px;font-weight:800;display:block}.trust-item .lbl{color:#b9c6dd;letter-spacing:.02em;font-size:13px}.trust-item .big .star{color:var(--red)}section{padding:76px 0}.sec-head{text-align:center;max-width:720px;margin:0 auto 48px}.sec-head .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:12px;font-size:13px;font-weight:700;display:inline-block}.sec-head h2{color:var(--navy);margin-bottom:14px;font-size:38px;font-weight:800}.sec-head p{color:var(--muted);font-size:18px}.products{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.product-card{border:1px solid var(--line);background:#fff;flex-direction:column;display:flex}.product-card img{object-fit:cover;width:100%;height:230px}.product-body{flex-direction:column;flex:1;padding:26px 24px 30px;display:flex}.product-body .tag{letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:8px;font-size:12px;font-weight:700}.product-body h3{color:var(--navy);margin-bottom:12px;font-size:22px;font-weight:800}.product-body p{color:var(--muted);flex:1;margin-bottom:20px;font-size:15px}.product-link{color:var(--navy);align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.product-link:hover{color:var(--red)}.featured{background:var(--soft)}.featured .wrap{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}.featured img{object-fit:cover;width:100%;height:440px}.featured .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:12px;font-size:13px;font-weight:700;display:block}.featured h2{color:var(--navy);margin-bottom:18px;font-size:34px;font-weight:800}.featured p{color:var(--muted);margin-bottom:16px;font-size:17px}.featured ul{gap:10px;margin:0 0 26px;list-style:none;display:grid}.featured li{color:var(--text);align-items:flex-start;gap:10px;font-size:16px;display:flex}.featured li:before{content:"✓";color:var(--red);font-weight:800}.reviews{background:var(--white)}.review-grid{grid-template-columns:repeat(3,1fr);gap:26px;display:grid}.review{border:1px solid var(--line);flex-direction:column;padding:30px 26px;display:flex}.review .stars{color:var(--red);letter-spacing:2px;margin-bottom:14px;font-size:18px}.review p{color:var(--text);flex:1;margin-bottom:18px;font-size:16px}.review .who{color:var(--navy);font-size:15px;font-weight:700}.review .where{color:var(--muted);font-size:13px}.reviews-cta{text-align:center;margin-top:40px}.process{background:var(--navy);color:#fff}.process .sec-head h2{color:#fff}.process .sec-head .eyebrow{color:#ff9aa8}.process .sec-head p{color:#c3cfe4}.steps{grid-template-columns:repeat(4,1fr);gap:26px;display:grid}.step{background:var(--navy-deep);border:1px solid #ffffff14;padding:32px 26px;position:relative}.step .num{background:var(--red);color:#fff;justify-content:center;align-items:center;width:46px;height:46px;margin-bottom:18px;font-size:19px;font-weight:800;display:flex}.step h3{margin-bottom:10px;font-size:19px;font-weight:800}.step p{color:#c3cfe4;font-size:15px}.brands{background:var(--soft);text-align:center}.brands h2{color:var(--navy);margin-bottom:10px;font-size:28px;font-weight:800}.brands p{color:var(--muted);max-width:640px;margin:0 auto 34px;font-size:16px}.brand-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.brand-chip{border:1px solid var(--line);color:var(--navy);letter-spacing:.01em;background:#fff;min-width:180px;padding:20px 34px;font-size:18px;font-weight:800}.brand-chip small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:12px;font-weight:600;display:block}.consult{color:#fff;background:linear-gradient(90deg,#0e1c34eb 0%,#0e1c34d1 100%),url(https://www.swssidingandwindows.com/wp-content/uploads/2026/05/hpFeature1.webp) 50%/cover no-repeat}.consult .wrap{grid-template-columns:1.1fr .9fr;align-items:center;gap:56px;display:grid}.consult .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#ff9aa8;margin-bottom:12px;font-size:13px;font-weight:700;display:block}.consult h2{margin-bottom:16px;font-size:36px;font-weight:800}.consult p{color:#d5deee;margin-bottom:22px;font-size:18px}.consult-points{gap:14px;margin-bottom:0;list-style:none;display:grid}.consult-points li{align-items:flex-start;gap:14px;display:flex}.consult-points .ico{background:var(--red);flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:800;display:flex}.consult-points strong{font-size:16px;font-weight:800;display:block}.consult-points span.txt{color:#c3cfe4;font-size:14px}.consult-card{color:var(--text);text-align:center;background:#fff;padding:36px 32px}.consult-card h3{color:var(--navy);margin-bottom:6px;font-size:24px;font-weight:800}.consult-card .lead{color:var(--muted);margin-bottom:24px;font-size:15px}.consult-card .phone{color:var(--navy);margin:6px 0 4px;font-size:34px;font-weight:800;display:block}.consult-card .fin{color:var(--muted);border-top:1px solid var(--line);margin-top:22px;padding-top:22px;font-size:13px}.consult-card .btn{width:100%;margin-bottom:12px}footer{background:var(--navy-deep);color:#c3cfe4;padding:64px 0 34px}.footer-top{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;display:grid}.footer-logo{background:#fff;border-radius:6px;margin-bottom:18px;padding:22px;display:inline-block}.footer-logo img{width:auto;height:50px;display:block}.footer-brand p{color:#9fb0cd;max-width:320px;font-size:14px}.footer-col h4{color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;font-size:14px}.footer-col ul{gap:9px;list-style:none;display:grid}.footer-col a,.footer-col li{color:#9fb0cd;font-size:14px}.footer-col a:hover{color:#fff}.footer-col .addr{font-style:normal;line-height:1.7}.footer-col .addr a{color:#fff;font-weight:700}.badge-block{text-align:center;border-top:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:16px;margin:0;padding:0;display:flex}.badge-block .label{letter-spacing:.14em;text-transform:uppercase;color:#9fb0cd;font-size:12px;font-weight:700}.badge-block img{width:auto;height:152px}.legal{text-align:center;color:#7f92b3;border-top:1px solid #ffffff1a;padding-top:26px;font-size:13px}.legal a{color:#c3cfe4;text-decoration:underline}@media (width<=960px){.products,.review-grid,.steps{grid-template-columns:1fr 1fr}.featured .wrap,.consult .wrap{grid-template-columns:1fr;gap:34px}.featured img{height:320px}.footer-top{grid-template-columns:1fr 1fr}.hero h1{font-size:42px}nav.main{gap:16px}nav.main a,nav.main .nav-top{font-size:13px}.header-phone .lbl{display:none}}@media (width<=760px){nav.main,.header-phone .lbl{display:none}.menu-toggle{display:flex}nav.main.open{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;gap:16px;padding:18px 24px;display:flex;position:absolute;top:100%;left:0;right:0}.header-right{gap:12px}}@media (width<=640px){.logo img{height:48px}.hero{min-height:auto}.hero-content{padding:52px 0}.hero h1{font-size:34px}.hero .sub{font-size:18px}.hero-cta .btn{flex:1}section{padding:56px 0}.sec-head h2{font-size:30px}.products,.review-grid,.steps,.footer-top{grid-template-columns:1fr}.header-phone{display:none}.badge-block img{height:120px}.consult-card .phone{font-size:28px}}.storm-notice{background:var(--navy);color:#fff;border-top:4px solid var(--red);padding:28px 0}.storm-notice .wrap{grid-template-columns:1fr auto;align-items:center;gap:32px;display:grid}.storm-notice .eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ff9aa8;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-block}.storm-notice p{color:#d5deee;max-width:920px;font-size:15px;line-height:1.6}.storm-notice .btn{white-space:nowrap}.about-sws{background:var(--white)}.about-sws .wrap{grid-template-columns:1fr 1.05fr;align-items:center;gap:56px;display:grid}.about-sws img{object-fit:cover;width:100%;height:460px}.about-sws .eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:12px;font-size:13px;font-weight:700;display:block}.about-sws h2{color:var(--navy);margin-bottom:18px;font-size:34px;font-weight:800}.about-sws p{color:var(--muted);margin-bottom:16px;font-size:16px;line-height:1.7}.suppliers{background:var(--soft);text-align:center;padding:60px 0}.suppliers h2{color:var(--navy);max-width:820px;margin-bottom:30px;margin-left:auto;margin-right:auto;font-size:26px;font-weight:800}.supplier-logos{flex-wrap:wrap;justify-content:center;align-items:center;gap:56px;margin-bottom:26px;display:flex}.supplier-logos img{object-fit:contain;filter:grayscale(20%);opacity:.92;width:auto;max-height:64px}.supplier-logos img:hover{filter:none;opacity:1}.service-hero{min-height:520px}.service-hero .hero-content{max-width:820px}.service-hero h1{font-size:44px}.featured .body-copy p{color:var(--muted);margin-bottom:16px;font-size:17px;line-height:1.7}.featured .hardie-badge{border:1px solid var(--line);background:#fff;margin:0 0 20px;padding:10px;display:inline-block}.featured .hardie-badge img{width:auto;height:110px}@media (width<=960px){.storm-notice .wrap{text-align:left;grid-template-columns:1fr}.about-sws .wrap{grid-template-columns:1fr;gap:32px}.about-sws img{height:320px}.supplier-logos{gap:32px}.supplier-logos img{max-height:48px}.service-hero h1{font-size:34px}}@media (width<=760px){nav.main .dropdown{box-shadow:none;border:none;min-width:0;padding:6px 0 6px 14px;display:block;position:static}nav.main .has-dropdown .nav-top{padding:4px 0;display:block}}.gallery{padding-top:0}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.gallery-grid a{border:1px solid var(--line);background:#fff;display:block;overflow:hidden}.gallery-grid img{object-fit:cover;width:100%;height:260px;transition:transform .35s}.gallery-grid a:hover img{transform:scale(1.04)}.gallery-intro{text-align:center;max-width:820px;margin:0 auto 40px}.gallery-intro p{color:var(--muted);margin-bottom:22px;font-size:17px;line-height:1.7}.contact-grid{grid-template-columns:1.15fr .85fr;align-items:start;gap:48px;display:grid}.contact-form{border:1px solid var(--line);background:#fff;padding:36px}.contact-form h3{color:var(--navy);margin-bottom:18px;font-size:22px;font-weight:800}.contact-form .row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.contact-form label{color:var(--navy);letter-spacing:.02em;text-transform:uppercase;margin:12px 0 6px;font-size:13px;font-weight:700;display:block}.contact-form input,.contact-form textarea{border:1px solid var(--line);width:100%;color:var(--text);background:#fff;border-radius:0;padding:12px 14px;font-family:inherit;font-size:15px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--navy);outline:none}.contact-form textarea{resize:vertical;min-height:130px}.contact-form .btn{width:100%;margin-top:20px}.contact-form .success{background:var(--soft);border:1px solid var(--line);color:var(--navy);padding:22px;font-weight:600}.contact-details{background:var(--navy);color:#fff;padding:36px}.contact-details h3{color:#fff;margin-bottom:18px;font-size:22px;font-weight:800}.contact-details .row{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.contact-details .row .lbl{letter-spacing:.1em;text-transform:uppercase;color:#ff9aa8;margin-bottom:4px;font-size:12px;font-weight:800;display:block}.contact-details a{color:#fff;font-weight:700}.contact-details a:hover{color:#ff9aa8}.contact-details .ico{background:var(--red);color:#fff;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:16px;font-weight:800;display:flex}@media (width<=960px){.gallery-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:28px}}@media (width<=640px){.gallery-grid,.contact-form .row{grid-template-columns:1fr}}.tagline-bar{background:var(--soft);border-top:1px solid #e2e8f2;border-bottom:4px solid var(--red);padding:44px 0}.tagline-bar .wrap{text-align:center;justify-content:center;align-items:center;gap:22px;display:flex}.tagline-bar .rule{background:var(--red);flex:0 0 56px;height:3px}.tagline-bar p{color:var(--navy);max-width:900px;font-size:22px;font-weight:700;line-height:1.5}.tagline-bar p .accent{color:var(--red)}@media (width<=900px){.tagline-bar{padding:34px 0}.tagline-bar .rule{flex-basis:32px}.tagline-bar p{font-size:18px}}
