/* ==========================================================================
   Goldstar Allergy — theme styles
   Loaded on the front end and inside the block editor canvas.
   theme.json owns colors / type / spacing; this file owns components,
   the header + footer chrome, and motion.
   ========================================================================== */

:root {
	--gs-heading: var(--wp--preset--font-family--heading);
	--gs-sunrise: linear-gradient(135deg, #FF7A5C 0%, #FFC94D 100%);
	--gs-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A4F66' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--gs-sunrise-rev: linear-gradient(135deg, #FFC94D 0%, #FF7A5C 100%);
	--gs-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--gs-ink: #FFFFFF;
	--gs-ink-soft: #CFE6EC;
	--gs-ink-faint: #9DC4CD;
	--gs-line: rgba(255, 255, 255, 0.12);
	--gs-pulse-rgb: 255, 201, 77;
}

[class*="goldstar-"], [class*="goldstar-"] * { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--gs-header-h, 5rem) + 1rem);
}

/* --------------------------------------------------------------------------
   Block styles + small utilities used by patterns
   -------------------------------------------------------------------------- */
.wp-block-group.is-style-card { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: 22px; box-shadow: var(--wp--preset--shadow--soft); padding: var(--wp--preset--spacing--60); }
/* Check bullet: one component for trust strips, fact lists (.goldstar-check) and
   checklists in page content (.is-style-checks). The glyph is a background image, so
   it is centered in the circle by definition instead of by hand-tuned offsets. */
.goldstar-check, .wp-block-list.is-style-checks li::before { display: inline-block; flex: none; width: 1.25rem; height: 1.25rem; border-radius: 999px; background: var(--wp--preset--color--mint) var(--gs-check) center / .75rem no-repeat; box-shadow: inset 0 0 0 2px rgba(32, 48, 58, .08); }
.wp-block-list.is-style-checks { list-style: none; margin-left: 0; padding-left: 0; }
.wp-block-list.is-style-checks li { position: relative; padding-left: 2rem; margin-bottom: .75rem; }
/* Centered on the first text line: half the 1.7 line-height minus half the circle. */
.wp-block-list.is-style-checks li::before { content: ""; position: absolute; left: 0; top: calc(.85em - .625rem); }
.wp-block-image.is-style-blob img { border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; }
.goldstar-eyebrow.has-text-align-center { display: block; }
.goldstar-eyebrow { display: inline-block; font-family: var(--gs-heading); font-weight: 700; font-size: var(--wp--preset--font-size--xs); letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.goldstar-badge { display: inline-flex; align-items: center; justify-content: center; width: 3.75rem; height: 3.75rem; border-radius: 999px; font-size: 1.75rem; line-height: 1; color: var(--wp--preset--color--primary-dark); }
.goldstar-badge svg { width: 1.75rem; height: 1.75rem; display: block; }
.goldstar-logo-mark { display: inline-flex; align-items: center; color: var(--wp--preset--color--sun); }
.goldstar-logo-mark svg { width: 1.5rem; height: 1.5rem; display: block; }
.goldstar-tile-icon { display: inline-flex; align-items: center; color: var(--wp--preset--color--primary); }
.goldstar-tile-icon svg { width: 1.75rem; height: 1.75rem; display: block; }
.goldstar-404-icon { display: flex; justify-content: center; color: var(--wp--preset--color--primary); }
.goldstar-404-icon svg { width: 3.5rem; height: 3.5rem; display: block; }

/* Icon primitives */
.goldstar-icon { display: block; width: 1em; height: 1em; flex: none; }
.goldstar-stars { display: inline-flex; align-items: center; gap: .1rem; color: var(--wp--preset--color--sun); line-height: 1; vertical-align: middle; }
.goldstar-stars .goldstar-icon { width: 1rem; height: 1rem; }
.goldstar-rating-card .goldstar-stars .goldstar-icon { width: 1.15rem; height: 1.15rem; }
.goldstar-review .goldstar-stars .goldstar-icon { width: .95rem; height: .95rem; }

/* --------------------------------------------------------------------------
   Shared brand lockup (header + footer)
   -------------------------------------------------------------------------- */
/* Brand lockup: transparent star + live-text wordmark (gray on light, white on the footer) */
.goldstar-brand { min-width: 0; }
.goldstar-brand-link { display: inline-flex; align-items: center; text-decoration: none; color: inherit; }
.goldstar-brand-star { display: block; position: relative; z-index: 1; width: 3.6rem; height: 3.6rem; flex: none; filter: drop-shadow(0 3px 8px rgba(244, 181, 58, .3)); transition: transform .5s var(--gs-ease); }
.goldstar-brand-link:hover .goldstar-brand-star { transform: rotate(-10deg) scale(1.06); }
.goldstar-wordmark { display: flex; flex-direction: column; margin-left: -.9rem; padding-top: .1rem; font-family: var(--gs-heading); color: #7D7D7D; line-height: .84; letter-spacing: -.03em; transition: color .2s ease; }
.goldstar-wordmark span:first-child { font-weight: 600; font-size: 1.1rem; padding-left: .55rem; }
.goldstar-wordmark span:last-child { font-weight: 700; font-size: 1.7rem; }
.goldstar-brand-link:hover .goldstar-wordmark { color: var(--wp--preset--color--contrast); }
.goldstar-footer .goldstar-wordmark { color: #E6F3F7; }
.goldstar-footer .goldstar-brand-link:hover .goldstar-wordmark { color: #fff; }
.goldstar-footer .goldstar-brand-star { filter: drop-shadow(0 4px 12px rgba(0, 0, 0, .3)); }

/* --------------------------------------------------------------------------
   Header — sticky wrapper. The two strips above the main bar scroll away
   (negative top offset), the main bar stays pinned. No layout jump.
   -------------------------------------------------------------------------- */
.wp-site-blocks > header:has(.goldstar-header) { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--gs-strip-h, 0px)); z-index: 60; }

/* Top utility bar */
.goldstar-topbar { font-size: .8125rem; padding-top: .5rem; padding-bottom: .5rem; }
.goldstar-topbar .alignwide { gap: 1rem; }
.goldstar-topbar-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 1.25rem; min-width: 0; }
.goldstar-topbar-left { overflow: hidden; flex: 1 1 auto; }
.goldstar-topbar-left li { min-width: 0; }
.goldstar-topbar-left li span { overflow: hidden; text-overflow: ellipsis; }
.goldstar-topbar-right { flex: none; }
.goldstar-topbar-list li { display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap; color: #DBEEF4; }
.goldstar-topbar-list svg { width: .95rem; height: .95rem; flex: none; color: var(--wp--preset--color--sun); }
.goldstar-topbar .goldstar-topbar-phone { display: inline-flex; align-items: center; gap: .45rem; color: #fff; font-family: var(--gs-heading); font-weight: 700; text-decoration: none; transition: color .2s ease; }
.goldstar-topbar .goldstar-topbar-phone:hover { color: var(--wp--preset--color--sun); text-decoration: none; }
.goldstar-topbar-espanol { padding: .15rem .65rem .15rem .55rem; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); font-weight: 600; }
.goldstar-topbar-espanol a { display: inline-flex; align-items: center; gap: .45rem; color: inherit; text-decoration: none; transition: color .2s ease; }
.goldstar-topbar-espanol a:hover, .goldstar-topbar-espanol a:focus-visible { color: var(--wp--preset--color--sun); text-decoration: none; }
.goldstar-dot { display: inline-block; width: .5rem; height: .5rem; border-radius: 999px; background: var(--wp--preset--color--sun); box-shadow: 0 0 0 3px rgba(var(--gs-pulse-rgb), .25); animation: gs-pulse 2.4s ease-in-out infinite; }
.goldstar-dot-mint { --gs-pulse-rgb: 126, 212, 166; background: var(--wp--preset--color--mint); }

/* Main bar */
/* The glass layer lives on ::before, never on the bar itself: a backdrop-filter
   would make the bar the containing block for the fixed mobile-menu overlay. */
.goldstar-header { position: relative; isolation: isolate; padding-top: .8rem; padding-bottom: .8rem; border-bottom: 1px solid var(--wp--preset--color--border); transition: box-shadow .35s ease; }
.goldstar-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(255, 255, 255, .86); -webkit-backdrop-filter: saturate(1.6) blur(14px); backdrop-filter: saturate(1.6) blur(14px); transition: background .35s ease; }
.goldstar-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--gs-sunrise); opacity: 0; transform: scaleX(0); transform-origin: left; transition: opacity .35s ease, transform .6s var(--gs-ease); }
body.goldstar-scrolled .goldstar-header { box-shadow: 0 12px 32px -14px rgba(10, 79, 102, .28); }
body.goldstar-scrolled .goldstar-header::before { background: rgba(255, 255, 255, .94); }
body.goldstar-scrolled .goldstar-header::after { opacity: 1; transform: scaleX(1); }
.goldstar-header .goldstar-header-row { gap: var(--wp--preset--spacing--50); }
.goldstar-js .goldstar-brand, .goldstar-js .goldstar-header-actions { animation: gs-fade-down .7s var(--gs-ease) both; }

/* Navigation */
.goldstar-header .goldstar-nav { flex: 1 1 auto; min-width: 0; }
.goldstar-nav .wp-block-navigation-item__content { position: relative; padding: .45rem 0; color: var(--wp--preset--color--contrast); transition: color .2s ease; }
.goldstar-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px; background: var(--gs-sunrise); transform: scaleX(0); transform-origin: right; transition: transform .35s var(--gs-ease); }
.goldstar-nav .wp-block-navigation-item__content:hover, .goldstar-nav .wp-block-navigation-item__content:focus-visible { color: var(--wp--preset--color--primary-dark); text-decoration: none; }
.goldstar-nav .wp-block-navigation-item__content:hover::after, .goldstar-nav .wp-block-navigation-item__content:focus-visible::after, .goldstar-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); transform-origin: left; }

/* Services dropdown. Selectors are deep enough to beat core's own submenu colors. */
.goldstar-header .goldstar-nav .has-child .wp-block-navigation__submenu-container { z-index: 20; min-width: 15rem; padding: .5rem; border: 1px solid var(--wp--preset--color--border); border-radius: 18px; background: var(--wp--preset--color--surface); box-shadow: var(--wp--preset--shadow--card); }
.goldstar-header .goldstar-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { border-radius: 12px; }
.goldstar-header .goldstar-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { flex: 1 1 auto; padding: .5rem .75rem; border-radius: 12px; font-size: var(--wp--preset--font-size--sm); transition: background .2s ease, color .2s ease; }
.goldstar-header .goldstar-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
/* [href] matters: a "Soon" item is an anchor with no href, and must not take hover styling. */
.goldstar-header .goldstar-nav .wp-block-navigation__submenu-container a[href].wp-block-navigation-item__content:hover, .goldstar-header .goldstar-nav .wp-block-navigation__submenu-container a[href].wp-block-navigation-item__content:focus-visible { background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary-dark); }

/* A service whose page isn't built yet: rendered without an href, so it is inert. */
.goldstar-header .goldstar-nav .wp-block-navigation__submenu-container .goldstar-nav-soon { display: flex; align-items: center; gap: .5rem; padding-right: .75rem; }
.goldstar-nav .goldstar-nav-soon > .wp-block-navigation-item__content { color: var(--wp--preset--color--muted); cursor: default; }
.goldstar-nav .goldstar-nav-soon::after { content: "Soon"; flex: none; padding: .12rem .45rem; border-radius: 999px; background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary-dark); font-family: var(--gs-heading); font-size: .6rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

/* Hamburger + overlay */
.goldstar-nav .wp-block-navigation__responsive-container-open { width: 2.75rem; height: 2.75rem; border-radius: 12px; background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary-dark); align-items: center; justify-content: center; transition: background .2s ease, transform .2s var(--gs-ease); }
.goldstar-nav .wp-block-navigation__responsive-container-open:hover { background: #C7E8F0; transform: scale(1.04); }
.goldstar-nav .wp-block-navigation__responsive-container-open svg { width: 1.5rem; height: 1.5rem; }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; width: auto; height: 100vh; height: 100dvh; display: flex; flex-direction: column; overflow: auto; z-index: 100000; padding: 1.5rem; background-color: var(--wp--preset--color--primary-dark); color: var(--wp--preset--color--base); background-image: radial-gradient(50rem 30rem at 100% 0%, rgba(14, 124, 157, .55), transparent 65%); animation: gs-drawer-in .35s var(--gs-ease) both; }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { width: 100%; }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: flex; flex-direction: column; align-items: flex-start; width: 100%; }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .25rem; width: 100%; }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { display: block; width: 100%; }
.goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: 1.25rem; right: 1.25rem; width: 2.75rem; height: 2.75rem; border-radius: 12px; background: rgba(255, 255, 255, .1); color: #fff; display: grid; place-items: center; }
.goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: clamp(1.5rem, 6vw, 2.25rem); font-weight: 600; padding: .55rem 0; color: #fff; letter-spacing: -.01em; }
.goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after { height: 3px; bottom: .3rem; }
.goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--sun); }
.goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { animation: gs-rise .6s var(--gs-ease) both; }
.goldstar-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .06s; }
.goldstar-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .12s; }
.goldstar-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .18s; }
.goldstar-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: .24s; }
.goldstar-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(6) { animation-delay: .30s; }
/* Core forces submenus open inside the overlay, so the dropdown card is stripped
   back to an indented list on the dark drawer. */
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { min-width: 0; padding: 0 0 .5rem 1rem; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .3rem 0; font-size: clamp(1.05rem, 4vw, 1.4rem); font-weight: 500; color: rgba(255, 255, 255, .82); }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a[href].wp-block-navigation-item__content:hover { background: transparent; color: var(--wp--preset--color--sun); }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .goldstar-nav-soon { display: flex; padding-right: 0; }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .goldstar-nav-soon > .wp-block-navigation-item__content { color: rgba(255, 255, 255, .5); }
.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container.is-menu-open .goldstar-nav-soon::after { background: rgba(255, 255, 255, .14); color: #fff; }

/* Header actions */
.goldstar-header .goldstar-header-actions { flex: none; gap: .75rem; }
.goldstar-call { display: inline-flex; align-items: center; gap: .65rem; padding: .3rem .95rem .3rem .3rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: #fff; color: var(--wp--preset--color--contrast); text-decoration: none; font-family: var(--gs-heading); font-weight: 600; font-size: .9rem; line-height: 1.1; white-space: nowrap; transition: border-color .2s ease, box-shadow .25s ease, transform .25s var(--gs-ease), color .2s ease; }
.goldstar-call-icon { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 999px; background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary); transition: background .25s ease, color .25s ease, transform .4s var(--gs-ease); }
.goldstar-call-icon svg { width: 1rem; height: 1rem; }
.goldstar-call-text { display: flex; flex-direction: column; gap: .15rem; }
.goldstar-call-text small { font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted); line-height: 1; }
.goldstar-call:hover, .goldstar-call:focus-visible { border-color: var(--wp--preset--color--primary); box-shadow: 0 10px 24px -12px rgba(14, 124, 157, .55); color: var(--wp--preset--color--primary-dark); text-decoration: none; transform: translateY(-1px); }
.goldstar-call:hover .goldstar-call-icon, .goldstar-call:focus-visible .goldstar-call-icon { background: var(--wp--preset--color--primary); color: #fff; transform: rotate(-14deg) scale(1.05); }

/* Language switcher (EN | ES) — always visible, including next to the mobile menu button */
.goldstar-lang { display: inline-flex; align-items: center; gap: .15rem; padding: .2rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: #fff; font-family: var(--gs-heading); font-size: .75rem; font-weight: 700; letter-spacing: .06em; line-height: 1; }
.goldstar-lang-icon { flex: none; width: 1rem; height: 1rem; margin: 0 .2rem 0 .45rem; color: var(--wp--preset--color--primary); }
.goldstar-lang a { display: inline-grid; place-items: center; min-width: 2.4rem; height: 2.1rem; padding: 0 .6rem; border-radius: 999px; color: var(--wp--preset--color--muted); text-decoration: none; transition: background .2s ease, color .2s ease; }
.goldstar-lang a:hover, .goldstar-lang a:focus-visible { background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary-dark); text-decoration: none; }
.goldstar-lang a[aria-current] { background: var(--wp--preset--color--primary-dark); color: #fff; }

/* Gradient CTA button shine effect (footer, home-why) */
.goldstar-book .wp-block-button__link { position: relative; overflow: hidden; isolation: isolate; color: var(--wp--preset--color--contrast); box-shadow: 0 12px 24px -12px rgba(255, 122, 92, .85); transition: transform .3s var(--gs-ease), box-shadow .3s ease, color .2s ease; }
.goldstar-book .wp-block-button__link::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--gs-sunrise-rev); opacity: 0; transition: opacity .4s ease; }
.goldstar-book .wp-block-button__link::after { content: ""; position: absolute; top: -40%; bottom: -40%; left: 0; width: 35%; z-index: -1; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent); transform: translateX(-160%) skewX(-18deg); transition: transform .75s var(--gs-ease); }
.goldstar-book .wp-block-button__link:hover, .goldstar-book .wp-block-button__link:focus-visible { color: var(--wp--preset--color--contrast); transform: translateY(-2px); box-shadow: 0 18px 32px -14px rgba(255, 122, 92, .95); }
.goldstar-book .wp-block-button__link:hover::before, .goldstar-book .wp-block-button__link:focus-visible::before { opacity: 1; }
.goldstar-book .wp-block-button__link:hover::after, .goldstar-book .wp-block-button__link:focus-visible::after { transform: translateX(380%) skewX(-18deg); }
.goldstar-book .wp-block-button__link:active { transform: translateY(0) scale(.98); }

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.goldstar-footer { position: relative; overflow: hidden; isolation: isolate; color: var(--gs-ink-soft); background-image: radial-gradient(62rem 34rem at 88% -12%, rgba(14, 124, 157, .6), transparent 62%), radial-gradient(40rem 26rem at -8% 108%, rgba(255, 122, 92, .16), transparent 60%); }
.goldstar-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; z-index: 1; background: linear-gradient(90deg, #FF7A5C 0%, #FFC94D 35%, #7ED4A6 70%, #0E7C9D 100%); }
.goldstar-footer .goldstar-footer-watermark { position: absolute; right: -6rem; top: -5rem; width: 30rem; height: 30rem; max-width: none; margin: 0; z-index: -1; color: #fff; opacity: .04; pointer-events: none; animation: gs-drift 22s ease-in-out infinite alternate; }
.goldstar-footer .goldstar-footer-watermark svg { width: 100%; height: 100%; fill: currentColor; display: block; }

.goldstar-footer a { color: var(--gs-ink-soft); text-decoration: none; transition: color .2s ease; }
.goldstar-footer a:hover, .goldstar-footer a:focus-visible { color: var(--wp--preset--color--sun); text-decoration: none; }
.goldstar-footer .goldstar-footer-lede { color: var(--gs-ink-soft); font-size: var(--wp--preset--font-size--sm); max-width: 36ch; }
.goldstar-footer .goldstar-footer-heading { position: relative; padding-bottom: .65rem; color: var(--gs-ink); font-size: .76rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.goldstar-footer .goldstar-footer-heading::after { content: ""; position: absolute; left: 0; bottom: 0; width: 1.75rem; height: 2px; border-radius: 2px; background: var(--gs-sunrise); transition: width .4s var(--gs-ease); }
.goldstar-footer .wp-block-column:hover .goldstar-footer-heading::after { width: 3rem; }

/* Trust chips */
.goldstar-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.goldstar-chips li { display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .8rem; border-radius: 999px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .13); font-family: var(--gs-heading); font-weight: 500; font-size: .78rem; color: #E6F3F7; transition: background .2s ease, border-color .2s ease, transform .25s var(--gs-ease); }
.goldstar-chips li:hover { background: rgba(255, 255, 255, .12); border-color: rgba(255, 201, 77, .55); transform: translateY(-2px); }
.goldstar-chips svg { width: .85rem; height: .85rem; fill: var(--wp--preset--color--sun); }
.goldstar-chips b { color: var(--gs-ink); font-weight: 700; }

/* Social */
.goldstar-footer .wp-block-social-links.goldstar-social .wp-social-link { padding: .3rem; border-radius: 12px; background: rgba(255, 255, 255, .08); transition: background .25s ease, transform .3s var(--gs-ease); }
.goldstar-footer .wp-block-social-links.goldstar-social .wp-social-link:hover { background: var(--gs-sunrise); transform: translateY(-3px); }
.goldstar-footer .wp-block-social-links.goldstar-social .wp-social-link:hover svg { fill: var(--wp--preset--color--contrast); }

/* Explore links */
.goldstar-footer .goldstar-footer-nav { list-style: none; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--sm); }
.goldstar-footer .goldstar-footer-nav li { margin: 0 0 .65rem; }
.goldstar-footer .goldstar-footer-nav li:last-child { margin-bottom: 0; }
.goldstar-footer .goldstar-footer-nav a { display: inline-flex; align-items: center; transition: color .2s ease, transform .3s var(--gs-ease); }
.goldstar-footer .goldstar-footer-nav a::before { content: ""; width: 0; height: 2px; margin-right: 0; border-radius: 2px; background: var(--wp--preset--color--sun); transition: width .3s var(--gs-ease), margin .3s var(--gs-ease); }
.goldstar-footer .goldstar-footer-nav a:hover { transform: translateX(2px); }
.goldstar-footer .goldstar-footer-nav a:hover::before { width: .9rem; margin-right: .45rem; }

/* Contact */
.goldstar-contact-list { list-style: none; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--sm); }
.goldstar-contact-list li { display: flex; gap: .7rem; align-items: flex-start; margin-bottom: .95rem; color: var(--gs-ink-soft); overflow-wrap: anywhere; }
.goldstar-contact-list li:last-child { margin-bottom: 0; }
.goldstar-contact-list svg { width: 1.05rem; height: 1.05rem; flex: none; margin-top: .2em; color: var(--wp--preset--color--sun); }
.goldstar-contact-list address { font-style: normal; line-height: 1.6; }
.goldstar-footer .goldstar-directions { display: inline-flex; align-items: center; gap: .3rem; margin-top: .4rem; font-family: var(--gs-heading); font-weight: 600; font-size: .8rem; color: var(--wp--preset--color--sun); }
.goldstar-footer .goldstar-directions span { display: inline-block; transition: transform .3s var(--gs-ease); }
.goldstar-footer .goldstar-directions:hover { color: #fff; }
.goldstar-footer .goldstar-directions:hover span { transform: translateX(4px); }

/* Hours */
.goldstar-hours { list-style: none; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--sm); }
.goldstar-hours li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px dashed var(--gs-line); color: var(--gs-ink-soft); }
.goldstar-hours li:first-child { padding-top: 0; }
.goldstar-hours li span:first-child { font-family: var(--gs-heading); font-weight: 600; font-size: .85rem; color: var(--gs-ink); }
.goldstar-hours-closed { color: var(--gs-ink-faint); font-style: italic; }
.goldstar-hours-note { display: flex; align-items: center; gap: .55rem; margin: 1rem 0 0; font-family: var(--gs-heading); font-weight: 600; font-size: .8rem; color: var(--wp--preset--color--mint); }

/* Areas served */
.goldstar-footer .goldstar-areas { margin-top: var(--wp--preset--spacing--80); padding-top: var(--wp--preset--spacing--60); border-top: 1px solid var(--gs-line); }
.goldstar-areas-label { margin: 0 0 .85rem; font-family: var(--gs-heading); font-weight: 700; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gs-ink); }
.goldstar-areas-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.goldstar-areas-list li { padding: .34rem .75rem; border-radius: 999px; border: 1px solid var(--gs-line); font-size: .78rem; color: var(--gs-ink-soft); transition: border-color .2s ease, color .2s ease, background .2s ease, transform .25s var(--gs-ease); }
.goldstar-areas-list li:hover { border-color: rgba(126, 212, 166, .6); background: rgba(126, 212, 166, .1); color: #fff; transform: translateY(-2px); }
.goldstar-areas-list li:first-child { background: rgba(255, 201, 77, .14); border-color: rgba(255, 201, 77, .5); color: #fff; font-weight: 600; }

/* Bottom bar */
.goldstar-footer .goldstar-footer-bottom { margin-top: var(--wp--preset--spacing--60); padding-top: var(--wp--preset--spacing--50); border-top: 1px solid var(--gs-line); gap: 1rem 2rem; }
.goldstar-footer .goldstar-footer-legal { margin: 0; font-size: var(--wp--preset--font-size--xs); color: var(--gs-ink-faint); max-width: 62ch; }
.goldstar-footer-meta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 1.25rem; font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--xs); }
.goldstar-to-top { display: inline-flex; align-items: center; gap: .5rem; }
.goldstar-to-top svg { width: 1.75rem; height: 1.75rem; padding: .35rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); transition: transform .35s var(--gs-ease), border-color .2s ease, background .2s ease; }
.goldstar-to-top:hover svg { transform: translateY(-3px); border-color: var(--wp--preset--color--sun); background: rgba(255, 201, 77, .14); }
.goldstar-credit a { color: var(--gs-ink-faint); font-weight: 500; }
.goldstar-credit a:hover { color: var(--wp--preset--color--sun); }

/* Scroll reveal (only when JS is present, so the editor and no-JS stay visible) */
.goldstar-js .goldstar-reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--gs-ease), transform .8s var(--gs-ease); }
.goldstar-js .goldstar-reveal.is-visible { opacity: 1; transform: none; }
.goldstar-js .goldstar-footer-grid > .goldstar-reveal:nth-child(2) { transition-delay: .1s; }
.goldstar-js .goldstar-footer-grid > .goldstar-reveal:nth-child(3) { transition-delay: .2s; }
.goldstar-js .goldstar-footer-grid > .goldstar-reveal:nth-child(4) { transition-delay: .3s; }

/* --------------------------------------------------------------------------
   Mobile quick-action bar: call / directions / book, always within a thumb
   -------------------------------------------------------------------------- */
.goldstar-mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .55rem .75rem calc(.55rem + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid var(--wp--preset--color--border); box-shadow: 0 -12px 32px -18px rgba(10, 79, 102, .4); transform: translateY(110%); animation: gs-slide-up .7s var(--gs-ease) .35s forwards; }
.goldstar-mobile-bar a { display: flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.9rem; border-radius: 14px; font-family: var(--gs-heading); font-weight: 600; font-size: .85rem; color: var(--wp--preset--color--primary-dark); background: var(--wp--preset--color--sky); text-decoration: none; transition: transform .15s ease, background .2s ease; }
.goldstar-mobile-bar a:hover { text-decoration: none; }
.goldstar-mobile-bar a:active { transform: scale(.96); }
.goldstar-mobile-bar a svg { width: 1.1rem; height: 1.1rem; flex: none; }
.goldstar-mobile-bar a.is-primary { background: var(--gs-sunrise); color: var(--wp--preset--color--contrast); box-shadow: 0 10px 20px -10px rgba(255, 122, 92, .8); }
.editor-styles-wrapper .goldstar-mobile-bar { display: none; }

/* --------------------------------------------------------------------------
   Keyframes
   -------------------------------------------------------------------------- */
@keyframes gs-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(var(--gs-pulse-rgb), .25); } 50% { box-shadow: 0 0 0 7px rgba(var(--gs-pulse-rgb), .06); } }
@keyframes gs-drift { from { transform: rotate(-8deg) translateY(0); } to { transform: rotate(6deg) translateY(2rem); } }
@keyframes gs-fade-down { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes gs-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes gs-slide-up { to { transform: translateY(0); } }
@keyframes gs-drawer-in { from { opacity: 0; transform: translateX(6%); } to { opacity: 1; transform: none; } }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1199.98px) {
	.goldstar-call { display: none; }
	.goldstar-topbar-hours { display: none; }
	/* Six top-level items plus the CTA get tight before the hamburger kicks in. */
	.goldstar-header .goldstar-nav .wp-block-navigation__container { gap: var(--wp--preset--spacing--40); }
}

@media (max-width: 1023.98px) {
	.goldstar-header .goldstar-header-row { gap: .75rem; }
	.goldstar-header .goldstar-nav { flex: none; order: 3; }
	.goldstar-header .goldstar-header-actions { order: 2; margin-left: auto; }
}

/* Between WP's 600px nav breakpoint and 1024px the inline menu would collide
   with the CTA, so keep the hamburger up to 1024px. */
@media (min-width: 600px) and (max-width: 1023.98px) {
	.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.goldstar-header .goldstar-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}

@media (max-width: 899.98px) {
	.goldstar-topbar-left { display: none; }
	.goldstar-topbar .alignwide { justify-content: flex-end; }
	.goldstar-footer { padding-bottom: calc(var(--wp--preset--spacing--60) + 4.75rem) !important; }
	.goldstar-footer .goldstar-footer-watermark { width: 20rem; height: 20rem; right: -7rem; top: -6rem; }
}

@media (min-width: 900px) {
	.goldstar-mobile-bar { display: none; }
}

@media (max-width: 781.98px) {
	.goldstar-footer .goldstar-footer-grid { gap: var(--wp--preset--spacing--60) !important; }
	.goldstar-footer .goldstar-footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 599.98px) {
	.goldstar-topbar-left { display: none; }
	.goldstar-topbar .alignwide { justify-content: space-between; }
	.goldstar-topbar-list { width: 100%; justify-content: space-between; }
	.goldstar-header { padding-top: .6rem; padding-bottom: .6rem; }
	.goldstar-brand-star { width: 2.9rem; height: 2.9rem; }
	.goldstar-wordmark { margin-left: -.7rem; }
	.goldstar-wordmark span:first-child { font-size: .9rem; padding-left: .45rem; }
	.goldstar-wordmark span:last-child { font-size: 1.4rem; }
}

@media (max-width: 479.98px) {
	.goldstar-lang-icon { display: none; }
	.goldstar-lang a { min-width: 2.2rem; padding: 0 .5rem; }
	.goldstar-mobile-bar { grid-template-columns: 1fr 1fr; gap: .4rem; padding-left: .5rem; padding-right: .5rem; }
	.goldstar-mobile-bar a { font-size: .8rem; }
}

/* --------------------------------------------------------------------------
   Motion preferences
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.goldstar-dot, .goldstar-footer .goldstar-footer-watermark, .goldstar-js .goldstar-brand, .goldstar-js .goldstar-header-actions, .goldstar-nav .is-menu-open .wp-block-navigation-item { animation: none; }
	.goldstar-mobile-bar { animation: none; transform: none; }
	.goldstar-js .goldstar-reveal { opacity: 1; transform: none; transition: none; }
	.goldstar-brand-link, .goldstar-call, .goldstar-call-icon, .goldstar-book .wp-block-button__link, .goldstar-book .wp-block-button__link::after, .goldstar-lang a, .goldstar-topbar-espanol a, .goldstar-chips li, .goldstar-areas-list li, .goldstar-footer .goldstar-footer-nav a, .goldstar-to-top svg, .goldstar-nav .wp-block-navigation-item__content::after { transition-duration: .01ms; }
}

/* ==========================================================================
   Home page sections
   ========================================================================== */

/* Shared bits */
.goldstar-arrow-link { display: inline-flex; align-items: center; gap: .35rem; font-family: var(--gs-heading); font-weight: 600; color: var(--wp--preset--color--primary); }
.goldstar-arrow-link span { display: inline-block; transition: transform .3s var(--gs-ease); }
.goldstar-arrow-link:hover { color: var(--wp--preset--color--primary-dark); text-decoration: none; }
.goldstar-arrow-link:hover span { transform: translateX(4px); }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(2) { transition-delay: .07s; }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(3) { transition-delay: .14s; }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(4) { transition-delay: .21s; }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(5) { transition-delay: .28s; }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(6) { transition-delay: .35s; }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(7) { transition-delay: .42s; }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(8) { transition-delay: .49s; }
.goldstar-js .goldstar-grid .goldstar-reveal:nth-child(9) { transition-delay: .56s; }
.goldstar-btn-call .wp-block-button__link, .goldstar-btn-ghost .wp-block-button__link { transition: transform .3s var(--gs-ease), background .25s ease, color .25s ease, border-color .25s ease; }
.goldstar-btn-call .wp-block-button__link:hover { transform: translateY(-2px); background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #fff; }
.goldstar-btn-ghost .wp-block-button__link:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .14); color: #fff; }

/* 1. Hero */
.goldstar-hero { position: relative; overflow: hidden; }
.goldstar-hero::before { content: ""; position: absolute; width: 42rem; height: 42rem; right: -18rem; top: -20rem; border-radius: 50%; background: radial-gradient(closest-side, rgba(219, 241, 246, .9), rgba(219, 241, 246, 0)); pointer-events: none; }
.goldstar-hero-copy > * { position: relative; }
.goldstar-js .goldstar-hero-copy > * { animation: gs-rise .8s var(--gs-ease) both; }
.goldstar-js .goldstar-hero-copy > :nth-child(2) { animation-delay: .08s; }
.goldstar-js .goldstar-hero-copy > :nth-child(3) { animation-delay: .16s; }
.goldstar-js .goldstar-hero-copy > :nth-child(4) { animation-delay: .24s; }
.goldstar-js .goldstar-hero-copy > :nth-child(5) { animation-delay: .32s; }
.goldstar-trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 1.25rem; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }
.goldstar-trust li { display: flex; align-items: center; gap: .5rem; }
.goldstar-trust b { color: var(--wp--preset--color--contrast); }
.goldstar-hero-photo { position: relative; margin: 0; }
.goldstar-hero-photo-frame { position: relative; aspect-ratio: 5 / 4; border-radius: 34% 66% 58% 42% / 46% 38% 62% 54%; overflow: hidden; background: linear-gradient(160deg, #DBF1F6 0%, #FFFFFF 55%, #FFE4DA 100%); box-shadow: var(--wp--preset--shadow--lifted); animation: gs-morph 16s ease-in-out infinite alternate; }
.goldstar-hero-photo-frame img { width: 100%; height: 100%; object-fit: cover; object-position: 54% 42%; display: block; }
.goldstar-float { position: absolute; display: flex; align-items: center; gap: .7rem; padding: .7rem .95rem .7rem .7rem; border-radius: 18px; background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: var(--wp--preset--shadow--card); font-family: var(--gs-heading); line-height: 1.15; animation: gs-bob 6s ease-in-out infinite; }
.goldstar-float b { display: block; font-size: .9rem; color: var(--wp--preset--color--contrast); }
.goldstar-float small { display: block; font-size: .7rem; color: var(--wp--preset--color--muted); font-family: var(--wp--preset--font-family--body); }
.goldstar-float-icon { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 12px; background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary); flex: none; }
.goldstar-float-icon.is-mint { background: #E3F6EC; color: #1E7A4C; }
.goldstar-float-icon svg { width: 1.2rem; height: 1.2rem; }
.goldstar-float-a { left: -1.5rem; top: 12%; }
.goldstar-float-b { right: -1rem; bottom: 12%; animation-delay: -3s; }

/* 2. Insurance bar */
.goldstar-insurance { border-top: 1px solid var(--wp--preset--color--border); border-bottom: 1px solid var(--wp--preset--color--border); }
.goldstar-insurance .goldstar-insurance-row { gap: 1rem 2rem; }
.goldstar-insurance-label { display: inline-flex; align-items: center; gap: .5rem; margin: 0; font-family: var(--gs-heading); font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--primary); white-space: nowrap; }
.goldstar-insurance-label svg { width: 1.1rem; height: 1.1rem; }
.goldstar-plans { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; flex: 1 1 auto; }
.goldstar-plans li { padding: .45rem .95rem; border-radius: 12px; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--base); font-family: var(--gs-heading); font-weight: 600; font-size: .85rem; color: var(--wp--preset--color--primary-dark); letter-spacing: .01em; transition: transform .25s var(--gs-ease), border-color .2s ease, box-shadow .25s ease; }
.goldstar-plans li:hover { transform: translateY(-2px); border-color: var(--wp--preset--color--primary); box-shadow: var(--wp--preset--shadow--soft); }
.goldstar-insurance-more { margin: 0; font-size: var(--wp--preset--font-size--sm); white-space: nowrap; }
.goldstar-insurance-more a { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--gs-heading); font-weight: 600; }
.goldstar-insurance-more a span { transition: transform .3s var(--gs-ease); }
.goldstar-insurance-more a:hover { text-decoration: none; }
.goldstar-insurance-more a:hover span { transform: translateX(4px); }

/* 3. Services grid */
.goldstar-service-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: var(--wp--preset--spacing--50); }
.goldstar-service { position: relative; display: flex; flex-direction: column; gap: .6rem; height: 100%; padding: var(--wp--preset--spacing--60); border-radius: 24px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--soft); color: var(--wp--preset--color--contrast); text-decoration: none; overflow: hidden; transition: transform .4s var(--gs-ease), box-shadow .4s ease, border-color .3s ease; }
.goldstar-service::after { content: ""; position: absolute; inset: auto -30% -40% auto; width: 12rem; height: 12rem; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 201, 77, .28), rgba(255, 201, 77, 0)); opacity: 0; transition: opacity .4s ease, transform .6s var(--gs-ease); transform: scale(.6); pointer-events: none; }
.goldstar-service:hover, .goldstar-service:focus-visible { transform: translateY(-6px); box-shadow: var(--wp--preset--shadow--card); border-color: rgba(14, 124, 157, .25); color: var(--wp--preset--color--contrast); text-decoration: none; }
.goldstar-service:hover::after { opacity: 1; transform: scale(1); }
.goldstar-service-icon { display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 16px; color: var(--wp--preset--color--primary-dark); margin-bottom: .4rem; transition: transform .5s var(--gs-ease); }
.goldstar-service-icon svg { width: 1.6rem; height: 1.6rem; }
.goldstar-service:hover .goldstar-service-icon { transform: rotate(-6deg) scale(1.08); }
.goldstar-service-title { font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--lg); line-height: 1.2; letter-spacing: -.01em; }
.goldstar-service-text { font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); line-height: 1.6; }
.goldstar-service-more { margin-top: auto; padding-top: .5rem; display: inline-flex; align-items: center; gap: .35rem; font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--primary); }
.goldstar-service-more span { transition: transform .3s var(--gs-ease); }
.goldstar-service:hover .goldstar-service-more span { transform: translateX(4px); }

/* 4. Why us */
.goldstar-reasons { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.goldstar-reason { position: relative; padding-left: 3.6rem; }
.goldstar-reason-icon { position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 14px; background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary); transition: background .3s ease, color .3s ease, transform .4s var(--gs-ease); }
.goldstar-reason-icon svg { width: 1.3rem; height: 1.3rem; }
.goldstar-reason:hover .goldstar-reason-icon { background: var(--gs-sunrise); color: var(--wp--preset--color--contrast); transform: rotate(-8deg); }
.goldstar-reason h3 { margin: 0 0 .35rem; font-size: var(--wp--preset--font-size--md); line-height: 1.3; }
.goldstar-reason p { margin: 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }
.goldstar-reason a { display: inline-flex; align-items: center; gap: .3rem; margin-top: .5rem; font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
.goldstar-reason a span { transition: transform .3s var(--gs-ease); }
.goldstar-reason a:hover { text-decoration: none; }
.goldstar-reason a:hover span { transform: translateX(4px); }

/* 5. Meet the doctor */
.goldstar-doctor-photo { position: relative; }
.goldstar-doctor-placeholder { aspect-ratio: 4 / 5; border-radius: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; padding: 2rem; text-align: center; background: linear-gradient(160deg, #FFFFFF 0%, #DBF1F6 100%); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--card); color: var(--wp--preset--color--primary); font-family: var(--gs-heading); font-weight: 600; font-size: .9rem; }
.goldstar-doctor-placeholder svg { width: 3.5rem; height: 3.5rem; opacity: .7; }
.goldstar-doctor-photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center top; border-radius: 32px; box-shadow: var(--wp--preset--shadow--card); display: block; background: #DBF1F6; }
.goldstar-doctor-badge { position: absolute; right: -1rem; bottom: 2rem; display: flex; align-items: center; gap: .65rem; padding: .8rem 1rem; border-radius: 18px; background: var(--wp--preset--color--primary-dark); color: #fff; font-family: var(--gs-heading); font-weight: 600; font-size: .78rem; line-height: 1.25; box-shadow: var(--wp--preset--shadow--lifted); animation: gs-bob 7s ease-in-out infinite; }
.goldstar-doctor-badge svg { width: 1.5rem; height: 1.5rem; color: var(--wp--preset--color--sun); flex: none; }
.goldstar-doctor .goldstar-doctor-creds { font-family: var(--gs-heading); font-weight: 600; color: var(--wp--preset--color--primary); font-size: var(--wp--preset--font-size--sm); }
.goldstar-pullquote { position: relative; margin: 0; padding: 1.25rem 1.5rem 1.25rem 2rem; border-radius: 0 20px 20px 0; background: rgba(255, 255, 255, .7); border-left: 4px solid; border-image: var(--gs-sunrise) 1; font-family: var(--gs-heading); }
.goldstar-pullquote p { margin: 0; font-size: var(--wp--preset--font-size--md); font-weight: 500; line-height: 1.45; color: var(--wp--preset--color--primary-dark); }
.goldstar-pullquote p + p { margin-top: .6rem; font-size: var(--wp--preset--font-size--sm); font-weight: 400; color: var(--wp--preset--color--muted); font-style: italic; }

.goldstar-doctor-facts { list-style: none; margin: 0; padding: 1.1rem 1.35rem; border-radius: 0 20px 20px 0; background: rgba(255, 255, 255, .7); border-left: 4px solid; border-image: var(--gs-sunrise) 1; display: grid; gap: .6rem; }
.goldstar-doctor-facts li { display: flex; align-items: flex-start; gap: .6rem; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--contrast); line-height: 1.5; }
.goldstar-doctor-facts .goldstar-check { margin-top: .15em; }
.goldstar-doctor-nick { display: inline-flex; align-items: center; gap: .4rem; margin: 0 0 .5rem; padding: .3rem .75rem; border-radius: 999px; background: var(--wp--preset--color--accent-soft); font-family: var(--gs-heading); font-weight: 600; font-size: .78rem; color: #B5482D; }

/* 6. Conditions list */
.goldstar-condition-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: .6rem; }
.goldstar-condition-list a { display: flex; flex-direction: column; gap: .2rem; height: 100%; padding: .95rem 1.1rem .95rem 1.35rem; border-radius: 16px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--contrast); text-decoration: none; position: relative; overflow: hidden; transition: transform .3s var(--gs-ease), box-shadow .3s ease, border-color .3s ease; }
.goldstar-condition-list a::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--gs-sunrise); transform: scaleY(0); transform-origin: bottom; transition: transform .35s var(--gs-ease); }
.goldstar-condition-list a:hover { transform: translateX(3px); box-shadow: var(--wp--preset--shadow--soft); border-color: rgba(14, 124, 157, .3); color: var(--wp--preset--color--contrast); }
.goldstar-condition-list a:hover::before { transform: scaleY(1); transform-origin: top; }
.goldstar-condition-list strong { font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--base); }
.goldstar-condition-list span { font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); line-height: 1.5; }

/* 7. Reviews */
.goldstar-reviews .goldstar-reviews-head { gap: 1.5rem 3rem; }
.goldstar-rating-card { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .9rem; align-items: center; padding: 1rem 1.35rem; border-radius: 20px; background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); }
.goldstar-rating-num { grid-row: 1 / 3; font-family: var(--gs-heading); font-weight: 700; font-size: 2.6rem; line-height: 1; letter-spacing: -.03em; color: var(--wp--preset--color--contrast); }
.goldstar-rating-card a { display: inline-flex; align-items: center; gap: .3rem; font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--sm); }
.goldstar-rating-card a span { transition: transform .3s var(--gs-ease); }
.goldstar-rating-card a:hover { text-decoration: none; }
.goldstar-rating-card a:hover span { transform: translateX(4px); }
.goldstar-review-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: var(--wp--preset--spacing--50); }
.goldstar-review { position: relative; display: flex; flex-direction: column; gap: .75rem; padding: var(--wp--preset--spacing--60); border-radius: 24px; background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); transition: transform .4s var(--gs-ease), box-shadow .4s ease; }
.goldstar-review:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--card); }
.goldstar-review-g { position: absolute; right: 1.25rem; top: 1.25rem; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 999px; background: #fff; border: 1px solid var(--wp--preset--color--border); font-family: var(--gs-heading); font-weight: 700; font-size: 1rem; background-image: linear-gradient(135deg, #4285F4, #34A853, #FBBC05, #EA4335); -webkit-background-clip: text; background-clip: text; color: transparent; }
.goldstar-review p { margin: 0; font-weight: 500; line-height: 1.6; color: var(--wp--preset--color--contrast); }
.goldstar-review footer { margin-top: auto; padding-top: .5rem; display: flex; flex-direction: column; gap: .1rem; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
.goldstar-review footer strong { font-family: var(--gs-heading); font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--contrast); }

/* 8. Areas + map */
.goldstar-city-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.goldstar-city-list li > * { display: inline-block; padding: .38rem .85rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--surface); font-family: var(--gs-heading); font-weight: 600; font-size: .8rem; color: var(--wp--preset--color--primary-dark); transition: transform .25s var(--gs-ease), border-color .2s ease, background .2s ease; }
.goldstar-city-list li:first-child > * { background: var(--gs-sunrise); border-color: transparent; color: var(--wp--preset--color--contrast); }
.goldstar-city-list a:hover { transform: translateY(-2px); border-color: var(--wp--preset--color--primary); text-decoration: none; }
.goldstar-map-address { display: flex; align-items: flex-start; gap: .6rem; margin: 1.25rem 0 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }
.goldstar-map-address svg { width: 1.1rem; height: 1.1rem; flex: none; margin-top: .2em; color: var(--wp--preset--color--accent); }
.goldstar-map { position: relative; border-radius: 28px; overflow: hidden; box-shadow: var(--wp--preset--shadow--lifted); border: 6px solid #fff; background: var(--wp--preset--color--sky); }
.goldstar-map iframe { display: block; width: 100%; height: 100%; min-height: 24rem; border: 0; aspect-ratio: 10 / 7; filter: saturate(.9); }

/* 9. Seasonal tip */
.goldstar-tip { display: grid; grid-template-columns: minmax(0, 14rem) 1fr; align-items: center; border-radius: 28px; overflow: hidden; background: var(--wp--preset--color--primary-dark); color: #fff; box-shadow: var(--wp--preset--shadow--lifted); position: relative; }
.goldstar-tip::after { content: ""; position: absolute; inset: 0; background: radial-gradient(40rem 20rem at 100% 0%, rgba(14, 124, 157, .7), transparent 60%); pointer-events: none; }
.goldstar-tip-art { position: relative; z-index: 1; height: 100%; min-height: 12rem; display: grid; place-items: center; background: var(--gs-sunrise); color: var(--wp--preset--color--contrast); }
.goldstar-tip-art svg { width: 6rem; height: 6rem; opacity: .85; animation: gs-drift-x 5s ease-in-out infinite alternate; }
.goldstar-tip-body { position: relative; z-index: 1; padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70); }
.goldstar-tip-tag { display: inline-flex; align-items: center; gap: .5rem; margin: 0 0 .75rem; padding: .3rem .75rem .3rem .6rem; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16); font-family: var(--gs-heading); font-weight: 600; font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: #E6F3F7; }
.goldstar-tip-body h2 { margin: 0 0 .75rem; color: #fff; font-size: var(--wp--preset--font-size--xl); }
.goldstar-tip-body p { margin: 0; color: #CFE6EC; }
.goldstar-tip-actions { margin-top: 1.25rem; }
.goldstar-tip-actions .goldstar-arrow-link { color: var(--wp--preset--color--sun); }
.goldstar-tip-actions .goldstar-arrow-link:hover { color: #fff; }

/* 10. FAQ */
.goldstar-faq-item { border-radius: 18px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--soft); transition: box-shadow .3s ease, border-color .3s ease; }
.goldstar-faq-item + .goldstar-faq-item { margin-top: .75rem; }
.goldstar-faq-item[open], .goldstar-faq-item:hover { border-color: rgba(14, 124, 157, .3); box-shadow: var(--wp--preset--shadow--card); }
.goldstar-faq-item summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.15rem 1.35rem; cursor: pointer; font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--md); color: var(--wp--preset--color--contrast); }
.goldstar-faq-item summary::-webkit-details-marker { display: none; }
.goldstar-faq-item summary:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 2px; border-radius: 18px; }
.goldstar-faq-icon { position: relative; flex: none; width: 2rem; height: 2rem; border-radius: 999px; background: var(--wp--preset--color--sky); transition: background .3s ease, transform .4s var(--gs-ease); }
.goldstar-faq-icon::before, .goldstar-faq-icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: .8rem; height: 2px; border-radius: 2px; background: var(--wp--preset--color--primary-dark); transform: translate(-50%, -50%); transition: transform .4s var(--gs-ease), background .3s ease; }
.goldstar-faq-icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.goldstar-faq-item[open] .goldstar-faq-icon { background: var(--gs-sunrise); transform: rotate(180deg); }
.goldstar-faq-item[open] .goldstar-faq-icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.goldstar-faq-answer { padding: 0 1.35rem 1.25rem; color: var(--wp--preset--color--muted); animation: gs-rise .45s var(--gs-ease) both; }
.goldstar-faq-answer p { margin: 0; }

/* 11. Final CTA */
.goldstar-final-cta { position: relative; overflow: hidden; }
.goldstar-final-cta .goldstar-final-cta-glow { position: absolute; inset: 0; max-width: none; margin: 0; pointer-events: none; background: radial-gradient(38rem 22rem at 15% 110%, rgba(255, 122, 92, .35), transparent 60%), radial-gradient(40rem 24rem at 90% -20%, rgba(126, 212, 166, .35), transparent 60%); }
.goldstar-final-cta > .goldstar-reveal { position: relative; }
.goldstar-cta-meta { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.5rem; font-size: var(--wp--preset--font-size--sm); color: #DBEEF4; }
.goldstar-cta-meta li { display: inline-flex; align-items: center; gap: .45rem; }
.goldstar-cta-meta svg { width: 1rem; height: 1rem; color: var(--wp--preset--color--sun); }

/* ==========================================================================
   One-page home: about, conditions, care team, contact
   ========================================================================== */

/* Hero jump links */
.goldstar-js .goldstar-hero-copy > :nth-child(6) { animation-delay: .4s; }
.goldstar-jump { display: flex; flex-wrap: wrap; gap: .5rem; padding-top: .25rem; }
.goldstar-jump a { padding: .5rem 1rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: rgba(255, 255, 255, .75); font-family: var(--gs-heading); font-weight: 600; font-size: .85rem; color: var(--wp--preset--color--primary-dark); text-decoration: none; transition: transform .25s var(--gs-ease), border-color .2s ease, background .2s ease; }
.goldstar-jump a:hover, .goldstar-jump a:focus-visible { transform: translateY(-2px); border-color: var(--wp--preset--color--primary); background: #fff; text-decoration: none; }

/* Shared: tinted icon tile + uppercase card label */
.goldstar-highlight-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 14px; color: var(--wp--preset--color--primary-dark); flex: none; transition: transform .5s var(--gs-ease); }
.goldstar-highlight-icon svg { width: 1.45rem; height: 1.45rem; }
.goldstar-contact-label { display: flex; align-items: center; gap: .5rem; margin: 0 0 .85rem; font-family: var(--gs-heading); font-weight: 700; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--primary); }
.goldstar-contact-label svg { width: 1.1rem; height: 1.1rem; flex: none; }

/* About */
.goldstar-highlights { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.goldstar-highlights li { display: flex; flex-direction: column; gap: .35rem; padding: 1.25rem; border-radius: 22px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--soft); transition: transform .4s var(--gs-ease), box-shadow .4s ease; }
.goldstar-highlights li:hover { transform: translateY(-4px); box-shadow: var(--wp--preset--shadow--card); }
.goldstar-highlights li:hover .goldstar-highlight-icon { transform: rotate(-6deg) scale(1.08); }
.goldstar-highlights .goldstar-highlight-icon { margin-bottom: .4rem; }
.goldstar-highlights strong { font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--md); line-height: 1.25; color: var(--wp--preset--color--contrast); }
.goldstar-highlights span:last-child { font-size: var(--wp--preset--font-size--sm); line-height: 1.5; color: var(--wp--preset--color--muted); }
.goldstar-affiliation { display: flex; align-items: center; gap: 1.1rem; margin-top: .85rem; padding: 1rem 1.25rem; border-radius: 22px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--contrast); text-decoration: none; transition: border-color .2s ease, box-shadow .3s ease; }
.goldstar-affiliation:hover { border-color: rgba(14, 124, 157, .3); box-shadow: var(--wp--preset--shadow--soft); color: var(--wp--preset--color--contrast); text-decoration: none; }
.goldstar-affiliation img { width: 7.5rem; height: auto; flex: none; }
.goldstar-affiliation span { font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--sm); line-height: 1.35; }
.goldstar-affiliation small { display: block; font-family: var(--wp--preset--font-family--body); font-weight: 400; font-size: .75rem; color: var(--wp--preset--color--muted); }

/* Conditions we treat (dark band) */
.goldstar-treat { position: relative; overflow: hidden; isolation: isolate; }
.goldstar-treat .goldstar-treat-glow { position: absolute; inset: 0; z-index: -1; max-width: none; margin: 0; pointer-events: none; background: radial-gradient(44rem 26rem at 100% 0%, rgba(14, 124, 157, .65), transparent 62%), radial-gradient(36rem 24rem at 0% 100%, rgba(255, 122, 92, .2), transparent 60%); }
.goldstar-treat .goldstar-eyebrow { color: var(--wp--preset--color--sun); }
.goldstar-treat-body { margin-top: var(--wp--preset--spacing--60); }
.goldstar-treat-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.goldstar-treat-grid li { display: flex; align-items: center; gap: .9rem; padding: 1rem 1.15rem; border-radius: 18px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--base); line-height: 1.3; color: #fff; transition: transform .35s var(--gs-ease), background .25s ease, border-color .25s ease; }
.goldstar-treat-grid li:hover { transform: translateY(-3px); background: rgba(255, 255, 255, .1); border-color: rgba(255, 201, 77, .5); }
.goldstar-treat-icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 14px; background: var(--gs-sunrise); color: var(--wp--preset--color--contrast); flex: none; transition: transform .5s var(--gs-ease); }
.goldstar-treat-icon svg { width: 1.3rem; height: 1.3rem; }
.goldstar-treat-grid li:hover .goldstar-treat-icon { transform: rotate(-8deg) scale(1.06); }
.goldstar-treat-foot { margin-top: var(--wp--preset--spacing--60); display: flex; flex-direction: column; align-items: center; gap: .75rem; text-align: center; }
.goldstar-treat-foot p { margin: 0; }
.goldstar-treat-foot > p:first-child { font-family: var(--gs-heading); font-weight: 700; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gs-ink-faint); }
.goldstar-offered { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.goldstar-offered a { display: inline-block; padding: .45rem .95rem; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); font-family: var(--gs-heading); font-weight: 600; font-size: .85rem; color: #E6F3F7; text-decoration: none; transition: transform .25s var(--gs-ease), border-color .2s ease, color .2s ease, background .2s ease; }
.goldstar-offered a:hover, .goldstar-offered a:focus-visible { transform: translateY(-2px); border-color: var(--wp--preset--color--sun); background: rgba(255, 201, 77, .12); color: #fff; text-decoration: none; }
.goldstar-treat-foot .goldstar-treat-unsure { margin-top: .5rem; font-size: var(--wp--preset--font-size--sm); color: var(--gs-ink-soft); }
.goldstar-treat-unsure a { font-weight: 700; color: var(--wp--preset--color--sun); white-space: nowrap; }
.goldstar-treat-unsure a:hover { color: #fff; }

/* Care team */
.goldstar-team-body { margin-top: var(--wp--preset--spacing--60); }
.goldstar-team-lead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); border-radius: 28px; overflow: hidden; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--card); }
.goldstar-team-lead-photo { position: relative; min-height: 100%; background: var(--wp--preset--color--sky); }
.goldstar-team-lead-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.goldstar-team-lead-copy { padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--70); }
.goldstar-team-lead-copy h3 { margin: .35rem 0 .25rem; font-size: var(--wp--preset--font-size--xl); line-height: 1.15; }
.goldstar-team-lead-copy .goldstar-team-creds { margin: 0 0 1rem; font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--primary); }
.goldstar-team-lead-copy > p:not([class]) { margin: 0; color: var(--wp--preset--color--muted); }
.goldstar-team-training { list-style: none; margin: 1.25rem 0 0; padding: 1rem 1.25rem; border-radius: 0 18px 18px 0; background: var(--wp--preset--color--base); border-left: 4px solid; border-image: var(--gs-sunrise) 1; display: grid; gap: .55rem; }
.goldstar-team-training li { display: flex; align-items: flex-start; gap: .6rem; font-size: var(--wp--preset--font-size--sm); line-height: 1.5; }
.goldstar-team-training .goldstar-check { margin-top: .12em; }
.goldstar-team-bio { display: inline-flex; align-items: center; gap: .45rem; margin-top: 1.5rem; padding: .8rem 1.35rem; border-radius: 999px; background: var(--wp--preset--color--primary); color: #fff; font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--sm); text-decoration: none; box-shadow: 0 12px 24px -12px rgba(14, 124, 157, .7); transition: transform .3s var(--gs-ease), background .25s ease, box-shadow .3s ease; }
.goldstar-team-bio span { display: inline-block; transition: transform .3s var(--gs-ease); }
.goldstar-team-bio:hover, .goldstar-team-bio:focus-visible { transform: translateY(-2px); background: var(--wp--preset--color--primary-dark); color: #fff; text-decoration: none; }
.goldstar-team-bio:hover span { transform: translateX(4px); }
.goldstar-team-support { list-style: none; margin: var(--wp--preset--spacing--50) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50); }
.goldstar-team-support li { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: start; padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); border-radius: 22px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--soft); }
.goldstar-team-support .goldstar-highlight-icon { grid-row: 1 / 3; }
.goldstar-team-support h3 { margin: .2rem 0 .3rem; font-size: var(--wp--preset--font-size--md); line-height: 1.3; }
.goldstar-team-support p { margin: 0; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }

/* Contact */
.goldstar-contact-body { margin-top: var(--wp--preset--spacing--60); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--wp--preset--spacing--60); align-items: start; }
.goldstar-contact-cards { display: flex; flex-direction: column; gap: .75rem; }
.goldstar-contact-card { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.15rem; border-radius: 20px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--soft); color: var(--wp--preset--color--contrast); text-decoration: none; transition: transform .3s var(--gs-ease), border-color .2s ease, box-shadow .3s ease; }
.goldstar-contact-card:hover, .goldstar-contact-card:focus-visible { transform: translateY(-2px); border-color: rgba(14, 124, 157, .35); box-shadow: var(--wp--preset--shadow--card); color: var(--wp--preset--color--contrast); text-decoration: none; }
.goldstar-contact-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 14px; background: var(--wp--preset--color--sky); color: var(--wp--preset--color--primary); flex: none; transition: transform .4s var(--gs-ease); }
.goldstar-contact-icon svg { width: 1.3rem; height: 1.3rem; }
.goldstar-contact-card:hover .goldstar-contact-icon { transform: rotate(-10deg) scale(1.05); }
.goldstar-contact-text { display: flex; flex-direction: column; gap: .15rem; min-width: 0; }
.goldstar-contact-text small { font-family: var(--gs-heading); font-weight: 700; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.goldstar-contact-text b { font-family: var(--gs-heading); font-weight: 600; font-size: var(--wp--preset--font-size--md); line-height: 1.25; overflow-wrap: anywhere; }
.goldstar-contact-text em { font-style: normal; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }
.goldstar-contact-go { margin-left: auto; padding-left: .5rem; font-size: 1.15rem; color: var(--wp--preset--color--primary); transition: transform .3s var(--gs-ease); }
.goldstar-contact-card:hover .goldstar-contact-go { transform: translateX(4px); }
.goldstar-contact-card.is-primary { padding-top: 1.25rem; padding-bottom: 1.25rem; border-color: transparent; background: var(--gs-sunrise); box-shadow: 0 16px 30px -14px rgba(255, 122, 92, .85); }
.goldstar-contact-card.is-primary .goldstar-contact-icon { background: rgba(255, 255, 255, .45); color: var(--wp--preset--color--contrast); }
.goldstar-contact-card.is-primary small { color: rgba(32, 48, 58, .75); }
.goldstar-contact-card.is-primary b { font-size: var(--wp--preset--font-size--lg); font-weight: 700; letter-spacing: -.01em; }
.goldstar-contact-card.is-primary .goldstar-contact-go { color: var(--wp--preset--color--contrast); }
.goldstar-contact-hours, .goldstar-contact-plans { padding: 1.25rem 1.35rem; border-radius: 20px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); box-shadow: var(--wp--preset--shadow--soft); }
.goldstar-contact-hours ul { list-style: none; margin: 0; padding: 0; font-size: var(--wp--preset--font-size--sm); }
.goldstar-contact-hours li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px dashed var(--wp--preset--color--border); }
.goldstar-contact-hours li:first-child { padding-top: 0; }
.goldstar-contact-hours li span:first-child { font-family: var(--gs-heading); font-weight: 600; color: var(--wp--preset--color--contrast); }
.goldstar-contact-hours li .is-closed { color: var(--wp--preset--color--muted); font-style: italic; }
.goldstar-contact-fax { margin: .85rem 0 0; font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--muted); }
.goldstar-contact-side { display: flex; flex-direction: column; gap: .75rem; }
.goldstar-contact .goldstar-map iframe { min-height: 22rem; }
.goldstar-contact-plans .goldstar-insurance-more { margin-top: .85rem; }

/* Keyframes (home) */
@keyframes gs-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes gs-morph { 0% { border-radius: 34% 66% 58% 42% / 46% 38% 62% 54%; } 100% { border-radius: 52% 48% 40% 60% / 40% 56% 44% 60%; } }
@keyframes gs-drift-x { from { transform: translateX(-6px); } to { transform: translateX(6px); } }

/* Responsive (home) */
@media (max-width: 1023.98px) {
	.goldstar-float-a { left: 0; }
	.goldstar-float-b { right: 0; }
	.goldstar-doctor-badge { right: 0; }
}
@media (max-width: 781.98px) {
	main > .wp-block-group.alignfull[class*="goldstar-"] { padding-top: var(--wp--preset--spacing--70) !important; padding-bottom: var(--wp--preset--spacing--70) !important; }
	.goldstar-eyebrow { letter-spacing: .08em; }
	.goldstar-hero-photo { max-width: 30rem; margin: 0 auto; }
	.goldstar-doctor-photo { max-width: 22rem; }
	.goldstar-tip { grid-template-columns: 1fr; }
	.goldstar-tip-art { min-height: 7rem; }
	.goldstar-tip-art svg { width: 3.5rem; height: 3.5rem; }
	.goldstar-tip-body { padding: var(--wp--preset--spacing--50); }
	.goldstar-insurance-more { width: 100%; }
}
@media (max-width: 599.98px) {
	.goldstar-hero h1 { font-size: clamp(2rem, 9.5vw, 2.75rem); }
	.goldstar-trust { grid-template-columns: 1fr; }
	.goldstar-float { padding: .55rem .75rem .55rem .55rem; border-radius: 14px; }
	.goldstar-float b { font-size: .8rem; }
	.goldstar-float small { font-size: .65rem; }
	.goldstar-rating-card { width: 100%; }
	.goldstar-map iframe { min-height: 18rem; }
	.goldstar-faq-item summary { padding: 1rem 1.1rem; font-size: var(--wp--preset--font-size--base); }
	.goldstar-faq-answer { padding: 0 1.1rem 1.1rem; }
}

/* Responsive (one-page home) */
@media (max-width: 1023.98px) {
	.goldstar-treat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.goldstar-treat-grid li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (max-width: 899.98px) {
	.goldstar-team-lead { grid-template-columns: 1fr; }
	.goldstar-team-lead-photo { min-height: 0; aspect-ratio: 4 / 3; }
	.goldstar-team-lead-copy { padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); }
	.goldstar-contact-body { grid-template-columns: 1fr; }
}
@media (max-width: 599.98px) {
	.goldstar-jump { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--wp--style--root--padding-right, 1rem)); padding-bottom: .25rem; scrollbar-width: none; }
	.goldstar-jump::-webkit-scrollbar { display: none; }
	.goldstar-jump a { flex: none; }
	.goldstar-highlights { gap: .6rem; }
	.goldstar-highlights li { padding: 1rem; border-radius: 18px; }
	.goldstar-highlights .goldstar-highlight-icon { width: 2.6rem; height: 2.6rem; border-radius: 12px; }
	.goldstar-highlights strong { font-size: var(--wp--preset--font-size--base); }
	.goldstar-highlights span:last-child { font-size: var(--wp--preset--font-size--xs); }
	.goldstar-affiliation img { width: 5.5rem; }
	.goldstar-treat-grid { gap: .55rem; }
	.goldstar-treat-grid li { flex-direction: column; align-items: flex-start; gap: .65rem; padding: .9rem; font-size: var(--wp--preset--font-size--sm); }
	.goldstar-treat-grid li:last-child:nth-child(odd) { flex-direction: row; align-items: center; }
	.goldstar-treat-icon { width: 2.4rem; height: 2.4rem; border-radius: 12px; }
	.goldstar-team-lead-copy h3 { font-size: var(--wp--preset--font-size--lg); }
	.goldstar-team-bio { width: 100%; justify-content: center; }
	.goldstar-team-support { grid-template-columns: 1fr; gap: .75rem; }
	.goldstar-team-support li { padding: 1.1rem; }
	.goldstar-contact-card { padding: .9rem 1rem; gap: .85rem; }
	.goldstar-contact-icon { width: 2.6rem; height: 2.6rem; border-radius: 12px; }
	.goldstar-contact-text b { font-size: var(--wp--preset--font-size--base); }
	.goldstar-contact .goldstar-map iframe { min-height: 16rem; }
}
@media (prefers-reduced-motion: reduce) {
	.goldstar-hero-photo-frame, .goldstar-float, .goldstar-doctor-badge, .goldstar-tip-art svg, .goldstar-faq-answer, .goldstar-js .goldstar-hero-copy > * { animation: none; }
	.goldstar-service, .goldstar-service-icon, .goldstar-review, .goldstar-condition-list a, .goldstar-plans li, .goldstar-reason-icon, .goldstar-faq-icon { transition-duration: .01ms; }
	.goldstar-jump a, .goldstar-highlights li, .goldstar-highlight-icon, .goldstar-treat-grid li, .goldstar-treat-icon, .goldstar-offered a, .goldstar-team-bio, .goldstar-team-bio span, .goldstar-contact-card, .goldstar-contact-icon, .goldstar-contact-go { transition-duration: .01ms; }
}

/* ==========================================================================
   Under construction
   ========================================================================== */
.goldstar-construction { position: relative; overflow: hidden; min-height: 60vh; display: flex; align-items: center; }
.goldstar-construction::before { content: ""; position: absolute; width: 40rem; height: 40rem; left: -16rem; bottom: -22rem; border-radius: 50%; background: radial-gradient(closest-side, rgba(219, 241, 246, .9), rgba(219, 241, 246, 0)); pointer-events: none; }
.goldstar-construction .goldstar-construction-card { position: relative; text-align: center; }
.goldstar-construction-art { display: grid; place-items: center; margin: 0 auto 1.5rem; }
.goldstar-construction-art .goldstar-brand-star { width: 5.5rem; height: 5.5rem; }
.goldstar-construction-art .goldstar-wordmark { margin-left: -1.3rem; }
.goldstar-construction-art .goldstar-wordmark span:first-child { font-size: 1.5rem; padding-left: .8rem; }
.goldstar-construction-art .goldstar-wordmark span:last-child { font-size: 2.4rem; }
.goldstar-construction-meta { list-style: none; margin: 1.75rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.5rem; font-size: var(--wp--preset--font-size--sm); color: var(--wp--preset--color--muted); }
.goldstar-construction-meta li { display: inline-flex; align-items: center; gap: .45rem; }
.goldstar-construction-meta svg { width: 1rem; height: 1rem; color: var(--wp--preset--color--primary); }
.goldstar-construction-back { margin: 1.5rem 0 0; }
.goldstar-construction-back .goldstar-arrow-link span { transition: transform .3s var(--gs-ease); }
.goldstar-construction-back .goldstar-arrow-link:hover span { transform: translateX(-4px); }
