/* Preserve the site's Poppins / navy identity. Design variance 6, motion 2, density 3.
   Full-width section surfaces; square photography and buttons; no new animation library. */
body.page-id-2805 .elementor-2805 > .elementor-element { padding:0 !important; }
.hwsc { --sc-ink:#0f2238; --sc-muted:#536273; --sc-accent:#062c5b; --sc-paper:#fdfdfc; --sc-tint:#f4f2ed; background:var(--sc-paper); color:var(--sc-ink); }
.hwsc .hwsc-shell { width:min(1240px,calc(100% - 96px)); margin-inline:auto; }
.hwsc .hwsc-section { padding:96px 0; background:var(--sc-paper); }
.hwsc .hwsc-tint { background:var(--sc-tint); }
.hwsc h1,.hwsc h2,.hwsc h3 { font-weight:500; letter-spacing:-.035em; }
.hwsc h2 { font-size:clamp(32px,3.2vw,46px); line-height:1.16; margin:0 0 24px; max-width:850px; }
.hwsc h3 { font-size:23px; line-height:1.25; margin:0 0 13px; }
.hwsc p { color:var(--sc-muted); font-size:16px; line-height:1.8; margin:0 0 20px; }
.hwsc .hwsc-eyebrow { font-size:11px; line-height:1.5; letter-spacing:.17em; text-transform:uppercase; color:var(--sc-accent); font-weight:600; margin-bottom:24px; }
.hwsc .hwsc-button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:15px 26px; border:1px solid var(--sc-accent); border-radius:0; background:var(--sc-accent); color:#fff !important; font-size:14px; font-weight:500; line-height:1.4; text-decoration:none; white-space:nowrap; transition:background .2s,transform .2s; }
.hwsc .hwsc-button:hover { background:#0f2238; }
.hwsc .hwsc-button:active { transform:translateY(1px); }
.hwsc a:focus-visible,.hwsc summary:focus-visible { outline:3px solid #80501f; outline-offset:5px; }
.hwsc-hero { display:grid; grid-template-columns:minmax(0,42fr) minmax(0,58fr); height:min(720px,calc(100svh - 140px)); min-height:590px; background:var(--sc-tint); }
.hwsc-hero-copy { padding:64px 48px 64px clamp(48px,calc((100vw - 1240px)/2),200px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.hwsc-hero h1 { font-size:clamp(46px,4.35vw,64px); line-height:1.08; margin:0 0 28px; }
.hwsc-hero-copy > p:not(.hwsc-eyebrow) { max-width:370px; font-size:17px; margin-bottom:30px; }
.hwsc-hero-image { min-height:0; height:100%; overflow:hidden; }
.hwsc-hero-image img { height:100%; width:100%; object-fit:cover; object-position:center 54%; }
.hwsc-jump { border-bottom:1px solid #d9dfe2; background:var(--sc-paper); }
.hwsc-jump > div { display:flex; flex-wrap:wrap; justify-content:center; gap:18px 44px; padding-block:22px; }
.hwsc-jump a { font-size:13px; font-weight:500; color:var(--sc-ink); text-decoration:none; }
.hwsc-jump a:hover { text-decoration:underline; text-underline-offset:5px; }
.hwsc-intro .hwsc-shell { max-width:880px; }
.hwsc-intro h2 { max-width:750px; }
.hwsc-intro p { max-width:790px; }
.hwsc-intro p:last-child { margin-bottom:0; }
.hwsc-heading { max-width:820px; margin-bottom:48px; }
.hwsc-heading p { max-width:680px; margin-bottom:0; }
.hwsc-styles { display:grid; grid-template-columns:1.15fr 1fr; gap:48px; align-items:start; }
.hwsc figure { margin:0; }
.hwsc-styles figure:last-child { margin-top:88px; }
.hwsc-styles img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.hwsc-style-image { overflow:hidden; }
.hwsc-style-image img { transform:scale(1.14); }
.hwsc-styles figure:first-child img { object-position:50% 50%; }
.hwsc-styles figure:last-child img { object-position:50% 45%; }
.hwsc figcaption { padding-top:24px; }
.hwsc figcaption p { font-size:15px; margin:0; }
.hwsc-handrails { display:grid; grid-template-columns:1fr 1fr; column-gap:40px; }
.hwsc-handrails figure { display:grid; grid-template-columns:1fr; }
.hwsc-handrails img { aspect-ratio:5/4; width:100%; height:auto; object-fit:cover; }
.hwsc-black-rail img { object-position:50% 58%; }
.hwsc-wood-rail img { object-position:50% 67%; }
.hwsc-inputs { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:40px; padding:32px 0 44px; border-top:1px solid #cfd4d6; }
.hwsc-inputs h3 { font-size:21px; }
.hwsc-inputs p { font-size:15px; margin:0; }
.hwsc-detail { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:88px; align-items:center; margin-top:40px; }
.hwsc-detail img { aspect-ratio:4/5; height:auto; object-fit:cover; }
.hwsc-detail figcaption { padding-top:14px; font-size:12px; color:var(--sc-muted); line-height:1.6; }
.hwsc-detail h2 { max-width:580px; }
.hwsc-detail .hwsc-button { margin-top:12px; }
.hwsc-faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; align-items:start; }
.hwsc-faq-layout header p { max-width:310px; }
.hwsc-faq { border-top:1px solid #ccd3d8; }
.hwsc-faq details { border-bottom:1px solid #ccd3d8; }
.hwsc-faq summary { padding:24px 35px 24px 0; font-size:16px; font-weight:500; cursor:pointer; list-style:none; position:relative; line-height:1.6; }
.hwsc-faq summary::-webkit-details-marker { display:none; }
.hwsc-faq summary::after { content:'+'; position:absolute; right:0; top:23px; font-size:22px; line-height:1; }
.hwsc-faq details[open] summary::after { content:'−'; }
.hwsc-faq details p { padding:0 20px 22px 0; margin:0; font-size:15px; }
.hwsc .hwsc-related { padding-top:0; }
.hwsc-related h2 { font-size:30px; }
.hwsc-related .hwsc-shell > div { display:flex; flex-wrap:wrap; gap:24px 54px; }
.hwsc-related a { color:var(--sc-ink); font-size:16px; text-decoration:none; border-bottom:1px solid #9aa6b1; padding:8px 0; }
.hwsc-related a span { margin-left:18px; }
.hwsc .hwsc-final { background:var(--sc-accent); }
.hwsc .hwsc-final h2 { color:#fff; }
.hwsc .hwsc-final p { color:#dce5ef; max-width:640px; margin-bottom:30px; }
.hwsc .hwsc-final .hwsc-button { background:#fff; border-color:#fff; color:var(--sc-accent) !important; }
.hwsc .hwsc-final .hwsc-button:hover { background:#e6edf5; border-color:#e6edf5; }
.hwsc .hwsc-final a:focus-visible { outline-color:#fff; }
@media(min-width:1700px){ .hwsc-hero{height:660px;min-height:660px}.hwsc-hero-image{height:100%;min-height:0}.hwsc-hero-copy{padding-right:72px} }
@media(max-width:1100px){ .hwsc .hwsc-shell{width:calc(100% - 64px)}.hwsc-hero-copy{padding:48px 32px}.hwsc-hero h1{font-size:clamp(36px,4.3vw,48px)}.hwsc-hero,.hwsc-hero-image{min-height:530px}.hwsc-detail{gap:48px}.hwsc-faq-layout{gap:48px}.hwsc-styles{gap:32px} }
@media(max-width:767px){
 .hwsc .hwsc-shell{width:calc(100% - 40px)}.hwsc .hwsc-section{padding:64px 0}.hwsc h2{font-size:32px;margin-bottom:20px}.hwsc h3{font-size:21px}.hwsc p{font-size:15px}
 .hwsc-hero{grid-template-columns:1fr;min-height:0;height:auto}.hwsc-hero-copy{padding:40px 24px}.hwsc-hero h1{font-size:46px;margin-bottom:20px}.hwsc-hero .hwsc-eyebrow{margin-bottom:18px}.hwsc-hero-copy>p:not(.hwsc-eyebrow){font-size:15px;max-width:340px;margin-bottom:24px}.hwsc-hero-image{min-height:0;height:auto;aspect-ratio:1.08}.hwsc-hero-image img{height:100%;object-position:50% 65%}
 .hwsc-jump>div{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px;padding-block:20px}.hwsc-jump a{font-size:12px}.hwsc-heading{margin-bottom:32px}
 .hwsc-styles,.hwsc-handrails,.hwsc-detail,.hwsc-faq-layout{grid-template-columns:1fr;gap:40px}.hwsc-styles figure:last-child{margin-top:0}.hwsc-styles img{aspect-ratio:4/5}.hwsc-handrails img{aspect-ratio:1.15}.hwsc figcaption{padding-top:20px}
 .hwsc-inputs{grid-template-columns:1fr;gap:28px;padding-top:26px;padding-bottom:20px}.hwsc-detail{margin-top:26px}.hwsc-detail img{aspect-ratio:1}.hwsc-detail figcaption{padding-top:12px}.hwsc-detail h2{margin-bottom:22px}.hwsc-faq-layout header p{max-width:100%;margin-bottom:0}.hwsc-faq summary{font-size:15px;padding-block:22px}.hwsc-related .hwsc-shell>div{flex-direction:column;align-items:flex-start;gap:12px}.hwsc .hwsc-related{padding-top:0}.hwsc-related h2{font-size:28px}
}
@media(prefers-reduced-motion:reduce){.hwsc *{transition:none !important;scroll-behavior:auto !important}}
