/* GIRVI PUBLIC V6 — shared luxury theme for all public pages */
.girvi-public{
  --v6-bg:#f8f1e2;--v6-bg2:#fffaf0;--v6-surface:#fffdf8;--v6-surface2:#fff5dc;
  --v6-ink:#17202d;--v6-muted:#6d756f;--v6-line:#dec99a;--v6-gold:#d79b14;--v6-gold2:#f2d36b;
  --v6-gold-deep:#956109;--v6-teal:#128d8c;--v6-navy:#07131f;--v6-shadow:0 26px 70px rgba(104,72,18,.12);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  background:
    radial-gradient(circle at 8% 18%,rgba(242,196,72,.18),transparent 24rem),
    radial-gradient(circle at 92% 30%,rgba(18,141,140,.08),transparent 28rem),
    linear-gradient(180deg,#fff9eb 0%,#f8f1e3 52%,#f1f6f3 100%)!important;
  color:var(--v6-ink)!important;min-height:100vh;overflow-x:hidden;
}
html[data-theme="dark"] .girvi-public{
  --v6-bg:#07131f;--v6-bg2:#0b1a28;--v6-surface:#0d1d2d;--v6-surface2:#102437;
  --v6-ink:#f7f9fb;--v6-muted:#9aacbd;--v6-line:#24384b;--v6-gold:#e2b340;--v6-gold2:#f5d77c;
  --v6-gold-deep:#f0c85b;--v6-teal:#55c8c6;--v6-shadow:0 28px 70px rgba(0,0,0,.30);
  background:
    radial-gradient(circle at 8% 18%,rgba(226,179,64,.10),transparent 26rem),
    radial-gradient(circle at 92% 30%,rgba(85,200,198,.08),transparent 28rem),
    linear-gradient(180deg,#07131f 0%,#0a1724 56%,#08141f 100%)!important;
}
.girvi-public::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.42;
  background-image:
    linear-gradient(rgba(154,103,9,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(154,103,9,.035) 1px,transparent 1px),
    radial-gradient(circle at var(--v6-x,50%) var(--v6-y,20%),rgba(242,211,107,.15),transparent 16rem);
  background-size:42px 42px,42px 42px,auto;
  mask-image:linear-gradient(to bottom,#000,transparent 85%);
}
html[data-theme="dark"] .girvi-public::before{opacity:.22}
.girvi-public::after{
  content:"";position:fixed;inset:auto -18vw -36vh auto;width:70vw;height:70vw;border-radius:50%;
  pointer-events:none;z-index:-1;filter:blur(80px);
  background:radial-gradient(circle,rgba(18,141,140,.08),transparent 64%);
}
.girvi-public .topnav{
  height:84px!important;min-height:84px!important;padding:0 clamp(18px,2.2vw,34px)!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;gap:20px!important;
  background:linear-gradient(90deg,rgba(255,253,248,.95),rgba(255,249,234,.94) 52%,rgba(246,250,247,.95))!important;
  border-bottom:1px solid rgba(205,163,73,.30)!important;
  box-shadow:0 11px 32px rgba(106,75,24,.07)!important;
  backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;
}
html[data-theme="dark"] .girvi-public .topnav{
  background:linear-gradient(90deg,rgba(7,19,31,.94),rgba(13,29,45,.94),rgba(8,22,34,.94))!important;
  border-bottom-color:#20364a!important;box-shadow:0 11px 32px rgba(0,0,0,.24)!important;
}
.girvi-public .topnav.is-scrolled{box-shadow:0 16px 42px rgba(106,75,24,.12)!important}
.girvi-public .brand{min-width:205px!important;gap:11px!important;color:var(--v6-ink)!important}
.girvi-public .brandLogo{width:60px!important;height:60px!important;filter:drop-shadow(0 7px 14px rgba(181,126,13,.18))}
.girvi-public .brandText b{font-size:17px!important;font-weight:900!important;letter-spacing:.2px}
.girvi-public .brandText small{font-size:9px!important;color:var(--v6-muted)!important;letter-spacing:.12em!important}
.girvi-public .nav{gap:2px!important;flex-wrap:nowrap!important;min-width:0!important}
.girvi-public .nav a{
  position:relative;padding:10px 9px!important;border-radius:12px!important;color:var(--v6-muted)!important;
  font-size:11px!important;font-weight:800!important;letter-spacing:.01em!important;opacity:1!important;
  background:transparent!important;border:1px solid transparent!important;transition:.22s ease!important;
}
.girvi-public .nav a:hover{color:var(--v6-gold-deep)!important;background:rgba(242,211,107,.12)!important;border-color:rgba(215,155,20,.18)!important;transform:translateY(-1px)}
.girvi-public .nav a.active,.girvi-public .nav a.pill.active{
  color:var(--v6-gold-deep)!important;background:linear-gradient(145deg,#fff0bc,#fff9e8)!important;
  border-color:#dfbd68!important;box-shadow:0 8px 22px rgba(177,118,9,.12)!important;
}
html[data-theme="dark"] .girvi-public .nav a.active,
html[data-theme="dark"] .girvi-public .nav a.pill.active{
  color:var(--v6-gold2)!important;background:#18283a!important;border-color:#4a4650!important;
}
.girvi-public .nav a.nav-login,.girvi-public .nav a.nav-call{padding-inline:13px!important;border-color:#dec992!important}
.girvi-public .nav a.nav-call{
  color:#1d2419!important;background:linear-gradient(120deg,#ffe79a,#f2c651 36%,#d99b13 78%,#edbd3f)!important;
  border-color:#dba927!important;box-shadow:0 10px 25px rgba(185,125,11,.19)!important;
}
html[data-theme="dark"] .girvi-public .nav a.nav-call{color:#17210f!important}
.girvi-public .menuBtn{
  width:46px!important;height:46px!important;border-radius:14px!important;background:var(--v6-surface)!important;
  border:1px solid var(--v6-line)!important;color:var(--v6-ink)!important;box-shadow:0 8px 22px rgba(81,57,18,.08)!important;
}
.girvi-public .navDrawer{
  top:92px!important;left:auto!important;right:18px!important;width:min(430px,calc(100vw - 36px))!important;
  max-height:calc(100vh - 118px);overflow:auto;padding:12px!important;border-radius:22px!important;
  background:rgba(255,252,244,.97)!important;border:1px solid var(--v6-line)!important;box-shadow:var(--v6-shadow)!important;
}
html[data-theme="dark"] .girvi-public .navDrawer{background:rgba(13,29,45,.98)!important}
.girvi-public .navDrawer a{
  color:var(--v6-ink)!important;background:linear-gradient(145deg,var(--v6-surface),var(--v6-surface2))!important;
  border:1px solid var(--v6-line)!important;margin:7px 0!important;padding:12px 14px!important;border-radius:14px!important;
}
.girvi-public .navDrawer a:hover{transform:translateX(3px);border-color:var(--v6-gold)!important}
.girvi-public .navMask{background:rgba(7,19,31,.42)!important;backdrop-filter:blur(4px)}
.girvi-public .themeFab{
  left:16px!important;padding:9px 12px!important;border-radius:999px!important;border:1px solid var(--v6-line)!important;
  color:var(--v6-ink)!important;background:linear-gradient(145deg,var(--v6-surface),var(--v6-surface2))!important;
  box-shadow:0 14px 36px rgba(88,61,17,.14)!important;transition:.22s ease!important;
}
.girvi-public .themeFab:hover{transform:translateY(-50%) translateX(3px)!important;border-color:var(--v6-gold)!important}
.girvi-public .themeFab .ic{border-color:var(--v6-line)!important;background:linear-gradient(145deg,#fff0bc,#f8d97e)!important}
.girvi-public .wrap{padding-top:84px!important;min-height:100vh}
.girvi-public .container{width:min(1460px,calc(100vw - 72px))!important;max-width:none!important;margin-inline:auto!important}
.girvi-public .hero{
  min-height:clamp(520px,70vh,720px)!important;padding:70px 0 64px!important;border-bottom:1px solid var(--v6-line)!important;
  background:
    radial-gradient(circle at 15% 25%,rgba(245,199,75,.24),transparent 28%),
    radial-gradient(circle at 85% 22%,rgba(18,141,140,.10),transparent 26%),
    linear-gradient(135deg,#fff8e9 0%,#fffdf7 48%,#eef8f5 100%)!important;
  position:relative!important;overflow:hidden!important;
}
html[data-theme="dark"] .girvi-public .hero{
  background:
    radial-gradient(circle at 15% 25%,rgba(226,179,64,.12),transparent 28%),
    radial-gradient(circle at 85% 22%,rgba(85,200,198,.08),transparent 26%),
    linear-gradient(135deg,#091724 0%,#0d1d2d 52%,#102733 100%)!important;
}
.girvi-public .hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.20;
  background:
   repeating-radial-gradient(ellipse at 90% 70%,transparent 0 28px,rgba(199,147,29,.20) 29px 30px,transparent 31px 55px),
   linear-gradient(115deg,transparent 0 66%,rgba(255,255,255,.20) 66.2% 66.5%,transparent 66.7%);
  transform:scale(1.25);animation:v6OrnamentDrift 18s ease-in-out infinite alternate;
}
@keyframes v6OrnamentDrift{to{transform:scale(1.30) translate3d(-1.2%,1%,0) rotate(.35deg)}}
.girvi-public .heroBg{opacity:.34!important;filter:saturate(.88) contrast(.92) sepia(.12)!important}
html[data-theme="dark"] .girvi-public .heroBg{opacity:.28!important;filter:saturate(.7) brightness(.65)!important}
.girvi-public .veil{background:linear-gradient(90deg,rgba(255,250,238,.93) 0%,rgba(255,250,238,.74) 50%,rgba(245,250,247,.45) 100%)!important}
html[data-theme="dark"] .girvi-public .veil{background:linear-gradient(90deg,rgba(7,19,31,.92),rgba(9,22,34,.70),rgba(9,22,34,.42))!important}
.girvi-public .hero-grid,.girvi-public .heroGrid{position:relative!important;z-index:2!important;gap:56px!important}
.girvi-public .kicker{
  display:inline-flex!important;align-items:center!important;gap:9px!important;padding:8px 12px!important;border-radius:999px!important;
  color:var(--v6-gold-deep)!important;background:rgba(255,248,230,.72)!important;border:1px solid rgba(215,155,20,.24)!important;
  font-size:10px!important;letter-spacing:.14em!important;font-weight:900!important;text-transform:uppercase;
}
html[data-theme="dark"] .girvi-public .kicker{background:rgba(226,179,64,.08)!important}
.girvi-public .kicker .dot,.girvi-public .dot{background:var(--v6-teal)!important;box-shadow:0 0 0 4px rgba(18,141,140,.10),0 0 16px rgba(18,141,140,.24)!important}
.girvi-public .h1,.girvi-public h1{
  color:var(--v6-ink)!important;font-family:Inter,system-ui,sans-serif!important;font-weight:900!important;
  letter-spacing:-.055em!important;line-height:.96!important;text-wrap:balance;
}
.girvi-public .hero .h1,.girvi-public .hero h1{font-size:clamp(52px,5.2vw,88px)!important;margin:22px 0 24px!important}
.girvi-public .sub,.girvi-public .hero p{color:var(--v6-muted)!important;line-height:1.75!important;font-size:clamp(15px,1.2vw,18px)!important}
.girvi-public .glass{
  background:linear-gradient(145deg,rgba(255,253,247,.90),rgba(255,247,229,.82),rgba(244,250,247,.86))!important;
  border:1px solid var(--v6-line)!important;border-radius:28px!important;box-shadow:var(--v6-shadow)!important;
  backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;position:relative!important;overflow:hidden;
}
html[data-theme="dark"] .girvi-public .glass{background:linear-gradient(145deg,rgba(13,29,45,.94),rgba(16,36,55,.90))!important}
.girvi-public .glass::after,.girvi-public .card::after,.girvi-public .person::after{
  content:"";position:absolute;left:8%;right:8%;top:0;height:2px;
  background:linear-gradient(90deg,transparent,#d7a11f,#f2d36b,#168d8b,transparent);
  opacity:.48;transform:scaleX(.76);transition:.35s ease;pointer-events:none;
}
.girvi-public .glass:hover::after,.girvi-public .card:hover::after,.girvi-public .person:hover::after{opacity:.94;transform:scaleX(1)}
.girvi-public .section,.girvi-public .main{width:min(1460px,calc(100vw - 72px))!important;max-width:none!important;margin-inline:auto!important;padding-top:72px!important;padding-bottom:72px!important}
.girvi-public .card,.girvi-public .person,.girvi-public .cta,.girvi-public .note,.girvi-public .faq,.girvi-public .accordion,.girvi-public .search,.girvi-public .field,.girvi-public .cselectPanel{
  border-color:var(--v6-line)!important;color:var(--v6-ink)!important;
}
.girvi-public .card,.girvi-public .person{
  position:relative!important;overflow:hidden!important;background:linear-gradient(145deg,#fffdf7 0%,#fff8e9 66%,#f6fbf8 100%)!important;
  border:1px solid var(--v6-line)!important;border-radius:26px!important;box-shadow:0 14px 36px rgba(103,72,19,.07)!important;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease!important;
}
html[data-theme="dark"] .girvi-public .card,html[data-theme="dark"] .girvi-public .person{background:linear-gradient(145deg,#0d1d2d,#102437)!important}
.girvi-public .card:hover,.girvi-public .person:hover{transform:translateY(-6px)!important;border-color:#d6b662!important;box-shadow:0 28px 62px rgba(126,88,21,.13)!important}
.girvi-public h2,.girvi-public h3{color:var(--v6-ink)!important;letter-spacing:-.025em}
.girvi-public p,.girvi-public li,.girvi-public small,.girvi-public .hint,.girvi-public .meta,.girvi-public .muted{color:var(--v6-muted)!important}
.girvi-public .tag,.girvi-public .chip,.girvi-public .pill{
  color:var(--v6-gold-deep)!important;background:linear-gradient(145deg,#fff4cf,#fffaf0)!important;
  border:1px solid #e5cb87!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
}
html[data-theme="dark"] .girvi-public .tag,html[data-theme="dark"] .girvi-public .chip,html[data-theme="dark"] .girvi-public .pill{
  background:#15283a!important;border-color:#31465a!important;color:var(--v6-gold2)!important;
}
.girvi-public .btn{
  border-radius:14px!important;min-height:46px!important;padding:0 18px!important;font-weight:850!important;letter-spacing:-.01em!important;
  border:1px solid var(--v6-line)!important;background:linear-gradient(180deg,var(--v6-surface),var(--v6-surface2))!important;color:var(--v6-ink)!important;
  box-shadow:0 10px 24px rgba(94,65,18,.08)!important;transition:.22s ease!important;
}
.girvi-public .btn:hover{transform:translateY(-2px) scale(1.01)!important;box-shadow:0 17px 32px rgba(143,97,14,.15)!important}
.girvi-public .btn.primary,.girvi-public button.btn[type="submit"]{
  color:#1c2419!important;background:linear-gradient(120deg,#ffe79a 0%,#f2c651 32%,#d99b13 70%,#edbd3f 100%)!important;
  background-size:180% 180%!important;border-color:#dba927!important;box-shadow:0 13px 30px rgba(185,125,11,.22)!important;
  animation:v6GoldButton 7s ease infinite!important;
}
@keyframes v6GoldButton{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.girvi-public input,.girvi-public textarea,.girvi-public select,.girvi-public .cselectBtn,.girvi-public .ddBtn{
  background:rgba(255,253,248,.94)!important;color:var(--v6-ink)!important;border:1px solid var(--v6-line)!important;
  border-radius:14px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;outline:none!important;
}
html[data-theme="dark"] .girvi-public input,html[data-theme="dark"] .girvi-public textarea,html[data-theme="dark"] .girvi-public select,
html[data-theme="dark"] .girvi-public .cselectBtn,html[data-theme="dark"] .girvi-public .ddBtn{background:#0b1a28!important}
.girvi-public input:focus,.girvi-public textarea:focus,.girvi-public select:focus,.girvi-public .cselectBtn:focus,.girvi-public .ddBtn:focus{
  border-color:var(--v6-gold)!important;box-shadow:0 0 0 4px rgba(215,155,20,.11)!important;
}
.girvi-public .doc .sec{padding:25px 0!important;border-bottom:1px solid color-mix(in srgb,var(--v6-line) 70%,transparent)!important}
.girvi-public .doc .sec h2,.girvi-public .doc .sec h3{color:var(--v6-gold-deep)!important}
.girvi-public .toc{position:sticky!important;top:110px!important}
.girvi-public .toc a{border-radius:12px!important;transition:.2s ease!important}
.girvi-public .toc a:hover{background:rgba(242,211,107,.13)!important;transform:translateX(3px)}
.girvi-public .cta{
  background:
    radial-gradient(circle at 10% 10%,rgba(247,204,89,.28),transparent 30%),
    radial-gradient(circle at 90% 90%,rgba(17,145,141,.13),transparent 32%),
    linear-gradient(135deg,#fff0c7,#fffaf0 50%,#e7f6f2)!important;
  border:1px solid #dcc58e!important;border-radius:30px!important;box-shadow:var(--v6-shadow)!important;
}
html[data-theme="dark"] .girvi-public .cta{background:linear-gradient(135deg,#272418,#0d1d2d 48%,#113037)!important}
.girvi-public .footer{
  border-top:1px solid var(--v6-line)!important;background:linear-gradient(180deg,rgba(248,243,232,.72),rgba(240,244,243,.92))!important;
  color:var(--v6-muted)!important;
}
html[data-theme="dark"] .girvi-public .footer{background:#08141f!important}
.girvi-page-login .page{width:min(1380px,calc(100vw - 72px))!important;margin:0 auto!important;padding:70px 0!important}
.girvi-page-login .grid{gap:28px!important}
.girvi-page-login .hero,.girvi-page-login .card{border-radius:32px!important;border:1px solid var(--v6-line)!important;box-shadow:var(--v6-shadow)!important}
.girvi-page-login .hero{min-height:650px!important}
.girvi-page-login .tabs{background:var(--v6-surface2)!important;border:1px solid var(--v6-line)!important;border-radius:15px!important}
.girvi-page-login .tab{color:var(--v6-muted)!important}
.girvi-page-login .tab.on{background:linear-gradient(145deg,#fff0bc,#fff9e8)!important;color:var(--v6-gold-deep)!important;box-shadow:0 8px 20px rgba(154,103,9,.10)!important}
.girvi-public.v6-ready .glass,.girvi-public.v6-ready .card,.girvi-public.v6-ready .person,.girvi-public.v6-ready .sec,.girvi-public.v6-ready .field,.girvi-public.v6-ready .cta{
  transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,border-color .3s ease;
}
.girvi-public.v6-ready .v6-reveal{opacity:0;transform:translateY(20px)}
.girvi-public.v6-ready .v6-reveal.v6-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.girvi-public *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.girvi-public .v6-reveal{opacity:1!important;transform:none!important}}
@media (max-width:1240px){
  .girvi-public .nav{display:none!important}.girvi-public .menuBtn{display:grid!important}.girvi-public .brand{min-width:0!important}
}
@media (max-width:980px){
  .girvi-public .topnav{height:74px!important;min-height:74px!important}
  .girvi-public .wrap{padding-top:74px!important}
  .girvi-public .container,.girvi-public .section,.girvi-public .main,.girvi-page-login .page{width:min(100% - 32px,920px)!important}
  .girvi-public .hero{padding:48px 0!important;min-height:auto!important}
  .girvi-public .hero-grid,.girvi-public .heroGrid{grid-template-columns:1fr!important;gap:28px!important}
  .girvi-public .themeFab{left:10px!important;top:auto!important;bottom:14px!important;transform:none!important}
  .girvi-public .themeFab:hover{transform:translateY(-2px)!important}
  .girvi-public .toc{position:relative!important;top:auto!important}
}
@media (max-width:640px){
  .girvi-public .container,.girvi-public .section,.girvi-public .main,.girvi-page-login .page{width:min(100% - 22px,620px)!important}
  .girvi-public .hero .h1,.girvi-public .hero h1{font-size:clamp(40px,12vw,60px)!important}
  .girvi-public .brandLogo{width:52px!important;height:52px!important}.girvi-public .brandText small{display:none!important}
  .girvi-public .glass,.girvi-public .card,.girvi-public .person,.girvi-public .cta{border-radius:22px!important}
}

/* =========================================================
   R2 — PUBLIC HERO GAP + MEDIA VISIBILITY FIX
   One navigation offset only; brighter hero photography/video.
   ========================================================= */
.girvi-public{
  --navH:84px;
}

/* Individual public pages already reserve --navH on body.
   Do NOT reserve the same navigation height again inside .wrap. */
.girvi-public .wrap{
  padding-top:0!important;
}

/* Hero begins immediately after the fixed navigation. */
.girvi-public .hero{
  margin-top:0!important;
}

/* Restore the photography/video as a visible part of the design. */
.girvi-public .heroBg{
  opacity:.66!important;
  filter:saturate(1.02) contrast(1.01) brightness(1.02) sepia(.04)!important;
}
html[data-theme="dark"] .girvi-public .heroBg{
  opacity:.76!important;
  filter:saturate(.96) contrast(1.04) brightness(.88)!important;
}

/* Previous V6 veil was intentionally cinematic but too opaque.
   Keep text contrast while allowing the media to remain clearly visible. */
.girvi-public .veil{
  background:
    linear-gradient(90deg,
      rgba(255,250,238,.68) 0%,
      rgba(255,250,238,.38) 48%,
      rgba(245,250,247,.13) 100%)!important;
}
html[data-theme="dark"] .girvi-public .veil{
  background:
    linear-gradient(90deg,
      rgba(7,19,31,.52) 0%,
      rgba(9,22,34,.25) 50%,
      rgba(9,22,34,.08) 100%)!important;
}

/* Keep hero content comfortably positioned without manufacturing
   another empty region above it. */
.girvi-public .hero-grid,
.girvi-public .heroGrid{
  align-items:center!important;
}

/* Fine breakpoint alignment with the actual navigation height. */
@media (max-width:980px){
  .girvi-public{--navH:74px}
  .girvi-public .wrap{padding-top:0!important}
}

/* Draggable FAB must not inherit the old centered transform/hover shift. */
.girvi-public #themeFab.theme-draggable,
.girvi-public #themeFab.theme-draggable:hover{
  transform:none!important;
  bottom:auto!important;
}
