/* Pinnacle sitewide design extension · isolated review branch · September 2026.
   Shared page rules have deliberate specificity over the earlier design layers. */
.home-v2.interior-enriched { --paper:#fff; --line:#e1e7e9; --muted:#62646f; --teal:#087b7c; background:#fff; }
.home-v2.interior-enriched .site-footer { background:#f1f4f5; border-top:1px solid #e0e6e8; }
.home-v2.interior-enriched .footer-grid h4 { color:#241733; margin-bottom:19px; }
.home-v2.interior-enriched .footer-grid a:hover { color:#087b7c; text-decoration:underline; text-underline-offset:4px; }
.home-v2.interior-enriched .footer-bottom { border-color:#dbe3e5; }
.home-v2.interior-enriched .closing { background:radial-gradient(ellipse at 85% 20%,#434055 0,transparent 55%),#241733; border-top:4px solid #f0b552; }
.home-v2.interior-enriched .closing .btn { background:#f0b552; color:#241733; box-shadow:0 10px 30px #0002; }
.home-v2.interior-enriched .closing .btn:hover { background:#ffd38a; }
.home-v2.interior-enriched .cards { gap:25px; }
.home-v2.interior-enriched .cards > :is(.door,.project-card) { border:1px solid #e0e6e9; border-radius:13px; background:#fff; color:#241733; box-shadow:0 6px 18px #24173304; transition:border-color .2s,transform .2s,box-shadow .2s; }
.home-v2.interior-enriched .cards > :is(.door,.project-card):hover { transform:translateY(-5px); border-color:#75b9b5; box-shadow:0 18px 40px #24173310; }
.home-v2.interior-enriched .cards :is(h3,.card-link) { color:#241733; }
.home-v2.interior-enriched .cards :is(p,.number) { color:#62646f; }
.home-v2.interior-enriched .cards .number { color:#087b7c; font-size:11px; letter-spacing:.14em; }
.home-v2.interior-enriched .project-copy { padding:27px; }
.home-v2.interior-enriched .project-copy h3 { font-size:24px; line-height:1.23; }
.home-v2.interior-enriched .project-copy .card-link { margin-top:auto; padding-top:24px; color:#087b7c; }
.home-v2.interior-enriched .project-card { display:flex; flex-direction:column; overflow:hidden; }
.home-v2.interior-enriched .project-copy { display:flex; flex-direction:column; flex:1; }
.home-v2.interior-enriched .pwh-card-image { display:block; width:100%; height:185px; object-fit:cover; transition:transform .45s; }
.home-v2.interior-enriched .project-card:hover .pwh-card-image { transform:scale(1.025); }
.home-v2.interior-enriched .door:has(.en-card-image) { min-height:0; display:flex; flex-direction:column; }
.home-v2.interior-enriched .door:has(.en-card-image) p { flex:1; }
.home-v2.interior-enriched .door:has(.en-card-image) .card-link { color:#087b7c; }
.home-v2.interior-enriched .pwh-service-catalog { background:#f5f7f8; }
.home-v2.interior-enriched .pwh-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:36px; }
.home-v2.interior-enriched .pwh-section-heading h2 { margin:0; font-size:clamp(30px,3.2vw,44px); }
.home-v2.interior-enriched .pwh-section-heading .eyebrow { display:block; }
.home-v2.interior-enriched .pwh-section-heading > span { color:#087b7c; font-size:13px; white-space:nowrap; }
.home-v2.interior-enriched .filter-bar { padding:22px; background:#fff; border:1px solid #dce6e6; border-radius:12px; box-shadow:0 8px 25px #24173305; gap:16px; margin-bottom:27px; }
.home-v2.interior-enriched .filter-bar :is(input,select) { border:1px solid #cad9d8; background:#f9fbfb; min-width:0; }
.home-v2.interior-enriched .search-count { margin:18px 0; font-weight:600; color:#087b7c; }
.home-v2.interior-enriched .pwh-archive .project-copy { min-height:210px; }
.home-v2.interior-enriched .pwh-archive-nav { display:flex; flex-wrap:wrap; gap:12px; margin:28px 0 0; }
.home-v2.interior-enriched .pwh-archive-nav a { padding:10px 15px; font-size:13px; border:1px solid #fff6; border-radius:6px; color:#fff; }
.home-v2.interior-enriched .pwh-archive-nav a:hover { background:#fff2; }
.home-v2.interior-enriched .gallery-grid { gap:18px; }
.home-v2.interior-enriched .gallery-grid button { position:relative; overflow:hidden; border-radius:12px; border:1px solid #dce6e5; background:#edf3f3; }
.home-v2.interior-enriched .gallery-grid button img { transition:transform .4s; }
.home-v2.interior-enriched .gallery-grid button:hover img { transform:scale(1.035); }
.home-v2.interior-enriched .gallery-grid button::after { content:'View photo ↗'; position:absolute; bottom:15px; right:15px; padding:9px 12px; background:#fffe; color:#241733; border-radius:6px; font-size:12px; font-weight:700; pointer-events:none; }
.home-v2.interior-enriched .feature-photo { border-radius:13px; border:1px solid #e1e7e8; }
.home-v2.interior-enriched .split > div > img { border-radius:13px; width:100%; object-fit:cover; }
.home-v2.interior-enriched .en-reading-card { border-radius:12px; border-color:#dae6e5; border-top:3px solid #087b7c; box-shadow:0 6px 22px #24173304; }
.home-v2.interior-enriched .en-reading-card .eyebrow { font-size:10px; }
.home-v2.interior-enriched .en-reading-card h3 { font-size:25px; }
.home-v2.interior-enriched .material-tabs { gap:10px; }
.home-v2.interior-enriched .material-tabs button { border-radius:7px; min-height:46px; }
.home-v2.interior-enriched .material-photo { border-radius:13px; overflow:hidden; }
.home-v2.interior-enriched .material-table { border:0; background:white; }
.home-v2.interior-enriched .material-table td { padding:21px; border-color:#e1e8ea; }
.home-v2.interior-enriched .material-table tr:nth-child(even) td { background:#f5f9f8; }
.home-v2.interior-enriched .material-table th { padding:22px; background:#241733; }
.home-v2.interior-enriched .en-tab-buttons button { border-radius:7px; }
.home-v2.interior-enriched .en-tab-buttons button[aria-selected=true] { background:#087b7c; border-color:#087b7c; color:white; }
.home-v2.interior-enriched .pwh-form-page .pf-hero { min-height:0; }
.home-v2.interior-enriched .pwh-form-page .pf-hero .container { padding-block:36px 58px; }
.home-v2.interior-enriched .form-card { border:1px solid #d8e5e4; border-top:4px solid #087b7c; border-radius:15px; padding:40px; background:#fff; box-shadow:0 18px 52px #24173309; }
.home-v2.interior-enriched .form-card legend { font-size:28px; line-height:1.2; }
.home-v2.interior-enriched .form-card input:not([type=radio]):not([type=checkbox]),.home-v2.interior-enriched .form-card textarea { background:#f8fafb; border-color:#cad8d8; border-radius:7px; min-height:48px; }
.home-v2.interior-enriched .choice-grid { gap:12px; margin-block:24px; }
.home-v2.interior-enriched .choice-grid label { background:#f8fafb; border-color:#dce5e5; padding:17px; font-size:15px; border-radius:9px; transition:border-color .15s,background .15s; }
.home-v2.interior-enriched .choice-grid label:has(input:checked) { background:#e8f5f2; border-color:#087b7c; color:#075e60; }
.home-v2.interior-enriched :is(input[type=checkbox],input[type=radio]) { accent-color:#087b7c; }
.home-v2.interior-enriched .form-progress { gap:8px; margin-block:26px 32px; }
.home-v2.interior-enriched .form-progress span { height:5px; border-radius:8px; background:#e6eeee; }
.home-v2.interior-enriched .form-progress .active { background:#087b7c; }
.home-v2.interior-enriched .demo-note { background:#f2f6f6; border-color:#d8e2e2; font-size:13px; border-radius:7px; color:#555e65; }
.home-v2.interior-enriched .pwh-utility .pf-hero .container { padding-block:30px 40px; }
.home-v2.interior-enriched .pwh-utility .pf-hero h1 { font-size:clamp(34px,4vw,52px); }
.home-v2.interior-enriched .pwh-utility .section { padding-block:56px; }
.home-v2.interior-enriched .pwh-utility .pf-hero::after { background:radial-gradient(ellipse at 100% 0,#37585b,transparent 65%); }
.home-v2.interior-enriched .pwh-directory > .light-section:nth-of-type(even) { background:white; }
.home-v2.interior-enriched .pwh-directory .directory-links { grid-template-columns:repeat(3,minmax(0,1fr)); }
.home-v2.interior-enriched .pwh-directory h2 { font-size:32px; }

/* The homepage uses its existing component runtime; classes provide a stable design layer. */
html[data-design="home-v2-original"] body { background:#fff; }
.pwh-home { --pwh-purple:#241733; --pwh-teal:#087b7c; --pwh-gold:#f0b552; background:#fff; color:#241733; }
.pwh-home * { box-sizing:border-box; }
.pwh-home .pwh-section :is(div,image-slot) { min-width:0; }
.pwh-home :is(h1,h2,h3) { text-wrap:balance; }
.pwh-home a { text-underline-offset:4px; }
.pwh-home :is(a,button,input,select,summary):focus-visible { outline:3px solid #087b7c; outline-offset:4px; }
.pwh-home .pwh-header { background:#fffffff5!important; border-color:#e4e8ea!important; }
.pwh-home .pwh-header > div { max-width:1280px!important; min-height:84px; gap:23px!important; padding:12px 40px!important; }
.pwh-home .pwh-header img { height:60px!important; }
.pwh-home .pwh-header nav { gap:16px!important; font-size:14px!important; overflow:visible; white-space:normal; }
.pwh-home .pwh-header nav a { padding:10px 0; color:#241733; text-decoration:none; }
.pwh-home .pwh-header nav a:hover { color:#087b7c!important; }
.pwh-home #book h1 .home-hero-simple { text-decoration:underline; text-decoration-thickness:.12em; text-underline-offset:.12em; text-decoration-color:#f6c572; }
.pwh-home .pwh-header .nav-group { position:relative; }
.pwh-home .pwh-header .nav-item { display:flex; align-items:center; gap:2px; }
.pwh-home .pwh-header .nav-expand { width:28px; height:40px; border:0; border-radius:6px; background:transparent; color:#241733; display:grid; place-items:center; padding:0; cursor:pointer; }
.pwh-home .pwh-header .nav-expand:hover,
.pwh-home .pwh-header .nav-expand[aria-expanded="true"] { background:#f3eee6; color:#087b7c; }
.pwh-home .pwh-header .nav-expand span { font-size:18px; line-height:1; }
.pwh-home .pwh-header .nav-expand[aria-expanded="true"] span { transform:rotate(180deg); }
.pwh-home .pwh-header .nav-panel { display:none; position:absolute; top:100%; left:0; z-index:80; min-width:280px; max-width:min(560px,80vw); max-height:70vh; overflow:auto; background:#fff; border:1px solid #e4e8ea; border-radius:12px; box-shadow:0 18px 40px #24173322; padding:14px; }
.pwh-home .pwh-header .nav-group.is-open .nav-panel { display:block; }
.pwh-home .pwh-header .nav-overview { display:flex; justify-content:space-between; gap:16px; color:#087b7c !important; font-weight:700; padding:8px 8px 12px; border-bottom:1px solid #e4e8ea; margin-bottom:6px; }
.pwh-home .pwh-header .nav-panel-links { display:grid; gap:2px; }
.pwh-home .pwh-header .nav-panel-links a { padding:8px 8px; border-radius:6px; font-size:14px; line-height:1.4; font-weight:600; }
.pwh-home .pwh-header .nav-panel-links a:hover { background:#f4f7f6; }
.pwh-home .pwh-header .nav-panel-links a.nav-county { font-weight:800; margin-top:6px; }
.pwh-home .pwh-header .nav-panel-links a.nav-city { font-weight:600; color:#3d3344; }
@media(min-width:1101px) {
  .pwh-home .pwh-header #nav-areas.nav-panel { min-width:460px; max-width:min(680px,86vw); }
  .pwh-home .pwh-header #nav-areas .nav-panel-links { grid-template-columns:1fr 1fr; }
  .pwh-home .pwh-header #nav-areas .nav-panel-links a.nav-county { grid-column:1 / -1; }
}
.pwh-home .pwh-header > div > a:last-child { padding:16px 19px!important; background:#087b7c!important; font-size:13px!important; }
.pwh-home .pwh-menu { display:none; background:#fff; border:1px solid #dce5e5; color:#241733; border-radius:6px; font:600 14px 'Public Sans',sans-serif; min-height:44px; padding:10px 17px; cursor:pointer; }
.pwh-home .pwh-home-hero { position:relative; background:linear-gradient(100deg,#1c1129f5 0%,#1c1129c9 45%,#1c112970 100%),url('/assets/ANMP0011-1.webp') center 45%/cover no-repeat!important; }
.pwh-home #book { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important; align-items:center!important; gap:64px!important; padding:78px 40px 80px!important; }
.pwh-home #book h1 { font-size:clamp(48px,4.5vw,66px)!important; letter-spacing:-.04em!important; line-height:1.03!important; }
.pwh-home #book h1 span { color:#f6c572!important; }
.pwh-home .home-hero-sr { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }
.pwh-home .home-hero-rotate { display:grid;justify-items:start;margin:0 0 12px;min-height:1.05em;font:800 32px/1.05 'Archivo',sans-serif;color:#f0b552;letter-spacing:.02em }
.pwh-home .home-hero-rotate-word { grid-area:1/1;opacity:0;transform:translateY(6px);transition:opacity .45s ease,transform .45s ease }
.pwh-home .home-hero-rotate-word.is-active { opacity:1;transform:none }
.pwh-home .home-hero-rotate.is-static { display:flex;flex-wrap:wrap;gap:.15em .75em;min-height:0 }
.pwh-home .home-hero-rotate.is-static .home-hero-rotate-word { grid-area:auto;position:static;opacity:1;transform:none;transition:none }
.pwh-home .home-hero-sub { color:#eee7f1!important;font-size:17px!important;line-height:1.75!important;margin:22px 0 0;max-width:58ch }
.pwh-home .home-hero-sub strong { color:#fff;font-weight:800 }
.pwh-home .home-hero-points { list-style:none;margin:26px 0 0;padding:0;display:grid;gap:12px;max-width:560px }
.pwh-home .home-hero-points li { display:flex;align-items:flex-start;gap:12px;font-size:16px;font-weight:600;line-height:1.35;color:#fff }
.pwh-home .home-hero-icon { flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#087b7c;color:#fff;box-shadow:0 0 0 3px #087b7c33 }
.pwh-home .home-hero-icon svg { width:15px;height:15px }
.pwh-home .home-hero-finance { margin:22px 0 0;font:800 20px/1.2 'Archivo',sans-serif;letter-spacing:.01em;color:#fff;max-width:560px }
.pwh-home .home-hero-finance a { color:#fff;text-decoration:none }
.pwh-home .home-hero-finance a:before { content:'';display:inline-block;width:22px;height:3px;background:#f0b552;vertical-align:middle;margin-right:10px }
.pwh-home .home-hero-finance a:hover { color:#f6c572 }
.pwh-home .home-hero-finance-note { margin:8px 0 0;font-size:13px;font-weight:600;color:#d8cfe0;max-width:52ch }
.pwh-home .home-hero-finance-note a { color:#f0b552;font-weight:700;text-underline-offset:3px }
.pwh-home .home-hero-finance-note a:hover { color:#ffe1a3 }
.pwh-home .home-hero-actions { display:flex;gap:16px;margin-top:28px;flex-wrap:wrap;align-items:center }
.pwh-home .home-hero-reviews { display:flex;width:fit-content;max-width:100%;align-items:center;gap:8px;margin-top:18px;padding:6px 14px 6px 8px;background:#fff;color:#241733;text-decoration:none;border-radius:999px;box-shadow:0 8px 22px #0006;font-size:14px;font-weight:600;line-height:1.2 }
.pwh-home .home-hero-reviewers { display:flex;align-items:center;flex:none }
.pwh-home .home-hero-reviewer { width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 12px/1 'Archivo',sans-serif;border:2px solid #fff;margin-left:-9px;letter-spacing:0;box-shadow:0 1px 2px #24173322 }
.pwh-home .home-hero-reviewer:first-child { margin-left:0 }
.pwh-home .home-hero-reviewer:nth-child(1){background:#087b7c}
.pwh-home .home-hero-reviewer:nth-child(2){background:#241733}
.pwh-home .home-hero-reviewer:nth-child(3){background:#4B3048}
.pwh-home .home-hero-reviewer:nth-child(4){background:#B0562F}
.pwh-home .home-hero-reviewer:nth-child(5){background:#1F4E79}
.pwh-home .home-hero-reviewer:nth-child(6){background:#C45C26}
.pwh-home .home-hero-reviews-star { width:16px;height:16px;flex:none;color:#F5B400 }
.pwh-home .home-hero-reviews-copy { display:flex;align-items:center;gap:6px;flex-wrap:wrap;white-space:nowrap }
.pwh-home .home-hero-reviews-copy strong { color:#241733;font-weight:800 }
.pwh-home .home-hero-reviews-sep { color:#8B9098;font-weight:500 }
.pwh-home .home-hero-reviews:hover,.pwh-home .home-hero-reviews:focus-visible { color:#241733;background:#fff8ef }
.pwh-home .home-hero-next { display:block;margin:18px 0 0;color:#f0b552;font-size:15px;font-weight:600;text-decoration:none;width:fit-content }
.pwh-home .home-hero-next:hover,.pwh-home .home-hero-next:focus-visible { color:#fff }
.pwh-home .pwh-trust-row { display:flex;align-items:center;justify-content:center;gap:48px;flex-wrap:wrap;padding:0 40px }
.pwh-home .pwh-trust-row img { width:auto;flex:none }
.pwh-home .pwh-trust-word { text-align:center;flex:none }
.pwh-home .pwh-trust-word strong { display:block;font-family:'Archivo',sans-serif;font-weight:800;font-size:32px;line-height:.95;letter-spacing:-.03em;color:#241733 }
.pwh-home .pwh-trust-word strong span { color:#E8A33D }
.pwh-home .pwh-trust-word small { display:block;font-family:'Archivo',sans-serif;font-weight:800;font-size:11.5px;letter-spacing:.2em;color:#241733;margin-top:6px;border-top:2px solid #17766D;padding-top:6px }
.pwh-home #book > div:not(:first-child) { border-radius:14px!important; background:#fff!important; padding:32px!important; border-top:4px solid #087b7c; box-shadow:0 24px 65px #12071e55!important; }
.pwh-home #book > div:not(:first-child) > div:first-child { flex-wrap:wrap; gap:12px!important; margin-bottom:17px!important; }
.pwh-home #book h2 { font-size:26px!important; line-height:1.12; }
.pwh-home #book button { min-height:44px; }
.pwh-home #book :is(a,button):focus-visible { outline-color:#f0b552; }
.pwh-home .pwh-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:26px; padding:17px 22px; min-height:55px; border-radius:7px; color:#241733; background:#f0b552; font:700 15px 'Archivo',sans-serif; text-decoration:none; box-shadow:0 8px 26px #0002; }
.pwh-home .pwh-primary:hover { background:#ffd38a; color:#241733; }
.pwh-home .pwh-primary span { font-size:24px; }
.pwh-home .pwh-hero-call { padding:12px 0!important; border:0!important; font-size:16px!important; }
.pwh-home .home-hero-actions .pwh-hero-call { display:inline-flex; align-items:center; justify-content:center; min-height:55px; padding:15px 26px!important; border:1.5px solid rgba(247,244,238,.45)!important; border-radius:7px; color:#F7F4EE; text-decoration:none; font:700 16px 'Archivo',sans-serif; }
.pwh-home .home-hero-actions .pwh-hero-call:hover { border-color:#E8A33D!important; color:#E8A33D; }
.pwh-home .pwh-credentials { padding:27px 0!important; border-color:#e0e6e8!important; }
.pwh-home .pwh-trust-jobs { background:#fff; border-bottom:1px solid #e0e6e8; }
.pwh-home .pwh-trust-jobs-inner { max-width:1280px; margin:0 auto; padding:22px 40px 26px; }
.pwh-home .pwh-trust-jobs-kicker { margin:0 0 14px; font-family:'Archivo',sans-serif; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#087b7c; }
.pwh-home .pwh-trust-jobs-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.pwh-home .pwh-trust-jobs figure { margin:0; }
.pwh-home .pwh-trust-jobs img { display:block; width:100%; height:132px; object-fit:cover; object-position:center 40%; border-radius:10px; background:#edf3f3; }
.pwh-home .pwh-trust-jobs figcaption { margin-top:8px; font-family:'Archivo',sans-serif; font-size:12px; font-weight:700; letter-spacing:.01em; color:#241733; line-height:1.35; }
.pwh-home .pin-marquee-track:hover { animation-play-state:paused!important; }
.pwh-home > .pwh-section { max-width:none!important; margin:0!important; padding:90px max(40px,calc((100% - 1200px)/2))!important; }
.pwh-home .pwh-section h2 { font-size:clamp(34px,3.3vw,46px)!important; line-height:1.12!important; letter-spacing:-.035em!important; }
.pwh-home .owner-letter { background:#fff; border-color:#e3e8e9; }
.pwh-home .owner-letter-inner { max-width:1280px; padding:84px 40px; gap:74px; }
.pwh-home .owner-letter-portrait { border-radius:13px; box-shadow:0 18px 42px #24173310; }
.pwh-home .owner-letter-body { color:#62646f; }
.pwh-home .owner-letter-copy h2 { font-size:clamp(34px,3.3vw,46px); letter-spacing:-.035em; }
.pwh-home .pwh-expertise { background:#f4f7f8; }
.pwh-home .pwh-service-grid { grid-template-columns:repeat(6,minmax(0,1fr))!important; gap:23px!important; }
.pwh-home .pwh-service-card { grid-column:span 2; border-radius:12px!important; border-color:#dfe7e9!important; transition:transform .2s,box-shadow .2s; }
.pwh-home .pwh-service-card:nth-child(-n+2) { grid-column:span 3; }
.pwh-home .pwh-service-card:hover { transform:translateY(-5px); box-shadow:0 15px 35px #24173310; }
.pwh-home .pwh-service-photo { position:relative; padding:0!important; overflow:hidden; height:190px; background:#e9eff0!important; }
.pwh-home .pwh-service-photo > img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.pwh-home .pwh-service-photo > div { position:absolute; bottom:15px; left:20px; border:0!important; border-radius:50%!important; box-shadow:0 4px 20px #0002; }
.pwh-home .pwh-service-card:hover img { transform:scale(1.035); }
.pwh-home .pwh-service-card > div:last-child { padding:26px!important; gap:15px!important; }
.pwh-home .pwh-service-card > div:last-child > div { color:#241733!important; font-size:23px!important; }
.pwh-home .pwh-service-card p { color:#62646f!important; font-size:15px!important; line-height:1.75!important; }
.pwh-home .pwh-service-card a { padding-top:14px; color:#087b7c!important; font-size:12px!important; }
.pwh-home .pwh-why { background:#fff; }
.pwh-home .pwh-why > div > div:last-child > div:last-child { counter-reset:reason; }
.pwh-home .pwh-why > div > div:last-child > div:last-child > div { counter-increment:reason; padding:20px 0!important; border-color:#e1e7e8!important; }
.pwh-home .pwh-why > div > div:last-child > div:last-child > div > span { font-size:0!important; flex:none; }
.pwh-home .pwh-why > div > div:last-child > div:last-child > div > span::before { content:counter(reason,decimal-leading-zero); display:grid; place-items:center; width:33px; height:33px; border-radius:50%; background:#e8f4f3; font-size:12px; color:#087b7c; }
.pwh-home .pwh-pricing { background:#edf5f4; }
.pwh-home .pwh-pricing > div:nth-child(2) { gap:20px!important; background:transparent!important; border:0!important; overflow:visible!important; }
.pwh-home .pwh-pricing > div:nth-child(2) > a { border:1px solid #dce6e5; border-top:3px solid #087b7c; border-radius:12px; padding:29px!important; box-shadow:0 6px 20px #24173304; transition:transform .2s,box-shadow .2s; }
.pwh-home .pwh-pricing > div:nth-child(2) > a:hover { transform:translateY(-4px); box-shadow:0 15px 35px #2417330d; background:white!important; }
.pwh-home .pwh-pricing > div:nth-child(2) > a > div:nth-child(2) { font-size:20px!important; color:#087b7c!important; }
.pwh-home .pwh-work { background:#fff; }
.pwh-home .pwh-work > div:last-child { gap:23px!important; }
.pwh-home .pwh-work image-slot { border-radius:13px!important; overflow:hidden; box-shadow:0 10px 30px #2417330c; }
.pwh-home .pwh-faq { background:#f5f7f8; }
.pwh-home .pwh-faq > div > div:last-child { gap:12px!important; border:0!important; }
.pwh-home .pwh-faq details { padding:22px!important; border:1px solid #dce5e5!important; border-radius:10px; background:#fff; }
.pwh-home .pwh-faq summary { font-size:17px!important; line-height:1.45; }
.pwh-home .pwh-faq details[open] { border-color:#78b8b3!important; }
.pwh-home .pwh-faq details[open] summary > span:last-child { transform:rotate(45deg); }
.pwh-home #estimate { margin-top:0!important; border-top:4px solid #f0b552; background:radial-gradient(ellipse at 90% 0,#41434e,transparent 65%),#241733!important; }
.pwh-home #estimate > div { padding-block:84px!important; }
.pwh-home #estimate input,.pwh-home #estimate select { border-radius:7px!important; min-height:48px; }
.pwh-home #estimate button { border-radius:7px!important; background:#f0b552!important; color:#241733!important; min-height:52px; }
.pwh-home footer { background:#1c1129!important; }
.pwh-home footer a:hover { color:#f6c572!important; }
.pwh-home .mcall { background:#087b7c!important; }
.pwh-home .home-sticky-cta { background:#f0b552; }
.pwh-home .home-sticky-cta a { color:#241733; }
.pwh-home .home-sticky-cta a:hover,
.pwh-home .home-sticky-cta a:focus-visible { color:#087b7c; }
.pwh-home .prg-roof-module { background:#edf5f4; border-color:#d9e5e3; }
.pwh-home .prg-roof-preview { border-color:#d5e3e2; border-radius:13px; }

/* Roof explorer: a shared finish on its existing application surfaces. */
body.pwh-explorer { --lime:#f0b552; --cyan:#087b7c; --green:#087b7c; --bg:#f5f7f8; --rule:#dce5e5; --muted:#62646f; }
.pwh-explorer .app-header { box-shadow:0 5px 25px #24173312; }
.pwh-explorer .inspector { background:#fff; }
.pwh-explorer .system-picker { background:#f5f9f8; }
.pwh-explorer .pinnacle-card { background:#edf5f4; border-color:#dce7e5; border-top-color:#f0b552; box-shadow:0 8px 24px #24173305; }
.pwh-explorer .material-tab { border-radius:8px; }
.pwh-explorer .material-tab.active { border-color:#087b7c; background:#e9f4f1; }

@media(max-width:1100px) {
 .pwh-home .pwh-header > div { padding:12px 24px!important; flex-wrap:wrap!important; gap:16px!important; }
 .pwh-home .pwh-menu { display:block; margin-left:auto; }
 .pwh-home .pwh-header > div > a:last-child { margin-left:0!important; }
 .pwh-home .pwh-header #pwh-navigation { display:none!important; order:4; width:100%; margin:0; border-top:1px solid #e0e6e8; padding:8px 0 12px; }
 .pwh-home .pwh-header[data-menu-open="true"] #pwh-navigation { display:flex!important; flex-direction:column; align-items:stretch!important; gap:0!important; max-height:calc(100dvh - 150px); overflow:auto; white-space:normal; }
 .pwh-home .pwh-header[data-menu-open="true"] .nav-group,
 .pwh-home .pwh-header[data-menu-open="true"] .pwh-nav-link { width:100%; }
 .pwh-home .pwh-header[data-menu-open="true"] .nav-item { width:100%; justify-content:space-between; border-top:1px solid #e5eaeb; }
 .pwh-home .pwh-header[data-menu-open="true"] .nav-item > a,
 .pwh-home .pwh-header[data-menu-open="true"] .pwh-nav-link { padding:14px 2px; font-size:16px; text-align:left; }
 .pwh-home .pwh-header[data-menu-open="true"] .nav-expand { width:44px; height:44px; }
 .pwh-home .pwh-header[data-menu-open="true"] .nav-panel { position:static; min-width:0; max-width:none; max-height:none; box-shadow:none; margin:0 0 10px; background:#f7f4ee; }
 .pwh-home .pwh-trust-jobs-inner { padding:20px 24px 22px; }
 .pwh-home .pwh-trust-jobs img { height:124px; }
 .pwh-home #book { padding:60px 24px!important; gap:32px!important; }
 .pwh-home #book h1 { font-size:50px!important; }
 .pwh-home #book > div:not(:first-child) { padding:26px!important; }
 .pwh-home > .pwh-section { padding:70px 32px!important; }
 .pwh-home .owner-letter-inner { padding:64px 32px; gap:40px; }
 .pwh-home .pwh-service-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .pwh-home .pwh-service-card,.pwh-home .pwh-service-card:nth-child(-n+2) { grid-column:auto; }
 .pwh-home .pwh-service-card:last-child { grid-column:1/-1; }
 .pwh-home .pwh-pricing > div:nth-child(2) { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media(max-width:800px) {
 .home-v2.interior-enriched .pwh-directory .directory-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .home-v2.interior-enriched .form-card { padding:28px; }
 .home-v2.interior-enriched .filter-bar { padding:16px; }
 .home-v2.interior-enriched .pwh-card-image { height:165px; }
 .pwh-home .pwh-trust-jobs-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .pwh-home .pwh-trust-jobs img { height:148px; }
 .pwh-home #book { grid-template-columns:minmax(0,1fr)!important; gap:35px!important; }
 .pwh-home #book > div:first-child > div:last-child { margin-bottom:0!important; }
 .pwh-home #book > div:not(:first-child) { width:100%; }
 .pwh-home .owner-letter-inner { grid-template-columns:1fr; gap:36px; }
 .pwh-home .owner-letter-portrait { max-width:520px; justify-self:center; width:100%; }
 .pwh-home .pwh-section > div[style*="grid-template-columns"] { grid-template-columns:minmax(0,1fr)!important; gap:32px!important; }
 .pwh-home .pwh-expertise > .pwh-service-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .pwh-home .pwh-work > div:last-child { grid-template-columns:1fr!important; }
 .pwh-home #estimate > div { grid-template-columns:1fr!important; padding:62px 24px!important; }
}
@media(max-width:560px) {
 .home-v2.interior-enriched .pwh-section-heading { align-items:start; flex-direction:column; gap:12px; margin-bottom:25px; }
 .home-v2.interior-enriched .pwh-section-heading h2 { font-size:31px; }
 .home-v2.interior-enriched .project-copy { padding:23px; }
 .home-v2.interior-enriched .project-copy h3 { font-size:23px; }
 .home-v2.interior-enriched .pwh-card-image { height:180px; }
 .home-v2.interior-enriched .form-card { padding:25px 20px; }
 .home-v2.interior-enriched .form-card legend { font-size:25px; }
 .home-v2.interior-enriched .choice-grid { grid-template-columns:1fr; }
 .home-v2.interior-enriched .choice-grid label { font-size:14px; padding:15px; }
 .home-v2.interior-enriched .filter-bar { display:grid; grid-template-columns:1fr; }
 .home-v2.interior-enriched .pwh-directory .directory-links { grid-template-columns:1fr; }
 .home-v2.interior-enriched .gallery-grid button::after { font-size:10px; bottom:8px; right:8px; padding:7px 9px; }
 .pwh-home .pwh-header > div { padding:10px 18px!important; gap:12px!important; min-height:76px; }
 .pwh-home .pwh-header img { height:48px!important; max-width:130px; }
 .pwh-home .pwh-header > div > a:last-child { display:none; }
 .pwh-home .pwh-header[data-menu-open="true"] .pwh-nav-link { border-bottom:1px solid #e5eaeb; }
 .pwh-home .pwh-trust-jobs-inner { padding:18px 20px 20px; }
 .pwh-home .pwh-trust-jobs img { height:118px; }
 .pwh-home .pwh-trust-jobs figcaption { font-size:11px; }
 .pwh-home #book { padding:42px 20px 46px!important; }
 .pwh-home #book h1 { font-size:43px!important; }
 .pwh-home .home-hero-rotate { font-size:26px }
 .pwh-home .home-hero-sub { font-size:16px!important; }
 .pwh-home .home-hero-points li { font-size:15px }
 .pwh-home .home-hero-finance { font-size:17px }
 .pwh-home .home-hero-reviewer { width:28px;height:28px;font-size:11px;margin-left:-8px }
 .pwh-home .home-hero-reviews { font-size:13px;padding:5px 12px 5px 7px }
 .pwh-home .home-hero-reviews-copy { white-space:normal }
 .pwh-home #book > div:not(:first-child) { padding:24px 20px!important; }
 .pwh-home #book h2 { font-size:25px!important; }
 .pwh-home .pwh-primary { width:100%; font-size:15px; }
 .pwh-home .pwh-hero-call { margin-inline:auto; }
 .pwh-home .home-hero-actions .pwh-hero-call { width:100%; }
 .pwh-home > .pwh-section { padding:54px 20px!important; }
 .pwh-home .pwh-section h2 { font-size:33px!important; }
 .pwh-home .owner-letter-inner { padding:54px 20px; }
 .pwh-home .owner-letter-copy h2 { font-size:33px; }
 .pwh-home .pwh-expertise > .pwh-service-grid { grid-template-columns:1fr!important; }
 .pwh-home .pwh-service-photo { height:190px; }
 .pwh-home .pwh-service-card > div:last-child { padding:23px!important; }
 .pwh-home .pwh-pricing > div:nth-child(2) { grid-template-columns:1fr!important; }
 .pwh-home .pwh-faq details { padding:20px!important; }
 .pwh-home .pwh-faq summary { font-size:16px!important; }
 .pwh-home #estimate h2 { font-size:33px!important; }
}
@media(prefers-reduced-motion:reduce) {
 .pwh-home *,.home-v2.interior-enriched .cards > *,.home-v2.interior-enriched .gallery-grid img { transition:none!important; animation:none!important; scroll-behavior:auto!important; }
}

/* Desktop menus: stretch the trigger to the header edge and bridge the seam so the pointer can reach the panel. */
@media(min-width:1101px) {
 .pwh-home .pwh-header > div { align-items:stretch !important; }
 .pwh-home .pwh-header > div > a { align-self:center; }
 .pwh-home .pwh-header nav { align-self:stretch; align-items:stretch !important; }
 .pwh-home .pwh-header .nav-group { display:flex; align-items:stretch; }
 .pwh-home .pwh-header .nav-item { align-items:center; }
 .pwh-home .pwh-header .nav-group::before { content:""; position:absolute; z-index:79; left:0; top:100%; height:14px; width:340px; }
 .pwh-home .pwh-header .nav-group:has(#nav-areas)::before { width:520px; }
}

.pwh-home .pwh-trust-marquee { background:#fff; border-bottom:1px solid #e0e6e8; }
.pwh-home .pin-marquee { overflow:hidden; width:100%; }
.pwh-home .pin-marquee-track { display:flex; width:max-content; animation:pin-marquee 35s linear infinite; }
.pwh-home .pin-marquee-set { display:flex; align-items:center; gap:48px; padding:12px 24px 12px 48px; flex:none; }
.pwh-home .pin-marquee-set img { width:auto; flex:none; }
.pwh-home .pin-marquee-word { text-align:center; flex:none; }
.pwh-home .pin-marquee-word strong { display:block; font-family:'Archivo',sans-serif; font-weight:800; font-size:26px; line-height:.95; letter-spacing:-.03em; color:#241733; }
.pwh-home .pin-marquee-word strong span { color:#E8A33D; }
.pwh-home .pin-marquee-word small { display:block; font-family:'Archivo',sans-serif; font-weight:800; font-size:10px; letter-spacing:.16em; color:#241733; margin-top:5px; border-top:2px solid #17766D; padding-top:4px; }
.pwh-home .pin-marquee-word--warranty strong { color:#17766D; }
.pwh-home .pin-marquee-word--warranty small { border-top-color:#E8A33D; }
.pwh-home .pwh-trust-job-link { color:inherit; text-decoration:none; }
.pwh-home .pwh-trust-job-link:hover figcaption { color:#087b7c; }
.pwh-home .pwh-work-link { display:block; height:100%; color:inherit; }

/* Laptop above-the-fold: tighten the hero and form so the trust carousel is on screen. */
@media(min-width:1101px) {
 .pwh-home > div:first-child { padding-top:6px !important; padding-bottom:6px !important; }
 .pwh-home .pwh-header > div { min-height:64px; padding-top:6px !important; padding-bottom:6px !important; }
 .pwh-home .pwh-header img { height:48px !important; }
 .pwh-home .pwh-header > div > a:last-child { padding:12px 16px !important; }
 .pwh-home #book { padding:16px 40px 14px !important; gap:28px !important; align-items:start !important; }
 .pwh-home .home-hero-rotate { font-size:18px; margin-bottom:4px; }
 .pwh-home #book h1 { font-size:40px !important; line-height:1.02 !important; }
 .pwh-home .home-hero-sub { font-size:14px !important; line-height:1.45 !important; margin:8px 0 0 !important; }
 .pwh-home .home-hero-points { margin:8px 0 0; gap:6px; }
 .pwh-home .home-hero-points li { font-size:14px; gap:8px; }
 .pwh-home .home-hero-icon { width:22px; height:22px; box-shadow:none; }
 .pwh-home .home-hero-icon svg { width:12px; height:12px; }
 .pwh-home .home-hero-finance { margin:10px 0 0; font-size:16px; }
 .pwh-home .home-hero-actions { margin-top:10px; gap:12px; }
 .pwh-home .pwh-primary { min-height:42px; padding:10px 16px; font-size:14px; }
 .pwh-home .home-hero-actions .pwh-hero-call { min-height:42px; padding:10px 16px !important; font-size:14px; }
 .pwh-home .home-hero-reviews { margin-top:8px; padding:4px 12px 4px 6px; }
 .pwh-home .home-hero-reviewer { width:26px; height:26px; font-size:11px; }
 .pwh-home #book .pin-lead-card,
 .pwh-home #book > div:not(:first-child) { padding:12px 14px !important; border-radius:12px !important; }
 .pwh-home #book .pin-lead-card-top { margin-bottom:4px; gap:8px; }
 .pwh-home #book .pin-lead-form-heading,
 .pwh-home #book h2 { font-size:16px !important; line-height:1.15 !important; }
 .pwh-home #book .pin-lead-badge { font-size:9px; padding:4px 6px; letter-spacing:.06em; }
 .pwh-home #book .pin-lead-sub { font-size:12px; line-height:1.35; margin-bottom:8px; }
 .pwh-home #book .pin-lead-form { gap:6px; }
 .pwh-home #book .pin-lead-grid { gap:6px 8px; }
 .pwh-home #book .pin-lead-field { gap:2px; font-size:11px; }
 .pwh-home #book .pin-lead-field input { padding:5px 12px; font-size:13px; min-height:0; }
 .pwh-home #book .pin-lead-check { font-size:11px; line-height:1.3; gap:8px; }
 .pwh-home #book .pin-lead-fine { font-size:10px; line-height:1.3; }
 .pwh-home #book .pin-lead-submit { padding:8px 12px; font-size:14px; }
 .pwh-home .pwh-trust-jobs-inner { padding-top:14px; padding-bottom:16px; }
 .pwh-home .pwh-trust-jobs img { height:96px; }
}
