/* v1.7: useful buying guidance, consistent spacing and clear changes of subject. */
body.ss-site .section { padding-block: 52px; }
body.ss-site .journey-section { padding-block: 56px; }
body.ss-site .journey-section + .journey-section:not(.journey-tone) { padding-top: 40px; }
body.ss-site .journey-tone { background: #edf0f0; }
body.ss-site .journey-heading { max-width: 760px; margin-bottom: 28px; }
body.ss-site .journey-page h2 { font-size: clamp(1.65rem,2.5vw,2.25rem); line-height: 1.18; }
body.ss-site .journey-page h3 { font-size: 1.2rem; line-height: 1.3; }
body.ss-site .journey-page p { max-width: 68ch; }
body.ss-site .journey-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(28px,4vw,56px); padding-block: 24px 40px; }
body.ss-site .journey-hero h1 { font-size: clamp(2rem,3.2vw,3.1rem); max-width: 19ch; }
body.ss-site .journey-hero .lead { font-size: 1.0625rem; line-height: 1.65; max-width: 55ch; }
body.ss-site .journey-hero figure { height: 365px; border-radius: 8px; overflow: hidden; background: var(--clay); }
body.ss-site .journey-hero img { width: 100%; height: 100%; object-fit: cover; }
body.ss-site .journey-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 24px; }
body.ss-site .journey-actions .button { min-height: 46px; font-size: .9375rem; text-align: center; padding: 12px 18px; }
body.ss-site .button-outline { color: var(--wine); border: 1px solid var(--wine); background: transparent; }
body.ss-site .button-outline:hover { color: #fff; background: var(--wine); }
body.ss-site .journey-reassurance { font-size: .9375rem; color: var(--muted); margin-top: 18px; }
body.ss-site .journey-jumps { display: flex; flex-wrap: wrap; gap: 12px 26px; align-items: center; padding-block: 16px; background: #f5f6f6; border-block: 1px solid var(--line); }
body.ss-site .journey-jumps span { color: var(--muted); font-size: .875rem; }
body.ss-site .journey-jumps a { min-height: 44px; display: inline-flex; align-items: center; color: var(--wine); font-weight: 600; font-size: .9375rem; }
body.ss-site .journey-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
body.ss-site .journey-grid > div { min-width: 0; }
body.ss-site .journey-grid.journey-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
body.ss-site .journey-text-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; color: var(--wine); }
body.ss-site .journey-lead { margin-bottom: 28px; font-size: 1.0625rem; }
body.ss-site .journey-note { padding: 0; background: transparent; margin-top: 32px; }
body.ss-site .journey-tone .journey-note { background: transparent; }
body.ss-site .journey-note p { max-width: 85ch; }
body.ss-site .journey-note h3 { font-size: 1.1rem; }
body.ss-site .journey-note strong { display: block; margin-bottom: 8px; }
body.ss-site .journey-footnote { color: var(--muted); font-size: .9375rem; margin-top: 22px; }
body.ss-site .journey-brand-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
body.ss-site .journey-brand-grid > div { padding: 28px; border-radius: 8px; background: white; display: flex; flex-direction: column; align-items: flex-start; }
body.ss-site .journey-brand-grid .journey-text-link { margin-top: auto; }
body.ss-site .journey-brand-links { display: flex; flex-wrap: wrap; gap: 12px; }
body.ss-site .journey-project-pair { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 40px; }
body.ss-site .journey-project-pair > figure, body.ss-site .journey-project-pair > a { border-radius: 8px; overflow: hidden; }
body.ss-site .journey-project-pair img { width: 100%; height: 320px; object-fit: cover; }
body.ss-site .journey-list { padding-left: 22px; margin: 20px 0; }
body.ss-site .journey-list li { padding-left: 4px; margin-bottom: 10px; }
body.ss-site .comparison-wrap { border: 1px solid #ccd3d3; border-radius: 8px; overflow: hidden; }
body.ss-site .material-comparison { border-collapse: collapse; table-layout: fixed; width: 100%; text-align: left; font-size: 1rem; }
body.ss-site .material-comparison caption { text-align: left; font-weight: 600; padding: 18px 22px; background: var(--wine); color: white; }
body.ss-site .material-comparison th, body.ss-site .material-comparison td { padding: 18px 22px; vertical-align: top; border-bottom: 1px solid var(--line); line-height: 1.5; }
body.ss-site .material-comparison thead { background: #edf0f0; }
body.ss-site .material-comparison th:first-child { width: 23%; }
body.ss-site .material-comparison tbody th { font-weight: 600; }
body.ss-site .material-comparison tr:last-child > * { border-bottom: 0; }
body.ss-site .journey-price-groups { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 28px; gap: 1px; border: 1px solid var(--line); background: var(--line); border-radius: 8px; overflow: hidden; }
body.ss-site .journey-price-groups > div { padding: 18px; background: #f5f6f6; }
body.ss-site .journey-price-groups strong,body.ss-site .journey-price-groups span { display: block; }
body.ss-site .journey-price-groups span { font-size: .9375rem; color: var(--muted); }
body.ss-site .journey-steps { padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; list-style: none; counter-reset: step; }
body.ss-site .journey-steps li { counter-increment: step; }
body.ss-site .journey-steps li:before { content: '0' counter(step); display: block; color: var(--wine); font-size: 1rem; font-weight: 600; margin-bottom: 16px; }
body.ss-site .journey-vendors { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 48px; align-items: start; }
body.ss-site .journey-vendors > div:first-child { grid-row: span 2; }
body.ss-site .journey-vendors ul { padding: 0; margin: 12px 0 0; list-style: none; }
body.ss-site .journey-vendors a { min-height: 48px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #cbd2d2; gap: 16px; font-weight: 500; text-decoration: none; }
body.ss-site .journey-vendors a:hover { color: var(--wine); text-decoration: underline; }
body.ss-site .journey-vendors a span { font-size: 1.2rem; }
body.ss-site .journey-page .catalog-card { padding: 18px; border: 1px solid var(--line); background: #fff; border-radius: 8px; }
body.ss-site .journey-page .catalog-card h3 { margin-bottom: 8px; }
body.ss-site .journey-page .catalog-card .catalog-details { margin-block: 12px; }
body.ss-site .journey-page .catalog-grid { gap: 24px; }
body.ss-site .journey-page .sink-product { border: 1px solid #e2e6e6; }
body.ss-site .sink-description { font-size: 1rem; margin-bottom: 16px; min-height: 1.5em; }
body.ss-site .journey-page .catalog-image { aspect-ratio: 1.7; }
body.ss-site .journey-page .sink-product { aspect-ratio: 1.6; }
body.ss-site .journey-page .catalog-inquiry .wp-block-button__link { padding: 12px 16px; }
body.ss-site .visit-note { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 28px 0 0; margin-top: 32px; border-top: 1px solid var(--line); }
body.ss-site .visit-note strong { font-size: 1.1rem; }
body.ss-site .visit-note p { margin: 8px 0 0; font-size: .9375rem; }
body.ss-site .visit-note .button { flex-shrink: 0; }
body.ss-site .journey-faq { max-width: 960px; }
body.ss-site .journey-faq details { border-bottom: 1px solid var(--line); padding-block: 16px; }
body.ss-site .journey-faq summary { cursor: pointer; min-height: 44px; padding-block: 10px; font-weight: 600; }
body.ss-site .journey-faq p { padding-top: 8px; }
body.ss-site .journey-proof { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
body.ss-site .journey-proof blockquote { margin: 0; padding: 0; }
body.ss-site .journey-proof blockquote p { font-size: 1.5rem; line-height: 1.4; }
body.ss-site .journey-proof cite { font-size: .9375rem; font-style: normal; }
body.ss-site .home-visit { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-block: 20px; border-bottom: 1px solid var(--line); }
body.ss-site .home-visit strong,body.ss-site .home-visit span { display: block; }
body.ss-site .home-visit p { margin: 0; font-size: .9375rem; }
body.ss-site .home-visit a { min-height: 44px; display: flex; align-items: center; color: var(--wine); font-weight: 600; flex-shrink: 0; }
body.ss-site .hero-copy .hero-help { font-size: .9375rem; margin-top: 16px; }
body.ss-site .home-hero .hero-image { min-height: 500px; overflow: hidden; }
body.ss-site .home-hero .hero-image img { object-position: 50% 65%; transform: scale(1.06); transform-origin: center 65%; }
body.ss-site .journey-page .service-grid { padding-block: 0; margin: 0; }
body.ss-site .journey-page .project-section { padding-block: 56px 24px; }
body.ss-site .project-section .project-card { width: 100%; max-width: 100%; min-width: 0; }
@media (min-width: 601px) and (max-width: 900px) { body.ss-site .project-section .project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
body.ss-site .journey-page .service-image { height: auto; aspect-ratio: 1.35; }
body.ss-site .catalogue-explanation { margin-bottom: 12px; }
body.ss-site .catalogue-explanation h2 { font-size: 1.3rem; }
body.ss-site .catalogue-explanation strong { display: inline; }
body.ss-site .catalog-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; grid-column: 1/-1; }
body.ss-site .catalog-filters label { display: flex; flex-direction: column; gap: 8px; }
body.ss-site .catalog-filters select { font: inherit; min-height: 46px; padding: 10px 12px; border: 1px solid #7d8585; border-radius: 4px; background: white; color: var(--ink); }
body.ss-site .catalog-group:nth-of-type(2n) { background: #f5f6f6; }
body.ss-site .catalog-group .catalog-card { padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 8px; }
body.ss-site .material-project .split-image { height: 320px; }
body.ss-site .material-project .split-image img { width: 100%; height: 100%; object-fit: cover; }
body.ss-site .quote-section { margin-top: 12px; }
body.ss-site .quote-expect { margin-block: 28px; padding-top: 24px; border-top: 1px solid #916672; }
body.ss-site .quote-expect h3 { font-size: 1.15rem; color: #fff; }
body.ss-site .quote-expect p { font-size: .9375rem; }
body.ss-site .quote-expect a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
body.ss-site .service-choices { padding: 0; margin: 0; border: 0; min-width: 0; }
body.ss-site .service-choices legend { font-size: 1rem; font-weight: 600; }
body.ss-site .service-choices p { font-size: .875rem; margin: 4px 0 12px; color: #e5d9dc; }
body.ss-site .service-choices > div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.ss-site .service-choices label { display: flex; align-items: center; gap: 10px; padding: 10px 12px; min-height: 46px; margin: 0; border: 1px solid #95717a; border-radius: 6px; cursor: pointer; font-weight: 400; }
body.ss-site .ss-inquiry .service-choices input { width: 18px; height: 18px; min-height: 18px; padding: 0; flex: 0 0 18px; accent-color: #521f2a; }
body.ss-site .service-choices label:has(input:checked) { background: #fff; color: var(--wine); border-color: #fff; }
body.ss-site .nav-menu { gap: 18px; }
body.ss-site .primary-nav { gap: 24px; }
body.ss-site .nav-menu a { font-size: .9375rem; }
body.ss-site .split,body.ss-site .faq-grid { gap: clamp(28px,4vw,56px); }
@media (min-width: 901px) and (max-width: 1200px) {
 :root { --header-height: 76px; }
 body.ss-site .header-inner { gap: 16px; }
 body.ss-site .brand img { width: 175px; height: 57px; }
 body.ss-site .mobile-quote { display: inline-flex; margin-left: auto; min-height: 46px; padding: 11px 15px; }
 body.ss-site .menu-toggle { display: flex; align-items: center; gap: 10px; min-height: 46px; min-width: 48px; padding: 10px; border: 0; background: none; color: var(--ink); }
 body.ss-site .menu-icon { width: 20px; height: 14px; border-block: 2px solid; display: block; }
 body.ss-site .primary-nav { display: none; position: absolute; top: 76px; left: 0; right: 0; background: #fff; padding: 12px var(--gutter) 24px; border-bottom: 1px solid var(--line); max-height: calc(100dvh - 76px); overflow: auto; }
 body.ss-site .primary-nav.is-open { display: block; }
 body.ss-site .nav-menu { display: block; }
 body.ss-site .nav-menu li { border-bottom: 1px solid var(--line); }
 body.ss-site .nav-menu a { padding-block: 14px; font-size: 1rem; }
 body.ss-site .nav-menu a:after { display: none; }
 body.ss-site .nav-quote { margin-top: 20px; }
}
@media (max-width: 900px) {
 body.ss-site .journey-grid.journey-three,body.ss-site .journey-steps { gap: 24px; }
 body.ss-site .journey-jumps { gap: 8px 20px; }
 body.ss-site .journey-hero { gap: 28px; }
 body.ss-site .journey-hero figure { height: 330px; }
 body.ss-site .journey-vendors { gap: 24px; }
}
@media (max-width: 760px) {
 body.ss-site .home-hero .hero-layout { display: flex; flex-direction: column; }
 body.ss-site .journey-section,body.ss-site .section { padding-block: 38px; }
 body.ss-site .journey-section + .journey-section:not(.journey-tone) { padding-top: 32px; }
 body.ss-site .journey-heading { margin-bottom: 22px; }
 body.ss-site .journey-hero,body.ss-site .journey-project-pair,body.ss-site .journey-proof { grid-template-columns: 1fr; gap: 24px; }
 body.ss-site .journey-hero { padding-block: 18px 28px; }
 body.ss-site .journey-hero h1 { max-width: 22ch; font-size: 2.2rem; }
 body.ss-site .journey-hero figure { height: 250px; }
 body.ss-site .journey-project-pair img { height: 240px; }
 body.ss-site .material-project .split-image { height: 240px; }
 body.ss-site .journey-grid,body.ss-site .journey-grid.journey-three,body.ss-site .journey-steps,body.ss-site .journey-brand-grid { grid-template-columns: 1fr; gap: 28px; }
 body.ss-site .journey-grid > div + div,body.ss-site .journey-steps li + li { padding-top: 24px; border-top: 1px solid #cdd4d4; }
 body.ss-site .journey-brand-grid > div { padding: 24px; }
 body.ss-site .journey-vendors { grid-template-columns: 1fr 1fr; }
 body.ss-site .journey-jumps { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
 body.ss-site .journey-jumps span { grid-column: 1/-1; margin-bottom: 8px; }
 body.ss-site .journey-jumps a { font-size: .875rem; }
 body.ss-site .material-comparison { font-size: .875rem; }
 body.ss-site .material-comparison th,body.ss-site .material-comparison td { padding: 13px 10px; overflow-wrap: break-word; }
 body.ss-site .material-comparison th:first-child { width: 25%; }
 body.ss-site .material-comparison caption { padding: 16px; }
 body.ss-site .journey-price-groups { grid-template-columns: repeat(3,1fr); }
 body.ss-site .journey-price-groups > div { padding: 14px; }
 body.ss-site .visit-note,body.ss-site .home-visit { align-items: flex-start; flex-direction: column; gap: 12px; }
 body.ss-site .visit-note { margin-top: 24px; padding-top: 24px; }
 body.ss-site .home-hero .hero-image { min-height: 250px; height: 250px; }
 body.ss-site .journey-note { padding: 0; }
 body.ss-site .journey-page .project-section { padding-block: 38px 12px; }
 body.ss-site .quote-grid { gap: 28px; }
}
@media (max-width: 480px) {
 body.ss-site .journey-hero h1 { font-size: 2rem; }
 body.ss-site .journey-vendors { grid-template-columns: 1fr; }
 body.ss-site .journey-vendors > div:first-child { grid-row: auto; }
 body.ss-site .journey-page .catalog-grid { grid-template-columns: 1fr; }
 body.ss-site .service-choices > div { grid-template-columns: 1fr; }
 body.ss-site .material-comparison th,body.ss-site .material-comparison td { padding: 12px 8px; }
 body.ss-site .journey-actions { align-items: flex-start; }
 body.ss-site .journey-actions .button { max-width: 100%; }
}
@media (max-width: 600px) {
 body.ss-site .utility { display: none; }
 body.ss-site .mobile-quote { white-space: nowrap; }
 body.ss-site .material-comparison { display: block; font-size: .9375rem; }
 body.ss-site .material-comparison caption { display: block; }
 body.ss-site .material-comparison thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
 body.ss-site .material-comparison tbody { display: block; }
 body.ss-site .material-comparison tbody tr { display: grid; grid-template-columns: 1fr 1fr; }
 body.ss-site .material-comparison tbody th:first-child { grid-column: 1/-1; width: auto; padding: 12px 14px; background: #edf0f0; }
 body.ss-site .material-comparison tbody td { padding: 14px; overflow-wrap: normal; }
 body.ss-site .material-comparison tbody td:first-of-type { border-right: 1px solid var(--line); }
 body.ss-site .material-comparison td:before { content: attr(data-material); display: block; font-weight: 600; margin-bottom: 8px; color: var(--wine); }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
