/* Desktop art direction: dense display type, photographic campaigns, neutral studio surfaces. */
:root {
  --bg: #0a0d10;
  --surface: #13191e;
  --ink: #f6f7f5;
  --muted: #abb3b9;
  --line: rgba(235,241,245,.17);
  --display: 'Inter Tight', 'Arial', sans-serif;
  --body: 'Inter', 'Arial', sans-serif;
  --mono: 'Inter', 'Arial', sans-serif;
}
h1,h2,h3 { font-weight:800; }
h2 { line-height:.97; letter-spacing:-.04em; text-transform:uppercase; word-spacing:.045em; }
h3 { line-height:1.06; letter-spacing:-.035em; }
em { color:inherit; }
.eyebrow { font-size:11px; font-weight:600; letter-spacing:.075em; color:#bac4cb; }
.section-index { font-weight:600; letter-spacing:.045em; }
.button { border-radius:999px; font-weight:650; border-color:#d4bb8e; }
.button span { border:1px solid currentColor; border-radius:50%; height:28px; width:28px; display:grid; place-items:center; font-weight:400; }
.button span { font-size:0; position:relative; }
.button span::before { content:''; position:absolute; width:10px; height:1px; background:currentColor; transform:rotate(-45deg); }
.button span::after { content:''; position:absolute; width:6px; height:6px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:translate(2px,-2px); }
.button-small { min-height:44px; padding:7px 9px 7px 20px; }
.button-small span { height:27px; width:27px; }
.text-link { font-weight:600; }
.brand { flex-shrink:0; gap:0; min-height:44px; }
/* Frame only the transparent safety margin; retain the original downloadable PNG. */
.brand { --brand-width:145px; position:relative; width:var(--brand-width); aspect-ratio:1836/454; overflow:hidden; flex-shrink:0; }
.brand-logo { display:block; position:absolute; left:-8.98693%; top:-30.837%; width:118.30065%; max-width:none; height:auto; filter:brightness(0) invert(1); }
.footer-top .brand { --brand-width:180px; }
.desktop-nav a,.company-link { font-size:12px; font-weight:500; color:#ecf0f1; }
.site-header { height:90px; }
.hero { background:#101820; }
.hero-image { filter:brightness(.97); }
.hero-shade { background:linear-gradient(90deg,rgba(5,10,14,.76),rgba(5,10,14,.4) 36%,transparent 65%),linear-gradient(0deg,rgba(5,10,14,.58),transparent 28%); }
.hero h1 { font-weight:850; text-transform:uppercase; line-height:.93; letter-spacing:-.045em; word-spacing:.035em; }
.hero h1>span,.hero h1>em { display:block; }
.hero h1 .headline-bridge { font-size:.56em; font-weight:450; letter-spacing:-.045em; line-height:1.22; margin:.08em 0; }
.hero h1 em { color:var(--ink); }
.hero-lede { color:#d1d7da; }
.hero-bottom .eyebrow { color:#b5c0c7; letter-spacing:.08em; }
.manifesto { border-bottom:1px solid var(--line); }
.manifesto h2 { color:var(--ink); }
.manifesto h2 .headline-bridge { display:block; font-size:.49em; font-weight:400; color:#9da9b3; line-height:1.2; letter-spacing:-.035em; margin-bottom:.5em; }
.manifesto-copy { font-size:15px; }
.quiet-note { border:0; padding:0; font-size:16px; font-weight:550; color:#edf0f1; }
.memory,.life { background:#10161c; }
.memory h2 em { color:#afc1cc; font-weight:450; }
.showcase-tabs { gap:24px; }
.showcase-tabs button { border:0; border-bottom:2px solid transparent; padding:12px 0; font-weight:650; font-size:14px; text-transform:uppercase; border-radius:0; }
.showcase-tabs button[aria-selected=true] { background:none; border-color:#f4f5f4; color:#f4f5f4; }
.showcase-stage { border:0; border-radius:0; }
.showcase-caption { font-size:10px; color:#b7c1c7; }
.memory-points { padding:25px 0; }
.memory-points span { font-size:14px; color:#d4dadf; }
.memory-points b { color:#82939f; font-size:11px; }
.capital-art { border:0; }
.capital-art-copy .eyebrow { color:#d7dbd7; }
.scale-number { font-weight:800; }
.capital-states strong { font-weight:650; }
.capital-states p { font-size:13px; color:#a6afb5; }
.pillar-visual strong { font-family:var(--display); font-weight:800; text-transform:uppercase; }
.pillar-row strong { font-family:var(--display); font-weight:650; color:#ccd2d6; }
.pillar-row small { color:#9aa8b1; font-size:13px; }
.pillar-row[aria-pressed=true] strong { color:#fff; }
.pillar-row[aria-pressed=true] { border-top-color:#bdc7ce; }
.life-heading { align-items:center; }
.life-heading h2 { font-size:clamp(75px,9vw,144px); letter-spacing:-.04em; }
.title-period { color:#8dabbc; }
.feature-tab { font-size:12px; font-weight:600; color:#a7b1b9; }
.feature-tab span { font-size:10px; color:#798994; }
.feature-tab[aria-selected=true] { color:#f9faf9; border-bottom-color:#f9faf9; }
.feature-copy h3 { text-transform:uppercase; line-height:1.02; letter-spacing:-.035em; word-spacing:.025em; }
.feature-copy .eyebrow { color:#9cabb6; }
.ring-copy h2 { font-weight:800; }
.ring-copy h2 em { display:inline-block; font-weight:450; }
.ring-copy>p { color:#c6cdd3; }
.ring-hero::after { background:linear-gradient(90deg,rgba(5,9,12,.62),rgba(5,9,12,.15) 43%,transparent 66%); }
.ring-hero.is-gold .ring-copy h2 { color:#302b24; }
.ring-models h3 { font-weight:700; }
.ring-models p { color:#b2bbc2; }
.method { background:#151e25; }
.method-steps li { border-color:#556672; }
.method-steps li>span { color:#98acb9; font-weight:700; }
.method-steps h3 { font-weight:650; }
.principles-list h3 { font-weight:650; }
.copilot { background:#11191f; }
.clinical-anchor { font-weight:800; text-transform:uppercase; color:#778791; line-height:.96; letter-spacing:-.05em; }
.clinical-anchor span { color:#f2f4f4; }
.audience::before { background:linear-gradient(90deg,rgba(5,9,12,.78),rgba(5,9,12,.48) 36%,transparent 72%),linear-gradient(0deg,rgba(5,9,12,.5),transparent 45%); }
.audience h2 { line-height:.97; }
.audience h2 em { font-weight:450; }
.audience li { font-weight:500; font-size:13px; }
.signup { background:#151e25; }
.signup-box h3 { font-weight:650; }
.signup-tabs button { color:#b4bfc6; font-weight:550; }
.signup-tabs button[aria-selected=true] { color:#fff; border-color:#fff; }
.signup-box input[type=email],.signup-box input[type=text] { background:#0d141a; border-color:#52616b; }
.signup-box input::placeholder { color:#8798a4; }
.footer-top>p { color:#d4dadd; font-weight:650; }
.footer-top p em { color:#9dabb4; }
.footer-legal,.footer-bottom { color:#9eacb5; }

/* Approved photographs also appear in the page narrative, beyond the app tabs. */
.lifestyle-pair { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding-bottom:70px; }
.lifestyle-pair figure,.ring-detail-photos figure,.copilot-photo { margin:0; aspect-ratio:16/9; overflow:hidden; }
.lifestyle-pair img,.ring-detail-photos img,.copilot-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.ring-detail-photos { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ring-detail-photos .ring-detail-photo { height:auto; }
.copilot-photo { align-self:center; }

/* Native scrolling, with motion kept in individual photographic layers. */
.scroll-progress { position:fixed; z-index:80; inset:0 0 auto; height:2px; background:rgba(216,189,136,.75); transform:scaleX(var(--scroll-progress,0)); transform-origin:left; pointer-events:none; }
.site-header { position:fixed; transition:height .35s ease,background .35s ease,border-color .35s ease; }
.site-header.is-scrolled { height:76px; background:rgba(9,14,18,.87); border-bottom-color:rgba(218,229,236,.15); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); }
.hero-image { transform:translate3d(0,var(--scroll-y,0px),0) scale(var(--scroll-scale,1.055)); transform-origin:center; }
/* The photograph moves inside its frame; surrounding content stays anchored. */
.motion-enabled .scroll-photo { transform:translate3d(0,var(--scroll-y,0px),0) scale(var(--scroll-scale,1)); transform-origin:center; }
.motion-enabled [data-parallax] { transform:none; }
[data-reveal] { transition:opacity .8s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.22,1,.36,1); transition-delay:var(--reveal-delay,0ms); }
.reveal-pending { opacity:0; transform:translate3d(0,44px,0); }
.is-visible { opacity:1; }
.is-visible[data-reveal] { transform:none; }
.showcase-tabs button,.feature-tab { transition:color .22s ease,border-color .22s ease; }
.text-link span { transition:transform .25s cubic-bezier(.22,1,.36,1); }
.text-link:hover span { transform:translate(3px,-3px); }

/* Text enters independently: a masked lift for headlines, a softer lift for copy. */
.text-motion-enabled .hero-enter { animation:none; }
.text-motion-enabled .eyebrow.text-motion { display:inline-block; }
.text-motion-enabled .text-pending { opacity:0; }
.text-motion-enabled .text-visible { animation:textCopyIn .8s cubic-bezier(.16,1,.3,1) both; animation-delay:var(--text-delay,0ms); }
.text-motion-enabled .text-heading.text-visible { animation-name:textHeadlineIn; animation-duration:1s; }
@keyframes textCopyIn {
  from { opacity:0; transform:translate3d(0,24px,0); }
  to { opacity:1; transform:none; }
}
@keyframes textHeadlineIn {
  from { opacity:0; transform:translate3d(0,44px,0); clip-path:inset(0 0 90% 0); }
  to { opacity:1; transform:none; clip-path:inset(-10%); }
}
@media (max-width:700px) {
  .text-motion-enabled .text-visible { animation-duration:.7s; }
  .text-motion-enabled .text-heading.text-visible { animation-duration:.85s; }
}
@media (prefers-reduced-motion:reduce) {
  .text-motion,.text-motion-enabled .text-visible { opacity:1!important; animation:none!important; transform:none!important; clip-path:none!important; }
}

/* Smoked glass controls: restrained translucency, no glow or glossy gradients. */
.button {
  background:rgba(224,232,235,.07);
  color:#f3f5f5;
  border:1px solid rgba(233,239,241,.28);
  -webkit-backdrop-filter:blur(16px) saturate(1.08);
  backdrop-filter:blur(16px) saturate(1.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.075),0 6px 20px rgba(0,0,0,.1);
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.button:hover { background:rgba(232,238,241,.13); border-color:rgba(243,245,247,.46); transform:translateY(-1px); }
.button:active { transform:translateY(0); background:rgba(232,238,241,.17); }
.button:disabled { transform:none; }
.button span { border-color:rgba(229,237,241,.33); color:#d8bd88; }
.showcase-tabs { gap:6px; }
.showcase-tabs button { padding:10px 17px; border:1px solid transparent; border-radius:999px; font-size:12px; text-transform:none; }
.showcase-tabs button[aria-selected=true] { background:rgba(223,234,241,.075); border-color:rgba(235,241,245,.24); box-shadow:inset 0 1px 0 rgba(255,255,255,.05); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.showcase-tabs button:hover { background:rgba(223,234,241,.05); color:var(--ink); }
.signup-tabs { gap:8px; border:0; }
.signup-tabs button { padding:11px 16px; border:1px solid transparent; border-radius:999px; }
.signup-tabs button[aria-selected=true] { border-color:rgba(233,239,241,.24); background:rgba(220,232,240,.065); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.feature-tab { border-radius:3px 3px 0 0; }
.feature-tab:hover { color:#f4f6f7; }
.language-switch { display:flex; align-items:center; padding:3px; gap:2px; border:1px solid rgba(235,241,245,.22); border-radius:999px; background:rgba(228,237,242,.045); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
.language-switch button { border:0; background:transparent; color:#b7c2ca; font-size:10px; font-weight:650; line-height:1; padding:9px 8px; min-width:30px; border-radius:999px; }
.language-switch button[aria-pressed=true] { color:#fff; background:rgba(233,241,246,.13); }
.language-switch button:hover { color:#fff; }
.header-actions { gap:15px; }
.desktop-nav { gap:23px; }
@media(prefers-reduced-motion:reduce) {
  [data-parallax],.hero-image,.scroll-photo { transform:none!important; }
  [data-reveal] { opacity:1!important; transform:none!important; transition:none; }
  .scroll-progress,.site-header { transition:none; }
}

@media(min-width:961px) {
  .wrap { width:min(1440px,calc(100% - 96px)); }
  .site-header { padding-inline:48px; gap:30px; }
  .section { padding-block:96px; }
  h2 { font-size:clamp(44px,4.7vw,74px); }
  .section-heading { grid-template-columns:1.3fr .7fr; gap:72px; margin-bottom:42px; }
  .section-heading>p { font-size:15px; line-height:1.75; }
  .section-index { border:0; padding:0; margin-bottom:36px; color:#93a0aa; }
  .hero { padding:154px 0 108px; min-height:800px; align-items:flex-start; }
  .hero-content { padding-top:0; }
  .hero h1 { font-size:clamp(52px,5.15vw,86px); max-width:650px; margin:28px 0 39px; }
  html:lang(en) .hero h1 { font-size:clamp(46px,4.6vw,78px); max-width:650px; }
  .hero-support { max-width:510px; }
  .hero-lede { font-size:14px; line-height:1.75; max-width:470px; }
  .hero-ctas { gap:26px; margin-top:28px; }
  .hero-ctas .button { font-size:13px; padding:10px 12px 10px 22px; gap:25px; }
  .hero-bottom { bottom:32px; }
  .manifesto { padding-block:80px; }
  .manifesto-layout { grid-template-columns:1.4fr .6fr; gap:20px 88px; }
  .manifesto-layout>.eyebrow { margin-bottom:0; }
  .manifesto h2 { font-size:clamp(45px,4.8vw,78px); line-height:.99; }
  .manifesto-copy { padding-bottom:0; }
  .memory { padding-top:85px; padding-bottom:55px; }
  .memory h2 { font-size:clamp(44px,4.4vw,70px); }
  .showcase-toolbar { margin:37px 0 15px; }
  .showcase-stage { margin-inline:-24px; }
  .capital-layout { grid-template-columns:1fr 1.1fr; gap:90px; }
  .capital h2 { font-size:clamp(46px,5vw,80px); margin:23px 0; }
  .capital-art { min-height:540px; }
  .capital-art-copy { top:17%; }
  .capital-states { margin-top:35px; }
  .scale-number { font-size:clamp(80px,7.8vw,124px); margin:29px 0 22px; }
  .pillars { padding-top:24px; }
  .pillars-layout { grid-template-columns:1.15fr .85fr; gap:60px; }
  .pillar-visual { min-height:510px; }
  .pillar-row { padding:18px 0; }
  .pillar-row strong { font-size:24px; }
  .life { padding-top:65px; padding-bottom:80px; }
  .life .section-index { margin-bottom:15px; }
  .life-heading { margin-bottom:20px; grid-template-columns:1fr 1fr; }
  .life-heading>.eyebrow { justify-self:end; align-self:end; margin-bottom:17px; }
  .feature-tabs { margin-top:20px; justify-content:space-between; gap:18px; }
  .feature-tab { padding-bottom:15px; gap:5px; }
  .feature-panel { grid-template-columns:1.55fr 1fr; gap:0; padding-top:0; min-height:0; margin-top:28px; align-items:stretch; }
  .feature-photo { height:520px; }
  #feature-0 .feature-photo { height:auto; aspect-ratio:16/9; align-self:center; }
  .feature-copy { padding:38px 0 26px 45px; display:flex; flex-direction:column; align-items:start; justify-content:flex-end; }
  .feature-copy h3 { font-size:clamp(34px,3.1vw,48px); margin:21px 0; }
  .feature-copy p { font-size:14px; max-width:400px; }
  .feature-copy .text-link { margin-top:28px; }
  .ring { padding-top:32px; padding-bottom:70px; }
  .ring>.wrap { width:calc(100% - 48px); max-width:1536px; }
  .ring-hero { min-height:670px; }
  .ring-copy { width:53%; padding:90px 0 65px 5%; }
  .ring-copy h2 { font-size:clamp(43px,4.25vw,68px); letter-spacing:-.045em; line-height:.97; margin:26px 0; }
  .ring-copy>p { max-width:390px; }
  .ring-detail { grid-template-columns:1fr; gap:30px; margin-top:24px; padding-inline:24px; }
  .ring-detail-photo { height:340px; }
  .ring-detail .ring-detail-photo { height:auto; }
  .ring-models { gap:50px; }
  .ring-models>div+div { padding-left:0; border-left:0; }
  .genetics { padding-top:0; grid-template-columns:1.15fr .85fr; gap:65px; }
  .genetics h2 { font-size:clamp(38px,3.75vw,57px); line-height:1; }
  .genetics-photo { height:450px; }
  .method-steps { margin-top:44px; gap:40px; }
  .method-steps li>span { font-family:var(--display); font-size:42px; font-weight:500; letter-spacing:-.04em; }
  .method-steps h3 { margin:18px 0 14px; }
  .principles { grid-template-columns:1.2fr .8fr; gap:110px; }
  .principles-intro h2 { font-size:clamp(44px,4.5vw,72px); }
  .copilot-layout { grid-template-columns:1fr 1fr; gap:36px 65px; }
  .copilot h2 { font-size:clamp(38px,4vw,64px); line-height:1; }
  .copilot-roles { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:65px; }
  .copilot-roles>div { padding-bottom:0; }
  .clinical-anchor { font-size:clamp(60px,7.7vw,124px); margin-top:60px; padding-top:48px; }
  .audience { padding:100px 0 85px; min-height:750px; }
  .audience h2 { font-size:clamp(54px,5.75vw,92px); }
  .audience p { max-width:420px; }
  .faq { gap:130px; grid-template-columns:.85fr 1.15fr; }
  .faq h2 { font-size:clamp(60px,6.4vw,104px); }
  .faq .section-index { margin-bottom:45px; }
  .signup-layout { gap:110px; }
  .signup-intro h2 { font-size:clamp(60px,6.4vw,104px); }
  .signup-image { height:270px; }
}

@media(max-width:960px) {
  .copilot-photo { grid-column:1/-1; }
  .copilot-roles { grid-column:1/-1; }
  .ring-detail-photos { grid-column:1/-1; }
  .ring-detail .ring-models { grid-column:1/-1; }
}
@media(max-width:700px) {
  .lifestyle-pair { grid-template-columns:1fr; gap:14px; padding-bottom:40px; }
  .ring-detail-photos { grid-template-columns:1fr; gap:14px; }
}

@media(min-width:1700px) {
  .hero { min-height:900px; padding-top:178px; }
  .hero h1 { font-size:86px; max-width:700px; }
}

/* An understated dissolve when switching app compositions; no layout movement. */
@media (prefers-reduced-motion:no-preference) {
  .showcase-panel:not([hidden]) { animation:showcaseDissolve .38s ease-out; }
}
@keyframes showcaseDissolve { from { opacity:.72; } to { opacity:1; } }

/* A closer, legible entrance on smaller screens, with the same scroll depth. */
@media (max-width:960px) and (prefers-reduced-motion:no-preference) {
  .reveal-pending { transform:translate3d(0,28px,0); }
  [data-reveal] { transition-duration:.65s,.85s; }
}
