/* Approved hero section. Dormant until the homepage stylesheet is enqueued. */
.tg-homepage .tg-hero__layout { display:grid; grid-template-columns:1.02fr .98fr; align-items:center; min-height:590px; gap:20px; }
.tg-hero { position:relative; overflow:hidden; background:radial-gradient(ellipse at 80% 55%,#dce3ffb8,transparent 52%),radial-gradient(ellipse at 45% 95%,#f4e7ff,transparent 40%),#fcfbff; }
.tg-hero::after { content:""; position:absolute; pointer-events:none; inset:0; z-index:0; background-image:var(--tg-hero-art,none); background-repeat:no-repeat; background-position:right center; background-size:contain; opacity:.92; }
.tg-hero__layout { position:relative; z-index:1; }
.tg-hero__copy { padding-block:70px; }
.tg-hero__title { font-family:"Bodoni MT",Didot,Georgia,serif; font-weight:400; font-size:clamp(56px,6vw,94px); line-height:1.02; letter-spacing:-.055em; max-width:700px; margin:25px 0; }
.tg-hero__intro { max-width:420px; color:#696674; font-size:16px; line-height:1.7; }
.tg-hero__actions { display:flex; align-items:center; flex-wrap:wrap; gap:24px; margin-top:29px; }
.tg-hero__button { display:inline-flex; align-items:center; gap:36px; padding:17px 24px; border-radius:100px; background:#20142e; color:#fff; text-decoration:none; font-size:13px; box-shadow:0 12px 24px #261c3b25; transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s; }
.tg-hero__button:hover { transform:translateY(-3px); box-shadow:0 17px 30px #261c3b35; color:#fff; }
.tg-hero__button:focus-visible,.tg-hero__secondary:focus-visible { outline:3px solid #7732ca; outline-offset:4px; }
.tg-hero__secondary { color:#3c304b; font-size:13px; text-underline-offset:7px; }
.tg-hero__visual { display:grid; place-items:center; min-height:530px; }
.tg-hero__vial { width:auto; height:auto; max-height:520px; max-width:100%; object-fit:contain; filter:drop-shadow(22px 24px 26px #40304a36); animation:tg-hero-float 8s ease-in-out infinite; }
.tg-hero__asset-notice { color:#7e738a; font-size:12px; }
@keyframes tg-hero-float { 50% { transform:translateY(-10px); } }
@media(max-width:850px) { .tg-homepage .tg-hero__layout { grid-template-columns:1fr; gap:0; } .tg-hero__copy { padding:60px 0 0; } .tg-hero__visual { min-height:350px; } .tg-hero__vial { max-height:380px; } }
@media(max-width:520px) { .tg-hero__title { font-size:clamp(44px,11vw,60px); } .tg-hero__visual { min-height:280px; } .tg-hero__vial { max-height:310px; } }
@media(prefers-reduced-motion:reduce) { .tg-hero__vial { animation:none; } .tg-hero__button { transition:none; } }
