
/* town-page heroes: the people stand in the left of a 16:9 photo, so keep them in the cover crop (2026-11-03) */
.hero-section img.desktop-image[src*="town-"]{object-position:15% 50%}
/* 2026-11-05: these three are 4:3 with the people in the left 45%, so the white headline crosses no one */
.hero-section img.desktop-image[src*="town-jacobus"],.hero-section img.desktop-image[src*="town-loganville"],.hero-section img.desktop-image[src*="town-new-freedom"]{object-position:0% 50%}
/* the tall stack of crowns is 15% taller than its parallax window, which always cuts a crown off: hold it still and fit it (homepage has no hub.css) */
.image-target:has(img[src*="gen-faq"]){transform:none!important;height:100%!important}
.faq-image img[src*="gen-faq"]{height:calc(100% - 1.5rem)!important}
/* "why choose us" photo: the reference tilts it 20deg and slides it under the heading. User picked the split layout
   (2026-11-03): straight square photo, heading left and photo right on desktop, stacked on phones. */
.gl-difference-section .bunny-bg__placeholder{transform:none!important;object-fit:cover!important;object-position:center 45%!important;width:100%!important;height:100%!important;inset:0!important;left:0!important;top:0!important}
.gl-difference-section .bunny-bg__placeholder[src*="/gen-"]{object-fit:contain!important;object-position:center!important}   /* product cut-outs show whole */
.gl-difference-section .difference-top{height:auto!important;margin-top:2rem!important}
.gl-difference-section .difference-top .global-grid{display:block!important}
.gl-difference-section .ft-product-container{height:auto!important;width:100%!important;position:relative}
.gl-difference-section .product-video-ratio{display:none!important}
.gl-difference-section .full-video-2{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:1/1;overflow:hidden;border-radius:1.25rem}
.gl-difference-section .bunny-bg{position:absolute!important;inset:0!important;height:100%!important;transform:none!important}
.gl-difference-section .product-button-flex{position:relative!important;inset:auto!important;margin-top:1.25rem;display:flex;justify-content:center}
.gl-difference-section .difference-bottom{margin-top:3.5rem!important}
@media (min-width:992px){
.gl-difference-section{display:grid!important;grid-template-columns:1fr 1fr;column-gap:3rem;align-items:center;padding-left:3rem;padding-right:3rem}
.gl-difference-section > h2{grid-column:1;margin:0!important;max-width:none!important;width:auto!important}
.gl-difference-section > h2,.gl-difference-section > h2 *{text-align:left!important;justify-content:flex-start!important;margin-left:0!important;padding-left:0!important}
.gl-difference-section > .difference-top{grid-column:2;margin:0!important}
.gl-difference-section > .difference-bottom{grid-column:1/-1;margin-top:4rem!important}
}
/* hubs */
.sy-call-light{border-color:rgba(255,255,255,.85)!important;color:#fff!important;max-width:22rem}
.hero-section.is-category .sy-call-light{margin-top:.6rem}
/* the reference splits headlines into lines once; keep each line a block so a reflow can't join two words */
.category-heading .split-lines{display:block!important}
/* people cards: portraits fill the card's picture box */
.video-card-visual__img.sy-person{object-fit:cover!important;object-position:center 20%!important;width:100%!important;height:100%!important}
.sy-pop-light h2,.sy-pop-light h2 span{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.35)}
/* people pages: the portrait sits below the heading, not over it */
.sy-diff-person .difference-top{margin-top:2rem}
.sy-diff-person .bunny-bg__placeholder{transform:none!important}   /* the reference spins its product; a person stays upright */
/* plain content block on people pages */
.sy-extra{width:min(76rem,calc(100% - 2.5rem));margin:5rem auto}
.sy-extra h2{font-weight:300;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 2rem}
.sy-extra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1.25rem}
.sy-extra-grid section{background:#f6f3ea;border-radius:.9rem;padding:1.6rem}
.sy-extra-grid h3{font-weight:400;font-size:1.25rem;margin:0 0 .8rem;letter-spacing:-.01em}
.sy-extra-grid ul{margin:0;padding-left:1.1rem;color:#3a3833;line-height:1.6}.sy-extra-grid li{margin:.25rem 0}
.sy-extra-grid p{margin:0 0 .6rem;color:#3a3833;line-height:1.6}
/* our hub photos are busier than the reference's studio shots: a deeper wash under the white text */
.hero-section.is-category .image-overlay{background:linear-gradient(90deg,rgba(20,20,20,.12) 0%,rgba(20,20,20,.4) 45%,rgba(20,20,20,.72) 100%)!important;opacity:1!important}
.sy-answer{width:min(76rem,calc(100% - 2.5rem));margin:5.5rem auto 7rem;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:3rem;align-items:start}
.sy-answer h2{font-weight:300;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.03em;line-height:1.05;margin:0}
.sy-answer p{margin:0;font-size:1.125rem;line-height:1.7;color:#3a3833}
@media (max-width:767px){.sy-answer{grid-template-columns:1fr;gap:1.25rem;margin:3.5rem auto 5.5rem}.sy-answer p{font-size:1.0625rem}}
.sy-visit{width:min(76rem,calc(100% - 2.5rem));margin:5rem auto;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2.5rem;align-items:center}
.sy-visit-map{position:relative;display:block;border-radius:1.2rem;overflow:hidden;aspect-ratio:2/1}
.sy-visit-map img{width:100%;height:100%;object-fit:cover;display:block}
.sy-visit-pin{position:absolute;left:50%;top:50%;width:2.6rem;height:2.6rem;margin:-2.6rem 0 0 -1.3rem;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#a8384a;box-shadow:0 8px 20px rgba(168,56,74,.4);pointer-events:none}
.sy-visit-pin::after{content:"";position:absolute;inset:.75rem;border-radius:50%;background:#fffef8}
.sy-visit-map span{position:absolute;right:1rem;bottom:1rem;background:#fff;color:#222;font-size:.875rem;padding:.45rem .8rem;border-radius:999px}
.sy-visit h2{font-weight:300;font-size:clamp(2rem,3.6vw,3rem);letter-spacing:-.03em;line-height:1.05;margin:0 0 1.25rem}
.sy-visit p{margin:0 0 1.25rem;font-size:1.125rem;line-height:1.7;color:#3a3833}
.sy-visit p a{color:inherit}
.sy-visit-dir{display:inline-block;background:#222;color:#fff;text-decoration:none;padding:.85rem 1.4rem;border-radius:999px;font-size:1rem}
.sy-visit small{display:block;margin-top:1rem;color:#8a857a;font-size:.75rem}.sy-visit small a{color:inherit}
@media (max-width:767px){.sy-visit{grid-template-columns:1fr;gap:1.5rem;margin:3.5rem auto}}
