
/* V4: visual hierarchy from Marcel's supplied shop-page reference.
   These styles are intentionally limited to the new page roots. */
:root { --feist-lime:#deef00; }
.feist-design-v4 { --feist-soft:#f0f3e9; --feist-lime:#deef00; max-width:1240px; font-family:Arial,Helvetica,sans-serif; }
.feist-design-v4 h1,.feist-design-v4 h2,.feist-design-v4 h3 { font-weight:800; letter-spacing:-.045em; }
.feist-design-v4 h1 { line-height:1.02; }
.feist-design-v4 h2 { font-size:clamp(30px,3.5vw,48px); line-height:1.08; }
.feist-design-v4 h3 { font-size:25px; letter-spacing:-.025em; line-height:1.12; }
.feist-design-v4 p { color:#4d585d; font-size:18px; line-height:1.5; }
.feist-marker { position:relative; z-index:0; }
.feist-marker::after { content:''; position:absolute; left:0; right:0; bottom:-6px; height:7px; background:var(--feist-lime); border-radius:80% 30% 50% 20%; transform:rotate(-1deg); z-index:-1; }
.feist-design-v4 .feist-hero { gap:24px; align-items:stretch; margin:0 0 18px!important; }
.feist-design-v4.feist-laden .feist-hero { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); }
.feist-design-v4 .feist-hero h1 { font-size:clamp(40px,4.6vw,68px); margin:18px 0 24px; }
.feist-laden .feist-hero h2 { font-size:clamp(22px,2.4vw,32px); margin-bottom:14px; }
.feist-laden .feist-hero-copy > p { font-size:21px; }
.feist-laden .feist-breadcrumb { font-size:14px!important; margin-bottom:12px; }
.feist-design-v4 .feist-hero-photo { position:relative; }
.feist-laden .feist-hero-photo > figure,.feist-laden .feist-hero-photo > .wp-block-group__inner-container > figure { height:100%; min-height:530px; }
.feist-laden .feist-hero-photo img { height:100%; min-height:530px; max-height:none; object-fit:cover; object-position:center; border-radius:25px; }
.feist-photo-caption { position:absolute; left:22px; bottom:12px; right:22px; background:#fffefbe8; padding:12px 16px; border-radius:14px; font-size:14px!important; margin:0!important; }
.feist-figure-scene { position:relative; max-width:410px; margin:10px 0 0 -12px; }
.feist-figure-scene .wp-block-image { max-width:none!important; margin:0!important; }
.feist-figure-scene img { border-radius:0; }
.feist-speech { position:absolute; top:0; right:-15px; padding:17px 22px; border:2px solid #142021; background:#fffefb; border-radius:55% 48% 50% 12%; transform:rotate(-8deg); font-size:21px!important; font-style:italic; color:#142021!important; line-height:1.15!important; }
.feist-design-v4 .feist-stations { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:16px; border-radius:24px; margin:0 0 30px!important; }
.feist-station { position:relative; padding:20px 12px 16px 82px; min-height:108px; border-radius:20px; background:#fffefb; }
.feist-station .feist-station-number { position:absolute; left:10px; top:17px; width:29px; height:29px; border-radius:50%; background:#eef1b8; text-align:center; padding:4px 0; font-size:14px; font-weight:bold; color:#142021; }
.feist-station .feist-icon { position:absolute; left:44px; top:19px; width:29px; }
.feist-station h3 { font-size:18px; margin:2px 0 6px; }
.feist-station h3 a { text-decoration:none; color:#142021; }
.feist-station h3 a::after { content:''; position:absolute; inset:0; border-radius:20px; }
.feist-station p { font-size:13px; line-height:1.25; margin:0; }
.feist-design-v4 .feist-roll-section { grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr); gap:36px; margin:28px 0 38px!important; }
.feist-roll-section .feist-photo img { height:530px; object-fit:cover; border-radius:24px; }
.feist-design-v4 .feist-roll-section h2 { font-size:clamp(32px,3.6vw,48px); margin:0 0 6px; }
.feist-roll-section .feist-copy h3 { font-size:27px; margin-bottom:20px; }
.feist-roll-section .feist-copy p { font-size:19px; }
.feist-design-v4 .feist-senses { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:28px 0 0!important; }
.feist-mini-feature .feist-icon { width:45px; margin:0 0 10px; background:#f4f5eb; border-radius:50%; padding:7px; }
.feist-mini-feature h3 { font-size:17px; letter-spacing:-.025em; margin:0 0 8px; }
.feist-mini-feature p { font-size:13px; margin:0; }
.feist-design-v4 .feist-senses h3 { font-size:17px; }
.feist-design-v4 .feist-senses p:empty { display:none; }
.feist-section-intro { margin-top:-10px!important; font-size:21px!important; }
.feist-design-v4 .feist-showroom-grid { gap:22px; margin:20px 0 28px!important; }
.feist-photo-card { position:relative; min-height:430px; border-radius:24px; overflow:hidden; }
.feist-photo-card > figure,.feist-photo-card > .wp-block-group__inner-container > figure { position:absolute; inset:0; }
.feist-photo-card img { height:100%; object-fit:cover; border-radius:0; }
.feist-photo-card-caption { position:absolute; left:14px; right:14px; bottom:14px; background:#fffefbf5; border-radius:20px; padding:20px; }
.feist-photo-card-caption h3 { font-size:24px; margin:0 0 8px; }
.feist-photo-card-caption p { font-size:16px; margin:0; padding-right:5px; }
.feist-photo-card-caption .wp-block-buttons { margin:12px 0 0; }
.feist-photo-card-caption .wp-block-button__link { padding:8px 14px; font-size:13px; }
.feist-design-v4 .feist-advice-grid { grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)); gap:16px; align-items:stretch; padding:20px; margin:20px 0!important; }
.feist-advice-intro { padding:3px 5px; }
.feist-advice-intro h2 { font-size:35px; margin:0 0 4px; }
.feist-advice-intro > h3 { font-size:22px; }
.feist-design-v4 .feist-bring-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0!important; align-items:start; }
.feist-bring-grid .feist-mini-feature h3 { font-size:16px; }
.feist-bring-grid .feist-mini-feature p { font-size:13px; }
.feist-advice-intro > p { font-size:15px; margin:20px 0 0; }
.feist-advice-option { padding:20px 15px; background:#fffefb; border-radius:20px; }
.feist-advice-option .feist-icon { width:42px; margin-bottom:12px; }
.feist-advice-option h3 { font-size:22px; }
.feist-advice-option p { font-size:15px; }
.feist-advice-option .wp-block-button__link { font-size:14px; padding:12px 16px; }
.feist-design-v4 .feist-contact-grid { grid-template-columns:1fr 1fr; align-items:center; gap:35px; padding:28px; margin:18px 0 28px!important; }
.feist-contact-copy h2 { font-size:35px; }
.feist-contact-details { border-left:1px solid #bfc7bd; padding-left:30px; }
.feist-design-v4 .feist-phone { font-size:32px; font-weight:800; margin:0 0 5px; }
.feist-phone a { color:#142021; text-decoration:none; }
.feist-design-v4 .feist-contact-copy p { margin:0; }
.feist-start .feist-hero { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; padding:20px 0 18px; }
.feist-start .feist-hero h1 { font-size:clamp(38px,4.3vw,62px); line-height:1.08; }
.feist-start-figure { background:linear-gradient(150deg,#f1f3e7,#e3e8cd); border-radius:48% 48% 24px 24px; padding-top:30px; overflow:hidden; }
.feist-start-figure img { height:430px; max-height:none; object-fit:contain; object-position:bottom; border-radius:0; }
.feist-start .feist-video { padding:32px; background:#f0f3e9; border:0; border-radius:24px; margin:18px 0 40px; }
.feist-start .feist-path-grid .feist-card { border:0; border-top:5px solid #deef00; background:#f3f5ee; padding:28px; }
.feist-start .feist-path-grid .feist-card h3 { font-size:29px; }
.feist-start .feist-stairs-feature { background:#172524; color:#fffefb; padding:38px; }
.feist-start .feist-stairs-feature h2,.feist-start .feist-stairs-feature p { color:#fffefb; }
.feist-design-v4.feist-service .wp-block-cover { min-height:340px; }
.feist-design-v4.feist-service .wp-block-cover h1 { font-size:clamp(40px,5vw,68px); }
.feist-design-v4.feist-service .wp-block-column > .wp-block-image img { aspect-ratio:1/1; object-position:50% 35%; }
.feist-design-v4.feist-service .wp-block-column h2 { font-size:27px; }
.feist-design-v4.feist-service .wp-block-column p,.feist-design-v4.feist-service .wp-block-column li { font-size:17px; }
.feist-design-v4.feist-shop .feist-hero h1 { font-size:clamp(38px,4vw,62px); }
.feist-topbar { background:#f0f3e9; padding:10px max(24px,calc((100vw - 1240px)/2)); display:flex; gap:32px; align-items:center; font:16px/1.3 Arial,sans-serif; color:#142021; }
.feist-topbar a { color:inherit; text-decoration:none; font-weight:bold; }
.feist-topbar span:last-child { margin-left:auto; font-size:14px; }
.feist-preview-header { max-width:1300px; padding:18px 30px; }
.feist-preview-brand img { width:120px; }
.feist-preview-header nav > ul { gap:30px; font-size:18px; }
.feist-preview-header nav a,.feist-preview-header summary { font-weight:600; }
.feist-preview-header .feist-preview-cta { padding:14px 20px; }
.feist-preview-footer { background:#fffefb; border-top:1px solid #e0e5d8; padding-top:25px; padding-bottom:25px; }
.feist-footer-logo { width:75px; height:auto; float:left; margin:0 20px 15px 0; }
.feist-preview-footer strong { font-size:16px; }
.feist-preview-footer p { font-size:14px; }
.feist-preview-footer nav { flex-direction:row; flex-wrap:wrap; gap:20px; align-content:center; font-size:15px; }
@media(max-width:1050px) {
 .feist-design-v4 .feist-advice-grid { grid-template-columns:1fr 1fr; }
 .feist-advice-intro { grid-column:1/-1; }
 .feist-design-v4 .feist-stations { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .feist-preview-header nav > ul { gap:14px; font-size:16px; }
 .feist-design-v4 .feist-hero h1 { font-size:46px; }
 .feist-laden .feist-hero-photo img,.feist-laden .feist-hero-photo > figure,.feist-laden .feist-hero-photo > .wp-block-group__inner-container > figure { min-height:470px; }
 .feist-figure-scene { max-width:330px; }
 .feist-speech { font-size:17px!important; right:-6px; top:-8px; padding:13px; }
}
@media(max-width:760px) {
 .feist-topbar { flex-wrap:wrap; gap:6px 18px; padding:10px 18px; font-size:13px; }
 .feist-topbar span:last-child { display:none; }
 .feist-preview-header { flex-direction:row; flex-wrap:wrap; align-items:center; padding:16px 18px; }
 .feist-preview-brand img { width:85px; }
 .feist-preview-header nav { width:100%; }
 .feist-preview-header nav > ul { gap:10px 17px; font-size:15px; }
 .feist-preview-header .feist-preview-cta { padding:8px 13px; }
 .feist-design-v4.feist-laden .feist-hero,.feist-design-v4 .feist-roll-section,.feist-start .feist-hero { grid-template-columns:1fr; }
 .feist-design-v4 .feist-hero h1 { font-size:clamp(36px,8.2vw,54px); }
 .feist-laden .feist-hero-copy > p { font-size:18px; }
 .feist-figure-scene { max-width:290px; margin-left:0; }
 .feist-laden .feist-hero-photo { max-width:none; margin:0; }
 .feist-laden .feist-hero-photo img,.feist-laden .feist-hero-photo > figure,.feist-laden .feist-hero-photo > .wp-block-group__inner-container > figure { min-height:0; height:340px; }
 .feist-design-v4 .feist-stations { gap:8px; padding:10px; }
 .feist-station { padding:56px 10px 12px; min-height:122px; }
 .feist-station h3 { font-size:17px; }
 .feist-station .feist-icon { left:48px; top:14px; }
 .feist-station .feist-station-number { top:14px; }
 .feist-design-v4 .feist-roll-section { gap:22px; margin:24px 0 34px!important; }
 .feist-roll-section .feist-photo img { height:370px; }
 .feist-roll-section .feist-copy h3 { font-size:23px; }
 .feist-design-v4 .feist-showroom-grid { grid-template-columns:1fr; }
 .feist-photo-card { min-height:400px; }
 .feist-design-v4 .feist-advice-grid { grid-template-columns:1fr; padding:15px; }
 .feist-design-v4 .feist-contact-grid { grid-template-columns:1fr; padding:24px; gap:20px; }
 .feist-contact-copy h2 { font-size:30px; }
 .feist-contact-details { border-left:0; border-top:1px solid #bfc7bd; padding:20px 0 0; }
 .feist-design-v4 .feist-phone { font-size:28px; }
 .feist-start-figure img { height:320px; }
 .feist-start .feist-video,.feist-start .feist-stairs-feature { padding:24px; }
 .feist-design-v4.feist-service .wp-block-columns { flex-wrap:wrap!important; }
 .feist-design-v4.feist-service .wp-block-column { flex-basis:100%!important; }
 .feist-design-v4.feist-service .wp-block-cover { min-height:240px; }
 .feist-preview-footer { flex-direction:column; gap:15px; }
}
@media(prefers-reduced-motion:reduce) { .feist-design-v4 * { scroll-behavior:auto!important; } }
