/* Southern Range homepage visual system 1.0. Shared by frontend and editor. */
.sr-system-shell { width:min(calc(100% - (2 * var(--sr-page-gutter))),var(--sr-width-standard)); margin-inline:auto; }
.sr-system-shell.is-width-reading { width:min(calc(100% - (2 * var(--sr-page-gutter))),var(--sr-width-reading)); max-width:var(--sr-width-reading); }
.sr-system-shell.is-width-standard { width:min(calc(100% - (2 * var(--sr-page-gutter))),var(--sr-width-standard)); max-width:var(--sr-width-standard); }
.sr-system-shell.is-width-wide { width:min(calc(100% - (2 * var(--sr-page-gutter))),var(--sr-width-wide)); max-width:var(--sr-width-wide); }
.sr-system-shell.is-width-max { width:min(calc(100% - (2 * var(--sr-page-gutter))),var(--sr-width-max)); max-width:var(--sr-width-max); }
.sr-type-display { margin:0; font:600 clamp(3rem,5.4vw,5.75rem)/.94 var(--wp--preset--font-family--plex-condensed,"IBM Plex Sans Condensed",sans-serif); letter-spacing:-.025em; text-wrap:balance; word-break:normal; overflow-wrap:normal; hyphens:none; }
.sr-type-section-title { margin:0; font:600 clamp(2.1rem,3.65vw,4rem)/.98 var(--wp--preset--font-family--plex-condensed,"IBM Plex Sans Condensed",sans-serif); letter-spacing:-.018em; text-wrap:balance; word-break:normal; overflow-wrap:normal; hyphens:none; }
.sr-type-subsection-title { margin:0; font:600 clamp(1.6rem,2.5vw,2.5rem)/1 var(--wp--preset--font-family--plex-condensed,"IBM Plex Sans Condensed",sans-serif); }
.sr-type-card-title { font:600 clamp(1.15rem,1.4vw,1.35rem)/1.15 var(--wp--preset--font-family--plex-sans,"IBM Plex Sans",sans-serif); }
.sr-type-body-large { max-width:62ch; font-size:clamp(1.125rem,1.3vw,1.25rem); line-height:1.6; }
.sr-type-body { font-size:1rem; line-height:1.6; }
.sr-type-body-large > :first-child { margin-top:0; }
.sr-type-body-large > :last-child { margin-bottom:0; }
.sr-type-eyebrow { margin:0; font:600 .75rem/1.35 var(--wp--preset--font-family--plex-mono,"IBM Plex Mono",monospace); letter-spacing:.1em; text-transform:uppercase; }
.sr-type-meta { font:500 .78rem/1.4 var(--wp--preset--font-family--plex-mono,"IBM Plex Mono",monospace); }
.sr-type-caption { font-size:clamp(.75rem,.85vw,.8125rem); line-height:1.45; }
.sr-type-data-numeral { font:600 clamp(2rem,4vw,4rem)/.95 var(--wp--preset--font-family--plex-condensed,"IBM Plex Sans Condensed",sans-serif); }
.sr-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin-top:clamp(1.75rem,3vw,2rem); }
.sr-status { display:inline-flex; min-height:30px; align-items:center; gap:.4rem; padding:.35rem .55rem; font:600 .7rem/1 var(--wp--preset--font-family--plex-mono,monospace); letter-spacing:.045em; text-transform:uppercase; }
.sr-status::before { width:8px; height:8px; background:currentColor; border-radius:50%; content:""; }
.sr-status.is-available,.sr-status.is-in-stock { color:#315e40; }
.sr-status.is-unavailable,.sr-status.is-out-of-stock { color:var(--wp--preset--color--red-earth,#a4472d); }

/* Specialist hero. */
.sr-hero { position:relative; isolation:isolate; display:grid; min-height:clamp(640px,72vh,760px); align-items:center; overflow:hidden; color:var(--sr-surface-chalk); background:var(--sr-surface-charcoal); }
.sr-hero.is-height-immersive { min-height:clamp(700px,86vh,920px); }
.sr-hero.is-fallback-chalk { color:var(--sr-surface-charcoal); background:var(--sr-surface-chalk); }
.sr-hero.is-fallback-sky { color:var(--sr-surface-charcoal); background:var(--sr-surface-sky); }
.sr-hero__picture,.sr-hero__shade { position:absolute; z-index:-2; inset:0; display:block; width:100%; height:100%; }
.sr-hero__picture img { width:100%; height:100%; object-fit:cover; object-position:var(--sr-focal-x,68%) var(--sr-focal-y,50%); }
/* Preserve the complete 2.34:1 homepage photograph on ultra-wide displays.
   The hero grows with the image instead of trading the subject's head for
   the StarGrid kit through vertical cover cropping. */
@media (min-width:1600px) {
	body.home .sr-hero { min-height:42.73vw; }
	body.home .sr-hero__picture img { object-position:center; }
}
.sr-hero__shade { z-index:-1; background:linear-gradient(90deg,rgba(17,19,20,var(--sr-protect,.82)) 0%,rgba(17,19,20,.58) 37%,rgba(17,19,20,.08) 72%,transparent 100%); }
.sr-hero.is-protection-subtle { --sr-protect:.68; }
.sr-hero.is-protection-standard { --sr-protect:.84; }
.sr-hero.is-protection-strong { --sr-protect:.94; }
.sr-hero.is-align-right .sr-hero__shade { transform:scaleX(-1); }
.sr-hero .sr-system-shell { width:min(calc(100% - (2 * var(--sr-page-gutter))),var(--sr-width-standard)); }
.sr-hero__copy { width:min(50%,730px); padding-block:4rem; }
.sr-hero.is-align-right .sr-hero__copy { margin-left:auto; }
.sr-hero__copy .sr-type-eyebrow { margin-bottom:clamp(.75rem,1.2vw,1rem); color:var(--sr-surface-sky); }
.sr-hero__copy .sr-type-section-title,.sr-hero__copy .sr-type-display { font-size:clamp(3rem,5.4vw,5.75rem); }
.sr-hero__copy .sr-type-body-large { margin-top:clamp(1.25rem,2vw,1.5rem); }
.sr-hero.has-media .sr-button--secondary { color:var(--sr-surface-chalk)!important; }

/* Specialist featured product. */
.sr-featured-product { overflow:clip; padding-block:var(--sr-space-generous); color:var(--sr-surface-charcoal); background:var(--sr-surface-chalk); }
.sr-featured-product__grid { display:grid; grid-template-columns:minmax(0,49fr) minmax(360px,51fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.sr-featured-product.is-layout-media-right .sr-featured-product__media { order:2; }
.sr-featured-product.is-layout-dark-stage { color:var(--sr-surface-charcoal); background:var(--sr-surface-chalk); }
.sr-featured-product__media { position:relative; z-index:0; display:grid; min-height:520px; place-items:center; overflow:visible; background:transparent; border-radius:0; }
.sr-featured-product.is-reveal-ready .sr-featured-product__media { opacity:0; transform:translateY(18px); transition:opacity 560ms ease,transform 680ms cubic-bezier(.22,1,.36,1); }
.sr-featured-product.is-reveal-ready.is-revealed .sr-featured-product__media { opacity:1; transform:none; }
.sr-featured-product__media::after { position:absolute; z-index:0; right:5%; bottom:7%; left:2%; height:7%; background:rgba(28,30,31,.08); border-radius:50%; filter:blur(18px); content:""; transform:scaleY(.38); }
.sr-featured-product__picture { display:block; width:130%; height:100%; margin-left:-15%; transform:translateY(-4%); }
.sr-featured-product.is-layout-media-right .sr-featured-product__picture { margin-right:-15%; margin-left:0; }
.sr-featured-product__picture img { position:relative; z-index:1; display:block; width:100%; height:100%; max-height:720px; object-fit:contain; object-position:var(--sr-focal-x,50%) var(--sr-focal-y,50%); }
.sr-featured-product__copy { position:relative; z-index:1; }
.sr-featured-product__placeholder { display:grid; width:100%; height:100%; min-height:360px; place-items:center; color:rgba(246,244,241,.55); font:600 clamp(2rem,7vw,5rem)/1 var(--wp--preset--font-family--plex-condensed,sans-serif); letter-spacing:.08em; }
.sr-featured-product__copy .sr-type-eyebrow { margin-bottom:.75rem; color:var(--sr-surface-eucalyptus); }
.sr-featured-product.is-layout-dark-stage .sr-type-eyebrow { color:var(--sr-surface-eucalyptus); }
.sr-featured-product__copy .sr-type-body-large { margin-top:1.25rem; color:#555b59; }
.sr-featured-product.is-layout-dark-stage .sr-type-body-large { color:#555b59; }
.sr-featured-product__facts { margin:1.75rem 0 0; padding:0; list-style:none; border-top:1px solid var(--sr-line); }
.sr-featured-product__facts li { padding:.7rem 0; border-bottom:1px solid var(--sr-line); font-size:.95rem; }
.sr-featured-product.is-layout-dark-stage .sr-featured-product__facts,.sr-featured-product.is-layout-dark-stage .sr-featured-product__facts li { border-color:var(--sr-line); }
.sr-featured-product__claim { display:grid; gap:.4rem; margin-top:1.5rem; }
.sr-featured-product__claim strong { font-size:1.05rem; }
.sr-featured-product__claim small { max-width:58ch; color:#666c69; line-height:1.45; }
.sr-featured-product.is-layout-dark-stage .sr-featured-product__claim small { color:#666c69; }
.sr-featured-product__commerce { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.75rem; }
.sr-featured-product__commerce > div { display:grid; gap:.35rem; }
.sr-featured-product__canonical-title { max-width:42ch; color:#5b605e; font:500 .75rem/1.35 var(--wp--preset--font-family--plex-mono,monospace); }
.sr-featured-product.is-layout-dark-stage .sr-featured-product__canonical-title { color:#5b605e; }
.sr-featured-product__price { font:600 clamp(1.8rem,3vw,2.7rem)/1 var(--wp--preset--font-family--plex-condensed,sans-serif); }

/* Specialist tool promo: static preview only. */
.sr-tool-promo { padding-block:var(--sr-space-generous); color:var(--sr-surface-charcoal); background:var(--sr-surface-sky); }
.sr-tool-promo__grid { display:grid; grid-template-columns:minmax(320px,40fr) minmax(0,60fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.sr-tool-promo.is-layout-preview-left .sr-tool-promo__preview { order:-1; }
.sr-tool-promo__copy .sr-type-eyebrow { margin-bottom:.75rem; }
.sr-tool-promo__copy .sr-type-body-large { margin-top:1.25rem; }
.sr-tool-promo .sr-button--primary { color:var(--sr-surface-chalk)!important; background:var(--sr-surface-charcoal); border-color:var(--sr-surface-charcoal); }
.sr-tool-promo__preview { min-width:0; }
.sr-tool-promo__picture { display:block; width:100%; overflow:hidden; aspect-ratio:760/440; background:var(--sr-surface-chalk); border:1px solid rgba(28,30,31,.22); border-radius:var(--sr-radius-media); }
.sr-tool-promo__picture img { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--sr-focal-x,50%) var(--sr-focal-y,50%); }
.sr-tool-preview { overflow:hidden; background:var(--sr-surface-chalk); border:1px solid rgba(28,30,31,.22); border-radius:var(--sr-radius-card,var(--sr-radius-md)); }
.is-layout-dark-preview .sr-tool-preview { color:var(--sr-surface-chalk); background:var(--sr-surface-charcoal); }
.sr-tool-preview__head { display:grid; grid-template-columns:auto 1fr auto; gap:.8rem; align-items:center; padding:1rem 1.2rem; border-bottom:1px solid var(--sr-line); }
.sr-tool-preview__head span,.sr-tool-preview__head small { font:600 .7rem/1.3 var(--wp--preset--font-family--plex-mono,monospace); text-transform:uppercase; }
.sr-tool-preview__head span { padding:.3rem .45rem; color:var(--sr-surface-chalk); background:var(--sr-surface-charcoal); }
.sr-tool-preview svg,.sr-tool-preview__map { display:block; width:100%; aspect-ratio:760/360; background:linear-gradient(145deg,#e8ece8,#f6f4f1); }
.sr-tool-preview__map { position:relative; overflow:hidden; background:linear-gradient(155deg,transparent 0 28%,rgba(93,111,97,.14) 28.2% 28.7%,transparent 29% 58%,rgba(93,111,97,.11) 58.2% 58.7%,transparent 59%),linear-gradient(145deg,#e8ece8,#f6f4f1); }
.sr-tool-preview__map::before,.sr-tool-preview__map::after { position:absolute; left:10%; height:8px; border-radius:99px; content:""; transform:rotate(-14deg); }
.sr-tool-preview__map::before { top:58%; width:48%; background:#3f7655; box-shadow:270px -66px 0 #3f7655; }
.sr-tool-preview__map::after { top:43%; left:52%; width:22%; background:var(--wp--preset--color--red-earth,#a4472d); }
.sr-tool-preview svg .terrain { fill:none; stroke:#899892; stroke-width:1.5; opacity:.35; }
.sr-tool-preview svg .covered,.sr-tool-preview svg .gap { fill:none; stroke:#3f7655; stroke-width:9; stroke-linecap:round; }
.sr-tool-preview svg .gap { stroke:var(--wp--preset--color--red-earth,#a4472d); }
.sr-tool-preview svg circle { fill:var(--sr-surface-charcoal); stroke:var(--sr-surface-chalk); stroke-width:3; }
.sr-tool-preview dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; border-top:1px solid var(--sr-line); }
.sr-tool-preview dl > div { padding:1rem 1.2rem; border-right:1px solid var(--sr-line); }
.sr-tool-preview dl > div:last-child { border-right:0; }
.sr-tool-preview dt { font:600 .68rem/1.3 var(--wp--preset--font-family--plex-mono,monospace); letter-spacing:.05em; text-transform:uppercase; }
.sr-tool-preview dd { margin:.4rem 0 0; font:600 clamp(1.7rem,3vw,2.7rem)/1 var(--wp--preset--font-family--plex-condensed,sans-serif); }

/* Gutenberg authoring controls. */
.sr-editor-hidden-label { position:absolute; z-index:20; top:12px; right:12px; padding:.45rem .65rem; color:#fff; background:#a4472d; font:600 11px/1 var(--wp--preset--font-family--plex-mono,monospace); text-transform:uppercase; }
.is-editor-hidden { position:relative; opacity:.48; }
.sr-entity-picker,.sr-destination-picker,.sr-repeater { margin-bottom:1.25rem; }
.sr-entity-picker__actions,.sr-destination-picker .components-button-group { display:flex; gap:.5rem; margin:.65rem 0; }
.sr-entity-summary { display:grid; grid-template-columns:48px minmax(0,1fr); gap:.7rem; align-items:center; width:100%; padding:.55rem; text-align:left; background:#fff; border:1px solid #d7d7d7; }
.sr-entity-summary img,.sr-entity-summary__placeholder { width:48px; height:48px; object-fit:cover; background:#e8e3dc; }
.sr-entity-summary span { display:grid; gap:.15rem; min-width:0; }
.sr-entity-summary strong,.sr-entity-summary small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sr-entity-results { display:grid; max-height:310px; overflow:auto; border-block:1px solid #ddd; }
.sr-entity-results > button { padding:0; background:transparent; border:0; cursor:pointer; }
.sr-entity-results > button:hover .sr-entity-summary,.sr-entity-results > button:focus-visible .sr-entity-summary { background:#eef3ef; border-color:#5d6f61; }
.sr-editor-media-control__preview { display:block; width:100%; max-height:180px; margin-bottom:.5rem; object-fit:cover; }
.sr-repeater__label { font-weight:600; }
.sr-repeater__item { margin-bottom:.5rem; background:#fff; border:1px solid #d7d7d7; }
.sr-repeater__item.is-dragging { opacity:.5; }
.sr-repeater__row { display:grid; grid-template-columns:24px minmax(0,1fr) 36px 36px; align-items:center; }
.sr-repeater__handle { text-align:center; cursor:grab; }
.sr-repeater__toggle { display:flex!important; justify-content:space-between!important; min-width:0; }
.sr-repeater__fields { padding:1rem; border-top:1px solid #ddd; }
.editor-styles-wrapper .sr-hero { min-height:560px; }
.editor-styles-wrapper .sr-featured-product,.editor-styles-wrapper .sr-tool-promo { padding-block:64px; }
.editor-styles-wrapper .sr-featured-product__placeholder img { display:block; width:70%; max-height:560px; object-fit:contain; }

@media (max-width:1024px) {
	:root { --sr-space-compact:40px; --sr-space-standard:64px; --sr-space-generous:88px; }
	.sr-hero__copy { width:min(56%,680px); }
	.sr-featured-product__grid,.sr-tool-promo__grid { gap:clamp(2rem,4vw,4rem); }
	.sr-featured-product__picture { width:114%; margin-left:-8%; transform:translateY(-2%); }
	.sr-featured-product.is-layout-media-right .sr-featured-product__picture { margin-right:-8%; margin-left:0; }
}

@media (max-width:767px) {
	:root { --sr-space-compact:32px; --sr-space-standard:48px; --sr-space-generous:64px; }
	.sr-hero { min-height:clamp(620px,88svh,760px); align-items:start; }
	.sr-hero__picture img { object-position:var(--sr-mobile-focal-x,70%) var(--sr-mobile-focal-y,55%); }
	.sr-hero__shade { background:linear-gradient(180deg,rgba(17,19,20,var(--sr-protect,.84)) 0%,rgba(17,19,20,.58) 42%,rgba(17,19,20,.08) 72%,transparent 100%); }
	.sr-hero.is-align-right .sr-hero__shade { transform:none; }
	.sr-hero__copy,.sr-hero.is-align-right .sr-hero__copy { width:100%; max-width:620px; margin:0; padding-block:clamp(3rem,10vw,5rem); }
	.sr-hero__copy .sr-type-section-title,.sr-hero__copy .sr-type-display { font-size:clamp(2.75rem,13vw,4.6rem); }
	.sr-featured-product__grid,.sr-tool-promo__grid { grid-template-columns:1fr; }
	.sr-featured-product.is-layout-media-right .sr-featured-product__media { order:2; }
	.sr-featured-product__media { min-height:0; max-height:none; aspect-ratio:auto; }
	.sr-featured-product__picture { width:100%; margin-left:0; transform:none; }
	.sr-featured-product.is-layout-media-right .sr-featured-product__picture { margin-right:0; }
	.sr-featured-product__picture img { max-height:min(52svh,520px); object-position:var(--sr-mobile-focal-x,50%) var(--sr-mobile-focal-y,50%); }
	.sr-featured-product { padding-block:clamp(3rem,11vw,4.5rem); }
	.sr-featured-product__grid { gap:clamp(1.5rem,7vw,2.5rem); }
	.sr-featured-product__facts { margin-top:1.25rem; }
	.sr-featured-product__commerce { margin-top:1.35rem; }
	.sr-featured-product__commerce { align-items:stretch; flex-direction:column; }
	.sr-featured-product__commerce .sr-button { width:100%; }
	.sr-tool-promo.is-layout-preview-left .sr-tool-promo__preview { order:0; }
	.sr-tool-promo__picture img { object-position:var(--sr-mobile-focal-x,50%) var(--sr-mobile-focal-y,50%); }
	.sr-tool-preview__head { grid-template-columns:auto 1fr; }
	.sr-tool-preview__head small { grid-column:2; }
	.sr-tool-preview dl > div { padding:.8rem; }
	.sr-tool-preview dd { font-size:clamp(1.4rem,7vw,2rem); }
}

@media (prefers-reduced-motion:reduce) {
	.sr-featured-product.is-reveal-ready .sr-featured-product__media { opacity:1; transform:none; transition:none; }
}

@media (max-width:379px) {
	.sr-hero .sr-actions { align-items:stretch; flex-direction:column; }
	.sr-hero .sr-button { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
	.sr-button,.sr-section-link,.srpc-button { transition-duration:.01ms!important; }
	.sr-button--text:hover span,.sr-button--text:focus-visible span,.sr-section-link:hover span,.sr-section-link:focus-visible span { transform:none; }
}

@media (min-width:2560px) {
	body.home .sr-home-main .sr-system-shell.is-width-wide { width:min(calc(100% - (2 * var(--sr-page-gutter))),var(--sr-width-max)); max-width:var(--sr-width-max); }
}
