/* G-STUDIO Spatial / no external runtime or baked-in UI. */
@view-transition { navigation: auto; }

:root { --gs-copper-light: #d1ac80; --gs-ink: #26231f; --gs-paper: #fbfaf8; }
html { scroll-behavior: smooth; }
body.gstudio-home { background: #ede8df; color: #26231f; font-family: var(--gs-font-body, 'Montserrat',sans-serif); font-size: 18px; }
/* The site-wide chat widget's decorative Three.js mascot is not part of the landing. */
body .gstudio-mascot, body .gstudio-mascot__bubble { display: none !important; }
.gstudio-home-header { position: sticky; top: 0; z-index: 50; margin-bottom: -64px; border: 0; background: transparent; pointer-events: none; }
.gstudio-home-header__inner { position: relative; display: flex; width: calc(100% - 64px); max-width: none; min-height: 0; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 32px 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; pointer-events: none; }
.gstudio-home-header .site-brand--logo { display: inline-flex; flex: 0 0 auto; align-items: center; padding: 7px 12px; border: 1px solid rgb(209 172 128 / 38%); border-radius: 16px; background: rgb(38 35 31 / 94%); box-shadow: 0 12px 34px rgb(12 10 8 / 26%),inset 0 1px 0 rgb(255 255 255 / 10%); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); pointer-events: auto; }
.gstudio-home-header .site-brand__image { width: 168px; max-height: 46px; }
.gstudio-home-header__actions { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; pointer-events: auto; }
html.has-js .gstudio-home-header .site-navigation { flex: none; }
.gstudio-home-header .primary-menu { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 5px 16px; }
html.has-js .gstudio-home-header .primary-menu > li + li { border-top: 1px solid rgb(209 172 128 / 17%); }
.gstudio-home-header .primary-menu a { display: flex; width: 100%; min-height: 48px; align-items: center; color: #eee8df; font-size: 15px; font-weight: 500; text-decoration: none; }
.gstudio-home-header .primary-menu a:hover { color: #d1ac80; }
.gstudio-home-header .language-switcher { display: flex; align-items: center; margin: 0; padding: 4px; border: 1px solid rgb(209 172 128 / 38%); border-radius: 999px; background: rgb(38 35 31 / 94%); box-shadow: 0 12px 34px rgb(12 10 8 / 24%),inset 0 1px 0 rgb(255 255 255 / 9%); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
.gstudio-home-header .menu-toggle { display: grid; flex: 0 0 44px; gap: 4px; width: 44px; height: 44px; padding: 12px; margin: 0; border: 1px solid rgb(209 172 128 / 48%); border-radius: 50%; background: rgb(38 35 31 / 96%); color: #f0e6d9; box-shadow: 0 12px 34px rgb(12 10 8 / 24%),inset 0 1px 0 rgb(255 255 255 / 9%); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); cursor: pointer; }
.gstudio-home-header .menu-toggle__line { display: block; width: 18px; height: 2px; border-radius: 2px; background: currentColor; transform-origin: center; transition: transform 180ms ease, opacity 140ms ease; }
.gstudio-home-header .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-of-type(2) { transform: translateY(6px) rotate(45deg); }
.gstudio-home-header .menu-toggle[aria-expanded="true"] .menu-toggle__line:nth-of-type(3) { opacity: 0; }
.gstudio-home-header .menu-toggle[aria-expanded="true"] .menu-toggle__line:last-of-type { transform: translateY(-6px) rotate(-45deg); }
html.has-js .gstudio-home-header .site-navigation { position: absolute; top: 58px; right: 0; z-index: 55; display: block; width: min(320px, calc(100vw - 32px)); min-width: 0; border: 1px solid rgb(209 172 128 / 45%); border-radius: 14px; background: #29251f; box-shadow: 0 18px 38px rgb(12 10 8 / 35%); visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity 180ms ease, transform 180ms ease, visibility 180ms; }
html.has-js .gstudio-home-header .site-navigation.is-open { display: block; visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
html.has-js .gstudio-home-header .primary-menu a { color: #eee8df; }
html.has-js .gstudio-home-header .primary-menu a:hover, html.has-js .gstudio-home-header .primary-menu a:focus-visible { color: #d1ac80; }
html:not(.has-js) .gstudio-home-header .site-navigation { flex: 1 1 auto; }
html:not(.has-js) .gstudio-home-header .primary-menu { flex-direction: row; gap: clamp(.8rem, 1.7vw, 1.6rem); padding: 0; }
html:not(.has-js) .gstudio-home-header .primary-menu a { width: auto; }
.gstudio-home-language-list { gap: 0; background: transparent; padding: 0; }
.gstudio-home-language { color: #d9d1c5; min-height: 36px !important; font-size: 13px !important; }
.gstudio-home-language.is-current { background: #e7d3b9; color: #26231f; }
.gs-main { width: 100%; overflow: clip; }
.gs-main.is-detail-open { overflow: visible; }
body.gstudio-spatial-detail-open { overflow: visible !important; }
.gs-main button, .gs-main a { -webkit-tap-highlight-color: transparent; }
.gs-main button { font: inherit; }
.gs-main a:focus-visible, .gs-main button:focus-visible, .gs-main summary:focus-visible { outline: 3px solid #d1ac80; outline-offset: 5px; }
.gs-eyebrow { display: block; font-size: 11px; line-height: 1.6; font-weight: 650; letter-spacing: 0.17em; text-transform: uppercase; }
.gs-experience { position: relative; background: #29251f; color: #fff8ee; }
.gs-stage { position: relative; padding: 5rem 5vw; }
.gs-room-backdrops { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.gs-room { position: absolute; inset: 0; opacity: 0; background: #39332a; }
.gs-room.is-active { opacity: 1; }
.gs-room > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.gs-room[data-room="school"] > img { object-position: 50% center; }
html:not(.gs-spatial) .gs-room[data-room="school"] > img { height: min(820px,90svh); object-position: 35% center; }
.gs-room-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgb(21 18 14 / 47%) 0%,rgb(26 21 16 / 10%) 35%,rgb(21 18 14 / 25%) 65%,rgb(15 13 10 / 82%) 100%); }
.gs-floor-light { position: absolute; bottom: -15%; left: 12%; width: 76%; height: 30%; border-radius: 50%; background: radial-gradient(ellipse,rgb(192 144 91 / 28%),transparent 68%); filter: blur(25px); }
.gs-stage-heading { position: relative; z-index: 5; max-width: 820px; margin: 0 auto 2.8rem; color: #fffaf2; text-align: center; text-shadow: 0 2px 5px rgb(0 0 0 / 96%),0 8px 28px rgb(0 0 0 / 92%); }
.gs-stage-heading .gs-eyebrow { color: #d1ac80; }
.gs-stage-heading h1 { font-size: clamp(2.6rem,5vw,5.5rem); font-weight: 600; letter-spacing: -0.065em; line-height: 1.02; margin: 1rem 0; }
.gs-stage-heading h1 em { font-style: normal; font-weight: 400; color: #e5ccb0; }
.gs-stage-lead { max-width: 450px; margin: 1.3rem 0 0; line-height: 1.65; color: #e2d6c7; }
.gs-stage-claim { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 12px; margin: 12px 0 0; color: #f2e6d5; }
.gs-stage-claim__brand { color: #e1c49a; font-size: .78em; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.gs-stage-claim__proof { font-size: clamp(18px,2vw,25px); font-weight: 600; letter-spacing: -.025em; }
.gs-stage-calendar { display: inline-grid; width: 56px; height: 56px; place-items: center; overflow: hidden; border: 1px solid rgb(209 172 128 / 58%); border-radius: 17px; background: #302b25; box-shadow: inset 0 1px 0 rgb(255 255 255 / 17%),0 10px 24px rgb(12 10 8 / 25%); }
.gs-stage-calendar img { display: block; width: 47px; height: 47px; object-fit: contain; }
.gs-room-status { display: none; }
.gs-card-space { position: relative; display: flex; flex-wrap: wrap; gap: 2rem; justify-content: center; transition: opacity 520ms ease,filter 520ms ease; }
.gs-card { --card-progress: 0.5; width: min(100%,560px); position: relative; isolation: isolate; color: #fbfaf8; border-radius: 26px; scroll-margin-top: 110px; }
.gs-card__depth { position: absolute; inset: 0; transform: translate(8px,9px); border-radius: 26px; background: linear-gradient(135deg,#ebcba1,#6b4a2f 35%,#2f241a 65%,#b38d5d); box-shadow: 0 28px 55px rgb(0 0 0 / 38%); }
.gs-card__face { position: relative; border-radius: 26px; background: #2a2621; border: 1px solid rgb(238 204 155 / 70%); box-shadow: inset 0 1px 1px rgb(255 255 255 / 32%),0 0 2px rgb(239 203 157 / 70%); overflow: hidden; }
.gs-card:nth-child(2n) .gs-card__face { background: #ede7dc; color: #26231f; }
.gs-card__image { position: relative; height: 260px; background: #9c866d; overflow: hidden; }
.gs-card__image-fallback { position: absolute; inset: 0; display: grid; place-items: center; background: #d5c8b7; }
.gs-card__image-fallback img { height: 80%; width: auto; max-width: 70%; object-fit: contain; }
.gs-card__photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(calc(1.01 + var(--card-progress)*.035)); }
.gs-card__photo.is-failed { display: none; }
.gs-card__image-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgb(20 16 12 / 14%),transparent 30%,transparent 65%,rgb(20 16 12 / 60%)); pointer-events: none; }
.gs-card__index { position: absolute; top: 18px; left: 20px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgb(238 223 204 / 70%); background: rgb(38 35 31 / 70%); border-radius: 50%; color: #fff8ed; font-size: 13px; font-weight: 600; }
.gs-panel__surface { position: relative; }
.gs-panel__index { position: absolute; top: 18px; right: 20px; z-index: 3; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgb(238 223 204 / 70%); border-radius: 50%; background: rgb(38 35 31 / 76%); color: #fff8ed; font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; pointer-events: none; }
.gs-card__image-label { position: absolute; bottom: 16px; left: 26px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .13em; color: #fff5e4; }
.gs-card__copy { padding: 25px 28px 24px; }
.gs-card__overline { display: none; }
.gs-card__copy h2 { margin: 0 0 12px; font-size: 30px; letter-spacing: -.045em; line-height: 1.16; font-weight: 600; }
.gs-service-start { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: fit-content; max-width: 100%; min-height: 38px; padding: 7px 13px 7px 17px; margin: 0 0 15px; overflow: hidden; border: 1px solid rgb(209 172 128 / 35%); border-radius: 999px; background: rgb(209 172 128 / 8%); color: #f3dfc5; font-size: 13px; line-height: 1.35; font-variant-numeric: tabular-nums; }
.gs-service-start::before { position: absolute; inset: 0 auto 0 0; width: 3px; content: ''; background: #d1ac80; transform: scaleY(.35); transition: transform .45s ease; }
.gs-service-start__label { color: #cfb99f; font-size: 11px; letter-spacing: .035em; }
.gs-service-start__value { display: inline-flex; align-items: center; gap: 7px; color: #fff8ee; font-weight: 650; white-space: nowrap; }
.gs-service-start__value::before { width: 6px; height: 6px; border-radius: 50%; background: #d1ac80; box-shadow: 0 0 0 3px rgb(209 172 128 / 13%); content: ''; }
.gs-service-start.is-pending .gs-service-start__value { color: #e6c8a4; }
.gs-card:nth-child(2n) .gs-service-start { border-color: rgb(107 74 47 / 22%); background: rgb(107 74 47 / 5%); color: #6b4a2f; }
.gs-card:nth-child(2n) .gs-service-start__label { color: #766858; }
.gs-card:nth-child(2n) .gs-service-start__value { color: #493723; }
.gs-card:nth-child(2n) .gs-service-start__value::before { background: #8c653d; box-shadow: 0 0 0 3px rgb(140 101 61 / 12%); }
.gs-card.is-reading .gs-service-start { animation: gs-information-in .42s .04s ease-out both; }
.gs-card.is-reading .gs-service-start::before { transform: scaleY(1); }
.gs-card[data-service="production"] .gs-card__copy h2 { font-size: 25px; }
.gs-card__description { margin: 0; font-size: 18px; line-height: 1.55; color: #d3c8bb; }
.gs-card:nth-child(2n) .gs-card__description { color: #645b50; }
.gs-card__facts { display: flex; flex-wrap: wrap; gap: 6px 15px; padding: 0; margin: 16px 0 0; list-style: none; font-size: 13px; line-height: 1.5; color: #ddc19d; }
.gs-card__facts li { display: inline-flex; align-items: center; gap: 7px; }
.gs-card__facts li::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.gs-card:nth-child(2n) .gs-card__facts { color: #805d38; }
.gs-card__cta { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 13px 0 0; margin: 20px 0 0; border: 0; border-top: 1px solid rgb(216 190 153 / 28%); background: transparent; color: #edd6b9; font: inherit; font-size: 15px; line-height: 1.5; font-weight: 600; text-align: left; text-decoration: none; cursor: pointer; }
.gs-card__details, .gs-card__detail-close { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 13px 0 0; margin: 18px 0 0; border: 0; border-top: 1px solid rgb(216 190 153 / 28%); background: transparent; color: #edd6b9; font: inherit; font-size: 15px; line-height: 1.5; font-weight: 600; text-align: left; cursor: pointer; }
.gs-card__details > span, .gs-card__detail-close > span { font-size: 22px; line-height: 1; }
.gs-card__cta > span:last-child { font-size: 22px; line-height: 1; }
.gs-card__cta:hover { color: #fff6e9; }
.gs-card__details:hover, .gs-card__detail-close:hover { color: #fff6e9; }
.gs-card:nth-child(2n) .gs-card__cta { color: #6b4a2f; border-top-color: #cfc0ac; }
.gs-card:nth-child(2n) .gs-card__details, .gs-card:nth-child(2n) .gs-card__detail-close { color: #6b4a2f; border-top-color: #cfc0ac; }
.gs-card:nth-child(2n) .gs-card__cta:hover { color: #26231f; }
.gs-card:nth-child(2n) .gs-card__details:hover, .gs-card:nth-child(2n) .gs-card__detail-close:hover { color: #26231f; }
.gs-card__detail-close { display: none; }
.gs-card:not(.is-expanded) .gs-card__cta { display: none; }
.gs-card__select { display: none; }
.gs-wireframe, .gs-toolpath { position: absolute; inset: 0; width: 100%; height: 100%; color: #f2d3a1; pointer-events: none; }
.gs-wireframe { opacity: .65; }
.gs-wireframe path:first-child { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--card-progress)); }
.gs-wireframe__dimension { opacity: .5; }
.gs-toolpath { opacity: .85; }
.gs-toolpath path { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--card-progress)); }
.gs-toolpath circle { filter: drop-shadow(0 0 5px #d5a36a); }
.gs-library-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.gs-library-tabs button { padding: 6px 8px; border: 1px solid #655747; border-radius: 5px; color: #e1d1bb; background: transparent; font-size: 11px; line-height: 1.5; cursor: pointer; }
.gs-library-tabs button[aria-pressed="true"] { color: #26231f; background: #d9bc94; border-color: #d9bc94; }
.gs-card__copy .gs-library-tabs { display: none; }
.gs-portal { display: none; pointer-events: none; position: absolute; inset: 0; z-index: 2; }
.gs-portal-view { position: absolute; inset: 0; overflow: hidden; clip-path: inset(10% 35% 10% 35%); }
.gs-portal-view > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gs-portal-shade { position: absolute; inset: 0; background: linear-gradient(180deg,rgb(21 18 14 / 35%),transparent 40%,rgb(15 13 10 / 65%)); }
.gs-door-frame { position: absolute; left: var(--door-x,40%); top: var(--door-y,10%); width: var(--door-w,20%); height: var(--door-h,80%); border: 2px solid #d3ad7b; border-radius: 12px 12px 0 0; box-shadow: 0 0 35px rgb(240 187 112 / 18%),inset 0 0 20px rgb(0 0 0 / 80%); }
.gs-door-jamb { position: absolute; top: -16px; bottom: 0; width: 17px; background: linear-gradient(90deg,#201c17,#967149 45%,#d2ac7c 55%,#4b3825); box-shadow: 0 0 15px rgb(0 0 0 / 40%); }
.gs-door-jamb--left { left: -17px; }
.gs-door-jamb--right { right: -17px; transform: scaleX(-1); }
.gs-door-lintel { position: absolute; top: -16px; left: -17px; right: -17px; height: 17px; background: linear-gradient(180deg,#775536,#d2ac7c,#38291d); border-radius: 13px 13px 0 0; }
.gs-door-threshold { position: absolute; bottom: -5px; height: 9px; left: -15px; right: -15px; background: linear-gradient(180deg,#d2ac7c,#3b2a1b); }
.gs-scroll-markers { display: none; }

/* Editorial content: all real advantages and practical next steps. */
.gs-directions, .gs-benefits, .gs-about, .gs-clients, .gs-enroll { padding: clamp(60px,8vw,120px) max(5vw,24px); }
.gs-section-heading { max-width: 720px; margin-bottom: 45px; }
.gs-section-heading .gs-eyebrow { color: #8a6139; }
.gs-section-heading h2, .gs-about__copy h2, .gs-enroll h2 { margin: 16px 0 20px; font-size: clamp(32px,4vw,58px); line-height: 1.08; letter-spacing: -.055em; font-weight: 600; }
.gs-section-heading p, .gs-about__copy p, .gs-enroll p { font-size: 18px; line-height: 1.8; color: #716456; }
.gs-directions { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: #f3eee6; }
.gs-direction-list { display: flex; flex-direction: column; }
.gs-direction-list a { display: grid; grid-template-columns: 28px 1fr 20px; gap: 20px; align-items: center; padding: 20px 0; border-bottom: 1px solid #d7c9b6; color: #40362a; text-decoration: none; font-size: 18px; line-height: 1.5; }
.gs-direction-list a:first-child { border-top: 1px solid #d7c9b6; }
.gs-direction-list a:hover { color: #8a6139; }
.gs-direction-number { font-size: 11px; color: #a0896c; }
.gs-benefits { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: #2b2620; color: #efe4d5; }
.gs-benefits .gs-section-heading p { color: #c1b3a1; }
.gs-benefits .gs-eyebrow { color: #d1ac80; }
.gs-benefit-list article { display: flex; gap: 25px; padding: 24px 0; border-bottom: 1px solid #544735; }
.gs-benefit-list article:first-child { padding-top: 0; }
.gs-benefit-number { margin-top: 6px; font-size: 11px; color: #ab8a61; }
.gs-benefit-list h3 { margin: 0 0 10px; font-size: 23px; font-weight: 500; letter-spacing: -.035em; }
.gs-benefit-list p { margin: 0; color: #c1b3a1; font-size: 18px; line-height: 1.7; }
.gs-about { display: grid; grid-template-columns: 1.1fr 1fr; gap: 6vw; align-items: start; background: #e7ded1; }
.gs-about figure { margin: 0; position: sticky; top: 120px; }
.gs-about figure img { display: block; width: 100%; height: auto; border-radius: 18px; }
.gs-about figcaption { margin-top: 14px; font-size: 11px; color: #8a7760; }
.gs-about__copy details { border-top: 1px solid #c5b397; border-bottom: 1px solid #c5b397; padding-block: 17px; }
.gs-about__copy summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; font-size: 17px; font-weight: 600; list-style: none; }
.gs-about__copy summary::-webkit-details-marker { display: none; }
.gs-about__copy details a { color: #6b4a2f; font-size: 15px; }
.gs-about__notes { margin-top: 30px; }
.gs-about__notes h3 { font-size: 19px; margin: 23px 0 8px; letter-spacing: -.02em; }
.gs-about__notes p { margin-top: 0; }
.gs-clients { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; background: #f3eee6; }
.gs-partner-zone { border: 1px solid #d8c5a9; background: #e8dfd0; border-radius: 24px; padding: 20px; display: flex; align-items: center; flex-direction: column; gap: 18px; }
.gs-partner-zone figure { margin: 0; width: min(280px,100%); height: 190px; min-width: 0; min-height: 0; overflow: hidden; display: grid; grid-template: minmax(0,1fr) / minmax(0,1fr); place-items: center; }
.gs-partner-zone img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; border-radius: 15px; }
.gs-partner-zone.is-enhanced figure:not(.is-active) { display: none; }
.gs-partner-controls { display: none; align-items: center; gap: 18px; color: #7b5b36; font-size: 12px; }
.gs-partner-zone.is-enhanced .gs-partner-controls { display: flex; }
.gs-partner-controls button { border: 1px solid #c0a27b; background: transparent; border-radius: 50%; width: 40px; height: 40px; cursor: pointer; }
.gs-partner-controls button:focus-visible { outline: 3px solid #8b633a; outline-offset: 3px; }
.gs-finale { position: relative; background: #27231d; color: #f8eee0; overflow: hidden; }
.gs-finale__image { position: absolute; inset: 0; opacity: .26; }
.gs-finale__image img { width: 100%; height: 100%; object-fit: cover; }
.gs-finale__image::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#211d17,transparent,#211d17); }
.gs-finale__content { position: relative; padding: 110px max(8vw,24px); width: min(1040px,100%); margin: auto; text-align: center; }
.gs-final-logo { display: block; width: 280px; max-width: 80%; height: auto; margin: 0 auto 40px; }
.gs-finale .gs-eyebrow { color: #be9b72; }
.gs-finale h2 { font-size: clamp(36px,5vw,70px); font-weight: 500; line-height: 1.05; letter-spacing: -.06em; margin: 22px 0; }
.gs-finale p { max-width: 620px; margin-inline: auto; line-height: 1.7; color: #c6b6a1; }
.gs-final-actions { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 30px; margin: 35px 0 40px; }
.gs-final-actions a { color: #dec3a0; text-decoration: none; font-size: 15px; }
.gs-button { display: inline-flex; align-items: center; justify-content: center; padding: 17px 24px; border: 1px solid #d3af7e; border-radius: 8px; background: #d9bc94; color: #292219 !important; text-decoration: none; font-size: 15px; font-weight: 600; }
.gs-button:hover { background: #eed2aa; }
.gs-stat { font-size: 13px; }
.gs-stat strong { color: #e1c297; font-size: 28px; font-weight: 500; }
.gs-finale small { font-size: 10px; color: #9e8b70; }
.gs-enroll { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; background: #eee6da; }
.gs-enroll a { color: #6b4a2f; font-size: 15px; }
.gs-enroll__form { padding: 25px; border: 1px solid #d5c4aa; border-radius: 18px; }
.gs-enroll__form label { font-size: 14px; color: #645646; }
.gs-enroll__form input { background: #f8f3eb; border: 1px solid #c7b497; }
.gs-enroll__form .gstudio-home-form-preview-note { font-size: 12px; }
.gs-portal-view > img { transform: scale(1.035); }

@media (max-width: 1100px) {
 html.gs-spatial { --gs-header-overlap: 54px; }
 .gstudio-home-header { margin-bottom: calc(0px - var(--gs-header-overlap)); }
 .gstudio-home-header__inner { width: calc(100% - 24px); max-width: none; min-height: 0; margin: 8px 12px 0; padding: 0; }
 html.has-js .gstudio-home-header .site-navigation { right: 0; left: auto; padding-inline: 0; }
 .gs-directions, .gs-benefits, .gs-about, .gs-clients, .gs-enroll { grid-template-columns: 1fr; gap: 36px; }
 .gs-about figure { position: static; }
 .gs-stage { padding-top: 45px; }
}
@media (max-width: 640px) {
 .gstudio-home-header__inner { gap: 8px; }
 .gstudio-home-header .site-brand__image { width: 118px; max-height: 34px; }
 .gstudio-home-header .site-brand--logo { padding: 6px 9px; border-radius: 14px; }
 .gstudio-home-header__actions { gap: 6px; }
 .gstudio-home-header .menu-toggle { flex-basis: 40px; width: 40px; height: 40px; padding: 10px; }
 .gstudio-home-header .language-switcher { padding: 3px; }
 .gstudio-home-language { min-width: 32px !important; min-height: 32px !important; padding: 5px !important; }
 .gs-stage { padding: 35px 20px 40px; }
 .gs-stage-heading h1 { font-size: 42px; }
 .gs-stage-lead { font-size: 18px; }
 .gs-card-space { gap: 36px; }
 .gs-card__depth { transform: translate(4px,5px); }
 .gs-card__image { height: 220px; }
 .gs-card__copy { padding: 24px 20px; }
 .gs-card__copy h2 { font-size: 27px; }
 .gs-card[data-service="production"] .gs-card__copy h2 { font-size: 24px; }
 .gs-card__description { font-size: 18px; }
 .gs-directions, .gs-benefits, .gs-about, .gs-clients, .gs-enroll { padding: 58px 24px; }
 .gs-section-heading { margin-bottom: 10px; }
 .gs-direction-list a { gap: 12px; font-size: 17px; }
 .gs-benefit-list article { gap: 18px; }
 .gs-benefit-list h3 { font-size: 22px; }
 .gs-finale__content { padding: 70px 24px; }
 .gs-final-logo { width: 230px; }
 .gs-final-actions { gap: 24px; }
 .gs-enroll__form { padding: 20px; }
 .gs-details-dialog { padding: 38px 24px 24px; }
}
@media (prefers-reduced-motion: reduce) {
 .gstudio-home-header .menu-toggle__line, html.has-js .gstudio-home-header .site-navigation { transition: none; }
}
html:not(.has-js) .gstudio-home-header .menu-toggle { display: none; }
@media (max-width: 1100px) {
 html:not(.has-js) .gstudio-home-header__inner { flex-wrap: wrap; }
 html:not(.has-js) .gstudio-home-header .site-navigation { flex-basis: 100%; order: 3; }
 html:not(.has-js) .gstudio-home-header .primary-menu { flex-direction: row; flex-wrap: wrap; gap: 8px 20px; }
 html:not(.has-js) .gstudio-home-header .primary-menu > li { width: auto; }
 html:not(.has-js) .gstudio-home-header .language-switcher { margin-left: auto; }
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .gs-main *, .gs-main *::before, .gs-main *::after { animation: none !important; transition: none !important; }
 .gs-card__photo { transform: none; }
 .gs-wireframe path:first-child, .gs-toolpath path { stroke-dashoffset: 0; }
}

@keyframes gs-information-in {
 from { opacity: .35; transform: translateY(6px); }
 to { opacity: 1; transform: translateY(0); }
}
.gs-card.is-reading .gs-card__description { animation: gs-information-in .38s ease-out both; }
.gs-card.is-reading .gs-card__facts { animation: gs-information-in .38s .08s ease-out both; }
.gs-card.is-reading .gs-card__cta { animation: gs-information-in .38s .14s ease-out both; }


/* V4: every block, including the real footer, is a scene in one viewport. */
.gs-panel { position: relative; width: min(1160px,100%); padding: 0; display: block; background: transparent; color: #f4ebdf; isolation: isolate; scroll-margin-top: 110px; }
.gs-panel__surface { border-radius: 28px; border: 1px solid #b9986d; background: #2b2721; box-shadow: inset 0 1px 0 #ecd4af66,10px 14px 0 -4px #785c3b,0 30px 80px #0006; overflow: hidden; }
.gs-panel:nth-child(2n) .gs-panel__surface { background: #e9e1d5; color: #302a22; }
.gs-pane-content { padding: 36px 42px; }
.gs-panel-grid, .gs-directions-grid, .gs-growth-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 40px; }
.gs-panel h2 { font-size: clamp(29px,3.2vw,48px); letter-spacing: -.05em; line-height: 1.08; margin: 12px 0 22px; font-weight: 550; }
.gs-panel h3 { font-size: 22px; line-height: 1.3; }
.gs-panel p { font-size: 18px; line-height: 1.65; color: inherit; opacity: .8; }
.gs-panel .gs-eyebrow { color: #ba966a; }
.gs-panel:nth-child(2n) .gs-eyebrow { color: #78532f; }
.gs-panel a:not(.gs-button), .gs-panel summary { color: inherit; }
.gs-panel .gs-panel-aside > p { margin-bottom: 22px; }
.gs-panel-art { margin: 22px 0 0; position: relative; overflow: hidden; border-radius: 16px; }
.gs-panel-art > img { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.gs-panel-art figcaption { position: absolute; bottom: 10px; right: 12px; color: #fff4e2; background: #29211899; padding: 4px 7px; font-size: 9px; }
.gs-art-glint { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg,transparent 30%,#fff4d515 49%,transparent 65%); transform: translateX(-110%); }
.gs-art-lines { position: absolute; inset: 0; width: 100%; height: 100%; color: #f3d09e; opacity: .6; pointer-events: none; }
.gs-art-lines path { stroke-dasharray: 500; }
.gs-school-portrait { margin: 0; }
.gs-school-portrait img { width: 100%; height: auto; display: block; border-radius: 16px; }
.gs-school-portrait figcaption { font-size: 10px; color: inherit; opacity: .55; margin-top: 10px; }
.gs-panel .gs-about__copy { padding-top: 4px; }
.gs-panel .gs-about__copy p { margin: 0 0 22px; }
.gs-panel .gs-about__notes h3 { margin-top: 8px; }
.gs-panel .gs-about__notes > div { border-bottom: 1px solid #ad94774d; padding-bottom: 10px; margin-top: 18px; }
.gs-motion-dot { width: 6px; height: 6px; display: block; background: #c3a174; border-radius: 50%; }
.gs-panel .gs-benefit-list article { padding: 18px 0; gap: 16px; }
.gs-panel .gs-benefit-list h3 { margin: 0 0 8px; }
.gs-panel .gs-benefit-list p { opacity: .85; color: inherit; }
.gs-motion-icon { display: block; width: 38px; height: 38px; flex: 0 0 38px; color: #c2a076; }
.gs-motion-icon svg { width: 100%; height: 100%; }
.gs-ratio { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.gs-ratio strong { font-size: 58px; line-height: 1; letter-spacing: -.06em; color: #d5b28a; }
.gs-ratio strong span { font-size: 21px; }
.gs-ratio-bar { height: 5px; background: #81705a; width: 110px; border-radius: 8px; overflow: hidden; }
.gs-ratio-bar i { display: block; width: 80%; height: 100%; background: #dfbd91; }
.gs-seven { display: block; font-size: 135px; line-height: 1; letter-spacing: -.1em; margin-top: 24px; color: #c2a174; }
.gs-seven > span { display: inline-block; font-size: 74px; transform: translateY(-10px); }
.gs-panel .gs-partner-zone { color: #382d21; justify-content: center; min-height: 330px; }
.gs-number-one > strong { display: block; font-size: clamp(125px,17vw,240px); font-weight: 650; line-height: 1.05; letter-spacing: -.12em; color: #e5bd86; text-shadow: 2px 2px 0 #8b633a,0 0 45px #d5a5722b; }
.gs-growth .gs-panel__surface { background: #211e19; color: #f4eadb; }
.gs-growth .gs-source { font-size: 11px; color: #a88f70; margin-top: 24px; }
.gs-counter { display: block; font-size: clamp(88px,9vw,135px); line-height: 1.1; letter-spacing: -.075em; font-weight: 500; color: #e7c89f; font-variant-numeric: tabular-nums; }
.gs-counter-block { position: relative; }
.gs-counter-block p { max-width: 330px; }
.gs-growth-arrow { width: 100%; height: 110px; display: block; }
.gs-growth-arrow > path:first-of-type { stroke-dasharray: 1; stroke-dashoffset: 1; }
.gs-growth.is-reading .gs-growth-arrow > path:first-of-type { stroke-dashoffset: 0; transition: stroke-dashoffset 1.15s ease-out; }
.gs-growth .gs-panel-art { height: 135px; }
.gs-growth .gs-panel-art > img { height: 100%; }
.gs-finale.gs-panel .gs-panel__surface { background: #1e1b16eb; color: #f3e6d4; text-align: center; }
.gs-finale.gs-panel .gs-finale__content { width: 100%; padding: 40px 50px; }
.gs-finale.gs-panel .gs-final-logo { width: min(690px,80%); margin: 38px auto 34px; filter: drop-shadow(0 8px 25px #0005); }
.gs-finale.gs-panel h2 { font-size: clamp(28px,3.7vw,48px); max-width: 800px; margin-inline: auto; }
.gs-footer-cue { font-size: 12px; opacity: .6; text-decoration: none; }
.gs-footer-panel .gs-panel__surface { background: #221f1a; color: #e9ddcd; }
.gs-footer-panel .gs-pane-content { padding: 10px 20px; }
.gs-footer-panel .site-footer { background: transparent; padding: 26px; border: 0; }
.gs-footer-panel .site-footer__inner { width: 100%; }
.gs-footer-panel .site-footer__brand { max-width: 650px; }
.gs-footer-panel .site-footer__brand > p { font-size: 24px; color: #d3bf9f; }
.gs-footer-panel .site-footer__bottom { width: 100%; padding-top: 20px; }
.gs-rank-badge { display: inline-block; margin-top: 8px; padding: 6px 10px; color: #282017; background: #e0bd8c; border-radius: 4px; font-size: 11px; font-weight: 700; letter-spacing: .01em; }
.gs-atmosphere { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.gs-atmosphere i { position: absolute; height: 1px; width: 16vw; background: linear-gradient(90deg,transparent,#dbb78288,transparent); left: 10%; top: 18%; transform: rotate(-16deg); opacity: .25; }
.gs-atmosphere i:nth-child(2) { left: 72%; top: 72%; width: 12vw; }
.gs-atmosphere i:nth-child(3) { left: 38%; top: 88%; width: 28vw; }
/* Rich real layered aperture; other transitions do not reuse the same frame. */
.gs-door-frame { border: 3px solid #b98b55; border-radius: 22px 22px 4px 4px; box-shadow: 0 0 0 12px #1d1813,0 0 0 15px #987049,0 20px 60px #0008,inset 0 0 0 7px #342619,inset 0 0 30px #000; }
.gs-door-reveal { position: absolute; inset: 10px; border: 1px solid #efd2a488; border-radius: 16px 16px 0 0; box-shadow: inset 0 0 0 7px #08060455; }
.gs-door-light { position: absolute; inset: -4px; border: 1px solid #f4d6a0aa; border-radius: inherit; box-shadow: 0 0 15px #dda35766; }
.gs-door-jamb { width: 26px; background: linear-gradient(90deg,#24190f,#6c4726 35%,#c0905d 62%,#3a2818); }
.gs-door-jamb--left { left: -28px; }.gs-door-jamb--right { right: -28px; }
.gs-door-lintel { left: -28px; right: -28px; height: 25px; top: -25px; }
.gs-portal[data-kind="iris"] .gs-door-frame, .gs-portal[data-kind="split"] .gs-door-frame { display: none; }
.gs-portal[data-kind="iris"] .gs-portal-view { filter: drop-shadow(0 0 12px #d2a26a55); }
.gs-portal[data-kind="split"]::before, .gs-portal[data-kind="split"]::after { content: ''; position: absolute; top: 0; bottom: 0; width: 3px; background: #e5bc84; box-shadow: 0 0 22px #e5bc84; }
.gs-portal[data-kind="split"]::before { left: calc((1 - var(--portal-q))*50%); }.gs-portal[data-kind="split"]::after { right: calc((1 - var(--portal-q))*50%); }
/* The pinned camera stage is enabled only for roomy fine-pointer screens. */
@media (prefers-reduced-motion: no-preference) {
 html.gs-spatial .gs-experience { height: var(--experience-height); }
html.gs-spatial .gs-stage { position: sticky; top: 0; height: 100svh; min-height: 0; padding: 0; overflow: hidden; isolation: isolate; }
 html.gs-spatial .gs-room { transform: scale(1.035); }
 html.gs-spatial .gs-card-space { display: block; position: absolute; inset: 0; z-index: 4; perspective: 1700px; perspective-origin: 50% 50%; transform-style: preserve-3d; }
 html.gs-spatial .gs-scene { position: absolute; top: 50%; left: 50%; visibility: hidden; margin: 0; padding: 0; transform-style: preserve-3d; max-height: calc(100% - 120px); will-change: transform; }
 html.gs-spatial .gs-scene.is-present { visibility: visible; }
 html.gs-spatial .gs-card { width: min(530px,43vw); }
 html.gs-spatial .gs-panel { width: min(1160px,87vw); }
 html.gs-spatial .gs-card__face, html.gs-spatial .gs-panel__surface { max-height: calc(100svh - var(--gs-header-height,88px) - 120px); overflow-y: hidden; scrollbar-width: none; }
 html.gs-spatial .gs-panel__surface { overflow-x: hidden; }
 html.gs-spatial .gs-scene:not(.is-reading) .gs-interactive { pointer-events: none; }
 html.gs-spatial .gs-scene:not(.is-reading) { cursor: pointer; }
html.gs-spatial .gs-experience.is-pan-ready .gs-stage { cursor: grab; }
html.gs-spatial .gs-experience.is-panning .gs-stage { cursor: grabbing; user-select: none; }
html.gs-spatial .gs-experience.is-panning .gs-scene { user-select: none; }
 html.gs-spatial .gs-card__image { height: 215px; }
 html.gs-spatial .gs-card__copy { padding: 20px 25px; }
 html.gs-spatial .gs-card__copy h2 { font-size: 28px; }
 html.gs-spatial .gs-card[data-service="production"] .gs-card__copy h2 { font-size: 24px; }
 html.gs-spatial .gs-stage-lead { font-size: 12px; max-width: 270px; line-height: 1.55; margin-top: 12px; }
 html.gs-spatial .gs-room-status { position: absolute; top: 22px; right: 28px; display: flex; gap: 12px; z-index: 6; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
 html.gs-spatial .gs-portal.is-visible { display: block; z-index: 5; }
 html.gs-spatial .gs-scroll-markers { display: none; }
 html.gs-spatial .gs-card__select { display: none !important; }
 html.gs-spatial .gs-panel .gs-pane-content { padding: 32px 38px; }
 html.gs-spatial .gs-panel .gs-about__copy, html.gs-spatial .gs-panel .gs-panel-aside { min-width: 0; }
}
/* Motion runs on separate inner layers, never displacing readable active body copy. */
@keyframes gs-float { 0%,100% { transform: translate3d(0,-5px,0) rotate(.25deg); } 50% { transform: translate3d(0,6px,0) rotate(-.25deg); } }
@keyframes gs-sweep { 0%,12% { transform: translateX(-110%); } 72%,100% { transform: translateX(110%); } }
@keyframes gs-trace { from { stroke-dashoffset: 500; } to { stroke-dashoffset: 0; } }
@keyframes gs-breathe { 0%,100% { opacity: .3; } 50% { opacity: .75; } }
@keyframes gs-soft-pan { 0%,100% { transform: scale(1.015) translateX(-2px); } 50% { transform: scale(1.04) translateX(2px); } }
@keyframes gs-icon-orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes gs-glow { 0%,100% { filter: drop-shadow(0 0 3px #c5a07722); } 50% { filter: drop-shadow(0 0 12px #eac38b77); } }
.gs-scene.is-present:not(.is-reading) .gs-card__face, .gs-scene.is-present:not(.is-reading) .gs-panel__surface { animation: gs-float 7.5s var(--idle-delay,0s) ease-in-out infinite; }
.gs-scene.is-present .gs-card__photo, .gs-scene.is-reading .gs-panel-art > img { animation: gs-soft-pan 11s var(--idle-delay,0s) ease-in-out infinite; }
.gs-scene.is-reading .gs-art-glint { animation: gs-sweep 6s ease-in-out infinite; }
.gs-scene.is-reading .gs-art-lines path { animation: gs-trace 4s ease-in-out infinite alternate; }
.gs-scene.is-reading .gs-toolpath path, .gs-scene.is-reading .gs-wireframe path:first-child { animation: gs-line-life 5s ease-in-out infinite alternate; }
@keyframes gs-line-life { from { stroke-dashoffset: .85; } to { stroke-dashoffset: 0; } }
.gs-scene.is-reading .gs-motion-icon svg { animation: gs-icon-orbit 24s linear infinite; }
.gs-scene.is-reading .gs-motion-dot { animation: gs-breathe 3s ease-in-out infinite; }
.gs-scene.is-reading .gs-button, .gs-scene.is-reading .gs-number-one > strong { animation: gs-glow 5s ease-in-out infinite; }
.gs-atmosphere i { animation: gs-sweep 18s ease-in-out infinite; }
.gs-atmosphere i:nth-child(2) { animation-delay: -6s; }.gs-atmosphere i:nth-child(3) { animation-delay: -11s; }
.gs-floor-light { animation: gs-breathe 12s ease-in-out infinite; }
.gs-stage:not(.is-ambient) *, .gs-stage:not(.is-ambient) *::before, .gs-stage:not(.is-ambient) *::after { animation-play-state: paused !important; }
.gs-card__cta > span:last-child, .gs-button { transition: transform .25s ease,background .25s ease; }
.gs-card__cta:hover > span:last-child { transform: translate(3px,-3px); }.gs-button:hover { transform: translateY(-2px); }

/* Native landing controls retain the graphite and champagne palette. */
.gstudio-home-header .menu-toggle,
.gstudio-home-header .menu-toggle:hover,
.gstudio-home-header .menu-toggle:focus,
.gstudio-home-header .menu-toggle:focus-visible,
.gstudio-home-header .menu-toggle:active {
    appearance: none;
    border: 1px solid rgb(209 172 128 / 48%) !important;
    border-radius: 50% !important;
    outline: 0 !important;
    background: rgb(38 35 31 / 96%) !important;
    box-shadow: 0 12px 34px rgb(12 10 8 / 24%), inset 0 1px 0 rgb(255 255 255 / 9%) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
}
.gstudio-home-header .menu-toggle:hover { border-color: rgb(209 172 128 / 80%) !important; }
.gstudio-home-header .menu-toggle::before,
.gstudio-home-header .menu-toggle::after { content: none !important; display: none !important; }
.gstudio-home-header .menu-toggle:focus-visible .menu-toggle__line { background: #f4e3c9; }
.gs-mode-switch { position: absolute; top: max(16px,calc(var(--gs-header-height,72px) + 12px)); left: 50%; z-index: 20; display: inline-flex; gap: 3px; padding: 4px; transform: translateX(-50%); border: 1px solid rgb(209 172 128 / 48%); border-radius: 999px; background: rgb(38 35 31 / 92%); box-shadow: 0 8px 24px rgb(12 10 8 / 24%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.gs-mode-switch[hidden] { display: none !important; }
.gs-mode-switch button { min-height: 34px; padding: 6px 13px; border: 0; border-radius: 999px; background: transparent; color: #e0d4c4; font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
.gs-mode-switch button[aria-pressed="true"] { background: #d1ac80; color: #26231f; }
.gs-mode-switch button:focus-visible, .gs-stage-dismiss:focus-visible { outline: 3px solid #e1c49a; outline-offset: 3px; }
.gs-stage-dismiss { position: absolute; top: 14px; left: 14px; z-index: 4; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgb(209 172 128 / 55%); border-radius: 50%; background: rgb(38 35 31 / 80%); color: #f2e6d5; font: inherit; font-size: 24px; line-height: 1; cursor: pointer; pointer-events: auto; }
.gs-stage-dismiss:hover { background: #d1ac80; color: #26231f; }
.gs-stage-calendar { isolation: isolate; }
.gs-stage-calendar__dates { position: absolute; top: 34%; left: 29%; display: grid; width: 43%; grid-template-columns: repeat(7,minmax(0,1fr)); grid-auto-rows: 1fr; gap: 1px 0; transform: rotate(-11deg) skewY(-2deg); color: #554b40; font-size: 6px; font-weight: 750; line-height: 1; text-align: center; pointer-events: none; }
.gs-stage-calendar__dates .is-today { border-radius: 50%; background: #b88959; color: #fff8ef; }
.gs-experience.is-detail-open .gs-card__detail-close { width: min(220px,calc(100vw - 36px)); min-width: 0; white-space: normal; text-align: center; }
.gs-experience.is-detail-open .gs-card__detail-close > span { max-width: 150px; font-size: 15px; line-height: 1.25; }
.gs-experience.is-detail-open .gs-card__detail-close:hover { border-color: #efcca0; background: #302b25; color: #fff6e9; }
.gs-enroll .gs-panel-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
.gs-enroll .gs-panel-aside > h2, .gs-enroll .gs-panel-aside > p { max-width: 60ch; }
.gs-enroll .gs-panel-aside .gs-button { display: inline-flex; width: min(260px,100%); max-width: 100%; justify-content: center; white-space: normal; line-height: 1.3; text-align: center; text-wrap: balance; }
.gs-enroll__form { min-width: 0; }
body.gstudio-home .gscw-widget__stack[hidden] { display: none !important; }
@media (max-width: 1049px) {
 html.gs-spatial .gs-card { width: min(530px,calc(100vw - 44px)); }
 html.gs-spatial .gs-panel { width: calc(100vw - 44px); }
 html.gs-spatial .gs-card__image { height: 190px; }
 html.gs-spatial .gs-card__copy { padding: 20px; }
 html.gs-spatial .gs-room-status { top: 16px; right: 20px; }
 .gs-panel-grid, .gs-directions-grid, .gs-growth-grid { grid-template-columns: 1fr; gap: 24px; }
 html.gs-spatial .gs-panel .gs-pane-content { padding: 24px; }
 .gs-panel h2 { font-size: 32px; }.gs-panel .gs-pane-content p { font-size: 18px; }
 .gs-number-one > strong { font-size: 120px; }
 .gs-seven { font-size: 80px; }
 .gs-panel-art { margin-top: 16px; }
 .gs-finale.gs-panel .gs-final-logo { max-width: 100%; width: 100%; margin: 26px auto; }
 .gs-panel .gs-final-actions { gap: 22px; }
 .gs-panel .gs-partner-zone { min-height: 230px; }
 .gs-footer-panel .site-footer { padding: 10px; }
}
@media (max-width: 1100px) {
    html.gs-spatial .gs-experience { height: calc(var(--experience-height, 100svh) + var(--gs-header-overlap)) !important; }
}
@media (max-width: 479px) {
 .gs-partner-controls { gap: 8px; }
 .gs-partner-controls button { width: 34px; height: 34px; }
 .gs-partner-controls [data-partner-count] { font-size: 11px; }
}
@media (max-height: 740px) and (min-width: 1050px) {
 html.gs-spatial .gs-card__image { height: 165px; }
 html.gs-spatial .gs-card__copy h2 { font-size: 25px; }
 html.gs-spatial .gs-card__copy { padding: 18px 22px; }
 html.gs-spatial .gs-card__cta { margin-top: 12px; }
 html.gs-spatial .gs-panel .gs-pane-content { padding: 24px 32px; }
}
html:not(.gs-spatial) .gs-card-space { align-items: flex-start; }
html:not(.gs-spatial) .gs-panel { margin: 30px 0; }
@media (prefers-reduced-motion: reduce) {
 .gs-growth-arrow > path:first-of-type { stroke-dashoffset: 0; }
 .gs-main *, .gs-main *::before, .gs-main *::after { animation: none !important; transition: none !important; }
}

.gs-panel.gs-growth .gs-panel__surface { background: #211e19; color: #f4eadb; }
.gs-panel.gs-finale .gs-panel__surface { background: #211e19; }

.gs-panel .gs-enroll__form { background: #eee6da; color: #3c3125; }
.gs-panel.gs-growth .gs-eyebrow,
.gs-panel.gs-finale .gs-eyebrow { color: #e0c39c; }
.gs-panel.gs-growth .gs-source { color: #c5ad8c; opacity: 1; }
.gs-panel.gs-about .gs-school-portrait figcaption { color: #675741; opacity: 1; }
.gs-panel.gs-directions .gs-direction-number { color: #735333; }
.gs-panel .gs-enroll__form :is(p, label, .wpcf7-list-item-label) { color: #51483d; opacity: 1; }
.gs-card__image::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(110deg,transparent 28%,#fff1d414 50%,transparent 70%); transform: translateX(-110%); }
.gs-scene.is-reading .gs-card__image::after { animation: gs-sweep 7s ease-in-out infinite; }
.gs-scene.is-reading .gs-library-tabs button[aria-pressed="true"] { animation: gs-glow 4s ease-in-out infinite; }

/* V5: permanent exhibition, projected by a single numeric camera. */
html.gs-spatial .gs-card-space { perspective: none; }
html.gs-spatial .gs-scene { visibility: visible; max-height: none; transform-origin: center; opacity: 1; }
html.gs-spatial .gs-scene { transition: opacity .22s ease; }
html.gs-spatial .gs-experience.is-camera-moving .gs-scene { will-change: transform; }
html.gs-spatial .gs-experience.is-camera-moving .gs-scene * { animation-play-state: paused !important; }
html.gs-spatial .gs-card__face, html.gs-spatial .gs-panel__surface {
    height: 100%; max-height: none; overflow-x: hidden; overflow-y: hidden; overscroll-behavior: auto;
    scrollbar-gutter: auto; scrollbar-width: none;
    touch-action: pan-y; outline-offset: -5px;
}
html.gs-spatial .gs-card__face::-webkit-scrollbar, html.gs-spatial .gs-panel__surface::-webkit-scrollbar { display: none; width: 0; height: 0; }
html.gs-spatial .gs-stage-heading h1 { margin: 18px 0 14px; color: #fffaf2; font-size: clamp(48px,6vw,82px); font-weight: 650; letter-spacing: -.078em; line-height: .96; }
html.gs-spatial .gs-stage-heading h1 em { display: inline-block; margin-top: .1em; font-size: .72em; font-weight: 400; letter-spacing: -.045em; }
html.gs-spatial .gs-stage-heading .gs-eyebrow { color: #f0d4a8; }
html.gs-spatial .gs-stage-heading .gs-stage-claim { justify-content: center; gap: 7px 13px; margin: 20px 0 0; }
html.gs-spatial .gs-stage-heading .gs-stage-claim__brand { font-size: clamp(10px,.85vw,12px); letter-spacing: .17em; }
html.gs-spatial .gs-stage-heading .gs-stage-claim__proof { font-size: clamp(21px,2.15vw,29px); font-weight: 650; letter-spacing: -.035em; }
html.gs-spatial .gs-stage-calendar { position: absolute; top: 16px; right: 16px; z-index: 2; display: grid; width: 66px; height: 66px; place-items: center; overflow: hidden; border: 1px solid rgb(209 172 128 / 62%); border-radius: 19px; background: linear-gradient(145deg,rgb(255 255 255 / 12%),transparent 58%),rgb(34 31 27 / 76%); box-shadow: inset 0 1px 0 rgb(255 255 255 / 19%),0 12px 28px rgb(12 10 8 / 30%); -webkit-backdrop-filter: blur(12px) saturate(120%); backdrop-filter: blur(12px) saturate(120%); pointer-events: auto; transition: transform 180ms ease,border-color 180ms ease,background-color 180ms ease; }
html.gs-spatial .gs-stage-calendar img { width: 54px; height: 54px; filter: drop-shadow(0 3px 5px rgb(0 0 0 / 24%)); }
html.gs-spatial .gs-stage-calendar:hover { transform: translateY(-2px); border-color: #efcca0; }
html.gs-spatial .gs-stage-calendar:active { transform: scale(.96); }
html.gs-spatial .gs-stage-calendar:focus-visible { outline: 3px solid #e1c49a; outline-offset: 4px; }
html.gs-spatial .gs-stage-lead { display: none; }
html.gs-spatial .gs-stage .gs-portal { display: none !important; }
@media (prefers-reduced-transparency: reduce) {
    .gstudio-home-header .site-brand--logo,
    .gstudio-home-header .language-switcher,
    .gstudio-home-header .menu-toggle,
    html.gs-spatial .gs-stage-calendar,
    html.gs-spatial .gs-stage-calendar { background: #302b25; }
}
@media (prefers-reduced-motion: reduce) {
    html.gs-spatial .gs-stage-calendar { transition: none; }
}
/* No reading-class transform restarts, no body-copy reveals; inner layers stay stable. */
.gs-scene.is-present .gs-card__face, .gs-scene.is-present .gs-panel__surface { animation: none !important; }
.gs-card.is-reading .gs-card__description, .gs-card.is-reading .gs-card__facts, .gs-card.is-reading .gs-card__cta { animation: none; }
@keyframes gs-photo-motion {
    0%,100% { transform: scale(1.025) translate3d(-.25%,.15%,0); }
    50% { transform: scale(1.085) translate3d(.6%,-.4%,0); }
}
.gs-scene.is-present .gs-card__photo, .gs-scene.is-present .gs-panel-art > img,
.gs-scene.is-present .gs-school-portrait img { animation: gs-photo-motion 16s var(--idle-delay,0s) ease-in-out infinite; }
.gs-scene.is-present .gs-art-glint, .gs-scene.is-present .gs-card__image::after { animation: gs-sweep 9s var(--idle-delay,0s) ease-in-out infinite; }
.gs-scene.is-present .gs-art-lines path { animation: gs-trace 6s var(--idle-delay,0s) ease-in-out infinite alternate; }
.gs-scene.is-present .gs-toolpath path, .gs-scene.is-present .gs-wireframe path:first-child { animation: gs-line-life 6s var(--idle-delay,0s) ease-in-out infinite alternate; }
.gs-scene.is-present .gs-motion-icon svg { animation: gs-icon-orbit 28s linear infinite; }
.gs-scene.is-present .gs-motion-dot { animation: gs-breathe 4s ease-in-out infinite; }
.gs-scene.is-present .gs-button, .gs-scene.is-present .gs-card__cta > span:last-child { animation: gs-glow 6s ease-in-out infinite; }
.gs-scene.is-present .gs-direction-number, .gs-scene.is-present .gs-seven > span,
.gs-scene.is-present .gs-software-brand { animation: gs-glow 7s ease-in-out infinite; }
.gs-scene.is-present.gs-finale .gs-final-logo { animation: gs-glow 8s ease-in-out infinite; }
.gs-scene.is-present.gs-footer-panel .site-footer a { transition: color .3s; }
.gs-scene.is-present.gs-footer-panel .site-footer__brand img { animation: gs-glow 9s ease-in-out infinite; }
.gs-school-portrait { overflow: hidden; border-radius: 16px; }
.gs-panel-art > img { transform-origin: center; }
.gs-software-brand { display: flex; align-items: center; gap: 12px; padding: 12px 22px; border-bottom: 1px solid #bd9a7438; }
.gs-software-brand img { display: block; width: 58px; height: 58px; border-radius: 9px; object-fit: contain; }
.gs-software-brand span { font-size: 13px; font-weight: 650; }
.gs-software-brand button { margin-left: auto; padding: 8px; background: transparent; border: 1px solid #b2936e; border-radius: 6px; color: inherit; cursor: pointer; font-size: 11px; }
.gs-card[data-service="license"] .gs-card__image { height: auto; aspect-ratio: 1672 / 941; background: #302c28; }
.gs-card[data-service="license"] .gs-card__photo { object-fit: cover; padding: 0; transform: none; }
.gs-license-display-frame { position: absolute; z-index: 1; left: 24.4%; top: 15.1%; width: 51.3%; height: 49%; display: grid; place-items: center; overflow: hidden; background: #252321; box-shadow: 0 0 0 1px rgb(255 255 255 / 18%), 0 1px 4px rgb(0 0 0 / 25%); }
.gs-license-display-frame > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gs-license-display-frame::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(118deg, rgb(255 255 255 / 7%), transparent 34%, transparent 78%, rgb(255 255 255 / 3%)); }
.gs-card[data-service="license"] .gs-card__image-shade { opacity: .1; }
.gs-card[data-service="license"] .gs-card__image-label { display: none; }
@keyframes gs-interface-motion { 0%,100% { transform: scale(.965); } 50% { transform: scale(1); } }
.gs-scene.is-present[data-service="license"] .gs-card__photo,
.gs-scene.is-present[data-service="license"] .gs-license-display-frame { animation: gs-interface-motion 16s ease-in-out infinite; }
/* Exact 80/20 composition, not a simulated loading indicator. */
.gs-ratio { display: block; margin-top: 24px; }
.gs-ratio-labels { display: flex; justify-content: space-between; gap: 15px; margin-bottom: 12px; }
.gs-ratio-labels strong { font-size: 29px; letter-spacing: -.04em; color: #e2b77f; }
.gs-ratio-labels strong:last-child { color: #79aadc; }
.gs-ratio-labels strong span { display: block; font-size: 12px; letter-spacing: .02em; margin-top: 5px; }
.gs-ratio-bar { display: flex; width: 100%; height: 14px; border-radius: 8px; background: #4a4034; overflow: hidden; }
.gs-ratio-bar i { display: block; height: 100%; transform: scaleX(0); transform-origin: left; }
.gs-ratio-bar .gs-ratio-practice { width: 80%; background: linear-gradient(90deg,#ad774a,#e7bd88); }
.gs-ratio-bar .gs-ratio-theory { width: 20%; background: #689dce; }
.gs-ratio.is-loaded .gs-ratio-practice { transform: scaleX(1); transition: transform .85s cubic-bezier(.2,.7,.2,1); }
.gs-ratio.is-loaded .gs-ratio-theory { transform: scaleX(1); transition: transform .4s .75s ease-out; }
.gs-interface-dialog { width: min(1500px,96vw); max-width: 96vw; max-height: 94svh; padding: 16px; border: 1px solid #c9a070; border-radius: 16px; background: #25211c; color: #f3e9da; overflow: auto; overscroll-behavior: contain; }
.gs-interface-dialog::backdrop { background: #100e0cec; backdrop-filter: blur(6px); }
.gs-interface-dialog__header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; }
.gs-interface-dialog h2 { margin: 0; font-size: 20px; }
.gs-interface-dialog button { border: 1px solid #c9a070; background: #392e21; color: #f3e9da; border-radius: 8px; padding: 9px 14px; cursor: pointer; }
.gs-interface-dialog > img { width: 100%; height: auto; display: block; }
@media (max-width: 849px) {
    html.gs-spatial .gs-stage-heading h1 em { font-size: .76em; }
    html.gs-spatial .gs-stage-calendar { top: 10px; right: auto; left: 10px; width: 52px; height: 52px; border-radius: 15px; }
    html.gs-spatial .gs-stage-calendar img { width: 43px; height: 43px; }
    .gs-software-brand { padding: 10px 16px; gap: 8px; }
    .gs-software-brand span { font-size: 11px; }
    .gs-software-brand img { width: 46px; height: 46px; }
    .gs-ratio-labels strong { font-size: 25px; }
}
@media (prefers-reduced-motion: reduce) {
    .gs-ratio-bar i { transform: none; }
}
html:not(.has-js) .gs-ratio-bar i { transform: none; }
html:not(.has-js) [data-interface-open] { display: none; }

/* Each neighbour floats continuously; its amplitude goes to zero at reading focus. */
@keyframes gs-exhibition-float {
    0%,100% { transform: translate3d(0,calc(-7px * var(--float-strength,1)),0); }
    50% { transform: translate3d(0,calc(7px * var(--float-strength,1)),0); }
}
.gs-scene.is-present .gs-card__face, .gs-scene.is-present .gs-panel__surface { animation: none !important; }
@media (max-width: 849px) {
    html.gs-spatial .gs-stage-heading h1 br { display: block; }
    html.gs-spatial .gs-panel h2 { font-size: 30px; }
    html.gs-spatial .gs-panel .gs-pane-content { padding: 24px; }
}

/* The touch layout is a readable landing page, not the wide-pointer camera stage. */
@media (max-width: 849px) {
    .gs-card__details { min-height: 44px; }
    .gstudio-home-header .site-header__inner {
        position: fixed;
        top: 8px;
        box-sizing: border-box;
        width: calc(100vw - 24px);
        max-width: calc(100vw - 24px);
        margin: 0;
        gap: 8px;
    }
    .gstudio-home-header .site-brand--logo { position: fixed; top: 8px; left: 12px; }
    .gstudio-home-header .site-brand__image { width: clamp(104px, 32vw, 132px); max-height: 34px; }
    .gstudio-home-header__actions { position: fixed; top: 8px; right: 24px; flex: 0 0 auto; gap: 6px; margin-left: auto; }
    .gstudio-home-header .menu-toggle { flex-basis: 40px; width: 40px; height: 40px; padding: 10px; }
    .gstudio-home-header .language-switcher { padding: 3px; }
    .gstudio-home-language { min-width: 32px !important; min-height: 32px !important; padding: 5px !important; }

    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading {
        position: relative;
        top: auto;
        left: auto;
        box-sizing: border-box;
        width: calc(100vw - 40px);
        max-width: none;
        margin: 76px auto 28px;
        padding: 0 8px;
        transform: none;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        color: #fffaf2;
        text-shadow: 0 2px 5px rgb(0 0 0 / 96%),0 8px 28px rgb(0 0 0 / 92%);
        text-align: center;
    }
    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading h1 { max-width: 100%; margin: 13px 0 10px; font-size: clamp(28px,7.4vw,34px); overflow-wrap: anywhere; }
    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading h1 em { font-size: .76em; }
    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading .gs-eyebrow { font-size: 9px; }
    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading .gs-stage-claim { flex-direction: column; align-items: center; gap: 5px; margin: 15px 0 0; }
    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading .gs-stage-claim__proof { font-size: clamp(16px,4.2vw,18px); }
    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading .gs-stage-lead { display: none; }
    body.gstudio-home:not(.gs-spatial) .gs-stage-calendar { position: absolute; top: 10px; right: auto; left: 10px; z-index: 3; display: grid; width: 52px; height: 52px; place-items: center; border-radius: 15px; }
    body.gstudio-home:not(.gs-spatial) .gs-stage-calendar img { display: block; width: 43px; height: 43px; }
    body.gstudio-home:not(.gs-spatial) .gs-card { width: min(100%, max(260px, calc(100vw - 80px))); max-width: none; }
}
@media (prefers-reduced-transparency: reduce) and (max-width: 849px) {
    html:not(.gs-spatial) body.gstudio-home .gs-stage-heading { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (max-width: 360px) {
    body.gstudio-native-site .site-header.gstudio-home-header .site-brand__image { width: 100px; }
    body.gstudio-native-site .site-header.gstudio-home-header .site-brand--logo { padding: 5px 7px; }
    body.gstudio-native-site .site-header.gstudio-home-header .gstudio-home-header__actions { right: 12px; gap: 4px; }
    body.gstudio-native-site .site-header.gstudio-home-header .menu-toggle { flex-basis: 36px; width: 36px; height: 36px; padding: 8px; }
    body.gstudio-native-site .site-header.gstudio-home-header .language-switcher__list { gap: .1rem; padding: .15rem; }
    body.gstudio-native-site .site-header.gstudio-home-header .language-switcher__list a { min-width: 30px !important; min-height: 30px !important; padding: 4px !important; font-size: 13px !important; }
}

@keyframes gs-ratio-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.gs-ratio.is-loaded .gs-ratio-practice { transition: none; animation: gs-ratio-fill .85s cubic-bezier(.2,.7,.2,1) both; }
.gs-ratio.is-loaded .gs-ratio-theory { transition: none; animation: gs-ratio-fill .4s .75s ease-out both; }

/* Projection owns depth ordering; flatten descendants to prevent browser plane intersections. */
html.gs-spatial .gs-card-space, html.gs-spatial .gs-scene { transform-style: flat; }

.gs-overview-nav { display: none; }
@media (min-width: 850px) {
    html.gs-spatial .gs-stage { --gs-overview-nav-gutter: clamp(80px,6.8vw,88px); }
    html.gs-spatial .gs-card-space { right: var(--gs-overview-nav-gutter); overflow: hidden; }
}
html.gs-spatial .gs-stage .gs-overview-nav {
    position: absolute; top: 50%; right: clamp(12px,2vw,30px); z-index: 22;
    display: flex; flex-direction: column; align-items: flex-end; gap: 7px;
    max-height: min(78svh,740px); overflow: visible; transform: translateY(-50%);
}
.gs-overview-nav__item {
    display: inline-flex; flex-direction: row-reverse; align-items: center; justify-content: flex-start;
    gap: 0; min-width: 38px; min-height: 38px; padding: 2px;
    border: 1px solid rgb(209 172 128 / 48%); border-radius: 999px;
    background: rgb(38 35 31 / 86%); color: #f3e8d8; text-decoration: none;
    box-shadow: 0 5px 16px rgb(12 10 8 / 25%),inset 0 1px 0 rgb(255 255 255 / 10%);
    -webkit-backdrop-filter: blur(12px) saturate(125%); backdrop-filter: blur(12px) saturate(125%);
    cursor: pointer; transition: background-color 180ms ease,border-color 180ms ease,transform 180ms ease,box-shadow 180ms ease;
}
.gs-overview-nav__number {
    display: grid; flex: 0 0 32px; width: 32px; height: 32px; place-items: center;
    border-radius: 50%; background: linear-gradient(145deg,#ead3aa,#bf9868); color: #30271d;
    font-size: 11px; font-weight: 750; font-variant-numeric: tabular-nums;
}
.gs-overview-nav__label {
    max-width: 0; overflow: hidden; color: #f4eadc; opacity: 0; white-space: nowrap;
    font-size: 13px; font-weight: 600; transition: max-width 180ms ease,opacity 140ms ease,padding 180ms ease;
}
.gs-overview-nav__item:hover,
.gs-overview-nav__item:focus-visible {
    border-color: #e3c398; background: rgb(49 42 33 / 97%);
    box-shadow: 0 8px 22px rgb(12 10 8 / 36%),0 0 14px rgb(209 172 128 / 24%),inset 0 1px 0 rgb(255 255 255 / 14%);
    transform: translateX(-3px);
}
.gs-overview-nav__item:hover .gs-overview-nav__label,
.gs-overview-nav__item:focus-visible .gs-overview-nav__label {
    max-width: 172px; padding-inline: 12px 9px; opacity: 1;
}
.gs-overview-nav__item:focus-visible { outline: 2px solid #f0d4a8; outline-offset: 3px; }
html.gs-spatial { scrollbar-color: #b69970 #29241e; scrollbar-width: thin; }
html.gs-spatial::-webkit-scrollbar { width: 12px; }
html.gs-spatial::-webkit-scrollbar-track { border-left: 1px solid rgb(209 172 128 / 22%); background: rgb(35 31 26 / 92%); }
html.gs-spatial::-webkit-scrollbar-thumb { min-height: 56px; border: 3px solid #29241e; border-radius: 999px; background: linear-gradient(180deg,#e4c99b,#9c7950); }
html.gs-spatial::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg,#f1ddb8,#b68e5d); }
/* Phones: the numbered rail becomes a horizontal carousel under the header (see carousel block). */
@media (prefers-reduced-motion: reduce) {
    .gs-overview-nav__item,.gs-overview-nav__label { transition: none; }
}

/* V5.1: frame clips the inset scroll area; native scroll chains at content edges. */
.gs-scroll-shell { display: contents; }
html.gs-spatial .gs-scroll-shell {
    display: block; width: 100%; height: 100%; overflow: hidden;
    border-radius: 26px; border: 1px solid #c7a373;
    box-shadow: inset 0 1px 0 #ecd4af66,8px 10px 0 -3px #785c3b,0 25px 60px #0005;
}
html.gs-spatial .gs-card__face, html.gs-spatial .gs-panel__surface {
    width: calc(100% - 16px); height: calc(100% - 16px); margin: 8px;
    border: 0; border-radius: 18px; box-shadow: none;
    overflow-x: hidden; overflow-y: hidden; overscroll-behavior: auto;
    scrollbar-gutter: auto; scrollbar-width: none;
}
html.gs-spatial .gs-card__face::-webkit-scrollbar-track,
html.gs-spatial .gs-panel__surface::-webkit-scrollbar-track { margin-block: 14px; background: transparent; }
html.gs-spatial .gs-card__face::-webkit-scrollbar-button,
html.gs-spatial .gs-panel__surface::-webkit-scrollbar-button { display: none; width: 0; height: 0; }

/* V5.2: one solid rounded slab, not separate floating frames. */
.gs-card-scrollbar { display: none; }
html.gs-spatial .gs-card__depth { display: none; }
html.gs-spatial .gs-scroll-shell {
    position: relative; isolation: isolate; overflow: visible;
    border-radius: 26px; border: 1px solid rgb(239 224 201 / 58%);
    background: linear-gradient(138deg,rgb(255 252 245 / 17%),transparent 34%),linear-gradient(320deg,rgb(209 172 128 / 9%),transparent 58%),rgb(37 34 30 / 34%);
    box-shadow: 0 1px 0 rgb(255 246 230 / 42%),0 0 0 1px rgb(255 255 255 / 9%),0 10px 22px rgb(38 31 24 / 24%),0 26px 54px -16px rgb(25 21 17 / 48%),inset 0 1px 0 rgb(255 255 255 / 12%);
    -webkit-backdrop-filter: blur(16px) saturate(138%);
    backdrop-filter: blur(16px) saturate(138%);
}
html.gs-spatial .gs-scroll-shell::before {
    content: ''; position: absolute; inset: 1px; z-index: 2; border: 1px solid rgb(247 243 234 / 24%); border-radius: 24px;
    background: linear-gradient(132deg,rgb(255 252 245 / 16%),rgb(255 255 255 / 4%) 20%,transparent 43%,rgb(209 172 128 / 5%) 100%);
    box-shadow: inset 0 1px 0 rgb(255 252 245 / 45%),inset 1px 0 0 rgb(255 252 245 / 18%);
    pointer-events: none;
}
html.gs-spatial .gs-scroll-shell::after {
    content: ''; position: absolute; inset: 0; z-index: 3; border-radius: inherit; pointer-events: none;
    box-shadow: inset 0 1px 0 rgb(255 248 235 / 26%),inset 1px 0 0 rgb(255 248 235 / 12%),inset 0 -1px 1px rgb(42 32 22 / 22%);
}
html.gs-spatial .gs-card__face, html.gs-spatial .gs-panel__surface {
    width: calc(100% - 4px); height: calc(100% - 4px); margin: 2px;
    border-radius: 23px; border: 0; box-shadow: none;
    scrollbar-width: none; -ms-overflow-style: none;
    animation: none !important;
}
html.gs-spatial .gs-card__face {
    background: linear-gradient(160deg,rgb(255 255 255 / 7%),transparent 24%),rgb(39 36 32 / 76%);
}
html.gs-spatial .gs-card:nth-child(2n) .gs-card__face {
    background: linear-gradient(160deg,rgb(255 255 255 / 21%),transparent 28%),rgb(232 225 213 / 82%);
    color: #26231f;
}
html.gs-spatial .gs-card__face::-webkit-scrollbar,
html.gs-spatial .gs-panel__surface::-webkit-scrollbar { display: none; width: 0; height: 0; }
html.gs-spatial .gs-scene.is-present:not(.is-reading) .gs-scroll-shell {
    animation: gs-exhibition-float 9s var(--idle-delay,0s) ease-in-out infinite;
}
/* Avoid re-rasterizing blurred glass edges on every moving frame. */
html.gs-spatial .gs-experience.is-camera-moving .gs-scene.is-present .gs-scroll-shell {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
html.gs-spatial .gs-card-scrollbar { display: none !important; pointer-events: none !important; }

/* Compact overview panels: preserve the important facts without nesting a second scroll area. */
html.gs-spatial .gs-panel .gs-pane-content { padding: 22px 26px; }
html.gs-spatial .gs-directions-grid { grid-template-columns: .76fr 1.24fr; align-items: center; gap: 24px; }
html.gs-spatial .gs-panel-heading h2 { margin: 8px 0 12px; font-size: clamp(25px, 2.5vw, 36px); }
html.gs-spatial .gs-panel-heading p { margin: 0; font-size: 14px; line-height: 1.4; }
html.gs-spatial .gs-direction-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
html.gs-spatial .gs-direction-list a { grid-template-columns: 22px minmax(0, 1fr) 12px; gap: 8px; padding: 8px 0; font-size: 14px; line-height: 1.25; }
html.gs-spatial .gs-direction-number { font-size: 10px; }
html.gs-spatial .gs-benefits .gs-panel-grid { align-items: center; gap: 26px; }
html.gs-spatial .gs-benefits .gs-pane-content { padding: 8px 22px; }
html.gs-spatial .gs-benefits .gs-panel-aside > p { margin: 8px 0 0; font-size: 13px; line-height: 1.35; }
html.gs-spatial .gs-benefits .gs-panel-art { height: 100px; margin-top: 10px; }
html.gs-spatial .gs-benefits .gs-panel-art > img { height: 100%; aspect-ratio: auto; }
html.gs-spatial .gs-benefits .gs-ratio { gap: 10px; margin-top: 10px; }
html.gs-spatial .gs-benefits .gs-ratio strong { font-size: 40px; }
html.gs-spatial .gs-benefits .gs-ratio strong span { font-size: 14px; }
html.gs-spatial .gs-benefits .gs-ratio-bar { width: 76px; }
html.gs-spatial .gs-panel .gs-benefit-list article { align-items: center; gap: 11px; padding: 7px 0; }
html.gs-spatial .gs-panel .gs-motion-icon { width: 26px; height: 26px; flex-basis: 26px; }
html.gs-spatial .gs-panel .gs-benefit-list h3 { margin: 0 0 3px; font-size: 16px; line-height: 1.2; }
html.gs-spatial .gs-panel .gs-benefit-list p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 12px; line-height: 1.3; }
html.gs-spatial .gs-panel .gs-partner-zone { min-height: 215px; }
html.gs-spatial .gs-clients .gs-panel-aside > p { margin: 6px 0 0; font-size: 13px; line-height: 1.3; }
html.gs-spatial .gs-clients .gs-panel-art { height: 100px; margin-top: 10px; }
html.gs-spatial .gs-clients .gs-panel-art > img { height: 100%; aspect-ratio: auto; }
html.gs-spatial .gs-clients .gs-pane-content { padding: 10px 22px; }
html.gs-spatial .gs-growth-grid { align-items: center; gap: 28px; }
html.gs-spatial .gs-number-one > strong { font-size: clamp(88px, 10vw, 150px); line-height: .95; }
html.gs-spatial .gs-growth .gs-source { margin-top: 10px; }
html.gs-spatial .gs-growth .gs-counter { font-size: clamp(72px, 8vw, 108px); line-height: 1; }
html.gs-spatial .gs-growth .gs-growth-arrow { height: 58px; }
html.gs-spatial .gs-growth .gs-panel-art { height: 96px; margin-top: 10px; }
html.gs-spatial .gs-enroll .gs-panel-grid { align-items: center; gap: 22px; }
html.gs-spatial .gs-enroll .gs-panel-aside > p { margin: 8px 0; font-size: 13px; line-height: 1.35; }
html.gs-spatial .gs-enroll .gs-panel-aside h2 { margin: 8px 0; font-size: clamp(23px, 2.3vw, 32px); }
html.gs-spatial .gs-enroll .gs-panel-art { height: 70px; margin-top: 8px; }
html.gs-spatial .gs-enroll .gs-panel-art > img { height: 100%; aspect-ratio: auto; }
html.gs-spatial .gs-enroll__form { padding: 14px; }
html.gs-spatial .gs-enroll__form form > p { margin: 0 0 6px; }
html.gs-spatial .gs-enroll__form label { font-size: 12px; }
html.gs-spatial .gs-enroll__form input:not([type="checkbox"]) { min-height: 32px; padding: 5px 8px; }
html.gs-spatial .gs-enroll__form .gstudio-home-form-preview-note { margin: 4px 0 0; font-size: 10px; line-height: 1.3; }
html.gs-spatial .gs-finale.gs-panel .gs-finale__content { padding: 22px 30px; }
html.gs-spatial .gs-finale.gs-panel .gs-final-logo { width: min(420px, 72%); margin: 14px auto 12px; }
html.gs-spatial .gs-finale.gs-panel h2 { max-width: 650px; margin: 8px auto; font-size: clamp(25px, 2.8vw, 36px); }
html.gs-spatial .gs-finale.gs-panel p { margin: 8px auto; font-size: 14px; line-height: 1.35; }
html.gs-spatial .gs-finale.gs-panel .gs-final-actions { gap: 18px; margin: 12px 0 8px; }
html.gs-spatial .gs-footer-panel .site-footer { padding: 0; }
html.gs-spatial .gs-footer-panel .site-footer__inner { gap: 12px; padding-bottom: 8px; }
html.gs-spatial .gs-footer-panel .site-footer__brand { max-width: 400px; }
html.gs-spatial .gs-footer-panel .site-footer__brand .site-brand__image { width: 150px; }
html.gs-spatial .gs-footer-panel .site-footer__brand > p { margin: 6px 0; font-size: 14px; line-height: 1.35; }
html.gs-spatial .gs-footer-panel .site-footer__contact { gap: 3px; margin-top: 6px; font-size: 12px; }
html.gs-spatial .gs-footer-panel .site-footer__bottom { padding-top: 8px; }
html.gs-spatial .gs-card[data-service="license"] .gs-software-brand { padding: 7px 14px; }
html.gs-spatial .gs-card[data-service="license"] .gs-software-brand img { width: 44px; height: 44px; }
html.gs-spatial .gs-card[data-service="license"] .gs-card__details { margin-top: 6px; }
.gs-experience.is-detail-open .gs-scene.is-expanded .gs-card__copy > p.gs-card__description:not(.gs-card__expanded-only) { display: none !important; }
.gs-experience.is-detail-open .gs-scene.is-expanded p.gs-card__expanded-only { margin: 8px 0 0; padding: 0; border: 0; color: #d6cbbb; font-size: clamp(14px, 1.35vw, 17px); line-height: 1.6; }
@media (max-width: 849px) {
    html.gs-spatial .gs-panel .gs-pane-content { padding: 18px 20px; }
    html.gs-spatial .gs-directions-grid { grid-template-columns: 1fr; gap: 12px; }
    html.gs-spatial .gs-direction-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
    html.gs-spatial .gs-direction-list a { padding: 5px 0; font-size: 13px; }
    html.gs-spatial .gs-panel .gs-benefit-list article { padding: 5px 0; }
    html.gs-spatial .gs-panel .gs-benefit-list h3 { font-size: 14px; }
    html.gs-spatial .gs-panel .gs-benefit-list p { font-size: 11px; }
    html.gs-spatial .gs-benefits .gs-panel-art { height: 76px; }
    html.gs-spatial .gs-benefits .gs-ratio strong { font-size: 32px; }
    html.gs-spatial .gs-enroll .gs-panel-grid { gap: 12px; }
}
@media (max-width: 479px) {
    html.gs-spatial .gs-panel .gs-pane-content { padding: 14px 16px; }
    html.gs-spatial .gs-benefits .gs-panel-art { height: 56px; }
    html.gs-spatial .gs-benefits .gs-ratio { margin-top: 6px; }
    html.gs-spatial .gs-benefits .gs-ratio strong { font-size: 28px; }
    html.gs-spatial .gs-benefits .gs-ratio strong span { font-size: 11px; }
    html.gs-spatial .gs-finale.gs-panel .gs-finale__content { padding: 18px 20px; }
    html.gs-spatial .gs-finale.gs-panel .gs-final-logo { width: min(280px, 68%); }
}
@media (max-width: 359px) {
    html.gs-spatial .gs-direction-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-transparency: reduce) {
    html.gs-spatial .gs-scroll-shell { background: #493d2e; -webkit-backdrop-filter: none; backdrop-filter: none; }
    html.gs-spatial .gs-scroll-shell::before { background: linear-gradient(132deg,rgb(255 252 245 / 10%),transparent 44%,rgb(209 172 128 / 7%)); }
    html.gs-spatial .gs-card__face { background: #302b25; }
    html.gs-spatial .gs-card:nth-child(2n) .gs-card__face { background: #ede7dc; }
}
@view-transition { navigation: auto; }
::view-transition-group(gstudio-course-hero) { animation-duration: 720ms; animation-timing-function: cubic-bezier(.2,.75,.2,1); }
@media (prefers-reduced-motion: reduce) {
    ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation-duration: 1ms !important; }
}

/* A selected service card becomes the first section of a continuous, readable page. */
.gs-experience.is-detail-open { height: auto !important; min-height: 100svh; overflow: visible; }
.gs-experience.is-detail-open .gs-stage { position: relative !important; top: auto !important; height: auto !important; min-height: 100svh; overflow: visible !important; padding: clamp(84px,10vh,120px) 24px 56px; }
.gs-experience.is-detail-open .gs-room-backdrops { position: absolute; inset: 0 0 auto; height: 100svh; }
.gs-experience.is-detail-open .gs-atmosphere,
.gs-experience.is-detail-open .gs-stage-heading,
.gs-experience.is-detail-open .gs-room-status,
.gs-experience.is-detail-open .gs-portal,
.gs-experience.is-detail-open .gs-overview-nav { display: none !important; }
.gs-experience.is-detail-open .gs-card-space { position: relative !important; inset: auto !important; display: block !important; perspective: none; }
.gs-experience.is-detail-open .gs-scene:not(.is-expanded) { display: none !important; }
.gs-experience.is-detail-open .gs-scene.is-expanded { display: block !important; position: relative !important; top: auto !important; left: auto !important; width: min(1600px,100%) !important; height: auto !important; max-height: none !important; margin: 0 auto; transform: none !important; cursor: default; animation: gs-detail-arrive .52s cubic-bezier(.16,1,.3,1) both; }
.gs-experience.is-detail-open .gs-scene.is-expanded .gs-card__face { animation: none !important; transform: none !important; }
.gs-experience.is-detail-open .gs-scroll-shell { display: contents; position: static; overflow: visible; border: 0; border-radius: 0; background: none; box-shadow: none; }
.gs-experience.is-detail-open .gs-scroll-shell::before,
.gs-experience.is-detail-open .gs-scroll-shell::after,
.gs-experience.is-detail-open .gs-card-scrollbar { display: none !important; }
.gs-experience.is-detail-open .gs-card__face { width: 100%; height: auto; max-height: none; margin: 0; overflow: visible; border: 1px solid rgb(238 204 155 / 70%); border-radius: 26px; box-shadow: 0 28px 72px rgb(0 0 0 / 42%); }
.gs-experience.is-detail-open .gs-card__image { height: clamp(260px,42vw,560px); }
.gs-experience.is-detail-open .gs-card__copy { padding: clamp(24px,5vw,64px); }
.gs-experience.is-detail-open .gs-card__copy h2 { font-size: clamp(32px,5vw,64px); }
.gs-experience.is-detail-open .gs-card__detail-close { display: flex; }
.gs-experience.is-detail-open .gs-card__details { display: none; }
.gs-experience.is-detail-open .gs-card__cta[data-expand-service] { display: none !important; }
.gs-experience.is-detail-open .gs-card__cta { display: flex; width: fit-content; min-width: min(260px,100%); max-width: 760px; min-height: 52px; justify-content: space-between; padding: 14px 20px; margin: 28px 0 0; border: 1px solid #d1ac80; border-radius: 14px; background: #d1ac80; color: #26231f; line-height: 1.35; box-shadow: inset 0 1px 0 rgb(255 255 255 / 30%),0 10px 24px rgb(31 24 16 / 20%); }
.gs-experience.is-detail-open .gs-card__cta:hover { color: #181613; background: #e0bf96; }
.gs-experience.is-detail-open .gs-card__detail-close { position: fixed; top: calc(var(--gs-header-height, 88px) + 12px); right: 20px; left: auto; z-index: 100060; display: inline-flex; width: auto; min-width: 164px; min-height: 48px; justify-content: center; padding: 10px 16px; margin: 0; border: 1px solid rgb(209 172 128 / 72%); border-radius: 999px; background: rgb(38 35 31 / 94%); color: #f2e6d5; font-size: 15px; box-shadow: 0 8px 24px rgb(12 10 8 / 28%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.gs-experience.is-detail-open .gs-card__detail-close > span { font-size: 15px; line-height: 1.2; }
.gs-card__expanded-only { display: none; }
.gs-experience.is-detail-open .gs-scene.is-expanded .gs-card__expanded-only { display: block; margin-top: clamp(28px, 4vw, 52px); padding-top: clamp(20px, 3vw, 36px); border-top: 1px solid rgb(209 172 128 / 32%); }
/* Keep the real service information and booking links usable if scripts fail or are disabled. */
html:not(.has-js) .gs-card:not(.is-expanded) .gs-card__cta { display: flex; }
html:not(.has-js) .gs-card__details,
html:not(.has-js) .gs-card__detail-close { display: none !important; }
html:not(.has-js) .gs-card__description:not(.gs-card__expanded-only) { display: none; }
html:not(.has-js) .gs-card__expanded-only { display: block; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgb(209 172 128 / 32%); }
html:not(.has-js) .gs-card__expanded-only .gs-card__course-modules details > ul { display: block; }
html:not(.has-js) .gs-card__expanded-only .gs-card__course-modules details > p { display: block; }
.gs-card__expanded-service { max-width: 70rem; }
.gs-card__expanded-service h3 { margin: 0; color: #f6f0e7; font-family: var(--gs-font-display, Montserrat, sans-serif); font-size: clamp(22px, 3vw, 34px); line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
.gs-card__expanded-service > p { max-width: 65ch; margin: 10px 0 0; color: #d6cbbb; font-size: clamp(14px, 1.35vw, 17px); line-height: 1.6; }
.gs-card__expanded-service > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 18px 0 0; padding: 0; list-style: none; }
.gs-card__expanded-service > ul li { position: relative; min-width: 0; padding: 12px 14px 12px 36px; border: 1px solid rgb(209 172 128 / 28%); border-radius: 10px; background: rgb(209 172 128 / 6%); color: #e3d8ca; font-size: 14px; line-height: 1.5; }
.gs-card__expanded-service > ul li::before { position: absolute; top: 12px; left: 14px; color: #d1ac80; content: "↗"; font-weight: 800; }
.gs-card__expanded-course > header { max-width: 64rem; margin-bottom: 24px; }
.gs-card__expanded-course > header h3 { margin: 0; color: #f6f0e7; font-family: var(--gs-font-display, Montserrat, sans-serif); font-size: clamp(26px, 4vw, 44px); line-height: 1.08; letter-spacing: -.04em; text-wrap: balance; }
.gs-card__expanded-course > header > p:last-child { max-width: 62ch; margin: 12px 0 0; color: #d6cbbb; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.65; }
.gs-card__course-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 24px 0 32px; }
.gs-card__course-facts > div { display: grid; gap: 4px; padding: 14px; border: 1px solid rgb(209 172 128 / 32%); border-radius: 12px; background: rgb(209 172 128 / 8%); }
.gs-card__course-facts strong { color: #e4c89f; font-size: 18px; }
.gs-card__course-facts span { color: #d6cbbb; font-size: 13px; }
.gs-card__expanded-course > h4 { margin: 30px 0 14px; color: #f6f0e7; font-family: var(--gs-font-display, Montserrat, sans-serif); font-size: clamp(19px, 2.5vw, 27px); letter-spacing: -.025em; }
.gs-card__course-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.gs-card__course-outcomes li { display: grid; align-content: start; gap: 6px; min-width: 0; padding: 14px; border: 1px solid rgb(209 172 128 / 28%); border-radius: 12px; background: #302b25; }
.gs-card__course-outcomes strong { color: #e4c89f; font-size: 15px; }
.gs-card__course-outcomes span { color: #d6cbbb; font-size: 13px; line-height: 1.55; }
.gs-card__course-modules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 8px; }
.gs-card__course-modules details { min-width: 0; overflow: hidden; border: 1px solid rgb(209 172 128 / 30%); border-radius: 12px; background: #302b25; }
.gs-card__course-modules details[open] { border-color: rgb(209 172 128 / 70%); }
.gs-card__course-modules summary { display: grid; min-height: 68px; grid-template-columns: 34px minmax(0, 1fr); align-content: center; align-items: center; gap: 3px 10px; padding: 12px; cursor: pointer; list-style: none; }
.gs-card__course-modules summary::-webkit-details-marker { display: none; }
.gs-card__course-modules summary > span { grid-row: span 2; color: #d1ac80; font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 800; }
.gs-card__course-modules summary strong { color: #f6f0e7; font-size: 14px; line-height: 1.35; }
.gs-card__course-modules summary small { color: #bdb1a2; font-size: 12px; line-height: 1.4; }
.gs-card__course-modules details > ul { display: grid; gap: 6px; margin: 0; padding: 0 16px 14px 56px; color: #d6cbbb; font-size: 13px; line-height: 1.5; }
.gs-card__course-modules details > p { margin: 0 12px 12px 56px; padding: 10px; border-left: 2px solid #d1ac80; background: rgb(209 172 128 / 8%); color: #e8ddcf; font-size: 13px; line-height: 1.5; }
.gs-card__expanded-course :is(summary, a, button):focus-visible { outline: 3px solid #e1c49a; outline-offset: 3px; }
@keyframes gs-detail-arrive { from { opacity: .82; transform: translateY(24px) scale(.965); } to { opacity: 1; transform: translateY(0) scale(1); } }
::view-transition-group(gs-service-card) { animation-duration: 560ms; animation-timing-function: cubic-bezier(.16,1,.3,1); }
@media (max-width: 700px) {
    .gs-experience.is-detail-open .gs-stage { padding: 76px 14px 40px; }
    .gs-experience.is-detail-open .gs-card__face { border-radius: 20px; }
    .gs-experience.is-detail-open .gs-card__copy { padding: 24px 20px; }
    .gs-card__course-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gs-card__course-outcomes, .gs-card__course-modules { grid-template-columns: 1fr; }
    .gs-card__expanded-service > ul { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .gs-experience.is-detail-open .gs-scene.is-expanded { animation: none; }
    ::view-transition-group(gs-service-card) { animation-duration: 1ms; }
}

/* Final interaction-state overrides: keep the back label legible on every card tone. */
.gs-experience.is-detail-open .gs-card:nth-child(2n) .gs-card__detail-close:hover,
.gs-experience.is-detail-open .gs-card:nth-child(2n + 1) .gs-card__detail-close:hover { border-color: #efcca0; background: #302b25; color: #fff6e9; }
.gs-experience.is-detail-open .gs-card__detail-close-label { max-width: 150px; font-size: 15px; line-height: 1.25; }

/* Touch-free overview uses finger drag; opening a detail restores native page scrolling. */
html.gs-spatial .gs-experience.is-free-mode .gs-stage { touch-action: none; }
html.gs-spatial .gs-experience.is-panning,
html.gs-spatial .gs-experience.is-panning * { -webkit-user-select: none !important; user-select: none !important; }
html.gs-spatial .gs-experience:not(.is-detail-open) .gs-stage { -webkit-user-select: none; user-select: none; }
html.gs-spatial .gs-experience.is-detail-open .gs-stage { -webkit-user-select: text; user-select: text; }
.gs-stage-heading { transition: opacity 520ms ease, visibility 0s linear 520ms; }
.gs-stage-heading.is-dismissed { pointer-events: none; }
.gs-intro-loading .gs-card-space { opacity: 0 !important; visibility: hidden !important; filter: none; transition: none !important; }
.gs-stage-heading::after { content: ""; display: block; width: clamp(144px,18vw,176px); height: 3px; margin: clamp(20px,3vw,30px) auto 0; border-radius: 3px; background: linear-gradient(90deg,#e1c49a,#f4e4c9) left / 0% 100% no-repeat, rgb(12 10 8 / 72%); box-shadow: inset 0 0 0 1px rgb(244 228 201 / 24%),0 0 12px rgb(225 196 154 / 24%); animation: gs-heading-progress 5s cubic-bezier(.2,.65,.35,1) both; }
@keyframes gs-heading-progress { to { background-size: 100% 100%; } }
@media (prefers-reduced-motion: reduce) {
    .gs-stage-heading { transition: none; }
    .gs-intro-loading .gs-card-space { transition: none; filter: none; }
    .gs-stage-heading::after { animation: none; background: linear-gradient(90deg,#e1c49a,#f4e4c9) left / 36% 100% no-repeat, rgb(12 10 8 / 62%); }
}
/* Keep the mobile camera matched to the visible viewport and reserve the header menu area. */
/* The room index competes visually with the hamburger at every viewport width; card indices are separate. */
html.gs-spatial .gs-room-status__number { display: none !important; }
@media (max-width: 849px) {
    html.gs-spatial .gs-experience { height: calc(var(--experience-height, 100dvh) + var(--gs-header-overlap)) !important; }
    html.gs-spatial .gs-stage { height: var(--gs-stage-height, 100dvh); }
    html.gs-spatial .gs-room-status { display: none !important; }
    html.gs-spatial .gs-stage-heading h1 { margin: 12px 0 8px; font-size: clamp(35px, 9.5vw, 52px); }
    html.gs-spatial .gs-stage-heading .gs-eyebrow { font-size: clamp(10px,2.7vw,12px); }
    html.gs-spatial .gs-stage-heading .gs-stage-claim { flex-direction: column; align-items: center; gap: 5px; margin: 12px 0 0; }
    html.gs-spatial .gs-stage-heading .gs-stage-claim__proof { font-size: clamp(18px,5vw,24px); }
}
/* The menu button keeps the same dark plate as the language switcher. */
.gstudio-home-header .menu-toggle:focus-visible { outline: 2px solid #d1ac80; outline-offset: 3px; }
@media (max-width: 849px) {
    .gs-experience.is-detail-open .gs-card__detail-close {
        position: fixed !important;
        z-index: 100060 !important;
        top: auto !important;
        right: max(14px, env(safe-area-inset-right)) !important;
        bottom: calc(env(safe-area-inset-bottom) + 16px) !important;
        left: auto !important;
        width: 54px !important;
        min-width: 54px !important;
        height: 54px !important;
        min-height: 54px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        font-size: 0 !important;
    }
    .gs-experience.is-detail-open .gs-card__detail-close::before { content: '←'; font-size: 27px; line-height: 1; }
    .gs-experience.is-detail-open .gs-card__detail-close-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}

/* The startup is a foreground reading moment, never a separate UI card. */
html.gs-spatial .gs-stage-heading {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 120;
    display: block;
    box-sizing: border-box;
    width: min(92vw,960px);
    max-width: 960px;
    margin: 0;
    padding: 0 clamp(12px,2vw,24px);
    transform: translate(-50%,-50%);
    isolation: isolate;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    color: #fffaf2;
    text-align: center;
    text-shadow: 0 2px 5px rgb(0 0 0 / 98%),0 8px 28px rgb(0 0 0 / 96%);
    pointer-events: none;
}
html.gs-spatial .gs-stage-heading .gs-stage-claim { justify-content: center; }
html.gs-spatial .gs-stage-heading .gs-stage-lead { margin-left: auto; margin-right: auto; }
html.gs-spatial .gs-stage-heading::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -clamp(30px,6vw,72px) -clamp(18px,7vw,110px);
    border-radius: 50%;
    background: radial-gradient(ellipse at center,rgb(14 12 10 / 86%) 0%,rgb(14 12 10 / 72%) 38%,rgb(14 12 10 / 34%) 67%,transparent 84%);
    filter: blur(7px);
    pointer-events: none;
}
@media (prefers-reduced-transparency: reduce) {
    html.gs-spatial .gs-stage-heading::before { background: radial-gradient(ellipse at center,rgb(14 12 10 / 92%) 0%,rgb(14 12 10 / 78%) 45%,transparent 82%); filter: none; }
}

/* ---- Card carousel rail, side card steppers, schedule card (v0.2.27) ---- */
.gs-overview-nav__step, .gs-card-step { display: none; }
html.gs-spatial .gs-stage .gs-overview-nav {
    right: clamp(12px,2vw,30px); width: 190px; align-items: flex-end; gap: 6px; pointer-events: none;
}
html.gs-spatial .gs-overview-nav__track {
    display: flex; flex-direction: column; align-items: flex-end; gap: 7px;
    width: 100%; max-height: min(62svh,560px); padding: 4px 2px;
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
    scrollbar-width: none; scroll-snap-type: y proximity; pointer-events: none;
}
html.gs-spatial .gs-overview-nav__track::-webkit-scrollbar { display: none; }
html.gs-spatial .gs-overview-nav.is-scrollable .gs-overview-nav__track {
    -webkit-mask-image: linear-gradient(180deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);
    mask-image: linear-gradient(180deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);
}
html.gs-spatial .gs-overview-nav__item { flex: 0 0 auto; scroll-snap-align: center; pointer-events: auto; }
.gs-overview-nav__item.is-current { border-color: #f0d4a8; background: rgb(66 55 41 / 97%); box-shadow: 0 0 0 2px rgb(240 212 168 / 32%),0 6px 18px rgb(12 10 8 / 35%); }
.gs-overview-nav__item.is-current .gs-overview-nav__number { background: linear-gradient(145deg,#fff1d4,#e2b97c); }
html.gs-spatial .gs-overview-nav.is-scrollable .gs-overview-nav__step {
    display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 24px; padding: 0; pointer-events: auto;
    border: 1px solid rgb(209 172 128 / 48%); border-radius: 999px; background: rgb(38 35 31 / 86%); color: #f3e8d8; cursor: pointer;
}
.gs-overview-nav__step > span { width: 8px; height: 8px; border: solid currentColor; border-width: 2px 2px 0 0; }
.gs-overview-nav__step--prev > span { transform: translateY(2px) rotate(-45deg); }
.gs-overview-nav__step--next > span { transform: translateY(-2px) rotate(135deg); }
.gs-overview-nav__step:disabled { opacity: .35; cursor: default; }
.gs-overview-nav__step:not(:disabled):hover { border-color: #e3c398; background: rgb(49 42 33 / 97%); }
html.gs-intro-loading .gs-overview-nav, html.gs-intro-loading .gs-card-step { opacity: 0; pointer-events: none; }

/* Side card steppers: visible in the spatial overview and in the open (reading) state. */
.gs-experience.is-free-mode:not(.is-detail-open) .gs-card-step, .gs-experience.is-detail-open .gs-card-step {
    display: grid; place-items: center; width: 46px; height: 46px; padding: 0;
    border: 1px solid rgb(209 172 128 / 60%); border-radius: 50%;
    background: rgb(38 35 31 / 88%); color: #f3e8d8; font-size: 22px; line-height: 1; cursor: pointer;
    box-shadow: 0 8px 22px rgb(12 10 8 / 32%); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    transition: background-color 160ms ease,border-color 160ms ease,transform 160ms ease;
}
.gs-experience.is-free-mode:not(.is-detail-open) .gs-card-step { position: absolute; top: 50%; z-index: 23; transform: translateY(-50%); }
.gs-experience.is-free-mode:not(.is-detail-open) .gs-card-step--prev { left: clamp(10px,2vw,28px); }
.gs-experience.is-free-mode:not(.is-detail-open) .gs-card-step--next { right: calc(var(--gs-overview-nav-gutter,0px) + clamp(10px,1.6vw,22px)); }
.gs-card-step:hover { border-color: #efcca0; background: #302b25; }
.gs-card-step:focus-visible { outline: 2px solid #f0d4a8; outline-offset: 3px; }
.gs-experience.is-detail-open .gs-card-step { position: fixed; top: 50%; z-index: 100060; transform: translateY(-50%); }
.gs-experience.is-detail-open .gs-card-step--prev { left: 18px; }
.gs-experience.is-detail-open .gs-card-step--next { right: 18px; }
@media (min-width: 850px) {
    .gs-experience.is-detail-open .gs-stage { padding-inline: 84px; }
}

/* Phones: rail is a horizontal swipe carousel under the header; steppers sit on the card edges. */
@media (max-width: 849px) {
    html.gs-spatial .gs-stage .gs-overview-nav {
        top: 76px; right: 0; left: 0; width: auto; transform: none;
        flex-direction: row; align-items: center; justify-content: center; gap: 4px; padding-inline: 10px;
    }
    html.gs-spatial .gs-overview-nav__track {
        flex-direction: row; align-items: center; width: auto; max-width: 100%; max-height: none; padding: 3px 4px;
        overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; gap: 6px;
    }
    html.gs-spatial .gs-overview-nav.is-scrollable .gs-overview-nav__track {
        -webkit-mask-image: linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);
        mask-image: linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);
    }
    html.gs-spatial .gs-overview-nav__item { flex-direction: row; min-width: 34px; min-height: 34px; }
    html.gs-spatial .gs-overview-nav__number { flex-basis: 28px; width: 28px; height: 28px; }
    html.gs-spatial .gs-overview-nav__label { display: none; }
    html.gs-spatial .gs-overview-nav.is-scrollable .gs-overview-nav__step { width: 26px; height: 34px; }
    .gs-overview-nav__step--prev > span { transform: rotate(-135deg); }
    .gs-overview-nav__step--next > span { transform: rotate(45deg); }
    .gs-experience.is-free-mode:not(.is-detail-open) .gs-card-step { top: auto; bottom: calc(env(safe-area-inset-bottom) + 16px); transform: none; width: 44px; height: 44px; }
    .gs-experience.is-free-mode:not(.is-detail-open) .gs-card-step--prev { left: 14px; }
    .gs-experience.is-free-mode:not(.is-detail-open) .gs-card-step--next { right: auto; left: 66px; }
    .gs-experience.is-detail-open .gs-card-step { top: auto; bottom: calc(env(safe-area-inset-bottom) + 18px); transform: none; width: 48px; height: 48px; }
    .gs-experience.is-detail-open .gs-card-step--prev { left: 14px; }
    .gs-experience.is-detail-open .gs-card-step--next { left: 70px; right: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .gs-card-step, .gs-overview-nav__step { transition: none; }
}

/* Card 14: learning schedule with a rolling flip calendar. */
.gs-panel.gs-finale.gs-schedule-card .gs-panel__surface {
    background: linear-gradient(180deg,rgb(20 17 13 / 56%),rgb(20 17 13 / 70%)),url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNjAwIDkwMCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgc2xpY2UiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjAiIHkxPSIwIiB4Mj0iMSIgeTI9IjEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzJiMjQxYyIvPjxzdG9wIG9mZnNldD0iLjU1IiBzdG9wLWNvbG9yPSIjMWMxODEzIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMTQxMTBkIi8+PC9saW5lYXJHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImciIGN4PSIuNzgiIGN5PSIuMTIiIHI9Ii43Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNkOWFiNmMiIHN0b3Atb3BhY2l0eT0iLjQyIi8+PHN0b3Agb2Zmc2V0PSIuNSIgc3RvcC1jb2xvcj0iI2E1Nzg0YSIgc3RvcC1vcGFjaXR5PSIuMTIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhNTc4NGEiIHN0b3Atb3BhY2l0eT0iMCIvPjwvcmFkaWFsR3JhZGllbnQ+PHJhZGlhbEdyYWRpZW50IGlkPSJ2IiBjeD0iLjUiIGN5PSIuNSIgcj0iLjc1Ij48c3RvcCBvZmZzZXQ9Ii41NSIgc3RvcC1jb2xvcj0iIzAwMCIgc3RvcC1vcGFjaXR5PSIwIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDAwIiBzdG9wLW9wYWNpdHk9Ii41NSIvPjwvcmFkaWFsR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgZmlsbD0idXJsKCNiKSIvPjxnIHRyYW5zZm9ybT0icm90YXRlKC00IDgwMCA0NTApIj48cmVjdCB4PSIxMjAiIHk9IjE1MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA4NSIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzOCIgeT0iMTkyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjE8L3RleHQ+PHJlY3QgeD0iMzIwIiB5PSIxNTAiIHdpZHRoPSIxOTAiIGhlaWdodD0iMTIwIiByeD0iMTQiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4wNTAiIHN0cm9rZT0iI2U0Yzk5YiIgc3Ryb2tlLW9wYWNpdHk9IjAuMjIiLz48dGV4dCB4PSIzMzgiIHk9IjE5MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4yPC90ZXh0PjxyZWN0IHg9IjUyMCIgeT0iMTUwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iNTM4IiB5PSIxOTIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MzwvdGV4dD48cmVjdCB4PSI3MjAiIHk9IjE1MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA4NSIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjczOCIgeT0iMTkyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjQ8L3RleHQ+PHJlY3QgeD0iOTIwIiB5PSIxNTAiIHdpZHRoPSIxOTAiIGhlaWdodD0iMTIwIiByeD0iMTQiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4wNTAiIHN0cm9rZT0iI2U0Yzk5YiIgc3Ryb2tlLW9wYWNpdHk9IjAuMjIiLz48dGV4dCB4PSI5MzgiIHk9IjE5MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij41PC90ZXh0PjxyZWN0IHg9IjExMjAiIHk9IjE1MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjExMzgiIHk9IjE5MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij42PC90ZXh0PjxyZWN0IHg9IjEzMjAiIHk9IjE1MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA4NSIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzMzgiIHk9IjE5MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij43PC90ZXh0PjxyZWN0IHg9IjEyMCIgeT0iMjgwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iMTM4IiB5PSIzMjIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+ODwvdGV4dD48cmVjdCB4PSIzMjAiIHk9IjI4MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjMzOCIgeT0iMzIyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjk8L3RleHQ+PHJlY3QgeD0iNTIwIiB5PSIyODAiIHdpZHRoPSIxOTAiIGhlaWdodD0iMTIwIiByeD0iMTQiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4wODUiIHN0cm9rZT0iI2U0Yzk5YiIgc3Ryb2tlLW9wYWNpdHk9IjAuMjIiLz48dGV4dCB4PSI1MzgiIHk9IjMyMiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4xMDwvdGV4dD48cmVjdCB4PSI3MjAiIHk9IjI4MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjczOCIgeT0iMzIyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjExPC90ZXh0PjxyZWN0IHg9IjkyMCIgeT0iMjgwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iOTM4IiB5PSIzMjIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MTI8L3RleHQ+PHJlY3QgeD0iMTEyMCIgeT0iMjgwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDg1IiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iMTEzOCIgeT0iMzIyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjEzPC90ZXh0PjxyZWN0IHg9IjEzMjAiIHk9IjI4MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzMzgiIHk9IjMyMiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4xNDwvdGV4dD48cmVjdCB4PSIxMjAiIHk9IjQxMCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzOCIgeT0iNDUyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjE1PC90ZXh0PjxyZWN0IHg9IjMyMCIgeT0iNDEwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDg1IiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iMzM4IiB5PSI0NTIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MTY8L3RleHQ+PHJlY3QgeD0iNTIwIiB5PSI0MTAiIHdpZHRoPSIxOTAiIGhlaWdodD0iMTIwIiByeD0iMTQiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4wNTAiIHN0cm9rZT0iI2U0Yzk5YiIgc3Ryb2tlLW9wYWNpdHk9IjAuMjIiLz48dGV4dCB4PSI1MzgiIHk9IjQ1MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4xNzwvdGV4dD48cmVjdCB4PSI3MjAiIHk9IjQxMCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjczOCIgeT0iNDUyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjE4PC90ZXh0PjxyZWN0IHg9IjkyMCIgeT0iNDEwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDg1IiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iOTM4IiB5PSI0NTIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MTk8L3RleHQ+PHJlY3QgeD0iMTEyMCIgeT0iNDEwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iMTEzOCIgeT0iNDUyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjIwPC90ZXh0PjxyZWN0IHg9IjEzMjAiIHk9IjQxMCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzMzgiIHk9IjQ1MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4yMTwvdGV4dD48cmVjdCB4PSIxMjAiIHk9IjU0MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA4NSIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzOCIgeT0iNTgyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjIyPC90ZXh0PjxyZWN0IHg9IjMyMCIgeT0iNTQwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iMzM4IiB5PSI1ODIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MjM8L3RleHQ+PHJlY3QgeD0iNTIwIiB5PSI1NDAiIHdpZHRoPSIxOTAiIGhlaWdodD0iMTIwIiByeD0iMTQiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4wNTAiIHN0cm9rZT0iI2U0Yzk5YiIgc3Ryb2tlLW9wYWNpdHk9IjAuMjIiLz48dGV4dCB4PSI1MzgiIHk9IjU4MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4yNDwvdGV4dD48cmVjdCB4PSI3MjAiIHk9IjU0MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA4NSIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjczOCIgeT0iNTgyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjI1PC90ZXh0PjxyZWN0IHg9IjkyMCIgeT0iNTQwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iOTM4IiB5PSI1ODIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MjY8L3RleHQ+PHJlY3QgeD0iMTEyMCIgeT0iNTQwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iMTEzOCIgeT0iNTgyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjI3PC90ZXh0PjxyZWN0IHg9IjEzMjAiIHk9IjU0MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA4NSIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzMzgiIHk9IjU4MiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4yODwvdGV4dD48cmVjdCB4PSIxMjAiIHk9IjY3MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjx0ZXh0IHg9IjEzOCIgeT0iNzEyIiBmb250LWZhbWlseT0iTW9udHNlcnJhdCxBcmlhbCxzYW5zLXNlcmlmIiBmb250LXNpemU9IjI2IiBmb250LXdlaWdodD0iNjAwIiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMjYiPjI5PC90ZXh0PjxyZWN0IHg9IjMyMCIgeT0iNjcwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHRleHQgeD0iMzM4IiB5PSI3MTIiIGZvbnQtZmFtaWx5PSJNb250c2VycmF0LEFyaWFsLHNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMjYiIGZvbnQtd2VpZ2h0PSI2MDAiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4yNiI+MzA8L3RleHQ+PHJlY3QgeD0iNTIwIiB5PSI2NzAiIHdpZHRoPSIxOTAiIGhlaWdodD0iMTIwIiByeD0iMTQiIGZpbGw9IiNmM2RmYzAiIGZpbGwtb3BhY2l0eT0iMC4wODUiIHN0cm9rZT0iI2U0Yzk5YiIgc3Ryb2tlLW9wYWNpdHk9IjAuMjIiLz48dGV4dCB4PSI1MzgiIHk9IjcxMiIgZm9udC1mYW1pbHk9Ik1vbnRzZXJyYXQsQXJpYWwsc2Fucy1zZXJpZiIgZm9udC1zaXplPSIyNiIgZm9udC13ZWlnaHQ9IjYwMCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjI2Ij4zMTwvdGV4dD48cmVjdCB4PSI3MjAiIHk9IjY3MCIgd2lkdGg9IjE5MCIgaGVpZ2h0PSIxMjAiIHJ4PSIxNCIgZmlsbD0iI2YzZGZjMCIgZmlsbC1vcGFjaXR5PSIwLjA1MCIgc3Ryb2tlPSIjZTRjOTliIiBzdHJva2Utb3BhY2l0eT0iMC4yMiIvPjxyZWN0IHg9IjkyMCIgeT0iNjcwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHJlY3QgeD0iMTEyMCIgeT0iNjcwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDg1IiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PHJlY3QgeD0iMTMyMCIgeT0iNjcwIiB3aWR0aD0iMTkwIiBoZWlnaHQ9IjEyMCIgcng9IjE0IiBmaWxsPSIjZjNkZmMwIiBmaWxsLW9wYWNpdHk9IjAuMDUwIiBzdHJva2U9IiNlNGM5OWIiIHN0cm9rZS1vcGFjaXR5PSIwLjIyIi8+PC9nPjxyZWN0IHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgZmlsbD0idXJsKCNnKSIvPjxyZWN0IHdpZHRoPSIxNjAwIiBoZWlnaHQ9IjkwMCIgZmlsbD0idXJsKCN2KSIvPjwvc3ZnPg==") center / cover no-repeat #1b1712; color: #f8eee0;
}
.gs-schedule-card .gs-final-logo { width: min(210px,46%); margin: 8px auto 2px; }
.gs-schedule-card .gs-eyebrow { color: #e0c39c; }
.gs-flipcal { display: flex; flex-direction: column; align-items: center; gap: 8px; margin: 12px auto 8px; }
.gs-flipcal__label { color: #d8b48a; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.gs-flipcal__page {
    position: relative; display: grid; width: 148px; overflow: hidden; border-radius: 14px;
    background: linear-gradient(180deg,#fbf3e4,#eadbc2); color: #2b241c; text-align: center;
    box-shadow: 0 16px 34px rgb(0 0 0 / 45%),0 0 0 1px rgb(255 255 255 / 12%),inset 0 -6px 12px rgb(122 88 50 / 14%);
}
.gs-flipcal__page::before, .gs-flipcal__page::after {
    content: ''; position: absolute; top: 5px; z-index: 2; width: 9px; height: 9px; border-radius: 50%;
    background: #3b3128; box-shadow: inset 0 1px 2px rgb(0 0 0 / 60%);
}
.gs-flipcal__page::before { left: 22px; }
.gs-flipcal__page::after { right: 22px; }
.gs-flipcal__month {
    --cell: 28px; display: block; height: var(--cell); overflow: hidden; background: linear-gradient(180deg,#9a6a3d,#7c5129);
    color: #fff5e3; font-size: 14px; font-weight: 700; letter-spacing: .14em; line-height: var(--cell); text-transform: uppercase;
}
.gs-flipcal__day { display: flex; justify-content: center; align-items: center; min-height: 68px; font-size: 62px; font-weight: 700; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.gs-flipcal__digit { --cell: 68px; display: block; width: .62em; height: var(--cell); overflow: hidden; line-height: var(--cell); }
.gs-flipcal__year { display: block; padding: 0 0 7px; color: #7b6a58; font-size: 12px; font-weight: 600; letter-spacing: .18em; }
.gs-flipcal__strip { display: block; will-change: transform; }
.gs-flipcal__strip > span { display: block; height: var(--cell); line-height: var(--cell); }
.gs-schedule-card h2 { margin: 10px auto 6px; }
@media (prefers-reduced-motion: reduce) { .gs-flipcal__strip { transition: none !important; } }
html.gs-spatial .gs-schedule-card.gs-finale.gs-panel .gs-finale__content { padding: 16px 28px 14px; }
html.gs-spatial .gs-schedule-card.gs-finale.gs-panel .gs-final-logo { width: min(190px,44%); margin: 6px auto 0; }
html.gs-spatial .gs-schedule-card.gs-finale.gs-panel h2 { font-size: clamp(24px,2.6vw,34px); }
html.gs-spatial .gs-schedule-card.gs-finale.gs-panel .gs-final-actions { margin: 10px 0 6px; }
