:root {
    --bg:#f8f5ef;
    --ink:#32123b;
    --muted:#746773;
    --line:#dcd3db;
    --wash:#eee7f0;
    --accent:#80518f;
    --serif:'Fraunces',Georgia,serif;
    --sans:'Inter',Arial,sans-serif;
    color-scheme:light
}
:root.dark {
    --bg:#1f1028;
    --ink:#f8f1e9;
    --muted:#c1afc6;
    --line:#4c3658;
    --wash:#2c1936;
    --accent:#d2a8df;
    color-scheme:dark
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:95px
}
body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--sans);
    font-size:15px;
    line-height:1.65
}
h1,h2,h3,p {
    margin:0
}
h1,h2,h3 {
    font-weight:400
}
h1,h2 {
    font-family:var(--serif);
    letter-spacing:-.065em;
    line-height:1.07
}
h2 {
    font-size:clamp(42px,4.6vw,72px)
}
em {
    font-weight:400;
    color:var(--accent)
}
a {
    color:inherit;
    text-decoration:none
}
button {
    font:inherit;
    color:inherit;
    cursor:pointer
}
button,a,summary {
    -webkit-tap-highlight-color:transparent
}
button:focus-visible,a:focus-visible,summary:focus-visible {
    outline:2px solid var(--accent);
    outline-offset:6px
}
::selection {
    background:#d4b2e2;
    color:#32123b
}
.wrap {
    width:min(100% - 112px,1320px);
    margin-inline:auto
}
.section {
    padding-block:110px
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0)
}
.skip-link {
    position:fixed;
    top:-100px;
    left:20px;
    padding:12px;
    background:var(--ink);
    color:var(--bg);
    z-index:20
}
.skip-link:focus {
    top:10px
}
.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:25px;
    border-radius:100px;
    padding:17px 26px;
    background:var(--ink);
    color:var(--bg);
    font-size:13px;
    line-height:1.5;
    white-space:nowrap;
    transition:transform .25s,background .25s
}
.button:hover {
    transform:translateY(-3px);
    background:var(--accent)
}
.button.compact {
    padding:12px 20px;
    font-size:12px
}
.text-link {
    font-size:13px;
    border-bottom:1px solid currentColor;
    padding-bottom:4px;
    width:fit-content
}
.text-link:hover {
    color:var(--accent)
}
.eyebrow,.section-kicker {
    font-size:10px;
    letter-spacing:.13em;
    text-transform:uppercase;
    font-weight:500
}
.section-kicker {
    display:flex;
    gap:24px;
    margin-bottom:45px
}
.section-kicker>span:first-child {
    opacity:.55
}
.header {
    position:sticky;
    top:0;
    z-index:10;
    background:color-mix(in srgb,var(--bg) 93%,transparent);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--line)
}
.header-inner {
    height:87px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px
}
.wordmark {
    display:inline-flex;
    align-items:flex-start;
    gap:4px;
    font-family:var(--serif);
    font-size:34px;
    letter-spacing:-1.7px;
    line-height:1;
    font-weight:500
}
.wordmark span {
    font-family:var(--sans);
    font-size:15px;
    line-height:1.4;
    color:var(--accent);
    letter-spacing:0;
    margin-left:0
}
.desktop-nav,.header-actions {
    display:flex;
    align-items:center;
    gap:30px
}
.desktop-nav a {
    font-size:12px
}
.desktop-nav a:hover {
    color:var(--accent)
}
.header-actions {
    gap:20px
}
.languages {
    display:flex;
    align-items:center;
    gap:6px;
    font-size:10px
}
.languages button {
    padding:5px 0;
    border:0;
    background:none;
    opacity:.5
}
.languages button.is-active {
    opacity:1
}
.theme-toggle {
    border:0;
    background:none;
    font-size:20px;
    padding:5px
}
.hero {
    position:relative;
    min-height:780px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    isolation:isolate;
    padding-top:58px
}
.hero-copy {
    position:relative;
    z-index:2;
    width:60%;
    padding-bottom:60px;
    pointer-events:none
}
.hero-copy a {
    pointer-events:auto
}
.hero .eyebrow {
    margin-bottom:25px
}
.hero h1 {
    font-size:clamp(66px,6.75vw,104px);
    line-height:1.015;
    letter-spacing:-.07em
}
.hero h1 em {
    color:var(--ink)
}
.hero-description {
    max-width:385px;
    font-size:14px;
    margin-top:30px;
    line-height:1.8;
    color:var(--muted)
}
.hero-actions {
    display:flex;
    align-items:center;
    gap:23px;
    margin-top:28px;
    flex-wrap:wrap
}
.hero-actions>.text-link {
    font-size:11px
}
.hero-note {
    font-size:10px;
    color:var(--muted);
    margin-top:24px;
    line-height:1.8
}
.hero-visual {
    position:absolute;
    z-index:-1;
    right:-38px;
    top:5px;
    bottom:30px;
    width:59%;
    overflow:hidden
}
.glass-art {
    position:absolute;
    width:100%;
    height:100%;
    object-fit:contain;
    mix-blend-mode:multiply;
    animation:material-float 11s ease-in-out infinite;
    mask-image:linear-gradient(to bottom,transparent,#000 9%,#000 90%,transparent)
}
.dark .glass-art {
    mix-blend-mode:screen;
    filter:brightness(.7);
    opacity:.82
}
.art-orbit {
    position:absolute;
    left:12%;
    top:18%;
    width:80%;
    height:63%;
    border:1px solid var(--line);
    border-radius:50%;
    transform:rotate(-30deg);
    opacity:.55
}
.art-label {
    position:absolute;
    font-size:10px;
    line-height:1.6;
    letter-spacing:.02em;
    z-index:1
}
.label-one {
    right:1%;
    top:29%;
    display:flex;
    gap:12px
}
.label-one i {
    width:55px;
    height:1px;
    background:var(--muted);
    margin-top:8px
}
.label-one i:before {
    content:'';
    display:block;
    width:5px;
    height:5px;
    background:var(--ink);
    border-radius:50%;
    margin-top:-2px
}
.label-two {
    left:20%;
    bottom:13%;
    font-size:9px
}
.label-two span {
    color:var(--muted)
}
.hero-base {
    position:relative;
    display:flex;
    justify-content:space-between;
    border-top:1px solid var(--line);
    padding:20px 0;
    font-size:10px;
    letter-spacing:.025em;
    margin-top:auto
}
.mission {
    padding-top:100px
}
.mission-grid {
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:100px
}
.mission-prose {
    max-width:450px;
    padding-top:8px;
    color:var(--muted)
}
.mission-prose p+p {
    margin-top:22px
}
.mission-bottom {
    border-top:1px solid var(--line);
    margin-top:60px;
    padding-top:24px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:12px
}
.journey {
    background:#291233;
    color:#f9f1e9
}
.journey em {
    color:#d9b5e5
}
.journey-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:50px
}
.journey-heading p {
    font-size:13px;
    max-width:230px;
    color:#c9b4ce
}
.film {
    margin-top:52px;
    background:radial-gradient(ellipse at 55% 46%,#50305c 0, #331b40 42%,#2d1738 75%);
    border:1px solid #66476e;
    border-radius:3px;
    overflow:hidden
}
.film-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 26px;
    font-size:10px;
    color:#d3bfda;
    letter-spacing:.025em
}
.motion-toggle {
    display:inline-flex;
    gap:8px;
    align-items:center;
    background:none;
    border:1px solid #785c81;
    border-radius:30px;
    padding:6px 13px;
    font-size:10px;
    color:#f9f1e9
}
.film-canvas {
    height:400px;
    position:relative;
    perspective:1000px;
    overflow:hidden
}
.film-orbit {
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid #78518466;
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(-15deg);
    transition:all 1.6s
}
.orbit-a {
    width:80%;
    height:72%
}
.orbit-b {
    width:64%;
    height:100%;
    transform:translate(-50%,-50%) rotate(25deg)
}
.film-line {
    position:absolute;
    top:50%;
    width:80%;
    height:1px;
    left:10%;
    background:linear-gradient(90deg,transparent,#bb8fcb,transparent);
    opacity:0;
    transition:opacity 1s
}
.specimen {
    position:absolute;
    top:50%;
    left:50%;
    width:142px;
    height:183px;
    background:#dbbee417;
    border:1px solid #d9b7e86b;
    padding:7px;
    border-radius:13px;
    box-shadow:0 18px 35px #14081d55,inset 0 0 20px #ffffff08;
    backdrop-filter:blur(8px);
    transition:transform 1.7s cubic-bezier(.22,.7,.2,1),opacity 1.3s,box-shadow 1.3s;
    transform:translate(-50%,-50%) scale(.4);
    opacity:0
}
.specimen-image {
    height:140px;
    border-radius:7px;
    background-image:url('../images/aura-research-glass.jpg');
    background-size:220%;
    background-position:60% 30%;
    opacity:.87;
    mix-blend-mode:screen
}
.specimen-footer {
    display:flex;
    justify-content:space-between;
    font-size:8px;
    letter-spacing:.1em;
    padding:9px 4px;
    color:#f6e8fb
}
.specimen-0 {
    opacity:1;
    transform:translate(-50%,-50%) rotate(-8deg) scale(1.3)
}
.specimen-1 .specimen-image {
    background-position:20% 75%;
    filter:hue-rotate(15deg)
}
.specimen-2 .specimen-image {
    background-position:80% 55%;
    filter:hue-rotate(-20deg)
}
.specimen-3 .specimen-image {
    background-position:60% 90%
}
.specimen-4 .specimen-image {
    background-position:40% 10%;
    filter:hue-rotate(25deg)
}
.specimen-5 .specimen-image {
    background-position:0% 95%
}
.specimen-6 .specimen-image {
    background-position:90% 20%
}
.context-note {
    position:absolute;
    left:calc(50% + 65px);
    top:65%;
    border:1px solid #b78aca;
    background:#3d234c;
    border-radius:40px;
    padding:10px 20px;
    color:#f5e9f9;
    font-size:11px;
    display:flex;
    align-items:center;
    gap:12px;
    transition:opacity .7s,transform 1s
}
.context-note>span:first-child {
    color:#e7bdf7;
    font-size:21px
}
.review-mark {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) scale(.3);
    font-size:100px;
    color:#e3b4f2;
    opacity:0;
    transition:all 1.4s
}
.film[data-stage="1"] .specimen,.film[data-stage="2"] .specimen,.film[data-stage="3"] .specimen {
    opacity:1
}
.film[data-stage="1"] .specimen-0 {
    transform:translate(-50%,-50%) rotate(-3deg)
}
.film[data-stage="1"] .specimen-1 {
    transform:translate(-265%,-30%) rotate(-13deg) scale(.8)
}
.film[data-stage="1"] .specimen-2 {
    transform:translate(-160%,-76%) rotate(9deg) scale(.9)
}
.film[data-stage="1"] .specimen-3 {
    transform:translate(65%,-25%) rotate(12deg) scale(.85)
}
.film[data-stage="1"] .specimen-4 {
    transform:translate(165%,-75%) rotate(-8deg) scale(.95)
}
.film[data-stage="1"] .specimen-5 {
    transform:translate(-120%,40%) rotate(-8deg) scale(.65)
}
.film[data-stage="1"] .specimen-6 {
    transform:translate(38%,-130%) rotate(6deg) scale(.6)
}
.film:not([data-stage="0"]) .context-note {
    opacity:0;
    transform:translateY(20px)
}
.film[data-stage="2"] .film-line {
    opacity:.8
}
.film[data-stage="2"] .specimen {
    box-shadow:0 0 30px #c485e533
}
.film[data-stage="2"] .specimen-0 {
    transform:translate(-50%,-50%) scale(1.08)
}
.film[data-stage="2"] .specimen-1 {
    transform:translate(-260%,-50%) scale(.85)
}
.film[data-stage="2"] .specimen-2 {
    transform:translate(-155%,-50%) scale(.85)
}
.film[data-stage="2"] .specimen-3 {
    transform:translate(55%,-50%) scale(.85)
}
.film[data-stage="2"] .specimen-4 {
    transform:translate(160%,-50%) scale(.85)
}
.film[data-stage="2"] .specimen-5,.film[data-stage="2"] .specimen-6 {
    opacity:0
}
.film[data-stage="3"] .specimen-0 {
    transform:translate(-250%,-75%) rotate(-8deg) scale(.7)
}
.film[data-stage="3"] .specimen-1 {
    transform:translate(-155%,-120%) rotate(5deg) scale(.65)
}
.film[data-stage="3"] .specimen-2 {
    transform:translate(40%,-120%) rotate(-5deg) scale(.65)
}
.film[data-stage="3"] .specimen-3 {
    transform:translate(150%,-60%) rotate(8deg) scale(.7)
}
.film[data-stage="3"] .specimen-4 {
    transform:translate(55%,25%) rotate(-8deg) scale(.65)
}
.film[data-stage="3"] .specimen-5 {
    transform:translate(-160%,25%) rotate(6deg) scale(.65)
}
.film[data-stage="3"] .specimen-6 {
    opacity:0
}
.film[data-stage="3"] .review-mark {
    opacity:1;
    transform:translate(-50%,-50%) scale(1)
}
.film-caption {
    text-align:center;
    min-height:110px;
    padding:5px 25px 25px
}
.film-caption h3 {
    font-family:var(--serif);
    font-size:28px;
    letter-spacing:-.03em
}
.film-caption p {
    font-size:12px;
    color:#d0bad6;
    margin-top:7px
}
.film-tabs {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    border-top:1px solid #66476e
}
.film-tabs button {
    background:none;
    border:0;
    color:#cab4d2;
    text-align:left;
    padding:20px 24px 24px;
    position:relative;
    font-size:11px;
    display:flex;
    gap:16px;
    align-items:center
}
.film-tabs button+button {
    border-left:1px solid #66476e
}
.film-tabs button[aria-pressed="true"] {
    color:#fff;
    background:#ffffff07
}
.tab-number {
    font-size:9px;
    opacity:.6
}
.tab-track {
    position:absolute;
    bottom:0;
    left:0;
    width:0;
    height:2px;
    background:#e4b1f3
}
.film-tabs button[aria-pressed="true"] .tab-track {
    width:100%
}
.participation-grid {
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:100px
}
.participation-copy>p {
    margin-top:25px;
    max-width:470px;
    color:var(--muted);
    font-size:14px
}
.participation-steps {
    margin-top:35px
}
.participation-step {
    display:flex;
    gap:24px;
    padding:22px 0;
    border-top:1px solid var(--line)
}
.participation-step>span {
    font-size:10px;
    padding-top:3px;
    color:var(--muted)
}
.participation-step h3 {
    font-size:15px;
    font-weight:500
}
.participation-step p {
    font-size:12px;
    color:var(--muted);
    margin-top:8px;
    max-width:390px
}
.participation-links {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:22px;
    margin-top:25px
}
.participation-links .text-link {
    font-size:11px
}
.app-stage {
    position:relative;
    background:var(--wash);
    padding:27px 30px 23px;
    border-radius:180px 180px 8px 8px;
    align-self:stretch;
    text-align:center;
    overflow:hidden;
    min-height:720px
}
.app-stage-top {
    margin-top:10px;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.12em
}
.phone {
    width:245px;
    margin:38px auto 0;
    border:7px solid #342d38;
    border-radius:37px;
    padding:3px;
    background:#19151b;
    box-shadow:20px 30px 60px #42254d26;
    transform:rotate(5deg);
    overflow:hidden
}
.phone img {
    display:block;
    width:100%;
    height:auto;
    border-radius:26px
}
.app-caption {
    display:flex;
    align-items:center;
    gap:17px;
    text-align:left;
    margin:30px auto 0;
    width:fit-content
}
.caption-star {
    font-size:42px;
    color:var(--accent)
}
.app-caption p {
    font-family:var(--serif);
    font-size:20px;
    line-height:1.3;
    letter-spacing:-.025em
}
.app-note {
    font-size:9px;
    color:var(--muted);
    margin-top:25px
}
.care {
    background:var(--wash)
}
.care-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:80px
}
.care-heading>p {
    max-width:320px;
    font-size:14px;
    color:var(--muted)
}
.care-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:55px;
    margin-top:60px
}
.care-icon {
    display:block;
    font-size:34px;
    line-height:1;
    margin-bottom:24px;
    color:var(--accent)
}
.care-grid h3 {
    font-family:var(--serif);
    font-size:27px;
    letter-spacing:-.04em
}
.care-grid p {
    font-size:13px;
    color:var(--muted);
    margin-top:16px
}
.care-foot {
    border-top:1px solid var(--line);
    margin-top:48px;
    padding-top:25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:45px
}
.care-foot p {
    font-size:11px;
    max-width:650px;
    color:var(--muted)
}
.care-foot a {
    white-space:nowrap
}
.research-grid {
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:100px;
    align-items:center
}
.research-stamp {
    border:1px solid var(--line);
    aspect-ratio:1.1;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background:radial-gradient(ellipse at bottom,#d8bee44d,transparent 70%);
    border-radius:50% 50% 2px 2px
}
.research-stamp>span:first-child {
    font-size:43px;
    letter-spacing:.2em
}
.research-stamp p {
    font-size:9px;
    letter-spacing:.15em;
    text-align:center;
    margin-top:17px;
    line-height:1.9
}
.stamp-star {
    font-size:65px;
    margin-top:20px;
    color:var(--accent)
}
.research-grid>div>p {
    color:var(--muted);
    margin-top:27px;
    max-width:500px;
    font-size:14px
}
.research-links {
    display:flex;
    flex-direction:column;
    gap:20px;
    margin-top:30px
}
.faq {
    border-top:1px solid var(--line)
}
.faq-grid {
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:70px
}
.faq h2 {
    font-size:54px
}
.faq details {
    border-top:1px solid var(--line)
}
.faq details:last-child {
    border-bottom:1px solid var(--line)
}
.faq summary {
    font-size:14px;
    padding:23px 30px 23px 0;
    cursor:pointer;
    position:relative;
    list-style:none
}
.faq summary::-webkit-details-marker {
    display:none
}
.faq summary:after {
    content:'+';
    position:absolute;
    right:3px;
    top:19px;
    font-size:22px;
    font-weight:400
}
.faq details[open] summary:after {
    content:'−'
}
.faq details p {
    padding:0 30px 23px 0;
    font-size:13px;
    color:var(--muted)
}
.faq details p a {
    text-decoration:underline
}
.closing {
    position:relative;
    background:#32123e;
    color:#f8f0e9;
    padding:110px 0;
    overflow:hidden
}
.closing-inner {
    position:relative;
    z-index:1
}
.closing h2 {
    font-size:clamp(48px,6.2vw,92px);
    margin:32px 0
}
.closing em {
    color:#d9b5e5
}
.button.light {
    background:#e4c3ed;
    color:#32123e
}
.button.light:hover {
    background:#f1dcf7
}
.closing-note {
    font-size:11px;
    margin-top:20px;
    color:#d9c5df
}
.closing-flower {
    position:absolute;
    right:-35px;
    top:50%;
    font-size:470px;
    line-height:1;
    transform:translateY(-50%) rotate(10deg);
    color:#c19ad51a;
    pointer-events:none
}
.footer-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:45px 0
}
.footer-top p {
    font-family:var(--serif);
    font-size:20px
}
.footer-bottom {
    border-top:1px solid var(--line);
    padding:23px 0 35px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:10px;
    color:var(--muted)
}
.footer-bottom nav {
    display:flex;
    gap:22px
}
.footer-bottom .text-link {
    border:none;
    padding:0;
    font-size:10px
}
.motion-paused .glass-art {
    animation-play-state:paused
}
@keyframes material-float {
    0%,100% {
        transform:translateY(0) rotate(0)
    }
    50% {
        transform:translateY(-13px) rotate(2deg)
    }
}
@media(min-width:1600px) {
    .hero {
        min-height:850px
    }
    .hero-visual {
        right:0
    }
    .hero h1 {
        font-size:112px
    }
}
@media(max-width:1100px) {
    .wrap {
        width:calc(100% - 64px)
    }
    .desktop-nav {
        gap:20px
    }
    .header-actions {
        gap:12px
    }
    .hero {
        min-height:740px
    }
    .hero-copy {
        width:65%
    }
    .hero h1 {
        font-size:76px
    }
    .hero-visual {
        right:-30px;
        width:60%;
        opacity:.85
    }
    .label-one {
        display:none
    }
    .mission-grid,.participation-grid,.research-grid {
        gap:50px
    }
    .participation-grid {
        grid-template-columns:1.2fr 1fr
    }
    .phone {
        width:210px
    }
    .app-stage {
        padding-inline:18px
    }
    .app-caption p {
        font-size:18px
    }
    .care-grid {
        gap:30px
    }
    .faq h2 {
        font-size:46px
    }
    .film-canvas {
        height:360px
    }
    .specimen {
        width:125px;
        height:165px
    }
    .specimen-image {
        height:124px
    }
}
@media(max-width:760px) {
    html {
        scroll-padding-top:85px
    }
    .wrap {
        width:calc(100% - 40px)
    }
    .header-inner {
        height:72px;
        gap:10px
    }
    .wordmark {
        font-size:29px
    }
    .wordmark span {
        font-size:12px
    }
    .desktop-nav {
        display:none
    }
    .header-actions {
        gap:12px
    }
    .header-actions .compact {
        font-size:10px;
        padding:10px 14px
    }
    .theme-toggle {
        font-size:18px;
        padding:0
    }
    .languages {
        font-size:9px;
        gap:4px
    }
    .hero {
        padding-top:40px;
        min-height:0
    }
    .hero-copy {
        width:100%;
        padding-bottom:20px
    }
    .hero .eyebrow {
        font-size:8px;
        letter-spacing:.12em;
        margin-bottom:24px
    }
    .hero h1 {
        font-size:clamp(49px,9.5vw,70px);
        max-width:600px
    }
    .hero-description {
        max-width:330px;
        margin-top:24px;
        font-size:13px
    }
    .hero-actions {
        gap:20px;
        margin-top:23px;
        flex-wrap:wrap
    }
    .hero-note {
        font-size:9px;
        margin-top:20px
    }
    .hero-visual {
        position:relative;
        inset:auto;
        width:100%;
        height:360px;
        z-index:0;
        opacity:1;
        margin-top:-10px
    }
    .glass-art {
        object-fit:contain;
        mask-image:radial-gradient(ellipse,#000 45%,transparent 73%)
    }
    .art-orbit {
        height:68%;
        width:62%;
        left:20%;
        top:15%
    }
    .label-two {
        left:1%;
        bottom:10%;
        font-size:8px
    }
    .hero-base {
        font-size:8px;
        gap:20px;
        padding:19px 0
    }
    .section {
        padding-block:70px
    }
    .section-kicker {
        font-size:9px;
        margin-bottom:30px;
        gap:17px
    }
    h2 {
        font-size:43px
    }
    .mission-grid,.participation-grid,.research-grid,.faq-grid {
        grid-template-columns:1fr;
        gap:30px
    }
    .mission-prose {
        font-size:14px;
        padding:0;
        max-width:none
    }
    .mission-bottom {
        margin-top:35px;
        gap:20px;
        font-size:10px
    }
    .mission-bottom a {
        font-size:10px;
        white-space:nowrap
    }
    .journey-heading {
        display:block
    }
    .journey-heading h2 {
        font-size:40px
    }
    .journey-heading p {
        margin-top:22px;
        max-width:290px;
        font-size:12px
    }
    .film {
        margin-top:30px
    }
    .film-top {
        padding:15px 13px;
        font-size:8px;
        gap:10px
    }
    .film-top>span:nth-child(2) {
        max-width:150px;
        text-align:center
    }
    .motion-toggle {
        padding:5px 9px;
        font-size:9px
    }
    .film-canvas {
        height:290px
    }
    .specimen {
        width:82px;
        height:109px;
        padding:5px;
        border-radius:9px
    }
    .specimen-image {
        height:78px;
        border-radius:5px
    }
    .specimen-footer {
        font-size:5px;
        padding:5px 0
    }
    .film[data-stage="1"] .specimen-1,.film[data-stage="1"] .specimen-4,.film[data-stage="3"] .specimen-0,.film[data-stage="3"] .specimen-3 {
        opacity:.18
    }
    .film[data-stage="2"] .specimen-1,.film[data-stage="2"] .specimen-4 {
        opacity:0
    }
    .context-note {
        left:calc(50% - 5px);
        top:65%;
        font-size:9px;
        padding:8px 12px;
        white-space:nowrap
    }
    .review-mark {
        font-size:70px
    }
    .film-caption {
        min-height:115px;
        padding-inline:20px
    }
    .film-caption h3 {
        font-size:26px
    }
    .film-caption p {
        font-size:11px
    }
    .film-tabs {
        grid-template-columns:repeat(2,1fr)
    }
    .film-tabs button {
        font-size:10px;
        padding:17px 12px;
        gap:9px
    }
    .film-tabs button:nth-child(3) {
        border-left:0;
        border-top:1px solid #66476e
    }
    .film-tabs button:nth-child(4) {
        border-top:1px solid #66476e
    }
    .participation-copy>p {
        font-size:13px
    }
    .participation-links {
        gap:20px
    }
    .app-stage {
        min-height:0;
        border-radius:160px 160px 6px 6px;
        padding:28px 20px 25px;
        margin-top:15px
    }
    .phone {
        width:230px;
        margin-top:25px
    }
    .app-caption {
        margin-top:26px
    }
    .app-note {
        margin-top:18px
    }
    .care-heading {
        display:block
    }
    .care-heading>p {
        margin-top:25px;
        max-width:100%;
        font-size:13px
    }
    .care-grid {
        grid-template-columns:1fr;
        gap:32px;
        margin-top:40px
    }
    .care-grid article {
        border-top:1px solid var(--line);
        padding-top:25px
    }
    .care-icon {
        font-size:27px;
        margin-bottom:15px
    }
    .care-grid h3 {
        font-size:26px
    }
    .care-grid p {
        margin-top:12px
    }
    .care-foot {
        flex-direction:column;
        align-items:start;
        gap:23px;
        margin-top:30px
    }
    .research-stamp {
        max-width:300px;
        width:100%;
        margin:auto
    }
    .research-grid {
        gap:40px
    }
    .research-grid>div>p {
        font-size:13px
    }
    .faq h2 {
        font-size:43px
    }
    .faq-grid {
        gap:35px
    }
    .faq summary {
        font-size:13px
    }
    .closing {
        padding-block:75px
    }
    .closing h2 {
        font-size:47px
    }
    .closing .eyebrow {
        font-size:8px
    }
    .closing-flower {
        font-size:330px;
        right:-160px;
        opacity:.6
    }
    .footer-top {
        padding-block:35px;
        gap:20px
    }
    .footer-top p {
        font-size:14px
    }
    .footer-bottom {
        align-items:start;
        gap:23px;
        flex-direction:column
    }
    .footer-bottom nav {
        flex-wrap:wrap;
        gap:13px 20px
    }
    .dark .hero-visual {
        opacity:.7
    }
}
@media(max-width:380px) {
    .header-actions .compact {
        display:none
    }
    .hero h1 {
        font-size:46px
    }
    .hero-base {
        font-size:7px
    }
    .hero-actions {
        gap:16px
    }
    .journey-heading h2,h2 {
        font-size:38px
    }
    .film-top>span:nth-child(2) {
        font-size:7px
    }
    .film-tabs button {
        font-size:9px
    }
    .closing h2 {
        font-size:41px
    }
}
@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*:before,*:after {
        animation:none!important;
        transition:none!important
    }
}
/* Blend the generated material into each surface without a rectangular edge. */
.glass-art {
    mask-image:radial-gradient(ellipse 65% 67% at 55% 49%,#000 50%,transparent 78%)
}
.dark .glass-art {
    filter:invert(1) hue-rotate(160deg) brightness(1.4);
    mix-blend-mode:screen;
    opacity:.8
}
.hero h1 {
    letter-spacing:-.055em
}
@media(max-width:760px) {
    .glass-art {
        mask-image:radial-gradient(ellipse 60% 67% at 50% 49%,#000 43%,transparent 75%)
    }
}
h1,h2 {
    letter-spacing:-.045em
}
.hero h1 {
    letter-spacing:-.045em
}
.specimen .specimen-image {
    filter:invert(1) hue-rotate(160deg) brightness(1.5)
}
