/* Homepage WIP only. Global site styles and navigation remain unchanged. */
.hw-main { --type-h1:clamp(2.5rem,4.2vw,4rem); --type-h2:clamp(1.9rem,3.1vw,2.9rem); }
.hw-main *, .hw-main *::before, .hw-main *::after { box-sizing:border-box; }
.hw-main .hw-section :is(h1,h2,h3,p,figure,ul) { margin:0; }
.hw-section img { display:block; max-width:100%; width:100%; height:100%; object-fit:cover; }
.hw-main .hw-section a { color:inherit; text-decoration:none; }
.hw-wrap { max-width:80rem; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,2rem); }
.hw-section { padding-block:clamp(3rem,7vw,6rem); }
.hw-main [id] { scroll-margin-top:7rem; }
.hw-tint { background:#f1f7f7; }
.hw-eyebrow { display:block; color:#287d7d; font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; }
.hw-intro { max-width:50rem; margin-bottom:2.5rem; }
.hw-main .hw-section :is(h1,h2) { margin-top:1rem; text-wrap:balance; }
.hw-main .hw-section p { margin-top:1rem; color:#617075; line-height:1.7; max-width:52ch; }
.hw-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.75rem; }
.hw-main .hw-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:.85rem 1.4rem; border:1px solid transparent; border-radius:999px; background:#ff4242; color:#fff; font:600 .85rem/1.45 var(--font-site); text-align:center; cursor:pointer; transition:background 180ms ease,transform 180ms ease; }
.hw-main .hw-button:hover { background:#dc3439; }
.hw-main .hw-button:active { transform:scale(.98); }
.hw-main .hw-button-secondary { background:#fff; color:#152328; border-color:#c8dada; }
.hw-main .hw-button-secondary:hover { background:#e8f2f2; }
.hw-main :is(a,button,summary):focus-visible { outline:3px solid #287d7d; outline-offset:5px; }
.hw-hero { display:grid; grid-template-columns:1fr 1.25fr; align-items:center; gap:3rem; }
.hw-hero-photo { position:relative; height:560px; overflow:hidden; border-radius:1.5rem; }
.hw-hero-photo img { object-position:center 48%; }
.hw-hero-photo .hw-practice-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; visibility:hidden; transition:opacity 350ms ease; }
.hw-hero-photo .hw-practice-slide.is-active { opacity:1; visibility:visible; }
.hw-hero-photo figcaption { position:absolute; bottom:1rem; left:1rem; right:1rem; color:#fff; background:#152328c9; padding:.65rem 1rem; border-radius:.5rem; font-size:.75rem; }
.hw-practices { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1.5rem; }
.hw-practice-card { grid-column:span 2; }
.hw-practice-card:nth-child(4) { grid-column:2/span 2; }
.hw-specialties { background:#fff; }
.hw-practice-card { min-width:0; background:#fff; border:1px solid #e7eded; border-radius:2rem; box-shadow:0 12px 32px #15232806; }
.hw-practice-card > a { padding:clamp(1.5rem,2.5vw,2.25rem); display:flex; height:100%; flex-direction:column; align-items:flex-start; }
.hw-practice-card .hw-eyebrow { line-height:1.6; }
:root body main.hw-main .hw-practice-card h3 { font-size:1.25rem; line-height:1.4; margin-top:1rem; }
:root body main.hw-main .hw-practice-card p { font-size:.95rem; line-height:1.65; margin-top:.8rem; margin-bottom:1.25rem; }
.hw-practice-card .hw-text-link { margin-top:auto; }
.hw-practice-card:hover { border-color:#b4cece; }
.hw-equipment-card > a { display:block; height:100%; }
.hw-practice-photo { aspect-ratio:1.08; overflow:hidden; background:#e6eeee; border-radius:1rem; }
.hw-practice-photo img { object-fit:contain; transition:transform 220ms ease; }
.hw-practice-card a:hover img, .hw-equipment-card a:hover img { transform:scale(1.025); }
.hw-card-copy { padding-top:1.25rem; }
:root body main.hw-main .hw-card-copy p { font-size:.9rem; line-height:1.65; margin-top:.65rem; }
:root body main.hw-main .hw-card-copy h3 { font-size:1.2rem; line-height:1.35; }
.hw-tags { display:flex; flex-wrap:wrap; gap:.4rem .9rem; list-style:none; padding:0; margin-top:.85rem!important; color:#49696d; font-size:.68rem; }
.hw-tags li { border-bottom:1px solid #c3d9d9; padding-bottom:.25rem; }
.hw-main .hw-text-link { display:inline-flex; min-height:44px; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:.85rem; color:#287d7d; font-size:.85rem; font-weight:600; border-bottom:1px solid #a8c7c7; }
.hw-photo-placeholder { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:1rem; height:100%; padding:2rem; text-align:center; border:1px dashed #9ebebe; border-radius:1rem; background:#e7efef; color:#506f73; }
.hw-photo-placeholder > span { text-transform:uppercase; font-size:.65rem; letter-spacing:.12em; }
.hw-photo-placeholder strong { font-size:1rem; font-weight:500; }
.hw-photo-placeholder small { max-width:24ch; font-size:.75rem; }
.hw-equipment { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:3rem 1.75rem; }
.hw-equipment-card { grid-column:span 2; min-width:0; }
.hw-equipment-card:nth-child(4) { grid-column:2/span 2; }
.hw-equipment-photo { height:380px; padding:1.5rem; border-radius:1rem; overflow:hidden; background:#f3f7f7; }
.hw-equipment-photo img { object-fit:contain; transition:transform 220ms ease; }
.hw-equipment-photo.hw-installation { padding:0; }
.hw-equipment-photo.hw-installation img { object-fit:cover; object-position:center; }
.hw-equipment-brand { display:block; margin-bottom:.6rem; color:#287d7d; font-size:.7rem; }
.hw-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.hw-pillars figure { height:340px; overflow:hidden; border-radius:1rem; }
.hw-pillars img { object-position:center 55%; }
.hw-pillars img.hw-consultation-photo { object-fit:cover; object-position:center; }
.hw-pillars .hw-card-copy h3 { margin-top:.75rem; }
.hw-support { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:3rem; }
.hw-support > figure { height:680px; overflow:hidden; border-radius:1.25rem; }
.hw-support > figure img { object-position:center; }
.hw-support-items { padding:0; list-style:none; }
.hw-support-items li { display:flex; gap:1.25rem; padding-block:1.2rem; border-top:1px solid #d6e4e4; }
.hw-support-items li > span { color:#287d7d; font-size:.75rem; }
:root body main.hw-main .hw-support-items h3 { font-size:1rem; }
:root body main.hw-main .hw-support-items p { font-size:.85rem; margin-top:.4rem; }
.hw-brand-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; align-items:center; }
.hw-brand-strip a { display:flex; align-items:center; justify-content:center; min-height:110px; background:#fff; border-radius:.75rem; padding:1.5rem; }
.hw-brand-strip img { max-height:65px; object-fit:contain; }
.hw-brand-text { font-size:2rem; font-weight:600; letter-spacing:-.03em; color:#405e63; }
.hw-final { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:3rem; }
.hw-final > figure { height:520px; overflow:hidden; border-radius:1rem; }
.hw-final > figure img { object-position:center 55%; }
.hw-final .hw-intro { margin-bottom:0; }
.hw-inquiry-options { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1rem; }
.hw-main .hw-inquiry-options .hw-button { font-size:.72rem; min-height:42px; padding:.6rem .9rem; }
@media(max-width:1023px) { .hw-practices { grid-template-columns:repeat(2,minmax(0,1fr)); } .hw-practice-card,.hw-practice-card:nth-child(4) { grid-column:auto; } .hw-practice-card:last-child { grid-column:1/-1; width:calc(50% - .75rem); justify-self:center; } .hw-hero,.hw-support,.hw-final { grid-template-columns:1fr; gap:2rem; } .hw-hero-photo { order:-1; height:480px; } .hw-hero > div { max-width:46rem; } .hw-equipment { grid-template-columns:repeat(2,minmax(0,1fr)); } .hw-equipment-card,.hw-equipment-card:nth-child(4) { grid-column:auto; } .hw-equipment-card:last-child { grid-column:1/-1; width:calc(50% - .875rem); justify-self:center; } .hw-pillars { gap:1.25rem; } .hw-pillars figure { height:260px; } .hw-support > figure { height:520px; } .hw-brand-strip { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:639px) { .hw-practices,.hw-equipment,.hw-pillars { grid-template-columns:1fr; } .hw-practice-card:last-child { grid-column:auto; width:100%; } .hw-equipment-card:last-child { width:100%; grid-column:auto; } .hw-practice-photo { aspect-ratio:1.3; } .hw-equipment-photo { height:330px; } .hw-hero-photo { height:350px; } .hw-hero-photo figcaption { font-size:.65rem; } .hw-pillars figure { height:330px; } .hw-support > figure { height:430px; } .hw-final > figure { height:360px; } .hw-brand-strip { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; } .hw-brand-strip a { min-height:90px; padding:1rem; } .hw-actions { flex-direction:column; align-items:stretch; } }
@media(prefers-reduced-motion:reduce) { .hw-main *, .hw-main *::before, .hw-main *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
