/* Reusable CSS classes for SP Page Builder sections. Use these names in section > advanced > CSS class.
   Content (text, image, video, buttons) must remain native SPPB addons to be editable. */
.ihb-section{padding:clamp(72px,8vw,135px) 0}.ihb-section--pale{background:linear-gradient(180deg,#f7f9fc,#edf3f9)}.ihb-section--blue{background:#1d3550;color:#fff}.ihb-section--warm{background:#f4f1ed}.ihb-section--tight{padding:clamp(48px,6vw,85px) 0}
.ihb-title{font-family:var(--ihb-serif);font-weight:400;letter-spacing:-.045em;line-height:1.05;font-size:clamp(44px,5.5vw,82px);color:inherit}.ihb-title--large{font-size:clamp(60px,8vw,130px)}.ihb-kicker{font-family:var(--ihb-sans);text-transform:uppercase;letter-spacing:.19em;font-size:11px;color:var(--ihb-warm);font-weight:720}.ihb-body-large{font-family:var(--ihb-serif);font-size:clamp(21px,2.25vw,29px);line-height:1.4;color:#5d7083}.ihb-section--blue .ihb-body-large{color:#d9e5ef}
.ihb-hero{min-height:min(100svh,1000px);display:flex;align-items:center;position:relative;overflow:hidden;background:#1a3149;color:#fff}.ihb-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07182bc9,#132d4994 52%,#0f2c3d12);pointer-events:none;z-index:0}.ihb-hero>.sppb-container,.ihb-hero>.sppb-row-container,.ihb-hero .sppb-container{position:relative;z-index:1}.ihb-hero .ihb-kicker{color:#e3c7a8}
.ihb-image-editorial img{width:100%;height:auto;object-fit:cover}.ihb-image-editorial--portrait img{aspect-ratio:4/5;object-fit:cover}.ihb-image-editorial--wide img{aspect-ratio:16/10;object-fit:cover}.ihb-image-outline img{border:1px solid var(--ihb-line);box-shadow:0 18px 45px #172f4814}
/* Preserving transparency for original house floorplans / freestanding product PNGs */
.ihb-transparent-asset{background:#e9f0f8;padding:clamp(16px,3vw,48px)}.ihb-transparent-asset img{display:block!important;object-fit:contain!important;max-width:100%;width:auto!important;height:auto!important;max-height:75vh;margin:0 auto}.ihb-floorplan{background:#eef4fa;padding:clamp(18px,3vw,42px)}.ihb-floorplan img{object-fit:contain!important;width:100%;height:auto;max-height:680px}
.ihb-mosaic img{transition:transform .45s ease}.ihb-mosaic a:hover img{transform:scale(1.025)}.ihb-statement{background:#203c5b;color:#fff;padding:clamp(38px,5vw,85px)}.ihb-statement .ihb-title{color:white}.ihb-outline{border-top:1px solid #d5dfeb;border-bottom:1px solid #d5dfeb;padding:27px 0}.ihb-step-number{font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--ihb-warm);font-weight:700}
.ihb-link-arrow a,.ihb-link-arrow .sppb-btn{display:inline-flex;justify-content:space-between;gap:30px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid currentColor;padding:10px 0}.ihb-cta-light a.sppb-btn,.ihb-cta-light .sppb-btn{background:#f6f3ee;color:#1d3550;border:0;border-radius:0;padding:17px 27px;font-size:12px;letter-spacing:.1em;font-weight:700;text-transform:uppercase}
.ihb-quote{position:relative;padding:28px 32px 28px 40px;border-left:2px solid var(--ihb-warm);background:#f7f9fc}.ihb-quote blockquote{font:400 clamp(20px,2vw,28px)/1.4 var(--ihb-serif);margin:0}
@media(max-width:700px){.ihb-hero{min-height:700px}.ihb-statement{padding:38px 25px}.ihb-section{padding:75px 0}.ihb-transparent-asset{padding:16px}}
@media(prefers-reduced-motion:reduce){.ihb-mosaic img{transition:none}}

/* V8 layout collection. Assign classes in SP Page Builder Pro > Advanced > CSS class. */
.ihb-editorial{background:#f5f7fb;padding:clamp(70px,8vw,130px) 0}
.ihb-editorial--pale{background:#edf3f9}
.ihb-editorial--sand{background:#f2eee8}
.ihb-editorial--navy{background:#1d3550;color:#fff}
.ihb-section-label{font-size:11px;text-transform:uppercase;letter-spacing:.2em;font-weight:700;color:#af9070}
.ihb-display-heading{font-family:var(--ihb-serif);font-size:clamp(50px,6vw,98px);font-weight:400;letter-spacing:-.055em;line-height:1.07}
.ihb-intro-lead{font-family:var(--ihb-serif);font-size:clamp(23px,2.6vw,33px);line-height:1.42;color:#4e647a}
.ihb-editorial--navy .ihb-intro-lead{color:#dbe7f2}
.ihb-photo-full img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ihb-photo-tall img{width:100%;aspect-ratio:4/5;object-fit:cover}
.ihb-photo-square img{width:100%;aspect-ratio:1;object-fit:cover}
.ihb-caption{font-size:11px;letter-spacing:.13em;color:#6c839b;text-transform:uppercase}
.ihb-blue-panel{background:linear-gradient(135deg,#254460,#152c43);color:#fff;padding:clamp(30px,4vw,78px)}
.ihb-blue-panel h2,.ihb-blue-panel h3,.ihb-blue-panel p{color:inherit}
.ihb-bordered-list{border-top:1px solid #d5dfeb}
.ihb-bordered-list>*{border-bottom:1px solid #d5dfeb;padding:20px 0}
.ihb-soft-card{padding:clamp(22px,3vw,45px);background:#fff;border-top:3px solid #c1a07e}
.ihb-timeline{border-left:1px solid #c3d2e1;padding-left:25px}
.ihb-timeline>*{margin-bottom:25px;position:relative}
.ihb-timeline>*:before{content:"";position:absolute;top:9px;left:-30px;width:9px;height:9px;border-radius:50%;background:#b9a080}
.ihb-gallery-photo img{width:100%;height:auto;object-fit:cover}
.ihb-gallery-plan{background:#eaf0f7;padding:clamp(24px,4vw,60px)}
.ihb-gallery-plan img{width:100%!important;height:auto!important;object-fit:contain!important;max-height:730px}
.ihb-below-hero{margin-top:0!important}
.ihb-highlight-number{font-family:var(--ihb-serif);font-size:clamp(38px,4vw,70px);color:#b69c7d;line-height:1}
.ihb-testimonial{padding:30px 36px;background:#f8fafc;border-left:3px solid #bd9b77}
.ihb-testimonial p{font-family:var(--ihb-serif);font-size:clamp(20px,2vw,28px);line-height:1.4}
.ihb-wide-cover{min-height:500px;background-size:cover;background-position:center}
.ihb-video-hero{min-height:100svh;background:#1d3550;color:white;position:relative;display:flex;align-items:center}
.ihb-video-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#081a2cce,#112c4888 60%,#0e27401a)}
.ihb-video-hero .sppb-container,.ihb-video-hero .sppb-row-container{position:relative;z-index:1}
@media(max-width:700px){.ihb-video-hero{min-height:720px}.ihb-editorial{padding:70px 0}.ihb-blue-panel{padding:32px 24px}}


/* V8.4: Native SP Page Builder addons created from editorial V8 content. */
.ihb-native-h1 h1,.ihb-native-h1 .sppb-addon-title{font-family:var(--ihb-serif);font-weight:400;letter-spacing:-.045em;line-height:1.07;font-size:clamp(46px,5.2vw,80px)}
.ihb-native-h2 h2,.ihb-native-h2 .sppb-addon-title{font-family:var(--ihb-serif);font-weight:400;letter-spacing:-.04em;line-height:1.14;font-size:clamp(32px,4vw,55px)}
.ihb-native-h3 h3,.ihb-native-h3 .sppb-addon-title{font-family:var(--ihb-sans);font-size:clamp(18px,2vw,25px);font-weight:620;letter-spacing:-.025em}
.ihb-native-copy{font-family:var(--ihb-sans);font-size:clamp(15px,1.17vw,18px);line-height:1.82;color:inherit}
.ihb-native-copy p{margin:0 0 1em}
.ihb-native-image img{width:100%;height:auto;max-height:650px;object-fit:cover;border:0}
.ihb-native-contain img{object-fit:contain!important;max-height:700px;background:#eaf0f7;padding:14px}
.ihb-native-actions .ihb-native-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px}
.ihb-native-actions .ihb-native-links a{font-size:12px;font-weight:700;letter-spacing:.065em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}
.ihb-native-actions .ihb-native-links span{display:none}
.ihb-native-actions .ihb-native-links a:hover{color:#af9070}
@media(max-width:700px){.ihb-native-h1 h1,.ihb-native-h1 .sppb-addon-title{font-size:clamp(37px,9vw,56px)}.ihb-native-h2 h2,.ihb-native-h2 .sppb-addon-title{font-size:clamp(29px,7vw,41px)}}
