:root {
  --glb-ink: #1d1a18;
  --glb-ink-soft: #6b625e;
  --glb-cream: #fffdf9;
  --glb-ivory: #f8f3ed;
  --glb-blush: #ead5cf;
  --glb-rose: #c98988;
  --glb-rose-dark: #9c6261;
  --glb-gold: #c7a23a;
  --glb-action-ink: #181513;
  --glb-action-hover: #ad861f;
  --glb-focus: #7d5d0f;
  --glb-rose-action: #7d4b56;
  --glb-line: rgba(47, 39, 34, 0.13);
  --glb-dark: #181513;
  --glb-white: #ffffff;
  --glb-shadow: 0 24px 70px rgba(67, 49, 41, 0.13);
  --glb-radius: 28px;
  --glb-serif: Georgia, "Times New Roman", serif;
  --glb-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --glb-shell: 1280px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--glb-ink);
  background: var(--glb-cream);
  font-family: var(--glb-sans);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.admin-bar .glb-site-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2 { font-family: var(--glb-serif); font-weight: 400; letter-spacing: -0.035em; line-height: 0.99; }
h1 em, h2 em { color: var(--glb-rose); font-weight: 400; }
h1 { font-size: clamp(3.3rem, 7vw, 6.7rem); }
h2 { font-size: clamp(2.45rem, 5vw, 4.8rem); }
h3 { line-height: 1.2; }
address { font-style: normal; }
::selection { background: var(--glb-blush); color: var(--glb-ink); }

.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px;
  margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.glb-skip-link {
  position: fixed; top: 10px; left: 10px; z-index: 10000; transform: translateY(-150%);
  padding: 12px 18px; border-radius: 999px; background: var(--glb-dark); color: white;
}
.glb-skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--glb-focus); outline-offset: 4px; }
.glb-shell { width: min(calc(100% - 40px), var(--glb-shell)); min-width: 0; margin-inline: auto; }
.glb-shell > * { min-width: 0; }
.glb-center { text-align: center; }
.glb-center .glb-actions { justify-content: center; }

.glb-staging-bar {
  padding: 6px 16px; background: #fee983; color: #3b2c00; font-size: 0.78rem; font-weight: 800;
  text-align: center; letter-spacing: 0.02em;
}
.glb-site-header {
  position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid rgba(65, 43, 36, 0.08);
  background: rgba(255, 250, 245, 0.9); backdrop-filter: blur(18px); transition: box-shadow 180ms ease, background 180ms ease;
}
.glb-site-header.is-scrolled { background: rgba(255, 250, 245, 0.97); box-shadow: 0 12px 38px rgba(54, 33, 27, 0.08); }
.glb-header-shell { width: min(calc(100% - 36px), 1480px); }
.glb-header-inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.glb-brand, .glb-official-logo { display: inline-flex; align-items: center; text-decoration: none; }
.glb-official-logo img { width: 200px; height: auto; mix-blend-mode: multiply; }
.glb-brand-mark {
  width: 38px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--glb-gold); border-radius: 50%;
  background: transparent; color: var(--glb-ink); font-family: var(--glb-serif); font-size: 0.76rem;
}
.glb-brand strong { display: block; font-family: var(--glb-serif); font-size: 1.25rem; letter-spacing: -0.03em; line-height: 1; }
.glb-brand small { display: block; margin-top: 3px; color: var(--glb-ink-soft); font-size: 0.63rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; }
.glb-brand .custom-logo { max-height: 60px; width: auto; }
.glb-primary-nav { display: flex; align-items: center; gap: 22px; }
.glb-nav-list { display: flex; align-items: center; gap: clamp(14px, 1.15vw, 21px); margin: 0; padding: 0; list-style: none; }
.glb-nav-list li { position: relative; margin: 0; }
.glb-nav-list a { position: relative; color: var(--glb-ink); font-size: 0.76rem; font-weight: 800; letter-spacing: 0.055em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.glb-nav-list a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--glb-rose); transition: right 180ms ease; }
.glb-nav-list a:hover, .glb-nav-list .current-menu-item > a, .glb-nav-list .current-menu-ancestor > a { color: var(--glb-ink); }
.glb-nav-list a:hover::after, .glb-nav-list .current-menu-item > a::after, .glb-nav-list .current-menu-ancestor > a::after { right: 0; }
.glb-nav-chevron { display: inline-block; margin-left: 5px; color: var(--glb-rose-dark); font-size: 0.86em; transition: transform 180ms ease; }
.glb-nav-list .menu-item-has-children:hover .glb-nav-chevron,
html:not(.glb-menu-enhanced) .glb-nav-list .menu-item-has-children:focus-within .glb-nav-chevron,
.glb-nav-list .menu-item-has-children.is-submenu-open .glb-nav-chevron { transform: rotate(180deg); }
.glb-sub-menu {
  position: absolute; z-index: 10; top: calc(100% + 22px); left: -20px; display: grid; min-width: 230px; margin: 0; padding: 12px;
  visibility: hidden; list-style: none; border: 1px solid var(--glb-line); border-radius: 16px; background: rgba(255,253,249,0.99);
  box-shadow: 0 20px 48px rgba(54,33,27,0.14); opacity: 0; transform: translateY(8px); transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}
.glb-sub-menu::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 24px; }
.glb-nav-list .menu-item-has-children:hover > .glb-sub-menu,
html:not(.glb-menu-enhanced) .glb-nav-list .menu-item-has-children:focus-within > .glb-sub-menu,
.glb-nav-list .menu-item-has-children.is-submenu-open > .glb-sub-menu { visibility: visible; opacity: 1; transform: none; }
.glb-menu-enhanced .glb-nav-list > .menu-item-has-children > a { display: inline-flex; min-height: 44px; align-items: center; cursor: pointer; }
.glb-nav-list .glb-sub-menu a { display: block; padding: 10px 12px; border-radius: 10px; font-size: 0.72rem; letter-spacing: 0.035em; text-transform: none; }
.glb-nav-list .glb-sub-menu a::after { display: none; }
.glb-nav-list .glb-sub-menu a:hover, .glb-nav-list .glb-sub-menu .current-menu-item > a { background: var(--glb-ivory); }
.glb-menu-toggle { display: none; width: 44px; min-width: 44px; min-height: 44px; place-items: center; padding: 9px; border: 0; background: transparent; cursor: pointer; }
.glb-menu-icon, .glb-menu-icon::before, .glb-menu-icon::after { display: block; width: 25px; height: 2px; background: var(--glb-ink); transition: transform 180ms ease; }
.glb-menu-icon { position: relative; }
.glb-menu-icon::before, .glb-menu-icon::after { content: ""; position: absolute; left: 0; }
.glb-menu-icon::before { top: -7px; }
.glb-menu-icon::after { top: 7px; }
.glb-menu-toggle[aria-expanded="true"] .glb-menu-icon { background: transparent; }
.glb-menu-toggle[aria-expanded="true"] .glb-menu-icon::before { top: 0; transform: rotate(45deg); }
.glb-menu-toggle[aria-expanded="true"] .glb-menu-icon::after { top: 0; transform: rotate(-45deg); }

.glb-button {
  display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 14px 25px;
  border: 1px solid var(--glb-gold); border-radius: 999px; background: var(--glb-gold); color: var(--glb-action-ink);
  font-size: 0.78rem; font-weight: 850; letter-spacing: 0.09em; text-decoration: none; text-transform: uppercase; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.glb-button:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(92, 70, 30, 0.2); background: var(--glb-action-hover); color: var(--glb-action-ink); }
.glb-button-small { min-height: 44px; padding: 10px 20px; font-size: 0.78rem; }
.glb-button-light { background: var(--glb-cream); color: var(--glb-dark); border-color: var(--glb-cream); }
.glb-button-ghost, .glb-button-outline { background: rgba(255,253,249,0.58); color: var(--glb-dark); }
.glb-text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--glb-ink); font-weight: 800; text-decoration: none; border-bottom: 1px solid var(--glb-gold); }
.glb-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.glb-eyebrow { margin-bottom: 18px; color: var(--glb-rose-dark); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.2em; text-transform: uppercase; }
.glb-lead { max-width: 700px; color: var(--glb-ink-soft); font-size: clamp(1.06rem, 1.8vw, 1.3rem); }

.glb-hero { position: relative; overflow: clip; padding-top: 0; background: var(--glb-cream); }
.glb-hero-frame { position: relative; min-height: clamp(520px, 45vw, 640px); overflow: hidden; isolation: isolate; border-bottom: 1px solid var(--glb-line); background: #f7eee5; }
.glb-hero-frame::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(255,253,249,0.99) 0%, rgba(255,253,249,0.96) 32%, rgba(255,253,249,0.74) 48%, rgba(255,253,249,0.06) 72%); pointer-events: none; }
.glb-hero-photo { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.glb-hero-copy { position: relative; z-index: 2; width: min(62%, 800px); padding: clamp(70px, 7vw, 105px) clamp(24px, 4.7vw, 72px); }
.glb-hero h1 { max-width: 800px; margin-bottom: 28px; font-size: clamp(3.2rem, 4.25vw, 4.85rem); line-height: 0.98; }
.glb-hero h1 > span { display: block; white-space: nowrap; }
.glb-hero .glb-lead { max-width: 580px; font-size: clamp(1rem, 1.45vw, 1.2rem); }
.glb-image-note { position: absolute; z-index: 3; right: 18px; bottom: 16px; padding: 7px 11px; border-radius: 999px; background: rgba(255,253,249,0.78); color: var(--glb-ink-soft); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; backdrop-filter: blur(8px); }
.glb-trust-strip { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 0; padding: 0; list-style: none; border-inline: 1px solid var(--glb-line); }
.glb-trust-strip li { position: relative; min-height: 132px; padding: 24px 20px 22px 66px; border-right: 1px solid var(--glb-line); }
.glb-trust-strip li:last-child { border-right: 0; }
.glb-trust-strip li > span { position: absolute; top: 24px; left: 22px; display: grid; width: 30px; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--glb-ivory); color: var(--glb-gold); }
.glb-trust-strip strong { display: block; margin-top: 2px; font-size: 0.68rem; font-weight: 850; letter-spacing: 0.12em; line-height: 1.35; text-transform: uppercase; }
.glb-trust-strip small { display: block; margin-top: 8px; color: var(--glb-ink-soft); font-size: 0.73rem; line-height: 1.45; }

.glb-marquee { overflow: hidden; border-block: 1px solid var(--glb-line); background: var(--glb-cream); }
.glb-marquee div { width: max-content; padding: 17px 0; color: var(--glb-ink-soft); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; animation: glb-marquee 24s linear infinite; }
.glb-marquee span { margin: 0 25px; color: var(--glb-gold); }
@keyframes glb-marquee { to { transform: translateX(-25%); } }

.glb-section { padding: clamp(80px, 10vw, 150px) 0; }
.glb-section-soft { background: var(--glb-ivory); }
.glb-section-dark { background: var(--glb-dark); color: white; }
.glb-section-dark .glb-eyebrow { color: var(--glb-blush); }
.glb-section-dark p { color: rgba(255,255,255,0.72); }
.glb-section-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.5fr); align-items: end; gap: 60px; margin-bottom: 55px; }
.glb-section-heading h2 { margin-bottom: 0; }
.glb-section-heading > p { margin-bottom: 4px; color: var(--glb-ink-soft); }

.glb-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: start; }
.glb-service-card { position: relative; min-height: 530px; overflow: hidden; border-radius: var(--glb-radius); background: #c9a99e; color: white; text-decoration: none; box-shadow: var(--glb-shadow); }
.glb-service-card-tall { margin-top: 55px; }
.glb-service-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(31,20,17,0.88), transparent 58%); }
.glb-service-card img { width: 100%; height: 100%; min-height: 530px; object-fit: cover; transition: transform 600ms cubic-bezier(.2,.8,.2,1); }
.glb-service-card:hover img { transform: scale(1.045); }
.glb-service-card > div { position: absolute; z-index: 2; left: 28px; right: 28px; bottom: 28px; }
.glb-service-card p { margin-bottom: 5px; color: rgba(255,255,255,0.74); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.glb-service-card h3 { margin: 0 0 8px; font-family: var(--glb-serif); font-size: 2rem; font-weight: 400; }
.glb-service-card > div span { font-size: 0.78rem; font-weight: 800; }
.glb-card-index { position: absolute; z-index: 3; top: 22px; right: 22px; display: grid; width: 44px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,0.5); border-radius: 50%; font-size: 0.72rem; }

.glb-look-feature { display: grid; grid-template-columns: 1fr 0.85fr; align-items: center; gap: clamp(60px, 9vw, 130px); }
.glb-look-feature h2 { margin-bottom: 28px; }
.glb-look-feature p:not(.glb-eyebrow) { color: var(--glb-ink-soft); }
.glb-look-stack { position: relative; min-height: 570px; }
.glb-look-stack img { position: absolute; width: 72%; aspect-ratio: 4/5; object-fit: cover; border-radius: 26px; box-shadow: var(--glb-shadow); }
.glb-look-stack img:first-child { left: 0; top: 0; transform: rotate(-4deg); }
.glb-look-stack img:last-child { right: 0; bottom: 0; transform: rotate(5deg); }

.glb-photo-section { overflow: hidden; background: linear-gradient(180deg, var(--glb-cream), #fbf5ef); }
.glb-photo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: start; }
.glb-photo-card { margin: 0; overflow: hidden; border: 1px solid var(--glb-line); border-radius: 24px; background: rgba(255,255,255,0.6); box-shadow: var(--glb-shadow); }
.glb-photo-card-tall { margin-top: 58px; }
.glb-photo-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: center; transition: transform 650ms cubic-bezier(.2,.8,.2,1); }
.glb-photo-card:hover img { transform: scale(1.035); }
.glb-photo-card figcaption { display: grid; grid-template-columns: 34px 1fr; gap: 14px; padding: 22px 24px 25px; }
.glb-photo-card figcaption > span { color: var(--glb-gold); font-family: var(--glb-serif); font-size: 1.1rem; }
.glb-photo-card strong, .glb-photo-card small { display: block; }
.glb-photo-card strong { font-family: var(--glb-serif); font-size: 1.35rem; font-weight: 400; line-height: 1.15; }
.glb-photo-card small { margin-top: 7px; color: var(--glb-ink-soft); font-size: 0.78rem; line-height: 1.5; }

.glb-founder-grid { display: grid; grid-template-columns: minmax(300px, 0.8fr) 1fr; align-items: center; gap: clamp(55px, 10vw, 140px); }
.glb-founder-image { position: relative; }
.glb-founder-image img { width: 100%; max-height: 680px; object-fit: cover; object-position: top; border-radius: 180px 180px 24px 24px; }
.glb-founder-image span { position: absolute; right: -28px; bottom: 45px; padding: 14px 20px; border-radius: 999px; background: var(--glb-dark); color: white; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.glb-founder-grid blockquote { margin: 35px 0; padding: 24px 0 24px 28px; border-left: 2px solid var(--glb-gold); font-family: var(--glb-serif); font-size: 1.45rem; line-height: 1.35; }

.glb-home-path { display: grid; grid-template-columns: minmax(260px, 0.55fr) minmax(0, 1fr); gap: clamp(45px, 8vw, 110px); align-items: start; }
.glb-home-path-copy { position: sticky; top: 135px; }
.glb-home-path-copy h2 { margin-bottom: 26px; font-size: clamp(2.6rem, 4.8vw, 4.5rem); }
.glb-home-path-copy > p:not(.glb-eyebrow) { color: var(--glb-ink-soft); }
.glb-home-path-list { display: grid; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--glb-line); }
.glb-home-path-list li { display: grid; grid-template-columns: 54px 1fr auto; gap: 22px; align-items: center; min-height: 150px; padding: 28px 0; border-bottom: 1px solid var(--glb-line); }
.glb-home-path-list > li > span { color: var(--glb-gold); font-family: var(--glb-serif); font-size: 1.25rem; }
.glb-home-path-list h3 { margin: 0 0 7px; font-family: var(--glb-serif); font-size: clamp(1.55rem, 2.4vw, 2.1rem); font-weight: 400; }
.glb-home-path-list p { margin: 0; color: var(--glb-ink-soft); font-size: 0.9rem; }
.glb-home-path-list a { display: grid; width: 46px; aspect-ratio: 1; place-items: center; border: 1px solid var(--glb-gold); border-radius: 50%; color: var(--glb-ink); font-size: 1.15rem; text-decoration: none; transition: background 180ms ease, color 180ms ease, transform 180ms ease; }
.glb-home-path-list a:hover { transform: translateX(3px); background: var(--glb-gold); color: white; }

.glb-home-faq-intro h2 { margin-bottom: 24px; font-size: clamp(2.5rem, 4.7vw, 4.3rem); }
.glb-home-faq-intro > p:not(.glb-eyebrow) { color: var(--glb-ink-soft); }
.glb-home-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 58px; }
.glb-home-action { min-height: 220px; padding: 30px; border: 1px solid var(--glb-line); border-radius: 22px; background: rgba(255,255,255,0.64); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.glb-home-action:hover { transform: translateY(-4px); box-shadow: var(--glb-shadow); }
.glb-home-action > span { color: var(--glb-rose-dark); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.14em; text-transform: uppercase; }
.glb-home-action h3 { margin: 45px 0 10px; font-family: var(--glb-serif); font-size: 1.8rem; font-weight: 400; }
.glb-home-action p { margin: 0; color: var(--glb-ink-soft); font-size: 0.86rem; }

.glb-page-hero { position: relative; overflow: clip; padding: clamp(75px, 9vw, 125px) 0; background: radial-gradient(circle at 85% 15%, rgba(235, 209, 200, 0.78), transparent 32%), var(--glb-ivory); }
.glb-page-hero-grid { display: grid; grid-template-columns: 1fr minmax(320px, 0.7fr); align-items: center; gap: clamp(50px, 9vw, 120px); }
.glb-page-hero h1 { font-size: clamp(3.2rem, 6.3vw, 6.1rem); }
.glb-page-hero-image { position: relative; }
.glb-page-hero-image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 200px 200px 28px 28px; box-shadow: var(--glb-shadow); }
.glb-page-hero-image span { position: absolute; left: 30px; bottom: 28px; padding: 10px 15px; border-radius: 999px; background: rgba(255,250,245,0.88); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; backdrop-filter: blur(8px); }
.glb-page-hero-compact { padding: clamp(75px, 10vw, 135px) 0; }
.glb-page-hero-compact h1 { max-width: 1000px; }

.glb-lamination-hero { background: radial-gradient(circle at 78% 12%, rgba(232, 199, 190, 0.88), transparent 34%), #faf4ee; }
.glb-lamination-hero .glb-page-hero-grid { grid-template-columns: minmax(0, 0.92fr) minmax(480px, 0.82fr); gap: clamp(42px, 7vw, 95px); }
.glb-lamination-hero h1 { font-size: clamp(3.1rem, 5.6vw, 5.7rem); }
.glb-lamination-mosaic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 12px; border: 1px solid rgba(73, 51, 43, 0.12); border-radius: 34px; background: rgba(255,255,255,0.58); box-shadow: var(--glb-shadow); }
.glb-lamination-mosaic figure { position: relative; margin: 0; overflow: hidden; border-radius: 22px; background: #dec6bc; }
.glb-lamination-mosaic img { width: 100%; aspect-ratio: 1.21 / 1; object-fit: cover; transform: scale(1.015); }
.glb-lamination-mosaic figcaption { position: absolute; left: 10px; bottom: 10px; padding: 7px 10px; border-radius: 999px; background: rgba(27,20,18,0.76); color: white; font-size: 0.59rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; backdrop-filter: blur(7px); }

.glb-lamination-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.glb-lamination-choice article { min-height: 470px; padding: clamp(30px, 4vw, 52px); border: 1px solid var(--glb-line); border-radius: var(--glb-radius); background: linear-gradient(145deg, rgba(255,255,255,0.82), rgba(248,236,229,0.58)); box-shadow: 0 22px 55px rgba(67,49,41,0.08); }
.glb-lamination-choice article > span { color: var(--glb-rose-dark); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.14em; text-transform: uppercase; }
.glb-lamination-choice h3 { margin: 48px 0 18px; font-family: var(--glb-serif); font-size: clamp(2.2rem, 4vw, 3.5rem); font-weight: 400; }
.glb-lamination-choice p { color: var(--glb-ink-soft); font-size: 1.02rem; }
.glb-lamination-choice ul { margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--glb-line); }
.glb-lamination-choice li { padding: 15px 0; border-bottom: 1px solid var(--glb-line); color: var(--glb-ink-soft); font-size: 0.9rem; }
.glb-lamination-choice li strong { color: var(--glb-ink); }

.glb-lamination-showcase { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.glb-lamination-showcase figure { margin: 0; overflow: hidden; border: 1px solid var(--glb-line); border-radius: 24px; background: rgba(255,255,255,0.72); box-shadow: 0 18px 45px rgba(67,49,41,0.08); }
.glb-lamination-showcase figure > div { position: relative; overflow: hidden; background: #e4cbc1; }
.glb-lamination-showcase img { width: 100%; aspect-ratio: 1.21 / 1; object-fit: cover; transition: transform 500ms ease; }
.glb-lamination-showcase figure:hover img { transform: scale(1.04); }
.glb-lamination-showcase figure > div span { position: absolute; top: 13px; right: 13px; display: grid; width: 38px; aspect-ratio: 1; place-items: center; border: 1px solid rgba(255,255,255,0.74); border-radius: 50%; background: rgba(29,22,19,0.66); color: white; font-family: var(--glb-serif); font-size: 0.83rem; }
.glb-lamination-showcase figcaption { padding: 22px 22px 25px; }
.glb-lamination-showcase strong { display: block; font-family: var(--glb-serif); font-size: 1.35rem; font-weight: 400; }
.glb-lamination-showcase p { margin: 8px 0 0; color: var(--glb-ink-soft); font-size: 0.8rem; line-height: 1.5; }
.glb-lamination-disclaimer { max-width: 920px; margin: 30px 0 0; color: var(--glb-ink-soft); font-size: 0.78rem; }

.glb-lamination-table-wrap { overflow-x: auto; border: 1px solid var(--glb-line); border-radius: 24px; box-shadow: 0 18px 45px rgba(67,49,41,0.06); }
.glb-lamination-table { width: 100%; min-width: 760px; border-collapse: collapse; background: rgba(255,255,255,0.68); }
.glb-lamination-table th, .glb-lamination-table td { padding: 22px 24px; border-right: 1px solid var(--glb-line); border-bottom: 1px solid var(--glb-line); text-align: left; vertical-align: top; }
.glb-lamination-table th:last-child, .glb-lamination-table td:last-child { border-right: 0; }
.glb-lamination-table tr:last-child th, .glb-lamination-table tr:last-child td { border-bottom: 0; }
.glb-lamination-table thead th { background: var(--glb-dark); color: white; font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.glb-lamination-table tbody th { width: 24%; color: var(--glb-rose-dark); font-size: 0.78rem; letter-spacing: 0.06em; }
.glb-lamination-table td { color: var(--glb-ink-soft); font-size: 0.9rem; }

.glb-lamination-process { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(255,255,255,0.18); list-style: none; }
.glb-lamination-process li { min-height: 285px; padding: 28px 22px; border-right: 1px solid rgba(255,255,255,0.18); }
.glb-lamination-process li:last-child { border-right: 0; }
.glb-lamination-process span { color: var(--glb-blush); font-family: var(--glb-serif); font-size: 1.4rem; }
.glb-lamination-process h3 { margin: 58px 0 14px; font-family: var(--glb-serif); font-size: 1.55rem; font-weight: 400; }
.glb-lamination-process p { color: rgba(255,255,255,0.68); font-size: 0.82rem; line-height: 1.55; }
.glb-section-dark .glb-safety-note strong { display: block; margin-bottom: 5px; color: var(--glb-blush); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.glb-section-dark .glb-safety-note p { margin-bottom: 0; }

.glb-lamination-care { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(45px, 8vw, 110px); }
.glb-lamination-care h2 { margin-bottom: 34px; font-size: clamp(2.3rem, 4vw, 3.8rem); }
.glb-lamination-cta { display: flex; align-items: center; justify-content: space-between; gap: clamp(35px, 7vw, 100px); padding: clamp(36px, 5vw, 64px); border: 1px solid var(--glb-line); border-radius: var(--glb-radius); background: rgba(255,255,255,0.72); box-shadow: var(--glb-shadow); }
.glb-lamination-cta > div { max-width: 780px; }
.glb-lamination-cta h2 { margin-bottom: 18px; font-size: clamp(2.4rem, 4.5vw, 4rem); }
.glb-lamination-cta p:not(.glb-eyebrow) { margin-bottom: 0; color: var(--glb-ink-soft); }
.glb-lamination-cta .glb-button { flex: 0 0 auto; }

.glb-treatment-grid, .glb-course-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--glb-line); border-left: 1px solid var(--glb-line); }
.glb-treatment-card, .glb-course-card { min-height: 330px; padding: 32px; border-right: 1px solid var(--glb-line); border-bottom: 1px solid var(--glb-line); background: rgba(255,255,255,0.32); }
.glb-treatment-card > span, .glb-course-card > span { display: block; color: var(--glb-gold); font-family: var(--glb-serif); font-size: 1.5rem; }
.glb-treatment-card > p:first-of-type { margin: 35px 0 7px; color: var(--glb-rose-dark); font-size: 0.68rem; font-weight: 850; letter-spacing: 0.15em; text-transform: uppercase; }
.glb-treatment-card h3, .glb-course-card h3 { font-family: var(--glb-serif); font-size: 1.9rem; font-weight: 400; }
.glb-treatment-card p, .glb-course-card p { color: var(--glb-ink-soft); }
.glb-treatment-card a, .glb-course-card a { font-size: 0.8rem; font-weight: 800; text-decoration: none; border-bottom: 1px solid var(--glb-gold); }
.glb-course-card > span { margin-bottom: 45px; }
.glb-editorial-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.glb-editorial-card { min-height: 260px; padding: 38px; border: 1px solid var(--glb-line); border-radius: 22px; background: rgba(255,255,255,0.4); }
.glb-editorial-card span { color: var(--glb-rose); font-family: var(--glb-serif); font-size: 1.4rem; }
.glb-editorial-card h3 { margin-top: 45px; font-family: var(--glb-serif); font-size: 2rem; font-weight: 400; }
.glb-editorial-card p { color: var(--glb-ink-soft); }

.glb-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,0.18); }
.glb-process li { min-height: 260px; padding: 30px 26px; border-right: 1px solid rgba(255,255,255,0.18); }
.glb-process li:last-child { border-right: 0; }
.glb-process span { color: var(--glb-blush); font-family: var(--glb-serif); font-size: 1.45rem; }
.glb-process h3 { margin-top: 55px; font-family: var(--glb-serif); font-size: 1.7rem; font-weight: 400; }
.glb-process p { font-size: 0.9rem; }
.glb-process-light { border-color: var(--glb-line); }
.glb-process-light li { border-color: var(--glb-line); }
.glb-process-light span { color: var(--glb-rose); }
.glb-process-light p { color: var(--glb-ink-soft); }
.glb-safety-note { max-width: 900px; margin: 48px 0 0; padding: 20px 24px; border: 1px solid rgba(255,255,255,0.2); border-radius: 16px; }

.glb-split { display: grid; grid-template-columns: 0.85fr 1fr; gap: clamp(50px, 9vw, 130px); }
.glb-check-list p { position: relative; margin: 0; padding: 20px 0 20px 35px; border-bottom: 1px solid currentColor; border-color: var(--glb-line); }
.glb-check-list p::before { content: "✦"; position: absolute; left: 0; color: var(--glb-gold); }
.glb-section-dark .glb-check-list p { border-color: rgba(255,255,255,0.17); }
.glb-legal-callout, .glb-privacy-warning { margin-top: 35px; padding: 24px 26px; border: 1px solid rgba(184,117,99,0.35); border-radius: 18px; background: #fff8f2; }
.glb-legal-callout strong, .glb-privacy-warning strong { display: block; margin-bottom: 5px; color: var(--glb-rose-dark); font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; }
.glb-legal-callout p, .glb-privacy-warning p { margin-bottom: 0; color: var(--glb-ink-soft); font-size: 0.92rem; }
.glb-form-health-warning { margin: 8px 0 0; padding: 10px 12px; border-left: 3px solid var(--glb-rose); background: var(--glb-ivory); color: var(--glb-ink-soft); font-size: 0.76rem; }

.glb-faq-layout { display: grid; grid-template-columns: 0.6fr 1fr; gap: clamp(50px, 9vw, 120px); }
.glb-accordion details { border-top: 1px solid var(--glb-line); }
.glb-accordion details:last-child { border-bottom: 1px solid var(--glb-line); }
.glb-accordion summary { display: flex; justify-content: space-between; gap: 25px; padding: 25px 0; cursor: pointer; font-family: var(--glb-serif); font-size: 1.35rem; list-style: none; }
.glb-accordion summary::-webkit-details-marker { display: none; }
.glb-accordion summary span { color: var(--glb-rose); transition: transform 180ms ease; }
.glb-accordion details[open] summary span { transform: rotate(45deg); }
.glb-accordion details p { padding: 0 45px 25px 0; color: var(--glb-ink-soft); }

.glb-form-panel { display: grid; grid-template-columns: 0.75fr 1fr; gap: clamp(40px, 8vw, 100px); align-items: start; padding: clamp(32px, 5vw, 65px); border: 1px solid var(--glb-line); border-radius: var(--glb-radius); background: rgba(255,255,255,0.55); box-shadow: var(--glb-shadow); }
.glb-form-panel h2 { font-size: clamp(2.4rem, 4.5vw, 4rem); }
.wpforms-container { margin: 0 !important; }
.wpforms-container .wpforms-field { padding: 9px 0 !important; }
.wpforms-container label.wpforms-field-label { color: var(--glb-ink) !important; font-size: 0.78rem !important; font-weight: 800 !important; }
.wpforms-container input[type="text"], .wpforms-container input[type="email"], .wpforms-container input[type="tel"], .wpforms-container input[type="number"], .wpforms-container select, .wpforms-container textarea {
  width: 100% !important; max-width: none !important; min-height: 52px !important; padding: 13px 15px !important;
  border: 1px solid var(--glb-line) !important; border-radius: 12px !important; background: white !important; color: var(--glb-ink) !important;
}
.wpforms-container textarea { min-height: 130px !important; }
.wpforms-container button[type="submit"] { min-height: 52px !important; padding: 13px 25px !important; border: 0 !important; border-radius: 999px !important; background: var(--glb-dark) !important; color: white !important; font-weight: 800 !important; }
.wpforms-container .wpforms-field-description { color: var(--glb-ink-soft) !important; font-size: 0.78rem !important; }
.wpforms-container input:focus, .wpforms-container select:focus, .wpforms-container textarea:focus { border-color: var(--glb-rose) !important; box-shadow: 0 0 0 3px rgba(184,117,99,0.16) !important; }

.glb-contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px; }
.glb-contact-card { min-height: 340px; padding: 42px; border: 1px solid var(--glb-line); border-radius: var(--glb-radius); background: white; }
.glb-contact-card h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
.glb-contact-card p, .glb-contact-card address { color: var(--glb-ink-soft); }
.glb-values { margin-top: 40px; }
.glb-values article { display: grid; grid-template-columns: 45px 160px 1fr; gap: 20px; padding: 18px 0; border-top: 1px solid var(--glb-line); }
.glb-values strong { color: var(--glb-gold); font-family: var(--glb-serif); }
.glb-values h3, .glb-values p { margin: 0; }
.glb-values p { color: var(--glb-ink-soft); }

.glb-legal-layout { display: grid; min-width: 0; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(45px, 8vw, 110px); padding-block: clamp(60px, 8vw, 110px); }
.glb-legal-layout > * { min-width: 0; max-width: 100%; }
.glb-legal-nav { position: sticky; top: 120px; align-self: start; display: grid; gap: 5px; }
.glb-legal-nav a { padding: 12px 15px; border-radius: 10px; color: var(--glb-ink-soft); font-size: 0.84rem; font-weight: 750; text-decoration: none; }
.glb-legal-nav a.is-current { background: var(--glb-ivory); color: var(--glb-ink); }
.glb-prose { width: 100%; min-width: 0; max-width: 900px; }
.glb-prose h2 { margin: 55px 0 18px; font-family: var(--glb-serif); font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.1; }
.glb-prose h2:first-child { margin-top: 0; }
.glb-prose p, .glb-prose li { color: var(--glb-ink-soft); }
.glb-prose a { color: var(--glb-rose-dark); }
.glb-prose p, .glb-prose li, .glb-prose a { overflow-wrap: anywhere; }
.glb-table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; margin: 25px 0; border: 1px solid var(--glb-line); border-radius: 14px; -webkit-overflow-scrolling: touch; }
.glb-table-wrap table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 0.82rem; }
.glb-table-wrap th, .glb-table-wrap td { padding: 14px 16px; border-bottom: 1px solid var(--glb-line); text-align: left; vertical-align: top; }
.glb-table-wrap th { background: var(--glb-ivory); color: var(--glb-ink); }
.glb-default-content { padding-block: 80px; }

.glb-footer-cta { padding: 65px 0; background: var(--glb-rose-action); color: white; }
.glb-footer-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.glb-footer-cta h2 { max-width: 780px; margin-bottom: 12px; font-size: clamp(2.2rem, 4.5vw, 4rem); }
.glb-footer-cta p { margin-bottom: 0; color: rgba(255,255,255,0.9); }
.glb-footer-cta .glb-eyebrow { color: white; }
.glb-site-footer { padding: 75px 0 25px; background: var(--glb-dark); color: rgba(255,255,255,0.72); }
.glb-footer-grid { display: grid; grid-template-columns: 1.25fr 0.75fr 1fr 0.8fr; gap: 45px; }
.glb-footer-brand { margin-bottom: 18px; color: white; font-family: var(--glb-serif); font-size: 2.1rem; }
.glb-site-footer h2 { margin-bottom: 20px; color: white; font-family: var(--glb-sans); font-size: 0.72rem; font-weight: 850; letter-spacing: 0.16em; text-transform: uppercase; }
.glb-site-footer ul { margin: 0; padding: 0; list-style: none; }
.glb-site-footer li { margin: 8px 0; }
.glb-site-footer a, .glb-link-button { color: inherit; }
.glb-link-button { padding: 0; border: 0; background: transparent; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.glb-footer-legal { display: flex; justify-content: space-between; gap: 25px; margin-top: 55px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.12); font-size: 0.72rem; }
.glb-footer-legal p { margin: 0; }

.glb-reveal { opacity: 1; transform: none; }
.glb-has-reveal .glb-reveal { opacity: 0; transform: translateY(20px); transition: opacity 700ms ease, transform 700ms ease; }
.glb-has-reveal .glb-reveal.is-visible,
.glb-has-reveal .glb-reveal:focus-within { opacity: 1; transform: none; }

@media (max-width: 1240px) {
  .glb-menu-toggle { display: grid; }
  .glb-primary-nav {
    position: absolute; top: 100%; left: 20px; right: 20px; display: none; align-items: stretch; padding: 25px;
    border: 1px solid var(--glb-line); border-radius: 20px; background: var(--glb-cream); box-shadow: var(--glb-shadow);
  }
  .glb-primary-nav.is-open { display: grid; }
  .glb-nav-list { display: grid; gap: 0; }
  .glb-nav-list a { display: flex; min-height: 44px; align-items: center; padding: 11px 0; font-size: 1rem; }
  .glb-nav-list a::after { display: none; }
  .glb-nav-chevron { float: right; margin-top: 2px; }
  .glb-sub-menu { position: static; visibility: visible; min-width: 0; padding: 0 0 9px 18px; border: 0; border-left: 1px solid var(--glb-line); border-radius: 0; background: transparent; box-shadow: none; opacity: 1; transform: none; }
  .glb-sub-menu::before { display: none; }
  .glb-nav-list .glb-sub-menu a { padding: 8px 10px; font-size: 0.86rem; }
  .glb-menu-enhanced .glb-nav-list .menu-item-has-children > .glb-sub-menu { display: none; visibility: hidden; opacity: 0; }
  .glb-menu-enhanced .glb-nav-list .menu-item-has-children.is-submenu-open > .glb-sub-menu { display: grid; visibility: visible; opacity: 1; }
  .glb-primary-nav .glb-button { width: 100%; }
  .glb-page-hero-grid { grid-template-columns: 1fr 0.7fr; gap: 45px; }
  .glb-lamination-hero .glb-page-hero-grid { grid-template-columns: 1fr 0.8fr; }
  .glb-lamination-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .glb-lamination-process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .glb-lamination-process li:nth-child(3) { border-right: 0; }
  .glb-lamination-process li { border-bottom: 1px solid rgba(255,255,255,0.18); }
  .glb-trust-strip { grid-template-columns: repeat(3, 1fr); }
  .glb-trust-strip li { border-bottom: 1px solid var(--glb-line); }
  .glb-service-grid { gap: 16px; }
  .glb-treatment-grid, .glb-course-grid { grid-template-columns: repeat(2, 1fr); }
  .glb-footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  body.admin-bar .glb-site-header { top: 46px; }
  .glb-shell { width: min(calc(100% - 28px), var(--glb-shell)); }
  .glb-header-inner { min-height: 72px; }
  .glb-brand small { display: none; }
  .glb-brand strong { font-size: 1.16rem; }
  .glb-official-logo img { width: 190px; }
  .glb-hero-frame { min-height: 0; display: flex; flex-direction: column; }
  .glb-hero-frame::before { display: none; }
  .glb-hero-copy { width: 100%; padding: 58px 20px 48px; background: linear-gradient(135deg, #fffdf9, #f8f1e9); }
  .glb-hero-photo { position: relative; inset: auto; order: 2; width: 100%; height: auto; aspect-ratio: 4 / 3; object-position: 72% center; }
  .glb-hero h1 { font-size: clamp(3rem, 12vw, 4.8rem); }
  .glb-hero h1 > span { white-space: normal; }
  .glb-image-note { right: 10px; bottom: 10px; }
  .glb-trust-strip { grid-template-columns: repeat(2, 1fr); }
  .glb-trust-strip li:last-child { grid-column: 1 / -1; }
  .glb-page-hero-grid, .glb-section-heading, .glb-look-feature, .glb-founder-grid, .glb-split, .glb-faq-layout, .glb-form-panel, .glb-legal-layout, .glb-home-path { grid-template-columns: 1fr; }
  .glb-home-path-copy { position: static; }
  .glb-home-actions { grid-template-columns: 1fr; }
  .glb-lamination-hero .glb-page-hero-grid, .glb-lamination-choice, .glb-lamination-care { grid-template-columns: 1fr; }
  .glb-lamination-mosaic { max-width: 560px; }
  .glb-lamination-choice article { min-height: 0; }
  .glb-lamination-showcase { grid-template-columns: 1fr 1fr; }
  .glb-lamination-process { grid-template-columns: 1fr 1fr; }
  .glb-lamination-process li:nth-child(3) { border-right: 1px solid rgba(255,255,255,0.18); }
  .glb-lamination-process li:nth-child(even) { border-right: 0; }
  .glb-lamination-cta { align-items: flex-start; flex-direction: column; }
  .glb-section-heading { gap: 20px; }
  .glb-service-grid, .glb-contact-grid, .glb-editorial-grid { grid-template-columns: 1fr; }
  .glb-photo-grid { grid-template-columns: 1fr; }
  .glb-photo-card-tall { margin-top: 0; }
  .glb-service-card-tall { margin-top: 0; }
  .glb-look-stack { min-height: 450px; }
  .glb-founder-image { max-width: 520px; }
  .glb-founder-image span { right: 10px; }
  .glb-page-hero-image { max-width: 520px; }
  .glb-treatment-grid, .glb-course-grid { grid-template-columns: 1fr; }
  .glb-process { grid-template-columns: 1fr 1fr; }
  .glb-process li:nth-child(2) { border-right: 0; }
  .glb-process li { border-bottom: 1px solid rgba(255,255,255,0.18); }
  .glb-process-light li { border-bottom-color: var(--glb-line); }
  .glb-values article { grid-template-columns: 35px 1fr; }
  .glb-values article p { grid-column: 2; }
  .glb-legal-nav { position: static; grid-template-columns: 1fr; }
  .glb-footer-cta-inner, .glb-footer-legal { align-items: flex-start; flex-direction: column; }
  .glb-footer-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  h1 { font-size: 3rem; }
  .glb-hero-frame { width: 100%; }
  .glb-trust-strip { grid-template-columns: 1fr; }
  .glb-trust-strip li:last-child { grid-column: auto; }
  .glb-trust-strip li { min-height: 112px; }
  .glb-actions { align-items: stretch; flex-direction: column; }
  .glb-actions .glb-button { width: 100%; }
  .glb-service-card, .glb-service-card img { min-height: 450px; }
  .glb-home-path-list li { grid-template-columns: 38px 1fr; gap: 14px; }
  .glb-home-path-list a { grid-column: 2; width: 42px; }
  .glb-process { grid-template-columns: 1fr; }
  .glb-lamination-showcase, .glb-lamination-process { grid-template-columns: 1fr; }
  .glb-lamination-process li { min-height: 230px; border-right: 0 !important; }
  .glb-process li { border-right: 0; }
  .glb-form-panel, .glb-contact-card { padding: 28px 20px; }
  .glb-official-logo img { width: 168px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .glb-reveal { opacity: 1; transform: none; }
}


/* GirlLashBeauty RC1-B — Batch 3 WOW visual system.
   Loaded as part of the single compiled RC1 theme stylesheet. */
:root {
  color-scheme: light;
  --glb-ink: #211915;
  --glb-ink-soft: #625650;
  --glb-cream: #fffaf4;
  --glb-ivory: #f8f0e8;
  --glb-blush: #ecd7d2;
  --glb-rose: #b86f78;
  --glb-rose-dark: #713b48;
  --glb-gold: #c9a13a;
  --glb-action-ink: #1d1712;
  --glb-action-hover: #b98d22;
  --glb-focus: #684d00;
  --glb-rose-action: #6d3a48;
  --glb-line: rgba(67, 48, 40, 0.16);
  --glb-line-strong: rgba(67, 48, 40, 0.25);
  --glb-white: #ffffff;
  --glb-surface: rgba(255, 253, 249, 0.88);
  --glb-surface-solid: #fffdf9;
  --glb-space-1: clamp(0.38rem, 0.34rem + 0.12vw, 0.5rem);
  --glb-space-2: clamp(0.65rem, 0.58rem + 0.2vw, 0.82rem);
  --glb-space-3: clamp(1rem, 0.88rem + 0.36vw, 1.3rem);
  --glb-space-4: clamp(1.45rem, 1.2rem + 0.72vw, 2rem);
  --glb-space-5: clamp(2rem, 1.55rem + 1.25vw, 3rem);
  --glb-space-6: clamp(3rem, 2.2rem + 2.2vw, 4.75rem);
  --glb-space-7: clamp(4.4rem, 3rem + 3.8vw, 7.4rem);
  --glb-space-8: clamp(6rem, 4rem + 5.5vw, 10.5rem);
  --glb-step--1: clamp(0.82rem, 0.78rem + 0.16vw, 0.93rem);
  --glb-step-0: clamp(1rem, 0.95rem + 0.18vw, 1.13rem);
  --glb-step-1: clamp(1.2rem, 1.08rem + 0.45vw, 1.52rem);
  --glb-step-2: clamp(1.55rem, 1.3rem + 0.85vw, 2.15rem);
  --glb-step-3: clamp(2.05rem, 1.55rem + 1.75vw, 3.35rem);
  --glb-step-4: clamp(2.7rem, 1.85rem + 3vw, 5rem);
  --glb-step-5: clamp(3.35rem, 2rem + 4.8vw, 6.9rem);
  --glb-radius-xs: 10px;
  --glb-radius-sm: 15px;
  --glb-radius-md: 22px;
  --glb-radius-lg: 32px;
  --glb-radius-xl: 44px;
  --glb-radius-pill: 999px;
  --glb-elevation-1: 0 10px 28px rgba(67, 42, 34, 0.08);
  --glb-elevation-2: 0 22px 54px rgba(67, 42, 34, 0.12);
  --glb-elevation-3: 0 34px 90px rgba(67, 42, 34, 0.15);
  --glb-motion-fast: 160ms;
  --glb-motion-base: 200ms;
  --glb-motion-slow: 240ms;
  --glb-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --glb-radius: var(--glb-radius-lg);
  --glb-shadow: var(--glb-elevation-3);
}

picture.glb-responsive-picture { display: block; width: 100%; }
picture.glb-hero-picture { display: contents; }

html { background: var(--glb-cream); }
body {
  min-width: 320px;
  background:
    radial-gradient(circle at 7% 17%, rgba(236, 215, 210, 0.22), transparent 24rem),
    radial-gradient(circle at 95% 44%, rgba(201, 161, 58, 0.09), transparent 30rem),
    var(--glb-cream);
  font-size: var(--glb-step-0);
}
h1 { font-size: var(--glb-step-5); }
h2 { font-size: var(--glb-step-4); }
h3 { font-size: var(--glb-step-2); }
p, li { text-wrap: pretty; }

#glb-main,
.glb-section,
.glb-page-hero,
.glb-section-heading,
.glb-treatment-grid,
.glb-course-grid,
.glb-editorial-grid,
.glb-form-panel,
.glb-contact-grid,
.glb-legal-layout { min-width: 0; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--glb-focus);
  outline-offset: 4px;
  border-radius: max(4px, var(--glb-radius-xs));
}
:where(button, input, select, textarea):disabled,
:where(.glb-button, [role="button"])[aria-disabled="true"] {
  cursor: not-allowed !important;
  filter: saturate(0.35);
  opacity: 0.52;
  transform: none !important;
  box-shadow: none !important;
}
:where(button, .glb-button, [role="button"])[aria-busy="true"] {
  cursor: progress;
  opacity: 0.78;
}
:where(button, .glb-button, [role="button"])[aria-busy="true"]::after {
  content: "";
  width: 0.85em;
  aspect-ratio: 1;
  margin-left: 0.65em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: glb-rc1b-spin 800ms linear infinite;
}
@keyframes glb-rc1b-spin { to { transform: rotate(1turn); } }

.glb-section { padding-block: var(--glb-space-8); }
.glb-section-heading {
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, 0.46fr);
  gap: var(--glb-space-6);
  margin-bottom: var(--glb-space-6);
}
.glb-section-heading > div { position: relative; padding-top: var(--glb-space-3); }
.glb-section-heading > div::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(54px, 6vw, 92px);
  height: 2px;
  background: linear-gradient(90deg, var(--glb-gold), var(--glb-rose));
}
.glb-section-heading h2 { max-width: 13ch; line-height: 0.96; }
.glb-section-heading > p {
  max-width: 42ch;
  padding-left: var(--glb-space-4);
  border-left: 1px solid var(--glb-line-strong);
}
.glb-eyebrow { margin-bottom: var(--glb-space-3); color: var(--glb-rose-dark); }

.glb-site-header {
  border-bottom-color: rgba(67, 42, 34, 0.11);
  background: rgba(255, 250, 244, 0.96);
  box-shadow: 0 1px 0 rgba(255,255,255,0.7);
  backdrop-filter: blur(10px) saturate(1.05);
}
.glb-site-header.is-scrolled { background: rgba(255, 250, 244, 0.985); box-shadow: var(--glb-elevation-1); }
.glb-header-inner { min-height: clamp(78px, 7vw, 94px); }
.glb-nav-list a,
.glb-nav-chevron,
.glb-sub-menu,
.glb-menu-icon,
.glb-menu-icon::before,
.glb-menu-icon::after,
.glb-button,
.glb-home-path-list a,
.glb-home-action,
.glb-accordion summary span,
.glb-site-footer a,
.glb-link-button {
  transition-duration: var(--glb-motion-base);
  transition-timing-function: var(--glb-ease-out);
}
.glb-sub-menu {
  padding: 10px;
  border-color: var(--glb-line-strong);
  border-radius: var(--glb-radius-md);
  background: var(--glb-surface-solid);
  box-shadow: var(--glb-elevation-2);
}

.glb-button,
.wpforms-container button[type="submit"] {
  min-height: 52px;
  border: 1px solid var(--glb-gold) !important;
  border-radius: var(--glb-radius-pill) !important;
  background: var(--glb-gold) !important;
  color: var(--glb-action-ink) !important;
  box-shadow: 0 10px 24px rgba(105, 76, 18, 0.13);
  transition: transform var(--glb-motion-fast) var(--glb-ease-out), box-shadow var(--glb-motion-base) ease, background var(--glb-motion-base) ease;
}
.glb-button-light { border-color: var(--glb-cream) !important; background: var(--glb-cream) !important; color: var(--glb-action-ink) !important; }
.glb-button-ghost,
.glb-button-outline { border-color: var(--glb-line-strong) !important; background: rgba(255,253,249,0.72) !important; color: var(--glb-rose-dark) !important; box-shadow: none; }
.glb-button:hover,
.wpforms-container button[type="submit"]:hover {
  background: var(--glb-action-hover) !important;
  color: var(--glb-action-ink) !important;
  box-shadow: 0 16px 34px rgba(91, 64, 14, 0.2);
  transform: translateY(-2px);
}
.glb-button:active,
.wpforms-container button[type="submit"]:active { transform: translateY(0) scale(0.985); }

/* Home: richer editorial rhythm without changing content or IA. */
body.home .glb-hero { padding: clamp(14px, 1.8vw, 26px) 0 0; }
body.home .glb-hero-frame {
  min-height: clamp(590px, 48vw, 720px);
  border: 1px solid var(--glb-line);
  border-radius: var(--glb-radius-xl);
  box-shadow: var(--glb-elevation-2);
}
body.home .glb-hero-frame::before {
  background: linear-gradient(92deg, rgba(255,250,244,0.99) 0%, rgba(255,250,244,0.96) 35%, rgba(255,250,244,0.68) 53%, rgba(255,250,244,0.05) 76%);
}
body.home .glb-hero-frame::after {
  content: "";
  position: absolute;
  z-index: 2;
  left: clamp(24px, 4.7vw, 72px);
  bottom: clamp(22px, 3vw, 42px);
  width: clamp(64px, 8vw, 118px);
  height: 2px;
  background: linear-gradient(90deg, var(--glb-gold), transparent);
  pointer-events: none;
}
body.home .glb-hero-copy { width: min(60%, 760px); padding-block: clamp(82px, 8vw, 126px); }
body.home .glb-hero h1 { max-width: 10.5ch; margin-bottom: var(--glb-space-4); font-size: clamp(3.6rem, 5.8vw, 6.25rem); }
body.home .glb-hero-photo { filter: saturate(0.92) contrast(1.02); }
body.home .glb-trust-strip {
  position: relative;
  z-index: 3;
  width: min(calc(100% - 48px), 1180px);
  margin: -34px auto 0;
  overflow: hidden;
  border: 1px solid var(--glb-line);
  border-radius: var(--glb-radius-md);
  background: var(--glb-surface-solid);
  box-shadow: var(--glb-elevation-1);
}
body.home .glb-trust-strip li { min-height: 142px; }
body.home .glb-service-grid { gap: var(--glb-space-3); }
body.home .glb-service-card {
  min-height: clamp(470px, 44vw, 620px);
  border: 1px solid rgba(255,255,255,0.46);
  border-radius: var(--glb-radius-lg) var(--glb-radius-sm) var(--glb-radius-lg) var(--glb-radius-sm);
  box-shadow: var(--glb-elevation-2);
}
body.home .glb-service-card:nth-child(even) { border-radius: var(--glb-radius-sm) var(--glb-radius-lg) var(--glb-radius-sm) var(--glb-radius-lg); }
body.home .glb-service-card img { min-height: clamp(470px, 44vw, 620px); transition-duration: var(--glb-motion-slow); }
body.home .glb-home-path-list li { min-height: 160px; transition: padding var(--glb-motion-base) var(--glb-ease-out), background var(--glb-motion-base) ease; }
body.home .glb-home-action {
  position: relative;
  overflow: hidden;
  min-height: 235px;
  border-radius: var(--glb-radius-md);
  background: linear-gradient(145deg, rgba(255,255,255,0.88), rgba(248,240,232,0.7));
  box-shadow: var(--glb-elevation-1);
}
body.home .glb-home-action::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 34%;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--glb-gold));
}
body.home .glb-look-feature { gap: clamp(52px, 8vw, 122px); }
body.home .glb-look-stack img { border: 1px solid rgba(255,255,255,0.7); border-radius: var(--glb-radius-lg); box-shadow: var(--glb-elevation-2); }
body.home .glb-photo-grid { gap: var(--glb-space-3); }
body.home .glb-photo-card { border-radius: var(--glb-radius-lg); box-shadow: var(--glb-elevation-1); }
body.home .glb-photo-card img { transition-duration: var(--glb-motion-slow); }
body.home .glb-founder-image img { box-shadow: var(--glb-elevation-2); }
body.home .glb-accordion details { padding-inline: var(--glb-space-3); border: 1px solid var(--glb-line); border-bottom: 0; background: rgba(255,253,249,0.58); }
body.home .glb-accordion details:first-child { border-radius: var(--glb-radius-md) var(--glb-radius-md) 0 0; }
body.home .glb-accordion details:last-child { border-bottom: 1px solid var(--glb-line); border-radius: 0 0 var(--glb-radius-md) var(--glb-radius-md); }

/* Page heroes and Academy components. */
.glb-page-hero { padding-block: var(--glb-space-7); border-bottom: 1px solid var(--glb-line); }
.glb-page-hero-grid { gap: clamp(48px, 8vw, 112px); }
.glb-page-hero h1 { max-width: 12ch; font-size: clamp(3.15rem, 5.9vw, 6.15rem); }
.glb-page-hero-compact h1 { max-width: 18ch; }
.glb-page-hero .glb-lead { max-width: 55ch; }
.glb-page-hero-image img {
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 48% 48% var(--glb-radius-lg) var(--glb-radius-lg);
  box-shadow: var(--glb-elevation-3);
}
body:is(.page-id-49, .page-id-130) .glb-site-header { border-bottom-color: rgba(201,161,58,0.28); background: rgba(255,251,241,0.97); }
body:is(.page-id-49, .page-id-130) .glb-page-hero { background: radial-gradient(circle at 86% 14%, rgba(201,161,58,0.23), transparent 34%), linear-gradient(135deg, var(--glb-cream), #f8efdc); }
body:is(.page-id-49, .page-id-130) .glb-footer-cta { background: linear-gradient(115deg, #72522e, #3d2d22); }
body:is(.page-id-49, .page-id-130) .glb-site-footer { box-shadow: inset 0 4px 0 rgba(201,161,58,0.58); }

.glb-course-grid {
  gap: 1px;
  padding: 1px;
  overflow: hidden;
  border: 0;
  border-radius: var(--glb-radius-lg);
  background: var(--glb-line);
  box-shadow: var(--glb-elevation-1);
}
.glb-course-card {
  position: relative;
  overflow: hidden;
  min-height: 365px;
  border: 0;
  background: rgba(255,253,249,0.96);
  transition: background var(--glb-motion-base) ease, box-shadow var(--glb-motion-base) ease;
}
.glb-course-card::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 42%;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--glb-gold));
}
.glb-course-card > span { color: var(--glb-rose-dark); }
.glb-course-card h3 { max-width: 12ch; }

@media (hover: hover) and (pointer: fine) {
  body.home .glb-home-path-list li:hover { padding-inline: var(--glb-space-3); background: rgba(255,255,255,0.58); }
  .glb-course-card:hover { background: var(--glb-white); box-shadow: inset 0 0 0 1px rgba(201,161,58,0.38); }
}

@media (max-width: 980px) {
  body.home .glb-hero-copy { width: min(68%, 720px); }
  body.home .glb-trust-strip { width: min(calc(100% - 32px), 900px); grid-template-columns: repeat(3, 1fr); }
  body.home .glb-trust-strip li:nth-child(n+4) { border-top: 1px solid var(--glb-line); }
  .glb-section-heading { gap: var(--glb-space-5); }
}

@media (max-width: 760px) {
  :root { --glb-shell: 100%; --glb-radius-xl: 30px; }
  body { font-size: 1rem; }
  .glb-shell { width: min(calc(100% - 30px), var(--glb-shell)); }
  .glb-section { padding-block: clamp(4.7rem, 20vw, 6.6rem); }
  .glb-section-heading { gap: var(--glb-space-4); margin-bottom: var(--glb-space-5); }
  .glb-section-heading > p { padding-left: 0; border-left: 0; }
  .glb-section-heading h2 { max-width: 12ch; }
  .glb-header-inner { min-height: 76px; }
  .glb-official-logo img { width: 164px; }

  body.home .glb-hero { padding-top: 8px; }
  body.home .glb-hero-frame { min-height: 680px; border-radius: var(--glb-radius-lg); }
  body.home .glb-hero-frame::before { background: linear-gradient(180deg, rgba(255,250,244,0.99) 0%, rgba(255,250,244,0.91) 48%, rgba(255,250,244,0.15) 78%); }
  body.home .glb-hero-copy { width: 100%; padding: clamp(52px, 14vw, 78px) 22px; }
  body.home .glb-hero h1 { max-width: 9.5ch; font-size: clamp(3.2rem, 15vw, 4.8rem); }
  body.home .glb-hero h1 > span { white-space: normal; }
  body.home .glb-hero-photo { object-position: 64% center; }
  body.home .glb-trust-strip { grid-template-columns: 1fr; margin-top: -24px; border-radius: var(--glb-radius-md); }
  body.home .glb-trust-strip li { min-height: 0; padding: 20px 18px 20px 60px; border-right: 0; border-top: 1px solid var(--glb-line); }
  body.home .glb-trust-strip li:first-child { border-top: 0; }
  body.home .glb-trust-strip li > span { top: 18px; left: 18px; }
  body.home .glb-service-grid { display: flex; max-width: 100%; overflow-x: auto; margin-inline: 0; padding: 0 0 var(--glb-space-3); scroll-padding-left: 0; scroll-snap-type: x mandatory; }
  body.home .glb-service-card { min-width: min(86vw, 350px); min-height: 480px; scroll-snap-align: start; }
  body.home .glb-service-card img { min-height: 480px; }
  body.home .glb-service-card-tall { margin-top: 0; }
  body.home .glb-home-path-copy { position: static; }
  body.home .glb-look-stack img { width: 68%; }
  body.home .glb-look-stack img:first-child { left: 5%; }
  body.home .glb-look-stack img:last-child { right: 5%; }
  body.home .glb-home-path-list li { grid-template-columns: 36px minmax(0, 1fr) 42px; gap: 12px; min-height: 132px; }
  body.home .glb-home-actions { grid-template-columns: 1fr; }
  body.home .glb-home-action { min-height: 190px; }
  body.home .glb-photo-grid { grid-template-columns: 1fr 1fr; }
  body.home .glb-photo-card:first-child { grid-column: 1 / -1; }
  body.home .glb-photo-card-tall { margin-top: 0; }
  body.home .glb-photo-card figcaption { grid-template-columns: 28px 1fr; padding: 17px; }
  body.home .glb-photo-card strong { font-size: 1.05rem; }
  body.home .glb-photo-card small { font-size: 0.72rem; }

  .glb-page-hero { padding-block: clamp(4.8rem, 18vw, 6.4rem); }
  .glb-page-hero h1 { font-size: clamp(3.1rem, 14vw, 4.7rem); }
  .glb-page-hero-image { max-width: 92%; margin-inline: auto; }
  .glb-page-hero-image img { border-radius: 46% 46% var(--glb-radius-md) var(--glb-radius-md); }
  .glb-course-card { min-height: 0; padding: var(--glb-space-5) var(--glb-space-4); }
}

@media (max-width: 430px) {
  .glb-shell { width: min(calc(100% - 24px), var(--glb-shell)); }
  .glb-button { width: 100%; }
  .glb-actions { align-items: stretch; flex-direction: column; }
  body.home .glb-hero-frame { min-height: 650px; }
  body.home .glb-hero h1 { font-size: clamp(3rem, 14.8vw, 4rem); }
  body.home .glb-service-card { min-width: 88vw; }
}

@media (prefers-reduced-motion: reduce) {
  :where(button, .glb-button, [role="button"])[aria-busy="true"]::after { animation: none; }
  .glb-button:hover,
  .glb-home-action:hover,
  .glb-service-card:hover img,
  .glb-photo-card:hover img { transform: none !important; }
}

/* Treatments, events and editorial cards. */
body:is(.page-id-18, .page-id-38) .glb-site-header {
  border-bottom-color: rgba(184,111,120,0.24);
  background: rgba(255,247,244,0.97);
}
body:is(.page-id-18, .page-id-38) .glb-page-hero {
  background: radial-gradient(circle at 86% 12%, rgba(214,154,157,0.28), transparent 34%), linear-gradient(135deg, var(--glb-cream), #f8eae7);
}
body:is(.page-id-18, .page-id-38) .glb-footer-cta { background: linear-gradient(115deg, var(--glb-rose-action), #56323c); }
body:is(.page-id-18, .page-id-38) .glb-site-footer { box-shadow: inset 0 4px 0 rgba(184,111,120,0.54); }

.glb-treatment-grid { gap: var(--glb-space-3); border: 0; }
.glb-treatment-card {
  position: relative;
  overflow: hidden;
  min-height: 350px;
  border: 1px solid var(--glb-line);
  border-radius: var(--glb-radius-md);
  background: linear-gradient(145deg, rgba(255,255,255,0.86), rgba(248,238,233,0.64));
  box-shadow: var(--glb-elevation-1);
  transition: transform var(--glb-motion-base) var(--glb-ease-out), border-color var(--glb-motion-base) ease, box-shadow var(--glb-motion-base) ease;
}
.glb-treatment-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--glb-rose), var(--glb-gold));
}
.glb-treatment-card > span { color: var(--glb-rose-dark); }
.glb-treatment-card h3 { max-width: 13ch; }

.glb-editorial-grid { gap: var(--glb-space-4); }
.glb-editorial-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--glb-radius-lg) var(--glb-radius-sm) var(--glb-radius-lg) var(--glb-radius-sm);
  background: linear-gradient(135deg, rgba(234,215,210,0.48), rgba(255,255,255,0.76));
  box-shadow: var(--glb-elevation-1);
  transition: transform var(--glb-motion-base) var(--glb-ease-out), box-shadow var(--glb-motion-base) ease;
}
.glb-editorial-card:nth-child(even) {
  border-radius: var(--glb-radius-sm) var(--glb-radius-lg) var(--glb-radius-sm) var(--glb-radius-lg);
  background: linear-gradient(135deg, rgba(255,255,255,0.8), rgba(248,240,232,0.94));
}
.glb-editorial-card span {
  display: inline-grid;
  width: 44px;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid rgba(113,59,72,0.32);
  border-radius: 50%;
  color: var(--glb-rose-dark);
}
.glb-editorial-card h3 { max-width: 16ch; }

/* Laminazione: preserve content, make the page feel deliberately composed. */
.glb-lamination-hero .glb-page-hero-grid { gap: clamp(42px, 6vw, 88px); }
.glb-lamination-mosaic {
  padding: 10px;
  border-color: var(--glb-line-strong);
  border-radius: var(--glb-radius-xl);
  background: rgba(255,253,249,0.74);
  box-shadow: var(--glb-elevation-2);
}
.glb-lamination-mosaic figure { border-radius: var(--glb-radius-md); }
.glb-lamination-choice { gap: var(--glb-space-4); }
.glb-lamination-choice article {
  min-height: 450px;
  border-color: var(--glb-line-strong);
  border-radius: var(--glb-radius-lg);
  background: linear-gradient(145deg, rgba(255,255,255,0.9), rgba(247,232,228,0.64));
  box-shadow: var(--glb-elevation-1);
}
.glb-lamination-choice article > span { color: var(--glb-rose-dark); }
.glb-lamination-showcase { gap: var(--glb-space-3); }
.glb-lamination-showcase figure { border-radius: var(--glb-radius-md); box-shadow: var(--glb-elevation-1); }
.glb-lamination-showcase img { transition-duration: var(--glb-motion-slow); }
.glb-lamination-table-wrap { border-color: var(--glb-line-strong); border-radius: var(--glb-radius-lg); box-shadow: var(--glb-elevation-1); }
.glb-lamination-table thead th { background: #211915; }
.glb-lamination-process li { min-height: 270px; }
.glb-lamination-cta {
  border-color: var(--glb-line-strong);
  border-radius: var(--glb-radius-xl);
  background: linear-gradient(145deg, rgba(255,255,255,0.9), rgba(248,240,232,0.76));
  box-shadow: var(--glb-elevation-2);
}

/* Founder, case studies, FAQ and request paths. */
body:is(.page-id-79, .page-id-138) .glb-page-hero {
  background: radial-gradient(circle at 84% 18%, rgba(184,111,120,0.18), transparent 32%), linear-gradient(135deg, #fffaf4, #f7eee7);
}
.glb-founder-grid { gap: clamp(50px, 9vw, 132px); }
.glb-founder-image img {
  border: 1px solid rgba(255,255,255,0.76);
  box-shadow: var(--glb-elevation-2);
}
.glb-founder-grid blockquote {
  padding: var(--glb-space-4) 0 var(--glb-space-4) var(--glb-space-4);
  border-left-color: var(--glb-gold);
  color: var(--glb-rose-dark);
}
.glb-values article {
  grid-template-columns: 48px minmax(140px, 0.34fr) 1fr;
  gap: var(--glb-space-3);
  padding-block: var(--glb-space-4);
}
.glb-values strong { color: var(--glb-rose-dark); }

.glb-faq-layout { gap: clamp(48px, 8vw, 112px); }
.glb-home-faq-intro { position: sticky; top: 128px; align-self: start; }
.glb-accordion { overflow: hidden; border: 1px solid var(--glb-line); border-radius: var(--glb-radius-lg); background: rgba(255,253,249,0.7); }
.glb-accordion details { padding-inline: var(--glb-space-4); border-top-color: var(--glb-line); }
.glb-accordion details:first-child { border-top: 0; }
.glb-accordion summary {
  min-height: 74px;
  align-items: center;
  padding-block: var(--glb-space-3);
  transition: color var(--glb-motion-fast) ease, background var(--glb-motion-fast) ease;
}
.glb-accordion summary span { color: var(--glb-rose-dark); }
.glb-accordion details[open] { background: rgba(248,240,232,0.74); }
.glb-accordion details[open] summary { color: var(--glb-rose-dark); }

.glb-process { border-top-color: rgba(255,255,255,0.24); }
.glb-process li { min-height: 280px; padding: var(--glb-space-4); }
.glb-process span { color: var(--glb-blush); }
.glb-process-light {
  overflow: hidden;
  border: 1px solid var(--glb-line);
  border-radius: var(--glb-radius-lg);
  background: rgba(255,253,249,0.62);
}
.glb-process-light li { border-color: var(--glb-line); }
.glb-process-light span { color: var(--glb-rose-dark); }

/* Forms and contact: visual-only styling; no field or handler changes. */
.glb-form-panel {
  border-color: var(--glb-line-strong);
  border-radius: var(--glb-radius-xl);
  background: linear-gradient(145deg, rgba(255,255,255,0.92), rgba(248,240,232,0.78));
  box-shadow: var(--glb-elevation-2);
}
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="number"],
.wpforms-container select,
.wpforms-container textarea {
  border-color: var(--glb-line-strong) !important;
  border-radius: var(--glb-radius-sm) !important;
  background: rgba(255,255,255,0.94) !important;
  transition: border-color var(--glb-motion-fast) ease, box-shadow var(--glb-motion-fast) ease, background var(--glb-motion-fast) ease;
}
.wpforms-container input:hover,
.wpforms-container select:hover,
.wpforms-container textarea:hover { border-color: rgba(113,59,72,0.46) !important; }
.wpforms-container input:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: var(--glb-rose-dark) !important;
  background: var(--glb-white) !important;
  box-shadow: 0 0 0 4px rgba(113,59,72,0.14) !important;
}
.wpforms-container input[type="checkbox"],
.wpforms-container input[type="radio"] {
  width: 20px !important;
  height: 20px !important;
  accent-color: var(--glb-rose-dark);
}
.wpforms-container .wpforms-field-label-inline { color: var(--glb-ink) !important; line-height: 1.45 !important; }
.wpforms-container .wpforms-submit-container { margin-top: var(--glb-space-3) !important; }
.glb-legal-callout,
.glb-privacy-warning {
  border-color: rgba(113,59,72,0.3);
  border-radius: var(--glb-radius-md);
  background: #fff7f2;
}
.glb-contact-grid { gap: var(--glb-space-4); }
.glb-contact-card {
  border-color: var(--glb-line-strong);
  border-radius: var(--glb-radius-lg);
  background: linear-gradient(145deg, var(--glb-white), #fbf3eb);
  box-shadow: var(--glb-elevation-1);
}

/* Legal pages: typography and wayfinding only, never legal copy. */
body:is(.page-id-89, .page-id-91, .page-id-99, .page-id-248) .glb-page-hero {
  background: linear-gradient(180deg, #fbf5ee, var(--glb-cream));
}
.glb-legal-layout { gap: clamp(42px, 7vw, 102px); }
.glb-legal-nav {
  padding: var(--glb-space-3);
  border: 1px solid var(--glb-line);
  border-radius: var(--glb-radius-md);
  background: rgba(255,253,249,0.78);
  box-shadow: var(--glb-elevation-1);
}
.glb-legal-nav a { transition: color var(--glb-motion-fast) ease, background var(--glb-motion-fast) ease; }
.glb-legal-nav a:hover,
.glb-legal-nav a.is-current { background: var(--glb-ivory); color: var(--glb-rose-dark); }
.glb-prose { max-width: 78ch; font-size: var(--glb-step-0); }
.glb-prose h2 { padding-top: var(--glb-space-2); border-top: 1px solid var(--glb-line); }
.glb-prose :where(a) { color: var(--glb-rose-dark); }
.glb-table-wrap { border: 1px solid var(--glb-line); border-radius: var(--glb-radius-md); box-shadow: var(--glb-elevation-1); }

/* Footer adapts through the page-family accent while keeping one structure. */
.glb-footer-cta { padding-block: var(--glb-space-6); }
.glb-site-footer { background: #1d1714; }
.glb-footer-grid { gap: clamp(32px, 4vw, 56px); }
.glb-footer-grid a { text-underline-offset: 0.3em; }

@media (hover: hover) and (pointer: fine) {
  .glb-treatment-card:hover { transform: translateY(-4px); border-color: rgba(113,59,72,0.34); box-shadow: var(--glb-elevation-2); }
  .glb-editorial-card:hover { transform: translateY(-4px); box-shadow: var(--glb-elevation-2); }
  .glb-lamination-showcase figure:hover img { transform: scale(1.025); }
  .glb-site-footer a:hover,
  .glb-link-button:hover { color: var(--glb-white); }
}

.glb-treatment-card:focus-within,
.glb-course-card:focus-within,
.glb-editorial-card:focus-within,
.glb-home-action:focus-visible,
.glb-service-card:focus-visible { box-shadow: 0 0 0 4px rgba(104,77,0,0.2), var(--glb-elevation-2); }

@media (max-width: 760px) {
  .glb-treatment-card,
  .glb-editorial-card { min-height: 0; padding: var(--glb-space-5) var(--glb-space-4); }
  .glb-treatment-grid,
  .glb-editorial-grid { gap: var(--glb-space-3); }
  .glb-lamination-mosaic { padding: 7px; border-radius: var(--glb-radius-lg); }
  .glb-lamination-choice article { min-height: 0; }
  .glb-lamination-showcase { grid-template-columns: 1fr 1fr; }
  .glb-lamination-process { grid-template-columns: 1fr; }
  .glb-lamination-process li { min-height: 0; border-right: 0; }
  .glb-lamination-cta { align-items: stretch; flex-direction: column; border-radius: var(--glb-radius-lg); }
  .glb-home-faq-intro { position: static; }
  .glb-accordion { border-radius: var(--glb-radius-md); }
  .glb-accordion details { padding-inline: var(--glb-space-3); }
  .glb-process,
  .glb-process-light { grid-template-columns: 1fr; }
  .glb-process li { min-height: 0; border-right: 0; }
  .glb-form-panel { padding: var(--glb-space-4); border-radius: var(--glb-radius-lg); }
  .glb-contact-card { min-height: 0; padding: var(--glb-space-4); }
  .glb-values article { grid-template-columns: 34px 1fr; }
  .glb-values article p { grid-column: 2; }
  .glb-legal-nav { position: static; padding: var(--glb-space-2); }
}

@media (max-width: 430px) {
  .glb-lamination-showcase { grid-template-columns: 1fr; }
  .glb-footer-cta .glb-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .glb-treatment-card:hover,
  .glb-editorial-card:hover,
  .glb-lamination-showcase figure:hover img { transform: none !important; }
}

