.sr-gpf {
	--sr-gpf-charcoal: #1c1e1f;
	--sr-gpf-chalk: #faf9f6;
	--sr-gpf-stone: #f1efe8;
	--sr-gpf-eucalyptus: #77997d;
	--sr-gpf-blue: #c7d8e6;
	--sr-gpf-deep-blue: #476b88;
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: none;
	margin: 0 !important;
	overflow: hidden;
	background: var(--sr-gpf-blue);
	color: var(--sr-gpf-charcoal);
}
.sr-gpf * { box-sizing: border-box; }
.sr-gpf + .wp-block-group,
.sr-gpf + footer,
footer.wp-block-template-part > .sr-gpf + * { margin-block-start: 0 !important; }
.sr-gpf__zone { position: relative; }
.sr-gpf__product-zone { min-height: clamp(30rem, 42vw, 42rem); color: var(--sr-gpf-chalk); background: var(--sr-gpf-charcoal); }
.sr-gpf__planner-zone { min-height: clamp(23rem, 28vw, 28rem); background: var(--sr-gpf-blue); }
.sr-gpf__shell { width:min(calc(100% - (2 * var(--sr-page-gutter,clamp(20px,4vw,64px)))),var(--sr-width-wide,1540px)); margin-inline:auto; }
.sr-gpf__product-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(20rem, .92fr); align-items: center; min-height: inherit; padding-block: clamp(4.5rem, 8vw, 8rem) clamp(6rem, 10vw, 9rem); }
.sr-gpf__copy { position: relative; z-index: 5; max-width: 40rem; }
.sr-gpf__copy::before { position: absolute; z-index: -1; inset: -18% -22%; background: radial-gradient(ellipse at center, rgb(28 30 31 / .94) 0 44%, rgb(28 30 31 / .72) 62%, transparent 82%); content: ""; pointer-events: none; }
.sr-gpf__eyebrow { margin: 0 0 .8rem; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .76rem; font-weight: 700; line-height: 1.25; letter-spacing: .12em; text-transform: uppercase; }
.sr-gpf__copy .sr-gpf__eyebrow { color: #a8c0af; }
.sr-gpf h2 { max-width: 13ch; margin: 0 0 1.15rem; color: inherit; font-size: clamp(2.5rem, 5vw, 5.4rem); line-height: .96; letter-spacing: -.045em; }
.sr-gpf__copy > p:not(.sr-gpf__eyebrow) { max-width: 50ch; margin: 0 0 1.35rem; color: #d6dcda; font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.62; }
.sr-gpf__commerce { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem 1.2rem; margin: 1.35rem 0; }
.sr-gpf__price { color: var(--sr-gpf-chalk); font-size: clamp(1.65rem, 2.5vw, 2.45rem); font-weight: 750; }
.sr-gpf__price del { color: #afb5b2; font-size: .65em; }
.sr-gpf__stock { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sr-gpf__stock::before { width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; content: ""; }
.sr-gpf__stock.is-in-stock { color: #a8c0af; }
.sr-gpf__stock.is-out-of-stock { color: #e4ad9f; }
.sr-gpf__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.4rem; }
.sr-gpf__button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .8rem 1.2rem; border: 1px solid transparent; border-radius: .35rem; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .78rem; font-weight: 800; line-height: 1.1; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.sr-gpf__button--primary { color: #fff; background: #5d7464; }
.sr-gpf__button--primary:hover { color: #fff; background: #6e8876; }
.sr-gpf__button--secondary { color: var(--sr-gpf-chalk); border-color: #819087; background: transparent; }
.sr-gpf__button--secondary:hover { background: #292d2b; }
.sr-gpf__text-link { display: inline-block; margin-top: 1rem; color: #c7d9cd; text-underline-offset: .25em; }
.sr-gpf__text-link:hover { color: #fff; }
.sr-gpf__product-media { position: absolute; z-index: 6; right: max(2rem, calc((100vw - 78rem) / 2)); bottom: -9rem; display: grid; place-items: center; width: min(42vw, 34rem); height: min(42vw, 34rem); pointer-events: none; will-change: transform; }
.sr-gpf__product-art { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 1.2rem 1.5rem rgb(13 18 15 / .24)); }
.sr-gpf__product-fallback { display: grid; place-items: center; width: 70%; aspect-ratio: 1; border: 1px solid rgb(250 249 246 / .18); color: #a8c0af; font-family: monospace; letter-spacing: .12em; }
.sr-gpf__seam { position: relative; z-index: 4; height: 0; }
.sr-gpf__seam::before { position: absolute; inset: -2.15rem 0 auto; height: 2.25rem; background: var(--sr-gpf-blue); clip-path: polygon(0 62%, 56% 62%, 60% 0, 72% 0, 75% 62%, 100% 62%, 100% 100%, 0 100%); content: ""; }
.sr-gpf__planner-layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(20rem, .92fr); gap: clamp(3rem, 5vw, 4.5rem); min-height: inherit; align-items: center; padding-block: clamp(6.5rem, 8vw, 8rem) clamp(3.5rem, 5vw, 5rem); }
.sr-gpf__planner-copy { grid-column: 2; position: relative; z-index: 5; max-width: 35rem; padding: clamp(1rem, 3vw, 2rem); }
.sr-gpf__planner-copy::before { position: absolute; z-index: -1; inset: -15% -22%; background: radial-gradient(ellipse at center, rgb(199 216 230 / .96) 0 42%, rgb(199 216 230 / .78) 58%, transparent 80%); content: ""; pointer-events: none; }
.sr-gpf__planner-copy h2 { max-width: 15ch; font-size: clamp(2.4rem, 4.4vw, 4.7rem); }
.sr-gpf__planner-copy > p:not(.sr-gpf__eyebrow) { max-width: 47ch; margin: 0 0 1.4rem; font-size: 1.08rem; line-height: 1.6; }
.sr-gpf__button--planner { color: #fff; background: var(--sr-gpf-deep-blue); }
.sr-gpf__button--planner:hover { color: #fff; background: #385974; }
.sr-gpf__planner-preview { grid-column: 1; grid-row: 1; position: relative; z-index: 5; display: block; align-self: center; color: var(--sr-gpf-charcoal); text-decoration: none; }
.sr-gpf__planner-preview picture,
.sr-gpf__planner-preview img { display: block; width: 100%; }
.sr-gpf__planner-preview picture { overflow: hidden; border: 1px solid rgb(71 107 136 / .28); border-radius: .65rem; background: #fff; box-shadow: 0 1rem 2.4rem rgb(44 65 80 / .13); }
.sr-gpf__planner-preview img { height: auto; aspect-ratio: 35 / 16; object-fit: cover; }
.sr-gpf__preview-label { display: block; margin: 0 0 .65rem .15rem; font-family: var(--wp--preset--font-family--mono, monospace); font-size: .66rem; font-weight: 700; line-height: 1.2; letter-spacing: .1em; }
.sr-gpf__planner-preview:hover picture { border-color: rgb(71 107 136 / .55); box-shadow: 0 1.2rem 2.8rem rgb(44 65 80 / .18); }
.sr-gpf__contours { position: absolute; z-index: 1; inset: -7% -4%; overflow: hidden; pointer-events: none; will-change: transform; }
.sr-gpf__contours svg { display: block; width: 108%; height: 114%; object-fit: cover; }
.sr-gpf__contours .contours-index path { stroke: url(#sr-gpf-index-gradient) !important; opacity: 1 !important; }
.sr-gpf__contours .contours-secondary path { stroke: url(#sr-gpf-secondary-gradient) !important; opacity: 1 !important; }

.sr-gpf__scrim { position: fixed; z-index: 99996; inset: 0; background: rgb(10 13 12 / .58); backdrop-filter: blur(2px); }
.sr-gpf__drawer { position: fixed; z-index: 99997; inset: 0 0 0 auto; width: min(100%, 31rem); overflow: auto; padding: 1.35rem; color: var(--sr-gpf-charcoal); background: var(--sr-gpf-chalk); box-shadow: -1rem 0 2.5rem rgb(0 0 0 / .18); }
.sr-gpf__drawer[hidden], .sr-gpf__scrim[hidden] { display: none; }
.sr-gpf__drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding-bottom: 1.1rem; border-bottom: 1px solid #d3d5d1; }
.sr-gpf__drawer-head h2 { max-width: none; margin: 0; font-size: 2rem; }
.sr-gpf__drawer-head .sr-gpf__eyebrow { color: #5d7464; }
.sr-gpf__close { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid #bec3bf; border-radius: 50%; color: inherit; background: transparent; font-size: 1.7rem; cursor: pointer; }
.sr-gpf__drawer-body { padding-block: 1.4rem; }
.sr-gpf__drawer-product { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; align-items: center; padding: 1rem; border-radius: .75rem; background: var(--sr-gpf-stone); }
.sr-gpf__drawer-product img { width: 100%; height: 6rem; object-fit: contain; }
.sr-gpf__drawer-product > div { display: grid; gap: .3rem; }
.sr-gpf__drawer-product .sr-gpf__stock { color: #496251; }
.sr-gpf__drawer form { display: grid; gap: .55rem; margin-top: 1.25rem; }
.sr-gpf__drawer label { font-weight: 700; }
.sr-gpf__drawer label span { font-weight: 400; }
.sr-gpf__drawer input, .sr-gpf__drawer textarea { width: 100%; min-height: 44px; padding: .75rem; border: 1px solid #aeb4af; border-radius: .35rem; background: #fff; font: inherit; }
.sr-gpf__quantity { display: grid; grid-template-columns: 44px minmax(4rem, 6rem) 44px; margin-bottom: .65rem; }
.sr-gpf__quantity button { min-height: 44px; border: 1px solid #aeb4af; background: #fff; cursor: pointer; }
.sr-gpf__quantity input { border-radius: 0; text-align: center; }
.sr-gpf__status { margin-top: 1rem; padding: .8rem 0; font-weight: 700; }
.sr-gpf__status.is-error { color: #8b332c; }
.sr-gpf__success-actions { display: grid; gap: .65rem; margin-top: 1rem; }
.sr-gpf__success-actions .sr-gpf__button--secondary { color: var(--sr-gpf-charcoal); border-color: #69776e; }
.sr-gpf__text-button { min-height: 44px; border: 0; text-decoration: underline; background: transparent; cursor: pointer; }
.sr-gpf__copy .sr-gpf__text-button { color:#c7d9cd; font:700 .78rem/1.2 var(--wp--preset--font-family--mono,monospace); letter-spacing:.045em; text-underline-offset:.25em; }
.sr-gpf__copy .sr-gpf__text-button:hover { color:#fff; }
.sr-gpf__honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
body.sr-gpf-dialog-open { overflow: hidden; }
.sr-gpf :focus-visible { outline: 3px solid #eec044; outline-offset: 3px; }

@media (max-width: 900px) {
	.sr-gpf__product-layout { grid-template-columns: minmax(0, 1fr) minmax(15rem, .7fr); }
	.sr-gpf__product-media { right: 1rem; width: min(43vw, 28rem); height: min(43vw, 28rem); }
	.sr-gpf__planner-layout { grid-template-columns: minmax(0, 1fr) minmax(18rem, .9fr); gap: 2rem; }
}
@media (max-width: 680px) {
	.sr-gpf__shell { width:min(calc(100% - (2 * var(--sr-page-gutter,20px))),36rem); }
	.sr-gpf__product-zone { min-height: auto; }
	.sr-gpf__product-layout { display: block; padding-block: 3.5rem 12.5rem; }
	.sr-gpf h2 { font-size: clamp(2.45rem, 13vw, 4rem); }
	.sr-gpf__actions { display: grid; }
	.sr-gpf__button { width: 100%; }
	.sr-gpf__product-media { right: 50%; bottom: -9rem; width: min(82vw, 24rem); height: min(82vw, 24rem); transform: translateX(50%); }
	.sr-gpf__seam::before { top: -1.3rem; height: 1.4rem; clip-path: polygon(0 62%, 55% 62%, 60% 0, 72% 0, 77% 62%, 100% 62%, 100% 100%, 0 100%); }
	.sr-gpf__planner-zone { min-height: auto; }
	.sr-gpf__planner-layout { display: flex; flex-direction: column; gap: 2rem; padding-block: 12.5rem 4rem; }
	.sr-gpf__planner-copy { padding: 0; }
	.sr-gpf__planner-copy { order: 1; width: 100%; max-width: none; }
	.sr-gpf__planner-preview { order: 2; width: 100%; }
	.sr-gpf__planner-preview img { aspect-ratio: 380 / 231; }
	.sr-gpf__preview-label { font-size: .6rem; }
	.sr-gpf__planner-copy h2 { font-size: clamp(2.35rem, 12vw, 3.75rem); }
	.sr-gpf__planner-copy::before { inset: -12% -8%; }
	.sr-gpf__copy::before { inset: -12% -8%; }
	.sr-gpf__contours { inset: -2%; }
	.sr-gpf__contours svg { width: 130%; height: 106%; transform: translateX(-12%); }
	.sr-gpf__drawer { width: 100%; }
}
@media (min-width:2560px) {
	.sr-gpf__shell { width:min(calc(100% - (2 * var(--sr-page-gutter,64px))),var(--sr-width-max,1760px)); }
}
@media (prefers-reduced-motion: reduce) {
	.sr-gpf__contours { transform: none !important; }
	.sr-gpf *, .sr-gpf *::before, .sr-gpf *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (max-width: 680px) and (prefers-reduced-motion: reduce) {
	.sr-gpf__product-media { transform: translateX(50%) !important; }
}
