/* Preserve the original Gravity system. Changes below serve the umbrella site. */
/* A static photographic planet replaces the old gradient spheres and orbit. */
body.umbrella {
 isolation: isolate;
 background-image: linear-gradient(rgba(5,8,13,.5),rgba(5,8,13,.62)), url('/assets/gravity-original-cosmic-hero-1920-v2.2795d1002fc4.avif');
 background-position: center;
 background-size: cover;
 background-repeat: no-repeat;
}
body.umbrella::before {
 content: '';
 position: fixed;
 z-index: -1;
 pointer-events: none;
 top: 13vh;
 right: 1vw;
 width: 9rem;
 height: 8rem;
 background: url('/assets/gravity-photoreal-planet-960.c180e757eabe.webp') 94% 48% / 185% auto no-repeat;
 mask-image: radial-gradient(ellipse at center, #000 38%, transparent 72%);
 opacity: .8;
}
@media(max-width:58rem) {
 body.umbrella { background-image: linear-gradient(rgba(5,8,13,.52),rgba(5,8,13,.68)),url('/assets/gravity-original-cosmic-hero-960-v2.739a46c5f0ba.webp'); }
 body.umbrella::before { width: 8rem; height: 7rem; right: 0; top: 16vh; opacity: .38; }
}
.umbrella .brand__mark { width: 2.8rem; height: 2.8rem; }
.umbrella .brand__name { font-size: clamp(1.35rem, 2vw, 1.7rem); }
.umbrella-nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(.7rem, 2vw, 1.8rem); }
.umbrella-nav > a:not(.button) { color: var(--cream-soft); text-decoration: none; font-size: .9rem; min-height: 44px; display: inline-flex; align-items: center; }
.umbrella-menu { display: none; }
.umbrella .hero__copy { width: min(100%, 56rem); }
.umbrella .hero .button-row { max-width: 44rem; }
.umbrella .section { border-bottom: 1px solid rgba(217,154,93,.12); }
.umbrella .section-heading { max-width: 55rem; margin-bottom: 3rem; }
.umbrella h2 { max-width: 17ch; font-size: clamp(2.5rem,5vw,4.5rem); line-height: 1.05; }
.umbrella h3 { font-family: var(--font-display); font-size: clamp(1.7rem,2.3vw,2.4rem); line-height: 1.2; font-weight: 500; }
.umbrella p { color: var(--cream-soft); }
.umbrella p.eyebrow { color: var(--bronze-bright); }
.umbrella-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2.7rem; list-style: none; padding: 0; margin: 0; }
.step-number { display: block; color: var(--bronze-bright); margin-bottom: 1rem; font-size: .95rem; }
.umbrella-steps h3, .venue-grid h3 { margin: 0 0 1rem; }
.umbrella-steps p, .venue-grid p { margin: 0; }
.location-grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 2rem; align-items: stretch; }
.location-card, .location-invite { border: 1px solid var(--line); padding: clamp(1.5rem,4vw,3.5rem); border-radius: var(--radius-large); background: rgba(5,8,13,.78); }
.location-card { border-color: var(--line-strong); background: linear-gradient(140deg,rgba(184,115,51,.1),transparent 65%),var(--ink); }
.location-card h3 { font-size: clamp(2rem,3.5vw,3.5rem); margin: 0 0 1rem; }
.location-at { color: var(--bronze-bright); }
.location-city { color: var(--bronze-bright)!important; font-size: .9rem; }
.location-card .button-row { align-items: flex-start; flex-direction: column; }
.location-invite { display:flex; flex-direction:column; justify-content:center; }
.location-invite .text-link { align-self: flex-start; }
.umbrella-demo { display:grid; grid-template-columns: 1.15fr .85fr; align-items:center; gap:clamp(2rem,7vw,7rem); }
.umbrella-demo > div > p { max-width: 39rem; }
.umbrella-demo figure { margin:0; max-width: 25rem; justify-self:center; }
.umbrella-phone { border:5px solid #24262a; border-radius:2rem; overflow:hidden; background:#05080d; box-shadow:0 2rem 5rem #0008; }
.umbrella-phone video, .umbrella-phone img { display:block; width:100%; height:auto; aspect-ratio:9/16; }
.umbrella-demo figcaption, .umbrella-demo summary { margin-top:1rem; color:var(--cream-soft); font-size:.85rem; line-height:1.5; }
.umbrella-demo summary { cursor:pointer; min-height:44px; }
.umbrella-demo details div { padding:1rem; border-left:2px solid var(--bronze); }
.venue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.7rem; margin-bottom:2rem; }
.contact-section { background: radial-gradient(ellipse at 85% 50%,rgba(184,115,51,.12),transparent 65%); }
.contact-lead { max-width:40rem; }
.contact-person { margin:2rem 0 .5rem; color:var(--cream)!important; }
.contact-person span { display:block; font-size:.9rem; color:var(--bronze-bright); }
.contact-email { color:var(--cream); font-size:clamp(1.35rem,3vw,2.3rem); overflow-wrap:anywhere; text-underline-offset:.22em; text-decoration-color:var(--bronze); }
.umbrella-footer { padding:3rem var(--page-gutter); display:grid; gap:2rem; background:var(--ink); }
.umbrella-footer nav { display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.umbrella-footer nav a { color:var(--cream-soft); font-size:.9rem; min-height:44px; display:inline-flex; align-items:center; }
.umbrella-footer > p { font-size:.85rem; margin:0; }
.umbrella-social { border-top:1px solid var(--line); padding-top:1.5rem; }
.umbrella-social > p { color:var(--bronze-bright); margin:0 0 .7rem; font-size:.95rem; }
.umbrella-social nav { gap:.6rem 1rem; }
.umbrella-social nav a { border:1px solid var(--line-strong); border-radius:var(--radius-small); padding:.5rem 1rem; text-decoration:none; }
.umbrella-social nav a:hover { background:rgba(184,115,51,.14); border-color:var(--bronze-bright); }
@media(max-width:58rem){
 .umbrella .site-header { grid-template-columns:1fr auto; }
 .umbrella-menu { display:block; padding:.6rem 1rem; min-height:44px; color:var(--cream); border:1px solid var(--line); border-radius:var(--radius-small); background:var(--ink); font:inherit; }
 .umbrella-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:1rem var(--page-gutter) 1.5rem; background:var(--ink); border-bottom:1px solid var(--line); align-items:stretch; flex-direction:column; gap:.3rem; }
 .menu-open .umbrella-nav { display:flex; }
 .umbrella-nav a { padding:.5rem 0; }
 .umbrella-nav .button { padding:1rem; }
 .location-grid,.umbrella-demo { grid-template-columns:1fr; }
 .umbrella-steps,.venue-grid { grid-template-columns:1fr; gap:2rem; }
 .umbrella-steps li { padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
 .umbrella-demo figure { width:min(100%,23rem); }
 .umbrella-demo .button { margin-top:1rem; }
}
@media(forced-colors:active){.location-card,.location-invite,.umbrella-phone{border-color:CanvasText}.umbrella p,.umbrella a{color:CanvasText!important}}
