/* Gemini design system — palette mirrors Flutter AppColors. */
:root {
  --gm-navy-950: #061522;
  --gm-navy-900: #0A1D2B;
  --gm-navy-850: #0D2232;
  --gm-navy-800: #102738;
  --gm-navy-750: #153044;
  --gm-navy-700: #1B3A4F;
  --gm-pearl: #F4F7F8;
  --gm-cloud: #D9E2E7;
  --gm-white: #FFFFFF;
  --gm-white-soft: #F5F7F9;
  --gm-champagne: #D6B56A;
  --gm-champagne-light: #F0D99A;
  --gm-champagne-deep: #B48A3A;
  --gm-teal: #35D0C3;
  --gm-teal-deep: #159F95;
  --gm-teal-soft: #6DE5DB;
  --gm-success: #31C48D;
  --gm-danger: #E35D6A;
  --gm-info: #68A8D8;
  --gm-warning: #E5B95A;
  --gm-violet: #8F8BFF;
  --gm-orange: #F08A5D;
  --gm-bg: var(--gm-navy-950);
  --gm-surface: var(--gm-navy-900);
  --gm-card: var(--gm-navy-800);
  --gm-field: var(--gm-navy-850);
  --gm-border: #244153;
  --gm-title: var(--gm-white-soft);
  --gm-text: #A8B7C4;
  --gm-muted: #718493;
  --gm-accent: var(--gm-champagne);
  --gm-accent-strong: var(--gm-champagne-light);
  --gm-accent-contrast: var(--gm-navy-950);
  --gm-focus: var(--gm-teal);
  --gm-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  --gm-radius-sm: 8px;
  --gm-radius-md: 12px;
  --gm-radius-lg: 16px;
  --gm-radius-xl: 22px;
  --gm-radius-2xl: 28px;
  --gm-space-1: 4px;
  --gm-space-2: 8px;
  --gm-space-3: 12px;
  --gm-space-4: 16px;
  --gm-space-5: 20px;
  --gm-space-6: 24px;
  --gm-space-8: 32px;
  --gm-space-10: 40px;
  --gm-motion-fast: 160ms;
  --gm-motion-normal: 240ms;
  --gm-motion-slow: 360ms;
  --gm-ease: cubic-bezier(.22, 1, .36, 1);
  --gm-font: "Ysabeau Infant", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
[data-gemini-theme="light"] {
  color-scheme: light;
  --gm-bg: var(--gm-pearl);
  --gm-surface: var(--gm-white);
  --gm-card: var(--gm-white);
  --gm-field: #F7F9FA;
  --gm-border: var(--gm-cloud);
  --gm-title: #10202C;
  --gm-text: #536573;
  --gm-muted: #81909B;
  --gm-accent: var(--gm-champagne-deep);
  --gm-accent-strong: var(--gm-champagne-deep);
  --gm-accent-contrast: var(--gm-white);
  --gm-focus: var(--gm-teal-deep);
  --gm-shadow: 0 20px 60px rgba(6, 26, 37, .09);
}
.gm-card { border: 1px solid var(--gm-border); border-radius: var(--gm-radius-xl); background: var(--gm-card); box-shadow: var(--gm-shadow); }
.gm-button { display: inline-flex; align-items: center; justify-content: center; gap: var(--gm-space-2); min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: var(--gm-radius-md); color: var(--gm-accent-contrast); background: var(--gm-accent); font: 700 15px/1.2 var(--gm-font); text-decoration: none; cursor: pointer; transition: transform var(--gm-motion-fast) var(--gm-ease), filter var(--gm-motion-fast) ease, border-color var(--gm-motion-fast) ease; }
.gm-button:hover { filter: brightness(1.04); transform: translateY(-1px); color: var(--gm-accent-contrast); }
.gm-button:focus-visible, .gm-field:focus-visible, .gm-link:focus-visible { outline: 3px solid var(--gm-focus); outline-offset: 3px; }
.gm-button--secondary { color: var(--gm-title); background: transparent; border-color: var(--gm-border); }
.gm-field { width: 100%; min-height: 52px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); padding: 13px 15px; color: var(--gm-title); background: var(--gm-field); font: 500 16px/1.4 var(--gm-font); }
.gm-field::placeholder { color: var(--gm-muted); opacity: 1; }
.gm-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid var(--gm-border); border-radius: 999px; color: var(--gm-text); background: rgba(16, 39, 56, .86); background: color-mix(in srgb, var(--gm-card) 86%, transparent); font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.gm-status { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; color: var(--gm-text); }
.gm-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gm-success); box-shadow: 0 0 0 4px rgba(49, 196, 141, .14); box-shadow: 0 0 0 4px color-mix(in srgb, var(--gm-success) 14%, transparent); }
.gm-empty { display: grid; place-items: center; gap: var(--gm-space-3); min-height: 220px; padding: var(--gm-space-8); border: 1px dashed var(--gm-border); border-radius: var(--gm-radius-xl); color: var(--gm-muted); text-align: center; }
.gm-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-lg); }
.gm-table { width: 100%; border-collapse: collapse; color: var(--gm-text); }
.gm-table th, .gm-table td { padding: 13px 16px; border-bottom: 1px solid var(--gm-border); text-align: left; }
.gm-table th { color: var(--gm-title); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.gm-skeleton { position: relative; overflow: hidden; border-radius: var(--gm-radius-sm); background: rgba(113, 132, 147, .18); background: color-mix(in srgb, var(--gm-muted) 18%, transparent); }
.gm-skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .13), transparent); background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--gm-white) 13%, transparent), transparent); animation: gm-shimmer 1.4s infinite; }
@keyframes gm-shimmer { to { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }

/* Focused public landing page. All landing styles are isolated to .gm-landing. */
body.gm-landing-page { margin: 0; min-height: 100vh; color-scheme: dark; color: var(--gm-title); background: var(--gm-bg); font-family: var(--gm-font); -webkit-font-smoothing: antialiased; }
.gm-landing-page *, .gm-landing-page *::before, .gm-landing-page *::after { box-sizing: border-box; }
.gm-landing { position: relative; min-height: 100vh; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse at 76% 12%, rgba(53, 208, 195, .12), transparent 32%), radial-gradient(ellipse at 18% 84%, rgba(214, 181, 106, .10), transparent 34%), linear-gradient(135deg, #061522 0%, #0A1D2B 54%, #061522 100%); }
.gm-landing::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .16; pointer-events: none; background-image: linear-gradient(rgba(217, 226, 231, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(217, 226, 231, .07) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, black, transparent 82%); }
.gm-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.gm-nav { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 27px; border-bottom: 1px solid rgba(217, 226, 231, .10); }
.gm-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--gm-title); text-decoration: none; }
.gm-brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(214, 181, 106, .68); border-radius: 12px; color: var(--gm-navy-950); background: linear-gradient(135deg, var(--gm-champagne-light), var(--gm-champagne-deep)); box-shadow: 0 8px 30px rgba(214, 181, 106, .17); }
.gm-brand-mark svg { width: 21px; height: 21px; }
.gm-brand-name { display: block; font-size: 19px; font-weight: 850; letter-spacing: .19em; line-height: 1; }
.gm-brand-caption { display: block; margin-top: 5px; color: var(--gm-muted); font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.gm-nav-actions { display: flex; align-items: center; gap: 22px; }
.gm-nav-link { color: var(--gm-text); font-size: 14px; font-weight: 700; text-decoration: none; transition: color var(--gm-motion-fast) ease; }
.gm-nav-link:hover { color: var(--gm-title); }
.gm-nav-button { min-height: 42px; padding: 11px 16px; border: 1px solid rgba(214, 181, 106, .50); border-radius: 12px; color: var(--gm-champagne-light); font-size: 13px; font-weight: 800; text-decoration: none; transition: background var(--gm-motion-fast) ease, color var(--gm-motion-fast) ease; }
.gm-nav-button:hover { color: var(--gm-navy-950); background: var(--gm-champagne); }
.gm-main { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(330px, .96fr); align-items: center; gap: clamp(36px, 6.5vw, 92px); padding-block: clamp(52px, 8vh, 98px) clamp(42px, 7vh, 78px); }
.gm-hero-copy { max-width: 660px; }
.gm-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 24px; color: var(--gm-teal); font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.gm-kicker::before { content: ""; width: 25px; height: 1px; background: var(--gm-teal); }
.gm-time-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 17px; margin-bottom: 22px; color: var(--gm-muted); font-size: 12px; font-weight: 700; letter-spacing: .035em; }
.gm-time-row time { color: var(--gm-text); font-variant-numeric: tabular-nums; }
.gm-greeting { margin: 0 0 13px; color: var(--gm-champagne-light); font-size: clamp(15px, 1.4vw, 18px); font-weight: 650; }
.gm-headline { max-width: 680px; margin: 0; color: var(--gm-title); font-size: clamp(39px, 5.2vw, 67px); font-weight: 800; letter-spacing: -.048em; line-height: .99; }
.gm-headline em { color: var(--gm-champagne); font-style: normal; }
.gm-type-line { display: flex; align-items: baseline; gap: 5px; min-height: 1.2em; margin-top: 20px; color: var(--gm-white-soft); font-size: clamp(20px, 2.4vw, 28px); font-weight: 650; letter-spacing: -.025em; }
.gm-type-text { color: var(--gm-teal-soft); }
.gm-caret { display: inline-block; width: 2px; height: .95em; margin-left: 2px; transform: translateY(2px); background: var(--gm-champagne); animation: gm-blink 1s step-end infinite; }
@keyframes gm-blink { 50% { opacity: 0; } }
.gm-description { max-width: 510px; margin: 21px 0 0; color: var(--gm-text); font-size: 16px; line-height: 1.7; }
.gm-signin-card { max-width: 560px; margin-top: 30px; padding: 22px; border: 1px solid rgba(217, 226, 231, .14); border-radius: 19px; background: linear-gradient(145deg, rgba(16, 39, 56, .92), rgba(10, 29, 43, .84)); box-shadow: 0 23px 70px rgba(0, 0, 0, .24), inset 0 1px 0 rgba(255, 255, 255, .045); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.gm-form-label { display: block; margin: 0 0 10px; color: var(--gm-title); font-size: 13px; font-weight: 750; }
.gm-form-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.gm-email { width: 100%; min-width: 0; min-height: 52px; padding: 14px 15px; border: 1px solid #244153; border-radius: 12px; outline: none; color: var(--gm-title); background: rgba(6, 21, 34, .62); font: 500 15px/1.4 var(--gm-font); transition: border-color var(--gm-motion-fast) ease, box-shadow var(--gm-motion-fast) ease; }
.gm-email::placeholder { color: #718493; opacity: 1; }
.gm-email:focus { border-color: var(--gm-teal); box-shadow: 0 0 0 3px rgba(53, 208, 195, .15); }
.gm-continue { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 18px; border: 1px solid var(--gm-champagne); border-radius: 12px; color: var(--gm-navy-950); background: linear-gradient(110deg, var(--gm-champagne-light), var(--gm-champagne)); font: 800 14px/1.2 var(--gm-font); cursor: pointer; white-space: nowrap; transition: transform var(--gm-motion-fast) var(--gm-ease), box-shadow var(--gm-motion-fast) ease; }
.gm-continue:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(214, 181, 106, .19); }
.gm-continue:focus-visible, .gm-social-link:focus-visible, .gm-footer-link:focus-visible, .gm-nav-link:focus-visible, .gm-nav-button:focus-visible { outline: 3px solid var(--gm-teal); outline-offset: 3px; }
.gm-form-note { margin: 10px 0 0; color: var(--gm-muted); font-size: 11px; line-height: 1.55; }
.gm-social-area { margin-top: 17px; }
.gm-social-label { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; color: var(--gm-muted); font-size: 11px; }
.gm-social-label::before, .gm-social-label::after { content: ""; flex: 1; height: 1px; background: rgba(217, 226, 231, .12); }
.gm-social-links { display: flex; gap: 10px; flex-wrap: wrap; }
.gm-social-link { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 43px; padding: 10px 12px; border: 1px solid rgba(217, 226, 231, .13); border-radius: 11px; color: var(--gm-text); background: rgba(6, 21, 34, .27); font-size: 12px; font-weight: 700; text-decoration: none; transition: border-color var(--gm-motion-fast) ease, background var(--gm-motion-fast) ease, color var(--gm-motion-fast) ease; }
.gm-social-link:hover { color: var(--gm-title); border-color: rgba(214, 181, 106, .52); background: rgba(214, 181, 106, .06); }
.gm-social-link img { width: 17px; height: 17px; object-fit: contain; }
.gm-visual { position: relative; min-height: 450px; display: grid; place-items: center; }
.gm-orbit { position: absolute; border: 1px solid rgba(53, 208, 195, .18); border-radius: 50%; transform: rotate(-22deg); pointer-events: none; }
.gm-orbit--one { width: min(100%, 500px); aspect-ratio: 1; }
.gm-orbit--two { width: min(82%, 410px); aspect-ratio: 1; border-color: rgba(214, 181, 106, .20); }
.gm-architecture { position: relative; width: min(100%, 440px); min-height: 390px; padding: 23px; overflow: hidden; border: 1px solid rgba(217, 226, 231, .19); border-radius: 25px; background: linear-gradient(150deg, rgba(21, 48, 68, .78), rgba(10, 29, 43, .76)); box-shadow: 0 35px 85px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .06); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); transform: perspective(1000px) rotateY(-5deg) rotateX(2deg); }
.gm-architecture-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.gm-architecture-label { color: var(--gm-muted); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.gm-scene { position: relative; height: 230px; margin-top: 24px; overflow: hidden; border: 1px solid rgba(217, 226, 231, .10); border-radius: 17px; background: radial-gradient(circle at 50% 25%, rgba(53, 208, 195, .12), transparent 48%), linear-gradient(180deg, #102738, #061522); }
.gm-scene-grid { position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(217, 226, 231, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(217, 226, 231, .16) 1px, transparent 1px); background-size: 28px 28px; }
.gm-building { position: absolute; bottom: 20px; border: 1px solid rgba(214, 181, 106, .72); background: linear-gradient(140deg, rgba(21, 48, 68, .96), rgba(10, 29, 43, .96)); box-shadow: 0 18px 32px rgba(0, 0, 0, .24); }
.gm-building::before { content: ""; position: absolute; inset: 12px 10px; background-image: linear-gradient(90deg, rgba(53, 208, 195, .65) 1px, transparent 1px), linear-gradient(rgba(53, 208, 195, .65) 1px, transparent 1px); background-size: 18px 20px; opacity: .63; }
.gm-building--one { left: 16%; width: 26%; height: 118px; clip-path: polygon(0 15%, 64% 0, 100% 14%, 100% 100%, 0 100%); }
.gm-building--two { left: 39%; width: 30%; height: 166px; clip-path: polygon(0 11%, 100% 0, 100% 100%, 0 100%); }
.gm-building--three { right: 12%; width: 22%; height: 100px; clip-path: polygon(0 0, 100% 18%, 100% 100%, 0 100%); }
.gm-scene-ground { position: absolute; left: 8%; right: 8%; bottom: 18px; height: 1px; background: linear-gradient(90deg, transparent, var(--gm-champagne), var(--gm-teal), transparent); box-shadow: 0 0 22px rgba(53, 208, 195, .44); }
.gm-architecture-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
.gm-architecture-bottom strong { display: block; color: var(--gm-title); font-size: 14px; }
.gm-architecture-bottom span { display: block; margin-top: 4px; color: var(--gm-muted); font-size: 11px; }
.gm-visual-pill { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; padding: 12px 15px; border: 1px solid rgba(217, 226, 231, .16); border-radius: 14px; color: var(--gm-title); background: rgba(10, 29, 43, .84); box-shadow: 0 18px 40px rgba(0, 0, 0, .22); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); font-size: 12px; font-weight: 750; }
.gm-visual-pill svg { flex: none; color: var(--gm-teal); }
.gm-visual-pill--top { top: 7%; right: -3%; }
.gm-visual-pill--bottom { bottom: 7%; left: -3%; }
.gm-trust-note { display: flex; align-items: center; gap: 11px; margin-top: 19px; color: var(--gm-muted); font-size: 11px; line-height: 1.5; }
.gm-trust-note svg { flex: none; color: var(--gm-teal); }
.gm-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 20px 25px; border-top: 1px solid rgba(217, 226, 231, .10); }
.gm-footer-copy { color: var(--gm-muted); font-size: 11px; }
.gm-footer-links { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.gm-footer-link { padding: 8px 12px; border: 1px solid rgba(217, 226, 231, .11); border-radius: 999px; color: var(--gm-text); font-size: 11px; font-weight: 700; text-decoration: none; transition: color var(--gm-motion-fast) ease, border-color var(--gm-motion-fast) ease, background var(--gm-motion-fast) ease; }
.gm-footer-link:hover { color: var(--gm-champagne-light); border-color: rgba(214, 181, 106, .45); background: rgba(214, 181, 106, .06); }
.gm-skip-link { position: absolute; left: 16px; top: 12px; z-index: 30; transform: translateY(-160%); padding: 10px 14px; border-radius: 9px; color: var(--gm-navy-950); background: var(--gm-champagne-light); font-weight: 800; }
.gm-skip-link:focus { transform: translateY(0); }
.gm-landing-page a:focus-visible, .gm-landing-page button:focus-visible, .gm-landing-page input:focus-visible { outline: 3px solid var(--gm-teal); outline-offset: 3px; }
@media (max-width: 1000px) { .gm-main { grid-template-columns: minmax(0, 1fr) minmax(270px, .88fr); gap: 34px; } .gm-visual { min-height: 390px; } .gm-architecture { padding: 18px; min-height: 360px; } .gm-scene { height: 210px; } .gm-visual-pill--top { right: -1%; } .gm-visual-pill--bottom { left: -1%; } }
@media (max-width: 780px) { .gm-container { width: min(100% - 36px, 620px); } .gm-nav { padding-block: 18px; } .gm-nav-actions { gap: 12px; } .gm-main { grid-template-columns: 1fr; gap: 34px; padding-block: 48px 42px; } .gm-hero-copy { max-width: none; } .gm-visual { min-height: 360px; order: -1; } .gm-architecture { max-width: 420px; min-height: 330px; transform: none; } .gm-scene { height: 184px; } .gm-visual-pill--top { top: 0; right: 0; } .gm-visual-pill--bottom { bottom: 0; left: 0; } .gm-footer { align-items: flex-start; flex-direction: column; } }
@media (max-width: 480px) { .gm-container { width: calc(100% - 28px); } .gm-nav { gap: 12px; } .gm-brand-caption { font-size: 8px; } .gm-brand-name { font-size: 17px; } .gm-nav-actions { gap: 9px; } .gm-nav-link { font-size: 12px; } .gm-nav-button { min-height: 38px; padding: 9px 11px; font-size: 11px; } .gm-main { padding-top: 34px; } .gm-headline { font-size: clamp(37px, 11vw, 49px); } .gm-type-line { font-size: 19px; } .gm-description { font-size: 14px; } .gm-signin-card { padding: 17px; } .gm-form-row { grid-template-columns: 1fr; } .gm-continue { width: 100%; } .gm-social-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } .gm-social-link { padding-inline: 7px; gap: 6px; font-size: 11px; } .gm-visual { min-height: 310px; } .gm-architecture { min-height: 300px; padding: 14px; } .gm-scene { height: 160px; margin-top: 15px; } .gm-building--one { height: 90px; } .gm-building--two { height: 120px; } .gm-building--three { height: 76px; } .gm-architecture-bottom { margin-top: 13px; } .gm-visual-pill { padding: 10px 11px; font-size: 10px; } .gm-visual-pill svg { width: 15px; height: 15px; } }
@media (prefers-reduced-motion: reduce) { .gm-landing *, .gm-landing *::before, .gm-landing *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

/* Phase 2B — authentication, policy reading and contact components. */
.gm-form-feedback { display: grid; gap: 4px; margin: 0 0 15px; padding: 13px 15px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); color: var(--gm-text); background: var(--gm-surface); font-size: 13px; line-height: 1.5; }
.gm-form-feedback strong { color: var(--gm-title); font-size: 14px; }
.gm-form-feedback--success { border-color: rgba(49, 196, 141, .42); background: rgba(49, 196, 141, .08); }
.gm-form-feedback--error, .gm-alert--error { border-color: rgba(227, 93, 106, .44); background: rgba(227, 93, 106, .09); }
.gm-alert { margin: 0 0 17px; padding: 12px 14px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); color: var(--gm-text); font-size: 13px; line-height: 1.5; }
.gm-alert--success { border-color: rgba(49, 196, 141, .46); background: rgba(49, 196, 141, .09); }
.gm-alert--warning { border-color: rgba(229, 185, 90, .46); background: rgba(229, 185, 90, .09); }
.gm-auth-view { background: var(--gm-bg); }
.gm-auth-page { position: relative; isolation: isolate; min-height: 100vh; overflow: hidden; padding: clamp(22px, 4vw, 48px) 0 28px; color: var(--gm-title); background: var(--gm-bg); font-family: var(--gm-font); }
.gm-auth-page *, .gm-auth-page *::before, .gm-auth-page *::after { box-sizing: border-box; }
.gm-auth-backdrop { position: absolute; z-index: -1; inset: 0; pointer-events: none; background: radial-gradient(ellipse at 12% 22%, rgba(53, 208, 195, .13), transparent 34%), radial-gradient(ellipse at 88% 78%, rgba(214, 181, 106, .10), transparent 34%), linear-gradient(135deg, var(--gm-navy-950), var(--gm-navy-900) 55%, var(--gm-navy-950)); }
.gm-auth-container { width: min(1180px, calc(100% - 36px)); margin-inline: auto; }
.gm-auth-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--gm-title); text-decoration: none; }
.gm-auth-brand:hover { color: var(--gm-title); }
.gm-auth-brand-mark { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(214, 181, 106, .68); border-radius: 13px; color: var(--gm-navy-950); background: linear-gradient(135deg, var(--gm-champagne-light), var(--gm-champagne-deep)); font: 900 19px/1 var(--gm-font); box-shadow: 0 8px 28px rgba(214, 181, 106, .15); }
.gm-auth-brand strong { display: block; color: var(--gm-title); font-size: 18px; letter-spacing: .18em; line-height: 1; }
.gm-auth-brand small { display: block; margin-top: 6px; color: var(--gm-muted); font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.gm-auth-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(430px, 1fr); align-items: center; gap: clamp(28px, 5vw, 76px); padding: clamp(34px, 6vw, 70px) 0 45px; }
.gm-auth-layout--register { grid-template-columns: minmax(0, .7fr) minmax(560px, 1.2fr); align-items: start; }
.gm-auth-story { max-width: 460px; padding-block: 20px; }
.gm-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 17px; color: var(--gm-teal); font: 800 10px/1.3 var(--gm-font); letter-spacing: .17em; text-transform: uppercase; }
.gm-eyebrow::before { content: ""; width: 22px; height: 1px; background: currentColor; }
.gm-auth-story h1 { max-width: 520px; margin: 0; color: var(--gm-title); font-size: clamp(33px, 4.2vw, 55px); font-weight: 800; letter-spacing: -.045em; line-height: 1.02; }
.gm-auth-story > p { max-width: 410px; margin: 20px 0 0; color: var(--gm-text); font-size: 16px; line-height: 1.7; }
.gm-auth-assurance { display: flex; align-items: flex-start; gap: 13px; max-width: 420px; margin-top: 32px; padding: 17px; border: 1px solid rgba(217, 226, 231, .13); border-radius: var(--gm-radius-lg); background: rgba(16, 39, 56, .55); }
.gm-auth-assurance-icon { display: grid; flex: none; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: var(--gm-navy-950); background: var(--gm-teal); font-size: 15px; font-weight: 900; }
.gm-auth-assurance strong { display: block; color: var(--gm-title); font-size: 13px; }
.gm-auth-assurance small { display: block; margin-top: 4px; color: var(--gm-muted); font-size: 12px; line-height: 1.5; }
.gm-auth-card { width: 100%; max-width: 590px; justify-self: end; padding: clamp(22px, 3.4vw, 38px); border: 1px solid rgba(217, 226, 231, .17); border-radius: var(--gm-radius-2xl); background: rgba(10, 29, 43, .92); box-shadow: 0 28px 80px rgba(0, 0, 0, .29), inset 0 1px 0 rgba(255,255,255,.035); }
.gm-auth-card--register { max-width: 720px; }
.gm-auth-card h2 { margin: 0; color: var(--gm-title); font: 800 clamp(26px, 3vw, 34px)/1.1 var(--gm-font); letter-spacing: -.035em; }
.gm-auth-intro { margin: 10px 0 24px; color: var(--gm-text); font-size: 14px; line-height: 1.6; }
.gm-form { display: grid; gap: 17px; }
.gm-form-field { display: grid; gap: 8px; min-width: 0; }
.gm-form-field > label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; margin: 0; color: var(--gm-text); font-size: 12px; font-weight: 750; }
.gm-field { display: block; width: 100%; min-height: 49px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-md); padding: 12px 14px; color: var(--gm-title); background: var(--gm-field); font: 500 14px/1.4 var(--gm-font); transition: border-color var(--gm-motion-fast) ease, box-shadow var(--gm-motion-fast) ease, background var(--gm-motion-fast) ease; }
.gm-field:focus { border-color: var(--gm-teal); outline: 0; box-shadow: 0 0 0 3px rgba(53, 208, 195, .14); }
.gm-field[readonly] { color: var(--gm-title); background: rgba(21, 48, 68, .65); }
.gm-field::placeholder { color: var(--gm-muted); opacity: 1; }
.gm-field-error { color: #FF9CA7; font-size: 12px; line-height: 1.45; }
.gm-field-help, .gm-form-help { margin: -6px 0 0; color: var(--gm-muted); font-size: 11px; line-height: 1.6; }
.gm-inline-verified { display: inline-flex; align-items: center; border: 1px solid rgba(49, 196, 141, .36); border-radius: 999px; padding: 3px 7px; color: var(--gm-success); font-size: 10px; }
.gm-password-wrap { position: relative; }
.gm-password-wrap .gm-field { padding-right: 68px; }
.gm-password-toggle { position: absolute; top: 50%; right: 9px; transform: translateY(-50%); border: 0; border-radius: 7px; padding: 7px 8px; color: var(--gm-teal); background: transparent; font: 800 11px/1 var(--gm-font); cursor: pointer; }
.gm-password-toggle:hover { color: var(--gm-champagne-light); }
.gm-password-toggle:focus-visible { outline: 2px solid var(--gm-focus); outline-offset: 2px; }
.gm-form-options { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: -2px; }
.gm-check-label { display: inline-flex; align-items: flex-start; gap: 9px; color: var(--gm-text); font-size: 12px; line-height: 1.5; cursor: pointer; }
.gm-check-label input { flex: none; width: 16px; height: 16px; margin-top: 1px; accent-color: var(--gm-teal-deep); }
.gm-check-label a, .gm-text-link { color: var(--gm-champagne-light); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.gm-text-link:hover { color: var(--gm-teal-soft); }
.gm-button--wide { width: 100%; min-height: 51px; }
.gm-button:disabled { cursor: wait; opacity: .7; transform: none; }
.gm-auth-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0 14px; color: var(--gm-muted); font-size: 11px; }
.gm-auth-divider::before, .gm-auth-divider::after { content: ""; flex: 1; height: 1px; background: var(--gm-border); }
.gm-auth-socials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.gm-auth-social { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 43px; border: 1px solid var(--gm-border); border-radius: 11px; color: var(--gm-text); background: transparent; font-size: 12px; font-weight: 750; text-decoration: none; transition: border-color var(--gm-motion-fast) ease, background var(--gm-motion-fast) ease, color var(--gm-motion-fast) ease; }
.gm-auth-social:hover { border-color: rgba(214,181,106,.55); color: var(--gm-title); background: rgba(214,181,106,.05); }
.gm-auth-social img { width: 17px; height: 17px; object-fit: contain; }
.gm-auth-foot { margin: 21px 0 0; color: var(--gm-muted); font-size: 12px; text-align: center; }
.gm-auth-foot a { color: var(--gm-champagne-light); font-weight: 800; text-decoration: none; }
.gm-auth-foot a:hover { color: var(--gm-teal-soft); }
.gm-auth-resend { margin-top: 11px; }
.gm-auth-footer, .gm-email-auth-footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px; padding-top: 19px; border-top: 1px solid rgba(217,226,231,.10); color: var(--gm-muted); font-size: 11px; }
.gm-auth-footer a, .gm-email-auth-footer a { color: var(--gm-text); text-decoration: none; }
.gm-auth-footer a:hover, .gm-email-auth-footer a:hover { color: var(--gm-champagne-light); }
.gm-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.gm-terms-check { margin: 0; }
.gm-terms-check a { color: var(--gm-champagne-light); }
.gm-auth-card--register .gm-form { gap: 14px; }
.gm-auth-card--register .gm-form-help { margin-top: -7px; }
.gm-auth-card--register .iti { width: 100%; }
.gm-auth-card--register .iti__country-list { color: #10202C; }
.gm-auth-card--register .iti__selected-dial-code { color: var(--gm-title); }
.gm-auth-card--register .iti__selected-flag { background: transparent; }
.gm-auth-card--register .iti { color: var(--gm-title); }
.gm-email-auth-page { min-height: 100vh; margin: 0; color: var(--gm-title); background: radial-gradient(ellipse at 15% 15%, rgba(53,208,195,.12), transparent 35%), radial-gradient(ellipse at 80% 80%, rgba(214,181,106,.10), transparent 35%), var(--gm-bg); font-family: var(--gm-font); }
.gm-email-auth-page *, .gm-email-auth-page *::before, .gm-email-auth-page *::after { box-sizing: border-box; }
.gm-email-auth-shell { display: flex; min-height: 100vh; flex-direction: column; width: min(1120px, calc(100% - 36px)); margin-inline: auto; }
.gm-email-auth-header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 25px 0; border-bottom: 1px solid var(--gm-border); }
.gm-auth-confirm { display: grid; flex: 1; place-items: center; padding: 45px 0; }
.gm-auth-confirm-card { width: min(100%, 490px); padding: clamp(25px, 5vw, 46px); border: 1px solid var(--gm-border); border-radius: var(--gm-radius-2xl); background: var(--gm-surface); box-shadow: var(--gm-shadow); text-align: center; }
.gm-auth-confirm-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto 25px; border: 1px solid rgba(53,208,195,.35); border-radius: 19px; color: var(--gm-teal); background: rgba(53,208,195,.08); }
.gm-auth-confirm-icon svg { width: 29px; height: 29px; }
.gm-auth-confirm-card .gm-eyebrow { justify-content: center; }
.gm-auth-confirm-card h1 { margin: 0; color: var(--gm-title); font-size: clamp(28px, 4vw, 38px); font-weight: 850; letter-spacing: -.04em; line-height: 1.08; }
.gm-auth-confirm-card > p { margin: 16px 0 23px; color: var(--gm-text); font-size: 14px; line-height: 1.7; }
.gm-auth-confirm-card form { margin-bottom: 17px; }
.gm-auth-confirm-card .gm-auth-confirm-note { margin: 20px 0; color: var(--gm-muted); font-size: 11px; }
.gm-email-auth-footer { margin-top: auto; padding: 18px 0; }
.gm-policy-page { position: relative; color: var(--gm-title); background: var(--gm-bg); font-family: var(--gm-font); }
.gm-policy-progress { position: sticky; z-index: 10; top: 0; width: 100%; height: 3px; overflow: hidden; background: var(--gm-border); }
.gm-policy-progress > span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--gm-teal), var(--gm-champagne)); transition: width 80ms linear; }
.gm-policy-hero { position: relative; overflow: hidden; padding: clamp(45px, 7vw, 88px) 0 clamp(38px, 5vw, 64px); border-bottom: 1px solid var(--gm-border); background: radial-gradient(ellipse at 88% 8%, rgba(53,208,195,.12), transparent 34%), radial-gradient(ellipse at 10% 90%, rgba(214,181,106,.10), transparent 38%), linear-gradient(135deg, var(--gm-navy-950), var(--gm-navy-900)); }
.gm-policy-container { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.gm-policy-hero h1 { max-width: 850px; margin: 0; color: var(--gm-title); font-size: clamp(34px, 5vw, 60px); font-weight: 850; letter-spacing: -.045em; line-height: 1.02; }
.gm-policy-hero > .gm-policy-container > p { max-width: 730px; margin: 18px 0 0; color: var(--gm-text); font-size: 17px; line-height: 1.65; }
.gm-policy-meta { display: flex; align-items: center; gap: 10px; margin-top: 26px; color: var(--gm-muted); font-size: 12px; }
.gm-policy-meta strong { color: var(--gm-text); font-weight: 750; }
.gm-policy-meta-mark { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid rgba(49,196,141,.35); border-radius: 9px; color: var(--gm-success); background: rgba(49,196,141,.08); }
.gm-policy-layout { display: grid; grid-template-columns: minmax(210px, 270px) minmax(0, 1fr); align-items: start; gap: clamp(28px, 5vw, 65px); padding-top: 44px; padding-bottom: 80px; }
.gm-policy-toc-wrap { position: sticky; top: 25px; }
.gm-policy-toc-card { padding: 20px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-lg); background: var(--gm-surface); }
.gm-policy-toc-label { display: block; margin-bottom: 15px; color: var(--gm-muted); font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.gm-policy-toc-card nav ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.gm-policy-toc-card nav li { min-width: 0; }
.gm-policy-toc-card nav a { display: block; padding: 8px 10px; border-left: 2px solid transparent; border-radius: 0 8px 8px 0; color: var(--gm-text); font-size: 12px; line-height: 1.45; text-decoration: none; overflow-wrap: anywhere; }
.gm-policy-toc-card nav li[data-level="3"] a { padding-left: 22px; font-size: 11px; }
.gm-policy-toc-card nav a:hover, .gm-policy-toc-card nav a[aria-current="location"] { border-left-color: var(--gm-teal); color: var(--gm-title); background: rgba(53,208,195,.07); }
.gm-policy-article { min-width: 0; }
.gm-policy-content { color: var(--gm-text); font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.gm-policy-content > *:first-child { margin-top: 0; }
.gm-policy-content h2, .gm-policy-content h3, .gm-policy-content h4 { scroll-margin-top: 32px; color: var(--gm-title); font-weight: 800; letter-spacing: -.025em; line-height: 1.2; }
.gm-policy-content h2 { margin: 2.1em 0 .7em; padding-bottom: 12px; border-bottom: 1px solid var(--gm-border); font-size: clamp(22px, 3vw, 30px); }
.gm-policy-content h3 { margin: 1.8em 0 .6em; font-size: clamp(18px, 2.3vw, 23px); }
.gm-policy-content h4 { margin: 1.5em 0 .5em; font-size: 17px; }
.gm-policy-content p { margin: 0 0 1.15em; }
.gm-policy-content ul, .gm-policy-content ol { margin: 0 0 1.3em; padding-left: 1.5em; }
.gm-policy-content li { margin: .42em 0; padding-left: .2em; }
.gm-policy-content li::marker { color: var(--gm-champagne); }
.gm-policy-content a { color: var(--gm-teal-soft); font-weight: 700; text-underline-offset: 3px; }
.gm-policy-content blockquote { margin: 1.5em 0; padding: 16px 20px; border-left: 3px solid var(--gm-champagne); border-radius: 0 var(--gm-radius-md) var(--gm-radius-md) 0; color: var(--gm-title); background: var(--gm-surface); }
.gm-policy-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.gm-policy-content th, .gm-policy-content td { padding: 11px 13px; border: 1px solid var(--gm-border); text-align: left; }
.gm-policy-content th { color: var(--gm-title); background: var(--gm-surface); }
.gm-policy-endnote { display: flex; align-items: flex-start; gap: 12px; margin-top: 38px; padding: 19px; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-lg); color: var(--gm-text); background: var(--gm-surface); font-size: 13px; line-height: 1.55; }
.gm-policy-endnote > span:first-child { color: var(--gm-champagne); font-size: 21px; line-height: 1; }
.gm-policy-endnote a { color: var(--gm-champagne-light); font-weight: 800; }
.gm-contact-page { padding: clamp(45px, 7vw, 86px) 0 clamp(55px, 8vw, 100px); color: var(--gm-title); background: radial-gradient(ellipse at 95% 5%, rgba(53,208,195,.11), transparent 32%), var(--gm-bg); font-family: var(--gm-font); }
.gm-contact-container { width: min(1120px, calc(100% - 40px)); margin-inline: auto; }
.gm-contact-heading { max-width: 750px; margin: 0 auto clamp(32px, 5vw, 54px); text-align: center; }
.gm-contact-heading .gm-eyebrow { justify-content: center; }
.gm-contact-heading h1 { margin: 0; color: var(--gm-title); font-size: clamp(35px, 5.4vw, 60px); font-weight: 850; letter-spacing: -.045em; line-height: 1.03; }
.gm-contact-heading > p { margin: 17px auto 0; color: var(--gm-text); font-size: 16px; line-height: 1.65; }
.gm-contact-grid { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); gap: clamp(20px, 4vw, 42px); align-items: start; }
.gm-contact-aside, .gm-contact-form-card { min-width: 0; border: 1px solid var(--gm-border); border-radius: var(--gm-radius-2xl); background: var(--gm-surface); box-shadow: var(--gm-shadow); }
.gm-contact-aside { padding: clamp(24px, 3.5vw, 36px); }
.gm-contact-aside-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 25px; border: 1px solid rgba(214,181,106,.3); border-radius: 17px; color: var(--gm-champagne); background: rgba(214,181,106,.08); }
.gm-contact-aside-icon svg { width: 25px; height: 25px; }
.gm-contact-aside h2, .gm-contact-form-card h2 { margin: 0; color: var(--gm-title); font-size: clamp(22px, 3vw, 29px); font-weight: 850; letter-spacing: -.035em; line-height: 1.12; }
.gm-contact-aside > p { margin: 15px 0 20px; color: var(--gm-text); font-size: 14px; line-height: 1.7; }
.gm-contact-email { display: inline-block; max-width: 100%; color: var(--gm-teal-soft); font-weight: 800; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 4px; }
.gm-contact-trust { display: flex; gap: 10px; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--gm-border); color: var(--gm-muted); font-size: 12px; line-height: 1.6; }
.gm-contact-trust > span:first-child { display: grid; flex: none; place-items: center; width: 22px; height: 22px; border-radius: 7px; color: var(--gm-success); background: rgba(49,196,141,.10); font-weight: 900; }
.gm-contact-form-card { padding: clamp(23px, 4vw, 38px); }
.gm-contact-form-lead { margin: 9px 0 23px; color: var(--gm-muted); font-size: 12px; }
.gm-contact-form { gap: 16px; }
.gm-textarea { min-height: 140px; resize: vertical; }
.gm-field-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--gm-muted); font-size: 10px; }
.gm-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.gm-honeypot input { position: absolute; left: -9999px; }
.gm-contact-form .gm-form-help { margin-top: 0; }
.gm-policy-page a:focus-visible, .gm-contact-page a:focus-visible, .gm-contact-page button:focus-visible, .gm-contact-page input:focus-visible, .gm-contact-page textarea:focus-visible { outline: 3px solid var(--gm-focus); outline-offset: 3px; }
[data-gemini-theme="light"] .gm-auth-page { color: var(--gm-title); background: var(--gm-pearl); }
[data-gemini-theme="light"] .gm-auth-backdrop { background: radial-gradient(ellipse at 12% 22%, rgba(21,159,149,.10), transparent 34%), radial-gradient(ellipse at 88% 78%, rgba(180,138,58,.10), transparent 34%), linear-gradient(135deg, #F4F7F8, #FFFFFF 55%, #F4F7F8); }
[data-gemini-theme="light"] .gm-auth-card { border-color: var(--gm-cloud); background: rgba(255,255,255,.94); }
[data-gemini-theme="light"] .gm-auth-assurance { border-color: var(--gm-cloud); background: #F7F9FA; }
[data-gemini-theme="light"] .gm-auth-brand-mark { color: #FFFFFF; }
[data-gemini-theme="light"] .gm-email-auth-page { background: var(--gm-pearl); }
[data-gemini-theme="light"] .gm-auth-confirm-card, [data-gemini-theme="light"] .gm-contact-aside, [data-gemini-theme="light"] .gm-contact-form-card, [data-gemini-theme="light"] .gm-policy-toc-card { background: var(--gm-white); }
[data-gemini-theme="light"] .gm-policy-hero { background: radial-gradient(ellipse at 88% 8%, rgba(21,159,149,.09), transparent 34%), linear-gradient(135deg, #F4F7F8, #FFFFFF); }
[data-gemini-theme="light"] .gm-contact-page { background: radial-gradient(ellipse at 95% 5%, rgba(21,159,149,.08), transparent 32%), var(--gm-pearl); }
@media (max-width: 950px) { .gm-auth-layout, .gm-auth-layout--register { grid-template-columns: 1fr; gap: 28px; } .gm-auth-story { max-width: 700px; padding: 0; } .gm-auth-story h1 { max-width: 700px; font-size: clamp(30px, 5vw, 44px); } .gm-auth-story > p { max-width: 650px; margin-top: 12px; font-size: 14px; } .gm-auth-assurance { margin-top: 18px; } .gm-auth-card, .gm-auth-card--register { max-width: 760px; justify-self: stretch; } .gm-contact-grid { grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 18px; } }
@media (max-width: 680px) { .gm-auth-container, .gm-email-auth-shell { width: calc(100% - 28px); } .gm-auth-layout, .gm-auth-layout--register { padding: 32px 0 30px; gap: 24px; } .gm-auth-story h1 { font-size: clamp(29px, 8vw, 39px); } .gm-auth-story > p { font-size: 13px; } .gm-auth-card, .gm-auth-card--register { padding: 22px 17px; border-radius: 19px; } .gm-form-grid { grid-template-columns: 1fr; gap: 14px; } .gm-auth-socials { grid-template-columns: 1fr; } .gm-auth-footer, .gm-email-auth-footer { gap: 12px 16px; font-size: 10px; } .gm-policy-container, .gm-contact-container { width: calc(100% - 28px); } .gm-policy-layout { grid-template-columns: 1fr; gap: 22px; padding-top: 25px; padding-bottom: 52px; } .gm-policy-toc-wrap { position: static; } .gm-policy-toc-card { padding: 15px; } .gm-policy-toc-card nav ul { display: flex; flex-wrap: wrap; gap: 5px; } .gm-policy-toc-card nav a, .gm-policy-toc-card nav li[data-level="3"] a { padding: 6px 9px; border: 1px solid var(--gm-border); border-radius: 999px; font-size: 11px; } .gm-policy-toc-card nav a[aria-current="location"] { border-color: var(--gm-teal); } .gm-policy-content { font-size: 15px; line-height: 1.78; } .gm-policy-hero { padding: 42px 0 34px; } .gm-policy-hero h1, .gm-contact-heading h1 { font-size: clamp(32px, 9vw, 46px); } .gm-contact-grid { grid-template-columns: 1fr; } .gm-contact-aside { padding: 22px; } .gm-contact-form-card { padding: 22px 17px; } .gm-contact-heading { margin-bottom: 30px; } .gm-email-auth-header { padding: 17px 0; } .gm-email-auth-header .gm-status { font-size: 10px; } }
@media (prefers-reduced-motion: reduce) { .gm-auth-page *, .gm-auth-page *::before, .gm-auth-page *::after, .gm-policy-page *, .gm-contact-page *, .gm-email-auth-page * { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }

/* Gemini public navigation and footer: do not inherit Green theme menu colors. */
.gm-site-header{position:relative;z-index:40;border-bottom:1px solid var(--gm-border);background:rgba(6,21,34,.94);color:var(--gm-title);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
[data-gemini-theme="light"] .gm-site-header{background:rgba(255,255,255,.94)}
.gm-site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:84px}
.gm-site-header .gm-brand{flex:none}
.gm-site-nav{display:flex;align-items:center;gap:24px}
.gm-site-nav-links .navbar-nav,.gm-site-nav-links{display:flex;align-items:center;gap:6px;margin:0;padding:0;list-style:none}
.gm-site-nav-links .gm-public-nav-list{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;margin:0;padding:0;list-style:none}
.gm-site-nav-links .gm-public-nav-list>.nav-item{flex:none}
.gm-site-nav-links .gm-public-nav-list>.nav-item>.nav-link{white-space:nowrap}
.gm-site-nav-links .nav-item{position:relative;list-style:none}
.gm-site-nav-links .nav-link{display:inline-flex;align-items:center;min-height:42px;padding:10px 12px!important;border-radius:10px;color:var(--gm-text)!important;background:transparent!important;font:650 13px/1.3 var(--gm-font);text-decoration:none;transition:color var(--gm-motion-fast) ease,background var(--gm-motion-fast) ease}
.gm-site-nav-links .nav-link:hover,.gm-site-nav-links .nav-link.active{color:var(--gm-title)!important;background:rgba(53,208,195,.08)!important}
.gm-site-nav-links .dropdown-list{position:absolute;top:100%;left:0;min-width:210px;margin:0;padding:8px;list-style:none;border:1px solid var(--gm-border);border-radius:12px;background:var(--gm-surface);box-shadow:var(--gm-shadow)}
.gm-site-nav-links .dropdown-list .nav-link{width:100%;justify-content:flex-start}
.gm-site-nav-actions{display:flex;align-items:center;gap:15px;white-space:nowrap}
.gm-site-signin{color:var(--gm-text);font-size:13px;font-weight:700;text-decoration:none}
.gm-site-signin:hover{color:var(--gm-title)}
.gm-site-menu-toggle{display:none;place-items:center;width:44px;height:44px;border:1px solid var(--gm-border);border-radius:12px;color:var(--gm-title);background:var(--gm-surface)}
.gm-menu-lines,.gm-menu-lines:before,.gm-menu-lines:after{display:block;width:18px;height:2px;border-radius:3px;background:currentColor;content:""}
.gm-menu-lines{position:relative}.gm-menu-lines:before{position:absolute;top:-6px}.gm-menu-lines:after{position:absolute;top:6px}
.gm-site-footer{padding:48px 0 20px;border-top:1px solid var(--gm-border);background:var(--gm-navy-950);color:var(--gm-text)}
[data-gemini-theme="light"] .gm-site-footer{background:#10202c}
.gm-site-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.15fr 1.1fr;gap:32px;padding-bottom:34px}
.gm-site-footer-brand p,.gm-site-footer-grid>div>p{max-width:330px;margin:17px 0 0;color:#9aaab5;font-size:13px;line-height:1.75}
.gm-site-footer-grid h2{margin:3px 0 15px;color:#f5f7f9;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.gm-site-footer-links{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.gm-site-footer-links a,.gm-site-support-email{color:#b8c5cd;font-size:13px;text-decoration:none;overflow-wrap:anywhere}
.gm-site-footer-links a:hover,.gm-site-support-email:hover{color:var(--gm-champagne-light)}
.gm-site-support-email{display:inline-block;margin-top:14px;color:var(--gm-teal-soft);font-weight:750}
.gm-site-footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:18px;border-top:1px solid rgba(217,226,231,.12);color:#718493;font-size:11px;line-height:1.6}
.gm-site-footer-bottom span:last-child{max-width:560px;text-align:right}
.gm-footer-cookie-settings,.gm-cookie-settings-trigger{display:inline-flex;align-items:center;justify-content:center;margin-top:12px;padding:8px 12px;border:1px solid rgba(217,226,231,.2);border-radius:999px;color:#d4dee4;background:transparent;font:700 11px/1.3 var(--gm-font);cursor:pointer}
.gm-footer-cookie-settings:hover,.gm-cookie-settings-trigger:hover{border-color:var(--gm-champagne);color:var(--gm-champagne-light)}
.gm-cookie-banner{position:fixed;z-index:1000;right:20px;bottom:20px;left:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;max-width:1180px;margin-inline:auto;padding:22px;border:1px solid var(--gm-border);border-radius:18px;color:var(--gm-title);background:rgba(10,29,43,.97);box-shadow:0 24px 80px rgba(0,0,0,.42);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.gm-cookie-banner[hidden],.gm-cookie-preferences[hidden]{display:none!important}
.gm-cookie-banner-copy{max-width:620px}.gm-cookie-banner-copy h2,.gm-cookie-preferences-card h2{margin:7px 0 8px;color:var(--gm-title);font-size:clamp(20px,2.3vw,26px);font-weight:800;letter-spacing:-.03em}.gm-cookie-banner-copy p,.gm-cookie-preferences-card>p{margin:0 0 10px;color:var(--gm-text);font-size:13px;line-height:1.7}.gm-cookie-banner-copy>a{color:var(--gm-teal-soft);font-size:12px;font-weight:700}
.gm-cookie-banner-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.gm-cookie-banner .gm-button,.gm-cookie-preferences .gm-button{min-height:42px;padding:10px 14px;font-size:12px;white-space:nowrap}.gm-button--quiet{border-color:var(--gm-border)!important;color:var(--gm-title)!important;background:transparent!important}.gm-button--secondary{border-color:var(--gm-border)!important;color:var(--gm-title)!important;background:var(--gm-card)!important}
.gm-cookie-preferences{position:fixed;z-index:1001;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,11,18,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.gm-cookie-preferences-card{position:relative;width:min(100%,560px);max-height:min(90vh,800px);overflow:auto;padding:28px;border:1px solid var(--gm-border);border-radius:20px;background:var(--gm-surface);box-shadow:var(--gm-shadow)}
.gm-cookie-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid var(--gm-border);border-radius:10px;color:var(--gm-title);background:transparent;font-size:23px;cursor:pointer}
.gm-cookie-category{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px;padding:14px;border:1px solid var(--gm-border);border-radius:12px;background:var(--gm-card)}
.gm-cookie-category strong{display:block;color:var(--gm-title);font-size:13px}.gm-cookie-category p{margin:4px 0 0;color:var(--gm-text);font-size:11px;line-height:1.55}.gm-cookie-category input{flex:none;width:20px;height:20px;accent-color:var(--gm-teal)}.gm-cookie-always-on{flex:none;color:var(--gm-teal-soft);font-size:11px;font-weight:800}
.gm-cookie-note{margin:14px 0!important;font-size:11px!important}.gm-cookie-preferences-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.gm-cookie-dialog-open{overflow:hidden}
.gm-legal-review-note{margin-top:28px;padding:14px 16px;border-left:3px solid var(--gm-champagne);background:rgba(214,181,106,.06);color:var(--gm-muted);font-size:11px;line-height:1.7}
.gm-site-header a:focus-visible,.gm-site-header button:focus-visible,.gm-site-footer a:focus-visible,.gm-site-footer button:focus-visible,.gm-cookie-banner button:focus-visible,.gm-cookie-preferences button:focus-visible,.gm-cookie-preferences input:focus-visible{outline:3px solid var(--gm-focus);outline-offset:3px}
.gm-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1050px){.gm-site-header-inner{min-height:76px}.gm-site-nav{gap:10px}.gm-site-nav-links .nav-link{padding:9px 8px!important;font-size:12px}.gm-site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.gm-site-header-inner{position:relative;min-height:72px}.gm-site-menu-toggle{display:grid;flex:none}.gm-site-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;display:none;align-items:stretch;flex-direction:column;gap:16px;padding:18px;border:1px solid var(--gm-border);border-radius:0 0 16px 16px;background:var(--gm-surface);box-shadow:var(--gm-shadow)}.gm-site-nav.is-open{display:flex}.gm-site-nav-links,.gm-site-nav-links .navbar-nav{align-items:stretch;flex-direction:column;gap:3px}.gm-site-nav-links .nav-link{width:100%;justify-content:flex-start}.gm-site-nav-links .dropdown-list{position:static;box-shadow:none}.gm-site-nav-actions{justify-content:flex-start;flex-wrap:wrap}.gm-cookie-banner{right:10px;bottom:10px;left:10px;align-items:stretch;flex-direction:column;gap:15px;padding:18px}.gm-cookie-banner-actions{justify-content:stretch}.gm-cookie-banner-actions .gm-button{flex:1}.gm-site-footer-bottom{flex-direction:column;gap:8px}.gm-site-footer-bottom span:last-child{text-align:left}}
@media(max-width:520px){.gm-site-footer-grid{grid-template-columns:1fr;gap:25px}.gm-site-footer{padding-top:35px}.gm-cookie-banner-actions{display:grid;grid-template-columns:1fr}.gm-cookie-preferences-card{padding:23px 17px}.gm-cookie-preferences-actions{display:grid;grid-template-columns:1fr}.gm-cookie-category{padding:12px}.gm-cookie-banner-copy p{font-size:12px}}


/* Gemini public header refinement: keep brand, horizontal menu and account actions aligned. */
.gm-site-header-inner{width:min(100% - 48px, 1320px);margin-inline:auto;}
.gm-site-header .gm-site-nav{margin-left:auto;min-width:0;flex:1;justify-content:flex-end;gap:clamp(10px,1.8vw,24px)}
.gm-site-nav-links{min-width:0}
.gm-site-nav-links .gm-public-nav-list{width:100%}
.gm-site-nav-actions{flex:none}
.gm-site-header .gm-brand{max-width:270px}
@media(max-width:1100px) and (min-width:981px){.gm-site-header-inner{width:calc(100% - 36px);gap:16px}.gm-site-nav{gap:10px}.gm-site-nav-links .nav-link{padding-inline:8px!important;font-size:12px}.gm-site-nav-actions{gap:10px}}
@media(max-width:980px){.gm-site-header-inner{width:calc(100% - 32px)}.gm-site-nav{flex:initial}}


/* Legal-page spacing normalization: prevent legacy global section padding from
   creating oversized blank bands between policy headings and content. */
.gm-policy-page { padding: 0 !important; }
.gm-policy-page > .gm-policy-progress { padding: 0 !important; }
.gm-policy-page .gm-policy-content > section { padding: 0 !important; margin: 0 0 28px; }
.gm-policy-page .gm-policy-content > section:last-child { margin-bottom: 0; }
.gm-policy-page .gm-policy-content > section > :first-child { margin-top: 0; }
.gm-policy-page .gm-policy-content h2 { margin: 0 0 .65em; padding-bottom: 10px; }
.gm-policy-page .gm-policy-content h3 { margin: 1.25em 0 .55em; }
.gm-policy-page .gm-policy-content h4 { margin: 1.1em 0 .45em; }
.gm-policy-page .gm-policy-layout { gap: clamp(22px, 3.5vw, 42px); padding-top: 30px; padding-bottom: 52px; }
.gm-policy-page .gm-policy-endnote { margin-top: 24px; }
.gm-contact-page { padding: clamp(36px, 5vw, 60px) 0 clamp(42px, 6vw, 68px); }
.gm-contact-page > .gm-contact-container { padding: 0; }
.gm-contact-page .gm-contact-heading { margin-bottom: clamp(24px, 3.5vw, 36px); }
@media (max-width: 680px) {
    .gm-policy-page .gm-policy-layout { gap: 18px; padding-top: 22px; padding-bottom: 36px; }
    .gm-policy-page .gm-policy-content > section { margin-bottom: 22px; }
    .gm-contact-page { padding: 32px 0 42px; }
    .gm-contact-page .gm-contact-heading { margin-bottom: 24px; }
}


/* Policy vertical rhythm: legal groups use .gm-policy-section divs rather than the legacy global section element. */
.gm-policy-page { display: block; padding: 0 !important; }
.gm-policy-page .gm-policy-content > .gm-policy-section { display: block; padding: 0 !important; margin: 0 0 24px !important; }
.gm-policy-page .gm-policy-content > .gm-policy-section:last-child { margin-bottom: 0 !important; }
.gm-policy-page .gm-policy-content > .gm-policy-section > :first-child { margin-top: 0 !important; }
.gm-policy-page .gm-policy-content > .gm-policy-section > h2 { margin: 0 0 .65em !important; padding-bottom: 10px; }
.gm-policy-page .gm-policy-content > .gm-policy-section > p:last-child,
.gm-policy-page .gm-policy-content > .gm-policy-section > ul:last-child,
.gm-policy-page .gm-policy-content > .gm-policy-section > ol:last-child { margin-bottom: 0; }
@media (max-width: 680px) {
  .gm-policy-page .gm-policy-content > .gm-policy-section { margin-bottom: 20px !important; }
}
