/* Shared public pages. Movie playback is loaded only on the home page. */
.public-page{background:radial-gradient(ellipse at 82% 9%,rgba(127,75,180,.16),transparent 35%),#100c1b}
.page-main{max-width:1600px;margin-inline:auto;padding:145px var(--gutter) 55px}
.page-breadcrumbs{display:flex;align-items:center;gap:12px;color:#a89bb9;font-size:11px;letter-spacing:.02em;margin:12px 0 38px}
.page-breadcrumbs a:hover{color:white}.page-breadcrumbs svg{width:12px;height:12px}
.page-hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:35px;min-height:420px;padding-bottom:65px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(40px,4.7vw,76px);font-weight:480;letter-spacing:-.06em;line-height:1.06;max-width:840px;margin:24px 0}
.page-hero h1 em{font-weight:450;color:#c5afe6;font-style:normal}
.page-lead{font-size:clamp(15px,1.25vw,18px);color:#beb3cc;line-height:1.8;max-width:620px}
.page-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:29px}
.page-art{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;min-height:330px}
.page-art:before{content:"";position:absolute;inset:12% 8%;z-index:-1;background:radial-gradient(ellipse,rgba(164,104,236,.25),transparent 65%);filter:blur(18px)}
.page-art:after{content:"";position:absolute;width:76%;height:54%;border:1px solid rgba(217,182,255,.13);border-radius:50%;transform:rotate(-20deg);z-index:-1;box-shadow:0 0 60px rgba(139,80,201,.05)}
.page-art img{width:min(100%,570px);height:auto;max-height:420px;object-fit:contain;filter:drop-shadow(0 20px 35px rgba(2,0,9,.32))}
.page-art figcaption{position:absolute;bottom:0;font-size:10px;color:#9487a2;text-align:center;letter-spacing:.05em}
.page-art--headset img{max-width:440px}
.page-art--key img{max-width:420px}
.page-section{padding:65px 0 0}.page-section h2{font-weight:450;font-size:clamp(28px,3vw,43px);letter-spacing:-.045em;line-height:1.15;margin:12px 0 25px}
.page-section>p{max-width:790px;line-height:1.85;color:var(--muted);margin-bottom:25px}
.page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.page-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-card{border-radius:25px;padding:30px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}
.page-card .eyebrow{color:#b99ed1;font-size:9px}.page-card h3{font-size:25px;font-weight:450;letter-spacing:-.04em;line-height:1.25;margin:15px 0}
.page-card p{font-size:14px;line-height:1.85;color:var(--muted);margin-bottom:20px}.page-card .text-link{margin-top:auto;font-size:12px;gap:14px}
.page-card .card-digit{color:#af94cb;font-size:12px;letter-spacing:.1em;margin-bottom:16px}
.page-card img{width:160px;height:150px;object-fit:contain;align-self:center;margin:-8px 0 10px}
.page-card--featured{background-color:rgba(109,68,146,.15)}
.page-stats{display:flex;flex-wrap:wrap;gap:24px;margin:8px 0 22px;width:100%}.page-stats div{flex:1;min-width:90px}.page-stats dt{font-size:10px;color:#a898bb;margin-bottom:7px}.page-stats dd{margin:0;font-size:21px;letter-spacing:-.035em}
.page-note{padding:21px 25px;border-left:2px solid #9a76c8;background:rgba(180,140,225,.04);border-radius:0 16px 16px 0;font-size:13px;line-height:1.85;color:#bfb2cb;margin-top:26px;max-width:1000px}
.page-note a,.page-prose a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:#69567e}.page-note a:hover,.page-prose a:hover{color:white}
.page-cta{margin:70px 0 10px;padding:38px 42px;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:30px;background-color:rgba(91,52,128,.12)}
.page-cta h2{font-size:clamp(24px,2.4vw,34px);font-weight:450;letter-spacing:-.04em;margin:10px 0}.page-cta p:not(.eyebrow){font-size:14px;color:#bcb0c9;line-height:1.75;max-width:670px}
.page-cta .button{flex-shrink:0}.page-prose{max-width:880px}.page-prose h2{font-size:26px;letter-spacing:-.035em;margin:35px 0 16px}.page-prose p,.page-prose li{font-size:14px;line-height:1.9;color:#bfb4cb}.page-prose p{margin:12px 0}.page-prose ul{padding-left:23px}.page-prose li{padding:3px 0}.page-prose strong{font-weight:550;color:#eee4fa}
.page-legal .page-hero{grid-template-columns:1fr;min-height:0;padding-bottom:35px}.page-legal .page-hero h1{font-size:clamp(39px,4.5vw,67px)}
.page-nav{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0 0}.page-nav a{border:1px solid var(--line);border-radius:99px;padding:10px 16px;font-size:11px;color:#c2b4d1;background:rgba(255,255,255,.025)}.page-nav a:hover,.page-nav a[aria-current=page]{background:rgba(174,133,223,.13);border-color:#8e71ae;color:white}
.public-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;padding:36px 0;border-top:1px solid var(--line)}.public-directory strong{font-size:11px;color:#ded1ed;font-weight:500}.public-directory div{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.public-directory a{font-size:12px;color:#aa9bbd}.public-directory a:hover{color:white}
.page-contact{display:grid;grid-template-columns:1fr 1.1fr;gap:25px;align-items:start}.page-contact .page-card{gap:15px}.page-contact h3{margin:0}.page-contact address{font-style:normal;font-size:15px;line-height:1.8;color:#bfb2ce}.page-contact a.contact-primary{font-size:clamp(17px,2vw,23px);letter-spacing:-.02em;overflow-wrap:anywhere;color:#f3eafa}.contact-times{font-size:13px;line-height:1.9;color:#b4a5c3;margin:0}
.contact-composer{display:grid;gap:18px;width:100%;margin:0}.contact-composer label{font-size:11px;letter-spacing:.025em;color:#cbbada;display:grid;gap:9px}.contact-composer input,.contact-composer select,.contact-composer textarea{font:inherit;font-size:14px;width:100%;min-width:0;border:1px solid rgba(217,190,248,.2);border-radius:13px;color:#f5effb;background:#1a1127;padding:13px 15px}.contact-composer textarea{resize:vertical;min-height:140px;line-height:1.65}.contact-composer input::placeholder,.contact-composer textarea::placeholder{color:#7c6c8c}.contact-composer select{appearance:auto}.contact-composer .button{justify-self:start}.contact-composer .form-note{font-size:11px;line-height:1.75;margin:0;color:#a896ba}.form-status{font-size:12px;color:#d9c2f0;line-height:1.7}.form-status:empty{display:none}
.storage-controls{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:20px}.storage-status{font-size:12px!important;color:#c8b2df!important;margin:0!important}.desktop-nav a[aria-current=page]{color:white}.desktop-nav a[aria-current=page]:after{opacity:1}
.footer-bottom nav{flex-wrap:wrap}.public-page .floating-top{bottom:24px}.public-page .site-footer{padding-top:40px}.public-page .footer-top{padding-bottom:35px}
@media(min-width:701px){.public-page .page-art img{animation:page-float 7s ease-in-out infinite alternate}@keyframes page-float{to{transform:translateY(-9px)}}}
@media(max-width:1100px){.page-grid{gap:15px}.page-card{padding:25px}.page-hero{gap:10px}.page-main{padding-top:125px}}
@media(max-width:900px){.page-hero{grid-template-columns:1.1fr .9fr;min-height:350px}.page-art{min-height:280px;margin-inline:0}.page-art img{max-height:320px}.page-card h3{font-size:23px}.page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-contact{gap:18px}.page-main{padding-bottom:35px}.page-cta{padding:30px}}
@media(max-width:700px){.page-main{padding-top:108px}.page-breadcrumbs{margin:10px 0 30px;line-height:1.6;flex-wrap:wrap}.page-hero{grid-template-columns:1fr;gap:10px;padding-bottom:38px}.page-hero h1{font-size:clamp(40px,10vw,60px);margin:19px 0}.page-lead{font-size:15px}.page-art{min-height:235px;margin:10px 0 0}.page-art img{max-height:290px;width:auto;max-width:100%}.page-art figcaption{bottom:-4px}.page-section{padding-top:43px}.page-grid,.page-grid--two,.page-contact{grid-template-columns:1fr}.page-card{border-radius:22px;padding:25px}.page-card h3{font-size:26px}.page-card p{font-size:14px}.page-cta{flex-direction:column;align-items:flex-start;gap:20px;padding:28px;margin-top:45px}.page-cta h2{font-size:29px}.page-actions{gap:18px}.public-directory{grid-template-columns:1fr 1fr;gap:30px}.public-directory div:last-child{grid-column:1 / -1}.public-directory a{font-size:12px}.page-prose h2{font-size:24px}.page-prose p,.page-prose li{font-size:14px}.page-nav{gap:8px}.page-nav a{font-size:10px;padding:9px 13px}.page-note{padding:18px 20px}.public-page .footer-bottom nav{gap:15px 20px}.public-page .page-legal .page-hero{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.public-page .page-art img{animation:none}.public-page html{scroll-behavior:auto}}

/* Shared contact form in the homepage and the dedicated contact route. */
.contact-public-page .page-breadcrumbs{margin-bottom:26px}
.contact-page-form{scroll-margin-top:125px}
.contact-office-bar{display:grid;grid-template-columns:1.1fr 1fr auto;align-items:center;gap:32px;padding:30px 34px;margin-top:60px;border-radius:25px}
.contact-office-bar .eyebrow{font-size:8px;color:#b79cce;letter-spacing:.16em}
.contact-office-bar h2{font-size:23px;font-weight:450;letter-spacing:-.035em;line-height:1.2;margin:12px 0}
.contact-office-bar p:not(.eyebrow){font-size:12px;line-height:1.85;color:#ae9fbd;margin:6px 0}
.contact-office-bar .text-link{font-size:11px;white-space:nowrap;gap:14px}
.contact-section--form{padding-top:45px;padding-bottom:95px}
@media(max-width:1000px){.contact-office-bar{grid-template-columns:1fr 1fr;gap:20px}.contact-office-bar .text-link{grid-column:1/-1;justify-self:start}}
@media(max-width:700px){.contact-public-page .page-breadcrumbs{margin-bottom:24px}.contact-office-bar{grid-template-columns:1fr;gap:15px;margin-top:34px;padding:26px 24px}.contact-office-bar h2{font-size:24px}.contact-office-bar .text-link{margin-top:8px}.contact-section--form{padding:35px 20px 65px}}
