:root {
    --ink: #102a27;
    --ink-soft: #405653;
    --forest: #0b3b37;
    --forest-2: #15574f;
    --mint: #4fdfac;
    --mint-soft: #dff9ef;
    --cream: #faf8f2;
    --paper: #ffffff;
    --line: #dce5df;
    --amber: #ffcf70;
    --rose: #f4a9a8;
    --violet: #b8adf8;
    --blue: #93c9f4;
    --teal: #7fd5ce;
    --shadow: 0 20px 60px rgba(16, 42, 39, .10);
    --radius-sm: .75rem;
    --radius: 1.25rem;
    --radius-lg: 2rem;
    --shell: 100%;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--cream);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1rem;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
body, input, select, button { font: inherit; }
a { color: inherit; }
img { max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #167d70; outline-offset: 3px; }
.shell { width: calc(100% - clamp(2rem, 6vw, 7rem)); max-width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; left: 1rem; top: -5rem; padding: .75rem 1rem; background: var(--paper); border-radius: .5rem; box-shadow: var(--shadow); }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(220,229,223,.9); background: rgba(250,248,242,.92); backdrop-filter: blur(16px); }
.site-header__inner { min-height: 4.75rem; display: flex; align-items: center; gap: 2rem; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand__image { display: block; width: clamp(11.5rem, 17vw, 15rem); height: auto; border-radius: .25rem; }
.desktop-nav { margin-left: auto; display: flex; align-items: center; gap: 1.7rem; }
.desktop-nav a, .sign-in-link { position: relative; color: var(--ink-soft); font-size: .92rem; font-weight: 650; text-decoration: none; }
.desktop-nav a::after { position: absolute; content: ""; left: 0; right: 100%; bottom: -.45rem; height: 2px; background: #167d70; transition: right .2s ease; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current="page"]::after { right: 0; }
.header-actions { display: flex; align-items: center; gap: 1rem; }
.inline-form { margin: 0; }
.inline-form button { margin: 0; cursor: pointer; }
.sign-out-button { color: var(--forest); border-color: #bfcfc8; background: rgba(255,255,255,.55); }
.mobile-sign-out { padding: .35rem; }
.mobile-sign-out button { min-height: 2.8rem; }
.language-selector { display: inline-flex; align-items: center; gap: .35rem; }
.language-selector label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.language-selector select { min-height: 2.65rem; max-width: 8rem; padding: .45rem 1.8rem .45rem .65rem; border: 1px solid var(--line); border-radius: .6rem; color: var(--ink); background: #fff; }
.language-selector button { min-height: 2.65rem; padding: .45rem .65rem; border: 0; border-radius: .55rem; color: #fff; background: var(--forest); font-weight: 750; cursor: pointer; }
.language-selector--mobile { margin-bottom: .5rem; padding: .35rem; display: flex; }
.language-selector--mobile select { flex: 1; max-width: none; }
.install-button { padding: .55rem .8rem; color: var(--forest); border: 1px solid var(--line); border-radius: .6rem; background: transparent; font-size: .84rem; font-weight: 750; cursor: pointer; }
.mobile-menu { display: none; margin-left: auto; position: relative; }
.mobile-menu summary { width: 2.75rem; height: 2.75rem; display: grid; align-content: center; gap: .28rem; padding: .65rem; border: 1px solid var(--line); border-radius: .75rem; cursor: pointer; list-style: none; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { display: block; height: 2px; border-radius: 1rem; background: var(--forest); }
.mobile-menu nav { position: absolute; right: 0; top: 3.25rem; width: min(19rem, calc(100vw - 2rem)); padding: .75rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--paper); box-shadow: var(--shadow); }
.mobile-menu nav a { display: block; min-height: 2.8rem; padding: .65rem .8rem; border-radius: .55rem; font-weight: 700; text-decoration: none; }
.mobile-menu nav a:hover { background: var(--mint-soft); }

.button { min-height: 3rem; padding: .78rem 1.15rem; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: .75rem; font-weight: 760; line-height: 1.2; text-align: center; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 2.65rem; padding: .65rem 1rem; font-size: .9rem; }
.button--primary { color: #fff; background: var(--forest); box-shadow: 0 8px 24px rgba(11,59,55,.16); }
.button--primary:hover { background: var(--forest-2); }
.button--secondary { color: var(--forest); border-color: #bfcfc8; background: rgba(255,255,255,.55); }
.button--secondary:hover { background: var(--paper); }
.button--light { color: var(--forest); background: var(--mint); }
.button--ghost { color: #fff; border-color: rgba(255,255,255,.4); background: transparent; }
.button--full { width: 100%; }
.button:disabled, .button[aria-disabled="true"] { opacity: .48; cursor: not-allowed; box-shadow: none; transform: none; }
.button:disabled:hover, .button[aria-disabled="true"]:hover { transform: none; }
.eyebrow { display: flex; align-items: center; gap: .55rem; color: #167d70; font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow > span { width: 1.8rem; height: 2px; background: currentColor; }
.eyebrow--light { color: var(--mint); }

.hero { min-height: 43rem; padding-block: clamp(3.5rem, 8vw, 7rem); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr); gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.hero__content h1 { max-width: 14ch; margin: 1.2rem 0 1.25rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3.1rem, 5.5vw, 5rem); font-weight: 500; line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.hero__content h1 em { margin-top: .18em; display: block; color: #167d70; font-size: .74em; font-style: normal; line-height: 1.03; }
.hero__lead { max-width: 38rem; margin: 0; color: var(--ink-soft); font-size: clamp(1.1rem, 2vw, 1.3rem); line-height: 1.65; }
.hero__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .85rem; }
.hero__microcopy { max-width: 34rem; margin: 1.15rem 0 0; color: #60716e; font-size: .82rem; }
.hero__preview { position: relative; min-height: 34rem; display: grid; place-items: center; border-radius: 50% 50% 44% 56% / 45% 45% 55% 55%; background: radial-gradient(circle at 70% 20%, #fff8dd 0 10%, transparent 28%), linear-gradient(145deg, #d6f5e9, #9edecb); }
.hero__preview::before, .hero__preview::after { position: absolute; content: ""; border-radius: 50%; }
.hero__preview::before { width: 6rem; height: 6rem; left: -1rem; top: 5rem; border: 1px dashed rgba(11,59,55,.35); }
.hero__preview::after { width: 1.25rem; height: 1.25rem; right: 8%; bottom: 15%; background: var(--amber); box-shadow: 1.6rem -2.5rem 0 .4rem rgba(255,255,255,.55); }
.phone-demo { position: relative; z-index: 2; width: min(19rem, 70%); padding: 1rem 1rem 1.15rem; border: 7px solid var(--forest); border-radius: 2.2rem; background: #fff; box-shadow: 0 30px 65px rgba(11,59,55,.25); transform: rotate(2deg); }
.phone-demo__top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; color: #5f716e; font-size: .65rem; font-weight: 750; }
.phone-demo__top > span:first-child { width: .5rem; height: .5rem; border-radius: 50%; background: var(--mint); }.phone-demo__top > span:last-child { justify-self: end; width: 1.2rem; height: .3rem; border-radius: 1rem; background: var(--line); }
.phone-demo__question { margin: 1.45rem 0 1rem; }.phone-demo__question small { display: block; color: #167d70; font-size: .64rem; font-weight: 800; text-transform: uppercase; }.phone-demo__question strong { display: block; margin-top: .35rem; font-family: Georgia, serif; font-size: 1.35rem; line-height: 1.18; }
.phone-demo__choice { min-height: 3.15rem; margin-top: .55rem; padding: .65rem .75rem; display: flex; align-items: center; gap: .6rem; border: 1px solid var(--line); border-radius: .8rem; color: #38514d; font-size: .8rem; font-weight: 700; }
.phone-demo__choice > span { width: 1.65rem; height: 1.65rem; display: grid; place-items: center; border-radius: .45rem; background: #edf3ef; font-size: .7rem; }.phone-demo__choice b { margin-left: auto; }.phone-demo__choice--selected { border-color: #54b89b; background: var(--mint-soft); color: var(--forest); }
.phone-demo__verify { margin-top: 1rem; padding-top: .9rem; display: flex; align-items: center; gap: .6rem; border-top: 1px solid var(--line); }.verify-dot { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #168c6e; font-weight: 900; }.phone-demo__verify b, .phone-demo__verify small { display: block; line-height: 1.25; }.phone-demo__verify b { font-size: .72rem; }.phone-demo__verify small { color: #687a77; font-size: .58rem; }
.trust-float { position: absolute; z-index: 3; padding: .75rem 1rem; display: flex; align-items: center; gap: .65rem; border: 1px solid rgba(255,255,255,.75); border-radius: .9rem; background: rgba(255,255,255,.86); box-shadow: 0 14px 32px rgba(11,59,55,.13); backdrop-filter: blur(8px); font-size: .78rem; font-weight: 750; }.trust-float b { width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: .55rem; color: #fff; background: var(--forest); }.trust-float--top { right: -1rem; top: 18%; }.trust-float--bottom { left: -2rem; bottom: 15%; }
.hero__preview--unity { isolation: isolate; overflow: hidden; background: radial-gradient(circle at 50% 46%, rgba(255,255,255,.9) 0 10%, transparent 31%), linear-gradient(145deg,#e2f8ef,#a4e4d0 58%,#d7cdfd); }
.voice-unity { position: relative; z-index: 2; width: min(100%, 34rem); aspect-ratio: 1; }
.voice-unity__art { width: 100%; height: 100%; overflow: visible; }
.voice-unity__threads path { stroke-width: 4; stroke-dasharray: 620; stroke-dashoffset: 620; animation: unity-thread-draw 8s ease-in-out infinite; }
.voice-unity__threads path:nth-child(1), .voice-unity__threads path:nth-child(6) { stroke: #167d70; }
.voice-unity__threads path:nth-child(2), .voice-unity__threads path:nth-child(7) { stroke: #7357d9; }
.voice-unity__threads path:nth-child(3), .voice-unity__threads path:nth-child(8) { stroke: #d055a0; }
.voice-unity__threads path:nth-child(4) { stroke: #df9c21; }.voice-unity__threads path:nth-child(5) { stroke: #238ab5; }
.voice-unity__node { transform-box: fill-box; transform-origin: center; animation: unity-node-gather 8s cubic-bezier(.35,.65,.3,1) infinite; }
.voice-unity__node--one { --unity-x: -55px; --unity-y: 108px; fill: #167d70; animation-name: unity-first-voice; }
.voice-unity__node--two { --unity-x: -115px; --unity-y: 87px; fill: #7357d9; animation-delay: .12s; }
.voice-unity__node--three { --unity-x: 136px; --unity-y: 25px; fill: #d055a0; animation-delay: .24s; }
.voice-unity__node--four { --unity-x: -96px; --unity-y: 50px; fill: #df9c21; animation-delay: .36s; }
.voice-unity__node--five { --unity-x: 107px; --unity-y: -86px; fill: #238ab5; animation-delay: .48s; }
.voice-unity__node--six { --unity-x: -91px; --unity-y: -80px; fill: #167d70; animation-delay: .6s; }
.voice-unity__node--seven { --unity-x: 56px; --unity-y: -93px; fill: #7357d9; animation-delay: .72s; }
.voice-unity__node--eight { --unity-x: -35px; --unity-y: -100px; fill: #d055a0; animation-delay: .84s; }
.voice-unity__hand { fill: rgba(255,255,255,.78); stroke: var(--forest); stroke-width: 11; stroke-linejoin: round; stroke-dasharray: 1700; stroke-dashoffset: 1700; filter: drop-shadow(0 10px 13px rgba(11,59,55,.2)); opacity: 0; animation: unity-hand-form 8s ease-in-out infinite; }
.voice-unity__palm-line { fill: none; stroke: #167d70; stroke-width: 7; stroke-linecap: round; stroke-dasharray: 260; stroke-dashoffset: 260; opacity: 0; animation: unity-palm-form 8s ease-in-out infinite; }
.voice-unity__heart { fill: #fff; stroke: var(--forest); stroke-width: 5; opacity: 0; animation: unity-heart 8s ease-in-out infinite; }
.voice-unity__label { position: absolute; z-index: 3; max-width: 15rem; padding: .62rem .8rem; border: 1px solid rgba(255,255,255,.8); border-radius: 1rem; background: rgba(255,255,255,.88); box-shadow: 0 .6rem 1.5rem rgba(11,59,55,.12); color: var(--forest); font-size: .72rem; font-weight: 850; line-height: 1.25; backdrop-filter: blur(8px); opacity: 0; }
.voice-unity__label--first { left: 50%; top: 7%; width: min(13rem,calc(100% - 2rem)); text-align: center; animation: unity-label-first 8s ease-in-out infinite; }
.voice-unity__label--together { left: 50%; bottom: 3%; width: min(15rem,calc(100% - 2rem)); text-align: center; animation: unity-label-together 8s ease-in-out infinite; }
.voice-web { position: relative; z-index: 2; width: min(100%,34rem); aspect-ratio: 1; }
.voice-web__art { width: 100%; height: 100%; overflow: visible; }
.voice-web__spokes path, .voice-web__ring { stroke: rgba(11,59,55,.72); stroke-width: 3; vector-effect: non-scaling-stroke; }
.voice-web__spokes path { stroke-dasharray: 300; stroke-dashoffset: 300; animation: voice-web-spokes 12s ease-in-out infinite; }
.voice-web__spokes path:nth-child(2n) { stroke: rgba(115,87,217,.72); }
.voice-web__spokes path:nth-child(3n) { stroke: rgba(208,85,160,.72); }
.voice-web__ring { stroke-dasharray: 1300; stroke-dashoffset: 1300; }
.voice-web__ring--one { stroke: rgba(22,125,112,.82); animation: voice-web-ring-one 12s ease-in-out infinite; }
.voice-web__ring--two { stroke: rgba(35,138,181,.76); animation: voice-web-ring-two 12s ease-in-out infinite; }
.voice-web__ring--three { stroke: rgba(115,87,217,.7); animation: voice-web-ring-three 12s ease-in-out infinite; }
.voice-web__ring--four { stroke: rgba(208,85,160,.68); animation: voice-web-ring-four 12s ease-in-out infinite; }
.voice-web__dots circle { transform-box: fill-box; transform-origin: center; opacity: 0; }
.voice-web__dots--early circle { fill: #167d70; animation: voice-web-dots-early 12s ease-in-out infinite; }
.voice-web__dots--middle circle { fill: #238ab5; animation: voice-web-dots-middle 12s ease-in-out infinite; }
.voice-web__dots--late circle { fill: #7357d9; animation: voice-web-dots-late 12s ease-in-out infinite; }
.voice-web__dots--outer circle { fill: #d055a0; animation: voice-web-dots-outer 12s ease-in-out infinite; }
.voice-web__dots circle:nth-child(2n) { animation-delay: .12s; }.voice-web__dots circle:nth-child(3n) { animation-delay: .24s; }.voice-web__dots circle:nth-child(5n) { animation-delay: .34s; }
.voice-web__runner { fill: #0b3b37; opacity: 0; animation: voice-web-runner 12s ease-in-out infinite; }
.voice-web__edge-dot { fill: #d055a0; opacity: 0; transform-box: fill-box; transform-origin: center; animation: voice-web-edge-dot 12s cubic-bezier(.2,.8,.3,1.2) infinite; }
.voice-web__verified-bubble { transform-box: fill-box; transform-origin: center; opacity: 0; }
.voice-web__verified-bubble rect, .voice-web__verified-bubble path { fill: rgba(255,255,255,.95); stroke: rgba(11,59,55,.14); stroke-width: 1; }
.voice-web__verified-bubble text { fill: var(--forest); font-family: Arial,sans-serif; font-size: 12px; font-weight: 800; text-anchor: middle; }
.voice-web__verified-bubble--one { animation: voice-web-verified-one 12s ease-out infinite; }
.voice-web__verified-bubble--two { animation: voice-web-verified-two 12s ease-out infinite; }
.voice-web__verified-bubble--three { animation: voice-web-verified-three 12s ease-out infinite; }
.voice-web__verified-bubble--four { animation: voice-web-verified-four 12s ease-out infinite; }
.voice-web__verified-bubble--five { animation: voice-web-verified-five 12s ease-out infinite; }
.voice-web__opening, .voice-web__message { position: absolute; z-index: 4; left: 50%; width: min(20rem,calc(100% - 1.5rem)); min-height: 4.4rem; padding: .68rem .85rem; display: flex; align-items: center; gap: .8rem; border: 1px solid rgba(255,255,255,.86); border-radius: 1.15rem; color: var(--forest); background: rgba(255,255,255,.95); box-shadow: 0 .8rem 2rem rgba(11,59,55,.17); font-size: .88rem; font-weight: 850; line-height: 1.3; text-align: left; backdrop-filter: blur(10px); opacity: 0; }
.voice-web__opening > span, .voice-web__message > span { flex: 1; }
.voice-web__chat-icon { position: relative; flex: 0 0 3rem; width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 1rem 1rem 1rem .3rem; color: #fff; background: var(--forest); box-shadow: 0 .35rem .75rem rgba(11,59,55,.22); font-size: 1.05rem; }
.voice-web__chat-icon::after { position: absolute; content: ""; left: .12rem; bottom: -.3rem; border-width: .38rem .42rem 0 0; border-style: solid; border-color: var(--forest) transparent transparent transparent; }
.voice-web__opening { top: 4%; animation: voice-web-opening 12s ease-in-out infinite; }
.voice-web__message { bottom: 11%; animation: voice-web-message 12s ease-in-out infinite; }
@keyframes voice-web-spokes { 0%,10% { stroke-dashoffset: 300; opacity: 0; } 45%,88% { stroke-dashoffset: 0; opacity: .9; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes voice-web-ring-one { 0%,17% { stroke-dashoffset: 1300; opacity: 0; } 34%,88% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes voice-web-ring-two { 0%,27% { stroke-dashoffset: 1300; opacity: 0; } 45%,88% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes voice-web-ring-three { 0%,38% { stroke-dashoffset: 1300; opacity: 0; } 56%,88% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes voice-web-ring-four { 0%,49% { stroke-dashoffset: 1300; opacity: 0; } 66%,88% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes voice-web-dots-early { 0%,9% { opacity: 0; transform: scale(.2); } 16%,88% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.5); } }
@keyframes voice-web-dots-middle { 0%,24% { opacity: 0; transform: scale(.2); } 34%,88% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.5); } }
@keyframes voice-web-dots-late { 0%,39% { opacity: 0; transform: scale(.2); } 49%,88% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.5); } }
@keyframes voice-web-dots-outer { 0%,52% { opacity: 0; transform: scale(.2); } 63%,88% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.5); } }
@keyframes voice-web-runner { 0%,4% { opacity: 0; } 7%,78% { opacity: 1; } 82%,100% { opacity: 0; } }
@keyframes voice-web-edge-dot { 0%,77% { opacity: 0; transform: scale(.2); } 82%,87% { opacity: 1; transform: scale(2.7); } 91%,96% { opacity: 1; transform: scale(2); } 100% { opacity: 0; transform: scale(.4); } }
@keyframes voice-web-opening { 0%,3% { opacity: 0; transform: translate(-50%,.35rem) scale(.96); } 7%,29% { opacity: 1; transform: translate(-50%,0) scale(1); } 35%,100% { opacity: 0; transform: translate(-50%,-.2rem) scale(.98); } }
@keyframes voice-web-message { 0%,78% { opacity: 0; transform: translate(-50%,.4rem) scale(.94); } 83%,97% { opacity: 1; transform: translate(-50%,0) scale(1); } 100% { opacity: 0; transform: translate(-50%,-.2rem) scale(.98); } }
@keyframes voice-web-verified-one { 0%,15% { opacity: 0; transform: scale(.55); } 18%,23% { opacity: 1; transform: scale(1); } 27%,100% { opacity: 0; transform: scale(.88); } }
@keyframes voice-web-verified-two { 0%,29% { opacity: 0; transform: scale(.55); } 32%,37% { opacity: 1; transform: scale(1); } 41%,100% { opacity: 0; transform: scale(.88); } }
@keyframes voice-web-verified-three { 0%,43% { opacity: 0; transform: scale(.55); } 46%,51% { opacity: 1; transform: scale(1); } 55%,100% { opacity: 0; transform: scale(.88); } }
@keyframes voice-web-verified-four { 0%,57% { opacity: 0; transform: scale(.55); } 60%,65% { opacity: 1; transform: scale(1); } 69%,100% { opacity: 0; transform: scale(.88); } }
@keyframes voice-web-verified-five { 0%,70% { opacity: 0; transform: scale(.55); } 73%,78% { opacity: 1; transform: scale(1); } 82%,100% { opacity: 0; transform: scale(.88); } }
.how-journey { display: grid; grid-template-columns: minmax(16rem,.72fr) minmax(24rem,1.28fr); gap: clamp(2rem,7vw,6rem); align-items: center; }
.how-journey__copy h2 { margin: .65rem 0 1rem; font-family: Georgia,serif; font-size: clamp(2.2rem,4.4vw,3.6rem); font-weight: 500; line-height: 1.05; letter-spacing: -.04em; }
.how-journey__copy p { color: var(--ink-soft); line-height: 1.7; }
.how-journey__preview { width: min(100%,38rem); min-height: 32rem; justify-self: end; }
@keyframes unity-thread-draw { 0%,10% { stroke-dashoffset: 620; opacity: .2; } 48%,82% { stroke-dashoffset: 0; opacity: .85; } 100% { stroke-dashoffset: 620; opacity: .2; } }
@keyframes unity-node-gather { 0%,13% { opacity: .25; transform: translate(0,0) scale(.65); } 20% { opacity: 1; transform: translate(0,0) scale(1); } 52% { opacity: 1; transform: translate(var(--unity-x),var(--unity-y)) scale(.45); } 58%,100% { opacity: 0; transform: translate(var(--unity-x),var(--unity-y)) scale(.2); } }
@keyframes unity-first-voice { 0%,6% { opacity: 0; transform: translate(0,0) scale(.4); } 12%,26% { opacity: 1; transform: translate(0,0) scale(1.18); } 52% { opacity: 1; transform: translate(var(--unity-x),var(--unity-y)) scale(.45); } 58%,100% { opacity: 0; transform: translate(var(--unity-x),var(--unity-y)) scale(.2); } }
@keyframes unity-hand-form { 0%,46% { stroke-dashoffset: 1700; opacity: 0; fill-opacity: 0; } 66%,89% { stroke-dashoffset: 0; opacity: 1; fill-opacity: .78; } 100% { stroke-dashoffset: 0; opacity: 0; fill-opacity: .2; } }
@keyframes unity-palm-form { 0%,58% { stroke-dashoffset: 260; opacity: 0; } 70%,89% { stroke-dashoffset: 0; opacity: .8; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes unity-heart { 0%,55% { opacity: 0; transform: scale(.3); transform-origin: center; } 69%,89% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.8); } }
@keyframes unity-label-first { 0%,7% { opacity: 0; transform: translate(-50%,.35rem); } 13%,31% { opacity: 1; transform: translate(-50%,0); } 40%,100% { opacity: 0; transform: translate(-50%,-.25rem); } }
@keyframes unity-label-together { 0%,58% { opacity: 0; transform: translate(-50%,.35rem); } 68%,89% { opacity: 1; transform: translate(-50%,0); } 100% { opacity: 0; transform: translate(-50%,-.25rem); } }

.trust-strip { border-block: 1px solid var(--line); background: rgba(255,255,255,.45); }
.trust-strip__grid { min-height: 7rem; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.trust-strip__grid > div { min-height: 3.4rem; padding-inline: 1.2rem; display: flex; align-items: center; gap: .8rem; border-right: 1px solid var(--line); }.trust-strip__grid > div:first-child { padding-left: 0; }.trust-strip__grid > div:last-child { border-right: 0; }.trust-strip p { margin: 0; color: #667774; font-size: .76rem; line-height: 1.45; }.trust-strip strong { color: var(--ink); font-size: .82rem; }.trust-icon { flex: 0 0 2.25rem; width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border-radius: 50%; color: var(--forest); background: var(--mint-soft); font-weight: 900; }

.section { padding-block: clamp(4rem, 8vw, 7rem); }.section--compact { padding-top: 1.5rem; }.section--tint { background: #eff5ef; }.section-heading { margin-bottom: 2rem; display: flex; align-items: end; justify-content: space-between; gap: 2rem; }.section-heading--center { justify-content: center; text-align: center; }.section-heading--center .eyebrow { justify-content: center; }.section h2, .page-hero h1 { margin: .55rem 0 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }.section h2 { font-size: clamp(2.25rem, 4.5vw, 3.55rem); }.text-link { color: #167d70; font-size: .9rem; font-weight: 780; text-decoration: none; white-space: nowrap; }.text-link:hover { text-decoration: underline; }
.campaign-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }.campaign-grid--two { grid-template-columns: repeat(2, 1fr); }.campaign-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: 0 8px 30px rgba(16,42,39,.045); transition: transform .2s ease, box-shadow .2s ease; }.campaign-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }.campaign-card__visual { position: relative; min-height: 11rem; padding: 1rem; display: flex; align-items: end; justify-content: space-between; overflow: hidden; }.campaign-card__visual::before { position: absolute; content: ""; width: 10rem; height: 10rem; left: 50%; top: 50%; border: 1px solid rgba(16,42,39,.16); border-radius: 47% 53% 35% 65%; transform: translate(-50%,-50%) rotate(20deg); box-shadow: 0 0 0 1.5rem rgba(255,255,255,.14), 0 0 0 3rem rgba(255,255,255,.10); }.campaign-card__visual--mint { background: #aee9d1; }.campaign-card__visual--violet { background: var(--violet); }.campaign-card__visual--amber { background: var(--amber); }.campaign-card__visual--blue { background: var(--blue); }.campaign-card__visual--rose { background: var(--rose); }.campaign-card__visual--teal { background: var(--teal); }.campaign-card__visual-mark { position: relative; z-index: 1; width: 3.2rem; height: 3.2rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--forest); font-size: .9rem; font-weight: 900; }.campaign-card__visual-label { position: relative; z-index: 1; padding: .38rem .65rem; border-radius: 2rem; background: rgba(255,255,255,.72); font-size: .68rem; font-weight: 800; backdrop-filter: blur(8px); }.campaign-card__body { flex: 1; padding: 1.15rem; display: flex; flex-direction: column; }.campaign-card__meta { display: flex; align-items: center; justify-content: space-between; gap: .65rem; color: #687a77; font-size: .68rem; }.status-pill { padding: .24rem .5rem; border-radius: 2rem; color: #146651; background: var(--mint-soft); font-weight: 800; }.campaign-card h3 { margin: 1rem 0 .55rem; font-family: Georgia, serif; font-size: 1.4rem; font-weight: 500; line-height: 1.22; letter-spacing: -.02em; }.campaign-card p { margin: 0; color: var(--ink-soft); font-size: .86rem; }.campaign-card__footer { margin-top: auto; padding-top: 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #71817e; font-size: .7rem; }.campaign-card__footer a { color: #167d70; font-weight: 780; text-decoration: none; }.demo-disclosure { margin: 1.3rem 0 0; color: #6d7d7a; font-size: .76rem; text-align: right; }
.campaign-card__result { margin-top: 1rem; padding: .85rem; border: 1px solid #c7ddd4; border-radius: .85rem; background: linear-gradient(145deg,#f7fbf8,#edf7f1); }.campaign-card__result-head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; color: #236557; font-size: .65rem; font-weight: 850; text-transform: uppercase; letter-spacing: .045em; }.campaign-card__result-head > span { display: inline-flex; align-items: center; gap: .35rem; }.campaign-card__result-head i { width: 1.25rem; height: 1.25rem; display: inline-grid; place-items: center; border-radius: 50%; color: #fff; background: #23845f; font-style: normal; }.campaign-card__result-head strong { color: var(--ink); font-size: .68rem; white-space: nowrap; }.campaign-card p.campaign-card__result-question { margin-top: .65rem; color: var(--ink); font-size: .78rem; font-weight: 760; line-height: 1.35; }.campaign-card__result-bars { margin-top: .7rem; display: grid; gap: .55rem; }.campaign-card__result-row > div { margin-bottom: .25rem; display: flex; justify-content: space-between; gap: .65rem; color: #536b66; font-size: .66rem; }.campaign-card__result-row > div span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.campaign-card__result-row > div strong { color: var(--ink); }.campaign-card__result-row > i { height: .42rem; display: block; overflow: hidden; border-radius: 1rem; background: #dce7e1; }.campaign-card__result-row > i span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#17865f,#42bb85); }.campaign-card__result > small { margin-top: .5rem; display: block; color: #688078; font-size: .62rem; }.campaign-card p.campaign-card__result-summary { margin-top: .65rem; font-size: .72rem; line-height: 1.45; }.campaign-card__result-foot { margin-top: .7rem; padding-top: .55rem; display: flex; align-items: center; justify-content: space-between; gap: .6rem; border-top: 1px solid #d4e4dc; color: #657b75; font-size: .6rem; }.campaign-card__result-foot a { color: #167d70; font-weight: 850; white-space: nowrap; }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.category-grid--large .category-card { min-height: 12rem; }.category-card { position: relative; min-height: 9.5rem; padding: 1.25rem; display: flex; flex-direction: column; justify-content: end; border: 1px solid #d2dfd7; border-radius: var(--radius); background: rgba(255,255,255,.7); text-decoration: none; transition: transform .18s ease, background .18s ease; }.category-card:hover { transform: translateY(-3px); background: #fff; }.category-card__count { position: absolute; left: 1.25rem; top: 1.15rem; color: #5d716d; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }.category-card strong { font-family: Georgia, serif; font-size: 1.35rem; font-weight: 500; }.category-card > span:not(.category-card__count,.category-card__arrow) { margin-top: .3rem; color: #637470; font-size: .78rem; }.category-card__arrow { position: absolute; right: 1.1rem; top: 1rem; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: var(--mint-soft); color: #167d70; }
.how { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(2.5rem, 8vw, 7rem); align-items: start; }.how__intro { position: sticky; top: 7rem; }.how__intro p { max-width: 30rem; color: var(--ink-soft); }.how__intro .button { margin-top: 1rem; }.step-list { margin: 0; padding: 0; list-style: none; counter-reset: steps; }.step-list li { min-height: 8.5rem; padding: 1.5rem 0; display: grid; grid-template-columns: 3rem 1fr; gap: 1.2rem; border-top: 1px solid var(--line); }.step-list li:last-child { border-bottom: 1px solid var(--line); }.step-list > li > span { color: #167d70; font-size: .76rem; font-weight: 850; letter-spacing: .08em; }.step-list strong { display: block; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; }.step-list p { max-width: 32rem; margin: .35rem 0 0; color: var(--ink-soft); font-size: .9rem; }
.organiser-journey { display: grid; grid-template-columns: minmax(17rem,.8fr) minmax(24rem,1.2fr); gap: clamp(2.5rem,8vw,7rem); align-items: start; }.organiser-journey__intro { position: sticky; top: 7rem; }.organiser-journey__intro h2, .sharing-options__heading h2 { margin: .55rem 0 1rem; font-family: Georgia,serif; font-size: clamp(2.25rem,4.5vw,3.55rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; }.organiser-journey__intro p { max-width: 30rem; color: var(--ink-soft); line-height: 1.7; }.organiser-journey__actions { margin-top: 1.5rem; display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }.organiser-journey__steps li > span { width: 2.25rem; height: 2.25rem; display: grid; place-items: center; border-radius: 50%; color: var(--forest); background: var(--mint-soft); }.sharing-options__heading { max-width: 42rem; margin-bottom: 2rem; }.sharing-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }.sharing-option { min-height: 16rem; padding: clamp(1.5rem,4vw,2.25rem); display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper); }.sharing-option--public { background: var(--mint-soft); }.sharing-option__icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--forest); font-size: 1.25rem; font-weight: 800; }.sharing-option h3 { margin: 1.25rem 0 .5rem; font-family: Georgia,serif; font-size: 1.65rem; font-weight: 500; }.sharing-option p { margin: 0 0 1.25rem; color: var(--ink-soft); line-height: 1.65; }.sharing-option strong { margin-top: auto; color: #167d70; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; }
.cta-panel { padding: clamp(2rem, 6vw, 4.5rem); display: flex; align-items: center; justify-content: space-between; gap: 2rem; border-radius: var(--radius-lg); color: #fff; background: var(--forest); overflow: hidden; position: relative; }.cta-panel::after { position: absolute; content: ""; width: 18rem; height: 18rem; right: -6rem; top: -8rem; border: 1px solid rgba(79,223,172,.25); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(79,223,172,.05); }.cta-panel > * { position: relative; z-index: 1; }.cta-panel h2 { max-width: 17ch; color: #fff; }.cta-panel > div:last-child { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .75rem; }

.page-hero { padding: clamp(3.5rem, 8vw, 6rem) 0 2.5rem; }.page-hero--narrow { max-width: 56rem; margin-inline: auto; text-align: center; }.page-hero--narrow .eyebrow { justify-content: center; }.page-hero h1 { max-width: 18ch; font-size: clamp(2.8rem, 6vw, 5rem); }.page-hero--narrow h1 { margin-inline: auto; }.page-hero p { max-width: 45rem; margin: 1rem 0 0; color: var(--ink-soft); font-size: 1.1rem; }.page-hero--narrow p { margin-inline: auto; }
.discovery-layout { padding-bottom: 6rem; display: grid; grid-template-columns: 17rem 1fr; gap: 2rem; align-items: start; }.filter-panel { position: sticky; top: 6.5rem; padding: 1.15rem; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.72); }.filter-disclosure > summary { display: none; }.filter-disclosure > .filter-disclosure__content { display: block; }.filter-panel label { display: block; margin: 0 0 .4rem; font-size: .76rem; font-weight: 800; }.filter-panel select, .search-field { width: 100%; min-height: 3rem; margin-bottom: 1rem; border: 1px solid #c6d3cd; border-radius: .7rem; background: #fff; }.filter-panel select { padding: 0 .75rem; color: var(--ink); }.search-field { padding-inline: .7rem; display: flex; align-items: center; gap: .45rem; }.search-field input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; }.filter-clear { display: block; margin-top: .75rem; color: #167d70; font-size: .8rem; font-weight: 750; text-align: center; }.filter-note { margin-top: 1.25rem; padding: 1rem; border-radius: .8rem; background: var(--mint-soft); }.filter-note strong { font-size: .76rem; }.filter-note p { margin: .35rem 0 0; color: #4e6964; font-size: .72rem; }.results-toolbar { min-height: 3rem; margin-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }.results-toolbar p { margin: 0; color: #667773; font-size: .82rem; }.results-toolbar a { color: #167d70; font-size: .8rem; font-weight: 750; }.empty-state { min-height: 24rem; display: grid; place-items: center; align-content: center; padding: 2rem; border: 1px dashed #b9c9c2; border-radius: var(--radius); text-align: center; }.empty-state > span { width: 3.5rem; height: 3.5rem; display: grid; place-items: center; border-radius: 50%; background: var(--mint-soft); font-size: 1.5rem; }.empty-state h2 { margin: 1rem 0 0; font-size: 1.8rem; }.empty-state p { margin: .4rem 0 1rem; color: var(--ink-soft); }
.info-layout { display: grid; grid-template-columns: 1fr 20rem; gap: 1.5rem; align-items: start; }.info-sections { display: grid; gap: .8rem; }.info-card { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }.info-card h2, .principle-card h2 { margin: 0; font-family: Georgia, serif; font-size: 1.45rem; font-weight: 500; }.info-card p, .principle-card p { margin: .55rem 0 0; color: var(--ink-soft); }.principle-card { position: sticky; top: 6.5rem; padding: 1.5rem; border-radius: var(--radius); color: #fff; background: var(--forest); }.principle-card h2 { color: #fff; }.principle-card p { color: #c7dbd6; font-size: .86rem; }.principle-card a { display: inline-block; margin-top: 1rem; color: var(--mint); font-size: .8rem; font-weight: 800; text-decoration: none; }.principle-card .campaign-vote-button { display: flex; color: var(--forest); border-color: var(--mint); background: var(--mint); font-size: .9rem; box-shadow: 0 10px 24px rgba(0,0,0,.16); }.principle-card .campaign-vote-button:hover { color: var(--forest); background: #74e7bd; }.principle-card__mark { width: 2.75rem; height: 2.75rem; margin-bottom: 1rem; display: grid; place-items: center; border-radius: 50%; color: var(--forest); background: var(--mint); font-weight: 900; }.notice-box { grid-column: 1 / -1; padding: 1rem 1.2rem; display: flex; align-items: baseline; gap: 1rem; border: 1px solid #e2ca91; border-radius: .85rem; background: #fff6df; }.notice-box strong { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; }.notice-box p { margin: 0; color: #66552e; font-size: .82rem; }

.message { width: min(calc(100% - 2rem), var(--shell)); margin: 1rem auto; padding: 1rem; border: 1px solid #aacfc3; border-radius: .75rem; background: var(--mint-soft); }.message.error { border-color: #e0aaa8; background: #ffeded; }
.site-footer { margin-top: 3rem; padding-top: 4rem; color: #d9e7e3; background: #082e2b; }.site-footer__top { padding-bottom: 3rem; display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 3rem; }.brand--footer .brand__image { width: min(18rem, 100%); }.site-footer__brand p { max-width: 18rem; margin: 1rem 0 .5rem; color: #bad0ca; }.site-footer__brand small { color: #7fa099; }.site-footer h2 { margin: 0 0 .9rem; color: var(--mint); font-family: inherit; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.site-footer__top > div:not(:first-child) a { display: block; margin: .5rem 0; color: #c3d6d1; font-size: .85rem; text-decoration: none; }.site-footer a:hover { color: #fff; text-decoration: underline; }.site-footer__bottom { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid rgba(255,255,255,.12); color: #8caaa3; font-size: .72rem; }.site-footer__bottom span:last-child { display: flex; gap: 1rem; }.install-toast { position: fixed; z-index: 60; left: 50%; bottom: max(1rem, env(safe-area-inset-bottom)); width: min(calc(100% - 2rem), 34rem); padding: .8rem; display: flex; align-items: center; gap: .7rem; border: 1px solid var(--line); border-radius: .9rem; background: #fff; box-shadow: var(--shadow); transform: translateX(-50%); font-size: .8rem; }.install-toast[hidden] { display: none; }.install-toast span { flex: 1; }.install-toast button { min-height: 2.5rem; padding: .5rem .75rem; border: 0; border-radius: .55rem; background: var(--forest); color: #fff; font-weight: 800; cursor: pointer; }.install-toast [data-dismiss-install] { width: 2.5rem; padding: 0; color: var(--ink); background: #eef3f0; font-size: 1.2rem; }

@media (max-width: 68rem) {
    .desktop-nav { gap: 1rem; }.desktop-nav a:nth-last-child(-n+2), .language-selector--desktop { display: none; }
    .hero { grid-template-columns: 1fr 24rem; gap: 2.5rem; }.hero__content h1 { font-size: clamp(3rem, 6vw, 4.5rem); }.trust-float--top { right: -.5rem; }.trust-float--bottom { left: -.5rem; }
    .trust-strip__grid { grid-template-columns: repeat(2, 1fr); }.trust-strip__grid > div { padding: 1rem; border-bottom: 1px solid var(--line); }.trust-strip__grid > div:nth-child(2) { border-right: 0; }.trust-strip__grid > div:nth-last-child(-n+2) { border-bottom: 0; }
}
@media (max-width: 52rem) {
    .desktop-nav, .header-actions .sign-in-link, .header-actions .install-button { display: none; }.mobile-menu { display: block; }.header-actions { margin-left: auto; }.site-header__inner { gap: .75rem; }
    .hero { min-height: 0; padding-top: 3.5rem; grid-template-columns: 1fr; }.hero__content { text-align: center; }.hero__content .eyebrow, .hero__actions { justify-content: center; }.hero__content h1, .hero__lead, .hero__microcopy { margin-inline: auto; }.hero__preview { width: min(100%, 32rem); min-height: 31rem; margin-inline: auto; }.phone-demo { width: min(19rem, 68%); }
    .campaign-grid { grid-template-columns: repeat(2, 1fr); }.category-grid { grid-template-columns: repeat(2, 1fr); }.how, .how-journey, .organiser-journey { grid-template-columns: 1fr; }.how__intro, .organiser-journey__intro { position: static; }.how-journey__copy { text-align: center; }.how-journey__copy .eyebrow { justify-content: center; }.how-journey__preview { justify-self: center; }.cta-panel { align-items: flex-start; flex-direction: column; }.cta-panel > div:last-child { justify-content: flex-start; }
    .discovery-layout { grid-template-columns: 1fr; gap: 1rem; }.filter-panel { position: static; }.info-layout { grid-template-columns: 1fr; }.principle-card { position: static; }.site-footer__top { grid-template-columns: 2fr 1fr 1fr; }.site-footer__top > div:last-child { grid-column: 2 / -1; }
}
@media (max-width: 38rem) {
    .shell { width: min(calc(100% - 1.25rem), var(--shell)); }.site-header__inner { min-height: 4.25rem; }.brand__image { width: 10.5rem; }.header-actions .button { display: none; }
    .hero { padding-top: 2.75rem; }.hero__content h1 { font-size: clamp(2.8rem, 14vw, 4rem); }.hero__lead { font-size: 1.04rem; }.hero__actions { align-items: stretch; flex-direction: column; }.hero__actions .button { width: 100%; }.hero__preview { min-height: 26rem; border-radius: 2rem; }.phone-demo { width: 75%; padding: .8rem; }.phone-demo__choice { min-height: 2.7rem; }.trust-float { padding: .6rem .7rem; font-size: .66rem; }.trust-float b { width: 1.7rem; height: 1.7rem; }.trust-float--top { right: .35rem; top: 8%; }.trust-float--bottom { left: .35rem; bottom: 8%; }
    .trust-strip__grid { grid-template-columns: 1fr; }.trust-strip__grid > div { min-height: 4.75rem; padding-inline: .25rem; border-right: 0; border-bottom: 1px solid var(--line) !important; }.trust-strip__grid > div:last-child { border-bottom: 0 !important; }
    .section { padding-block: 4rem; }.section-heading { align-items: flex-start; flex-direction: column; gap: .75rem; }.campaign-grid, .campaign-grid--two, .category-grid, .sharing-options { grid-template-columns: 1fr; }.campaign-card__visual { min-height: 9.5rem; }.category-card { min-height: 8.5rem; }.demo-disclosure { text-align: left; }.organiser-journey__steps li { grid-template-columns: 2.5rem 1fr; gap: .8rem; }
    .page-hero { padding-top: 3rem; }.page-hero h1 { font-size: 2.75rem; }.discovery-layout { padding-bottom: 4rem; }.filter-panel { padding: 0; background: transparent; }.filter-disclosure > summary { min-height: 3.25rem; padding: .8rem 1rem; display: flex; align-items: center; gap: .55rem; border-radius: var(--radius); background: var(--paper); color: var(--forest); font-weight: 800; cursor: pointer; list-style: none; }.filter-disclosure > summary::-webkit-details-marker { display: none; }.filter-disclosure > summary::after { margin-left: auto; content: "+"; font-size: 1.25rem; }.filter-disclosure[open] > summary::after { content: "−"; }.filter-disclosure__content { padding: 1rem; }.filter-disclosure:not([open]) > .filter-disclosure__content { display: none; }.results-toolbar { align-items: flex-start; }.notice-box { align-items: flex-start; flex-direction: column; gap: .3rem; }
    .site-footer__top { grid-template-columns: 1fr 1fr; gap: 2rem 1rem; }.site-footer__brand { grid-column: 1 / -1; }.site-footer__top > div:last-child { grid-column: auto; }.site-footer__bottom { padding-block: 1rem; align-items: flex-start; flex-direction: column; }.install-toast { align-items: stretch; flex-wrap: wrap; }.install-toast span { flex-basis: 100%; }
}
.campaign-card__vote-mascot { position: absolute; z-index: 2; top: .7rem; left: 50%; width: min(calc(100% - 2rem), 17rem); height: 7.3rem; transform: translateX(-50%); }
.campaign-card__mascot-character { position: absolute; z-index: 2; left: 50%; bottom: .25rem; width: 3.55rem; height: 3.55rem; filter: drop-shadow(0 .4rem .45rem rgba(11,59,55,.2)); transform: translateX(-50%); transform-origin: center bottom; }
.campaign-card__mascot-character svg { width: 100%; height: 100%; overflow: visible; fill: #fff; }
.campaign-card__mascot-body { fill: var(--forest); stroke: rgba(255,255,255,.72); stroke-width: 2; }
.campaign-card__mascot-mouth, .campaign-card__mascot-arm { fill: none; stroke: #fff; stroke-width: 4; stroke-linecap: round; }
.campaign-card__mascot-arm { opacity: 0; }
.campaign-card__vote-token { --token-x: -6rem; --token-y: -2rem; position: absolute; z-index: 3; left: 50%; top: 47%; width: 1.35rem; height: 1.35rem; display: grid; place-items: center; border: 1px solid rgba(11,59,55,.12); border-radius: 50%; color: var(--forest); background: #fff; box-shadow: 0 .22rem .5rem rgba(11,59,55,.17); font-size: .7rem; font-weight: 900; opacity: 0; }
.campaign-card__vote-token--two { --token-x: 6.2rem; --token-y: -1.8rem; }
.campaign-card__vote-token--three { --token-x: -5.2rem; --token-y: 1rem; }
.campaign-card__vote-token--four { --token-x: 5.7rem; --token-y: .9rem; }
.campaign-card__vote-token--five { --token-x: 0rem; --token-y: -3.1rem; }
.campaign-card__vote-token--six { --token-x: -6.4rem; --token-y: -.25rem; }
.campaign-card__vote-token--seven { --token-x: 6.4rem; --token-y: -.4rem; }
.campaign-card__vote-token--eight { --token-x: -2.9rem; --token-y: -3.15rem; }
.campaign-card__mascot-message { position: absolute; z-index: 4; right: -.2rem; top: .15rem; min-width: 7.2rem; padding: .48rem .62rem; display: grid; border: 1px solid rgba(255,255,255,.6); border-radius: .8rem .8rem .8rem .18rem; color: #fff; background: rgba(11,59,55,.94); box-shadow: 0 .45rem 1rem rgba(11,59,55,.18); line-height: 1.08; opacity: 0; transform: translateY(.4rem) scale(.92); transform-origin: left bottom; }
.campaign-card__mascot-message strong { font-size: .7rem; font-weight: 850; }
.campaign-card__mascot-message small { margin-top: .16rem; color: #bff4df; font-size: .59rem; font-weight: 750; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token { animation: campaign-vote-gulp .72s cubic-bezier(.3,.7,.35,1) both; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--one { animation-delay: .15s; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--two { animation-delay: .82s; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--three { animation-delay: 1.49s; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--four { animation-delay: 2.16s; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--five { animation-delay: 2.83s; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--six { animation-delay: 3.5s; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--seven { animation-delay: 4.17s; }
.campaign-card__vote-mascot.is-playing .campaign-card__vote-token--eight { animation-delay: 4.84s; }
.campaign-card__vote-mascot.is-playing .campaign-card__mascot-character { animation: campaign-mascot-grow 5.55s ease-out both; }
.campaign-card__vote-mascot.is-playing .campaign-card__mascot-mouth { animation: campaign-mascot-chew .67s ease-in-out 8; }
.campaign-card__vote-mascot.is-playing .campaign-card__mascot-arm { animation: campaign-mascot-point .35s ease-out 5.48s both; }
.campaign-card__vote-mascot.is-playing .campaign-card__mascot-message { animation: campaign-mascot-message .4s cubic-bezier(.2,.8,.3,1.25) 5.58s both; }
.campaign-card--vote-ready .campaign-card__cta--live { animation: campaign-cta-pulse .8s ease-out 1; }
.campaign-card__footer .campaign-card__cta { min-height: 2.15rem; padding: .48rem .72rem; display: inline-flex; align-items: center; justify-content: center; gap: .38rem; border: 1px solid #a8c9c0; border-radius: 2rem; color: var(--forest); background: #fff; font-size: .72rem; font-weight: 850; line-height: 1; box-shadow: 0 .3rem .8rem rgba(11,59,55,.08); transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.campaign-card__footer .campaign-card__cta span { font-size: 1rem; line-height: .7; transition: transform .18s ease; }
.campaign-card__footer .campaign-card__cta:hover { color: var(--forest); background: var(--mint-soft); box-shadow: 0 .5rem 1rem rgba(11,59,55,.14); transform: translateY(-2px); }
.campaign-card__footer .campaign-card__cta:hover span { transform: translateX(.16rem); }
.campaign-card__footer .campaign-card__cta--live { border-color: var(--forest); color: #fff; background: var(--forest); box-shadow: 0 .5rem 1.15rem rgba(11,59,55,.24); }
.campaign-card__footer .campaign-card__cta--live:hover { color: var(--forest); border-color: var(--mint); background: var(--mint); }
@keyframes campaign-vote-gulp {
    0% { opacity: 0; transform: translate(-50%,-50%) translate(var(--token-x),var(--token-y)) scale(.55); }
    18% { opacity: 1; transform: translate(-50%,-50%) translate(var(--token-x),var(--token-y)) scale(1); }
    78% { opacity: 1; transform: translate(-50%,-50%) translate(0,.85rem) scale(.75); }
    100% { opacity: 0; transform: translate(-50%,-50%) translate(0,1.15rem) scale(.1); }
}
@keyframes campaign-mascot-grow {
    0%,10% { transform: translateX(-50%) scale(.68); }
    12%,22% { transform: translateX(-50%) scale(.78); }
    24%,34% { transform: translateX(-50%) scale(.88); }
    36%,46% { transform: translateX(-50%) scale(.98); }
    48%,58% { transform: translateX(-50%) scale(1.1); }
    60%,70% { transform: translateX(-50%) scale(1.22); }
    72%,82% { transform: translateX(-50%) scale(1.34); }
    84%,100% { transform: translateX(-50%) scale(1.48); }
}
@keyframes campaign-mascot-chew { 0%,100% { stroke-width: 4; } 50% { stroke-width: 8; } }
@keyframes campaign-mascot-point { from { opacity: 0; transform: rotate(-12deg); } to { opacity: 1; transform: rotate(0); } }
@keyframes campaign-mascot-message { from { opacity: 0; transform: translateY(.4rem) scale(.92); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes campaign-cta-pulse { 0%,100% { transform: scale(1); } 45% { transform: scale(1.08); box-shadow: 0 .65rem 1.5rem rgba(11,59,55,.36); } }
@media (max-width: 32rem) { .campaign-card__vote-mascot { width: calc(100% - 1rem); }.campaign-card__mascot-message { right: .15rem; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
    .campaign-card__mascot-character { transform: translateX(-50%) scale(1.05); }
    .campaign-card__mascot-arm, .campaign-card__mascot-message { opacity: 1; transform: none; }
    .campaign-card__vote-token { display: none; }
    .voice-unity__threads path, .voice-unity__hand, .voice-unity__palm-line { stroke-dashoffset: 0; opacity: 1; }
    .voice-unity__hand { fill-opacity: .78; }
    .voice-unity__node { opacity: .9; transform: none; }
    .voice-unity__heart, .voice-unity__label--together { opacity: 1; transform: none; }
    .voice-web__spokes path, .voice-web__ring { stroke-dashoffset: 0; opacity: .85; }
    .voice-web__dots circle, .voice-web__edge-dot { opacity: 1; transform: scale(1); }
    .voice-web__runner { display: none; }
    .voice-web__verified-popups { display: none; }
    .voice-web__message { opacity: 1; transform: translate(-50%,0); }
}
[dir="rtl"] .desktop-nav { margin-left: 0; margin-right: auto; }
[dir="rtl"] .mobile-menu { margin-left: 0; margin-right: auto; }
[dir="rtl"] .mobile-menu nav { right: auto; left: 0; }
[dir="rtl"] .campaign-card__footer, [dir="rtl"] .campaign-card__meta { direction: rtl; }
[dir="rtl"] .trust-float--top { right: auto; left: -1rem; }
[dir="rtl"] .trust-float--bottom { left: auto; right: -2rem; }

.auth-shell { min-height: 42rem; padding-block: 5rem; display: grid; place-items: start center; }
.form-card { width: min(100%, 34rem); padding: clamp(1.4rem, 4vw, 2.25rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow); }
.form-card--wide { width: 100%; }
.form-card h1, .dashboard-head h1 { margin: .5rem 0; font-family: Georgia, serif; font-size: clamp(2.25rem, 5vw, 3.5rem); font-weight: 500; }
.form-card label { display: block; margin-top: 1rem; font-weight: 750; }
.form-card input, .form-card textarea, .form-card select { width: 100%; min-height: 3rem; padding: .65rem .75rem; border: 1px solid #b8c9c2; border-radius: .65rem; background: #fff; }
.form-card textarea { min-height: 7rem; resize: vertical; }
.form-card .error-message { color: #9b2424; font-size: .82rem; }
.campaign-form-errors { margin-bottom: 1.25rem; padding: 1rem 1.1rem; border: 1px solid #c96c6c; border-radius: .75rem; color: #7d1f1f; background: #fff3f1; }
.campaign-form-errors:focus { outline: 3px solid rgba(155,36,36,.2); outline-offset: 2px; }
.campaign-form-errors ul { margin: .45rem 0 0; padding-left: 1.2rem; }
[data-campaign-form] [aria-invalid="true"] { border-color: #b72f2f; box-shadow: 0 0 0 3px rgba(183,47,47,.14); }
.form-card button { margin-top: 1.25rem; }
.form-card__foot { margin: 1.25rem 0 0; text-align: center; }
.form-card__assist { margin: .55rem 0 0; text-align: right; font-size: .86rem; }
.form-card__assist a, .password-toggle { color: #167d70; font-weight: 750; }
.form-card .legal-consent { margin-top: 1rem; display: flex; align-items: flex-start; gap: .7rem; }
.form-card .legal-consent input[type="checkbox"] { width: 1.15rem; height: 1.15rem; min-height: 0; margin: .18rem 0 0; padding: 0; flex: 0 0 1.15rem; accent-color: var(--brand); }
.form-card .legal-consent label { margin: 0; font-weight: 650; line-height: 1.45; }
.form-card .legal-consent a { color: #167d70; text-underline-offset: .15em; }
.form-card .input.checkbox { margin-top: 1rem; align-self: start; }
.form-card .input.checkbox > label { margin: 0; display: grid; grid-template-columns: 1.2rem minmax(0, 1fr); gap: .7rem; align-items: start; line-height: 1.45; cursor: pointer; }
.form-card .input.checkbox input[type="checkbox"], .form-card input.authoring-checkbox { width: 1.2rem; height: 1.2rem; min-height: 0; margin: .16rem 0 0; padding: 0; accent-color: var(--forest); }
.form-card .input.checkbox .help { margin: .4rem 0 0 1.9rem; display: block; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; }
.form-card datalist { display: none; }
.password-field { position: relative; }
.password-toggle { margin: .45rem 0 0 auto !important; padding: .25rem 0; display: block; border: 0; background: transparent; cursor: pointer; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; }
.form-grid > div:nth-child(3) { grid-column: 1 / -1; }
.form-card fieldset { margin-top: 2rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: .85rem; }
.media-choice-picker { margin: 1rem 0; }
.media-choice-picker > strong { display: block; margin-bottom: .65rem; }
.media-choice-picker label { min-height: 2.75rem; margin: 0 0 .5rem; padding: .65rem .8rem; display: flex; align-items: center; gap: .65rem; border: 1px solid var(--line); border-radius: .65rem; background: #fff; font-weight: 650; cursor: pointer; }
.media-choice-picker label:has(input:checked) { border-color: #167d70; background: var(--mint-soft); }
.media-choice-picker input[type="radio"] { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; min-height: 0; margin: 0; }
.optional-question { margin-top: 1rem; border: 1px solid var(--line); border-radius: .85rem; background: #fff; }
.optional-question summary { padding: 1rem 1.2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-weight: 800; cursor: pointer; }
.optional-question summary span { padding: .25rem .5rem; border-radius: 999px; color: var(--ink-soft); background: #eef3f0; font-size: .68rem; text-transform: uppercase; }
.optional-question__body { padding: .25rem 1.2rem 1.2rem; border-top: 1px solid var(--line); }
.add-option-button { margin-top: .25rem !important; }
.dashboard-shell { min-height: 40rem; padding-block: clamp(3rem, 7vw, 5rem); }
.dashboard-head { margin-bottom: 2rem; display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.dashboard-head p { margin: 0; color: var(--ink-soft); }
.dashboard-actions, .manage-card__actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.campaign-list { display: grid; gap: 1rem; }
.manage-card { padding: 1.4rem; display: flex; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.manage-card h2 { margin: .5rem 0 .2rem; font-family: Georgia, serif; font-weight: 500; }
.manage-card p { margin: 0 0 .5rem; color: var(--ink-soft); }
.campaign-admin-section { min-height: 0; padding-block: clamp(1.5rem, 3vw, 2.75rem); scroll-margin-top: 6rem; }.campaign-admin-header { padding-top: clamp(2rem, 4vw, 3.5rem); padding-bottom: 1rem; }.campaign-admin-section + .campaign-admin-section { border-top: 1px solid var(--line); }.compact-empty-state { padding: 1.1rem 1.25rem; display: flex; gap: .55rem; border: 1px dashed var(--line); border-radius: var(--radius); background: var(--paper); color: var(--ink-soft); }.compact-empty-state strong { color: var(--ink); }.admin-config-form { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }.admin-config-form .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: end; }.admin-config-form .form-grid > div:nth-child(3) { grid-column: auto; }.admin-config-form label { display: block; margin-bottom: .4rem; font-size: .78rem; font-weight: 800; }.admin-config-form input[type="number"], .admin-config-form input[type="email"] { width: 100%; min-height: 2.8rem; padding: .55rem .7rem; border: 1px solid #b8c9c2; border-radius: .65rem; background: #fff; }.admin-config-form .input.checkbox label { min-height: 2.8rem; margin: 0; display: flex; align-items: center; gap: .65rem; }.admin-config-form .input.checkbox input { width: 1.15rem; height: 1.15rem; accent-color: var(--brand); }.admin-config-form > .button { margin-top: 1rem; }.admin-campaign-card { align-items: stretch; }.admin-campaign-card__main { min-width: 0; flex: 1; }.admin-campaign-card__controls { width: min(100%, 19rem); display: grid; align-content: start; gap: .8rem; }.admin-action-form { padding: .85rem; display: grid; gap: .55rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--cream); }.admin-action-form label { font-size: .75rem; font-weight: 800; }.admin-action-form select, .admin-action-form input { width: 100%; min-height: 2.5rem; }.admin-analytics-summary { margin: .9rem 0; display: flex; flex-wrap: wrap; gap: .6rem; }.admin-analytics-summary span { padding: .55rem .7rem; border-radius: .65rem; background: var(--mint-soft); font-size: .74rem; }.admin-analytics-summary strong { display: block; font-size: 1rem; }.analytics-bars--compact { margin-top: .75rem; padding: .7rem; }.analytics-bars--compact div { grid-template-columns: 6.3rem 1fr 2rem; font-size: .7rem; }.admin-no-votes { display: block; margin-top: .8rem; color: var(--ink-soft); }
.campaign-detail { padding-bottom: 6rem; display: grid; grid-template-columns: 1fr 20rem; gap: 1.5rem; align-items: start; }
.authoritative-options { margin: 1.25rem 0 0; padding: 0; display: grid; gap: .65rem; list-style: none; counter-reset: option; }
.authoritative-options li { padding: .8rem 1rem; border: 1px solid var(--line); border-radius: .7rem; counter-increment: option; }
.authoritative-options li::before { content: counter(option, upper-alpha); width: 2rem; height: 2rem; margin-right: .7rem; display: inline-grid; place-items: center; border-radius: 50%; background: var(--mint-soft); font-weight: 800; }
.result-link { margin-top: .75rem; }
.result-policy-note { margin-top: 1rem !important; color: var(--ink-soft); font-size: .82rem; }
.results-page { padding-bottom: 6rem; }
.results-summary { display: grid; gap: 1.25rem; }
.results-total { padding: 1.25rem 1.5rem; display: flex; align-items: baseline; gap: .75rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.results-total strong { font-family: Georgia, serif; font-size: 2.5rem; font-weight: 500; }
.results-total span { color: var(--ink-soft); font-weight: 750; }
.result-question { padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.result-question__head, .result-option__label { display: flex; justify-content: space-between; gap: 1rem; }
.result-question__head { align-items: baseline; margin-bottom: 1.5rem; }
.result-question__head h2 { margin: 0; font-family: Georgia, serif; font-weight: 500; }
.result-question__head span, .result-option__label span { color: var(--ink-soft); font-size: .82rem; }
.result-options { display: grid; gap: 1.2rem; }
.result-option__label { margin-bottom: .45rem; }
.result-bar { height: .7rem; overflow: hidden; border-radius: 999px; background: #e5ece8; }
.result-bar span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #168d7e, #39b59a); }
.result-methodology { padding: 1.15rem 1.3rem; border-radius: .85rem; background: var(--mint-soft); }
.result-methodology p { margin: .35rem 0 0; color: #4e6964; font-size: .84rem; }
.results-empty { min-height: 16rem; }
.result-export { margin-top: 1rem; }
.invitation-layout { display: grid; grid-template-columns: minmax(15rem, 22rem) 1fr; gap: 1.25rem; align-items: start; }
.invitation-form { width: auto; margin: 0; }
.created-invitation { margin-bottom: 1.25rem; padding: 1.25rem; border: 1px solid #8bc8b8; border-radius: var(--radius); background: var(--mint-soft); }
.created-invitation input { width: 100%; margin-top: .7rem; padding: .75rem; border: 1px solid var(--line); border-radius: .6rem; background: #fff; }
.created-invitation p { margin: .5rem 0 0; color: var(--ink-soft); font-size: .82rem; }
@media (max-width: 52rem) { .invitation-layout { grid-template-columns: 1fr; } }
@media (max-width: 42rem) { .form-grid, .admin-config-form .form-grid { grid-template-columns: 1fr; }.form-grid > div:nth-child(3) { grid-column: auto; }.dashboard-head, .manage-card { align-items: stretch; flex-direction: column; }.compact-empty-state { flex-direction: column; } }
@media (max-width: 52rem) { .campaign-detail { grid-template-columns: 1fr; } }
.review-count { min-width: 6.5rem; padding: .75rem 1rem; display: grid; border: 1px solid var(--line); border-radius: .9rem; background: var(--paper); text-align: center; }
.review-count strong { font-family: Georgia, serif; font-size: 2rem; line-height: 1; }
.review-count span { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.page-hero--compact { min-height: 0; padding-bottom: 2.5rem; }
.back-link { display: inline-block; margin-bottom: 1.5rem; color: #167d70; font-weight: 750; text-decoration: none; }
.review-content { padding: clamp(1.25rem, 4vw, 2rem); }
.review-meta { margin: 0 0 2rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.review-meta div { padding: .9rem; border-radius: .75rem; background: #f5f7f4; }
.review-meta dt { color: var(--ink-soft); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.review-meta dd { margin: .2rem 0 0; font-weight: 700; overflow-wrap: anywhere; }
.review-meta dd small { display: block; color: var(--ink-soft); font-weight: 400; }
.review-question { padding-top: 1.5rem; border-top: 1px solid var(--line); }
.review-question h2, .audit-summary h2 { margin: .35rem 0 0; font-family: Georgia, serif; font-weight: 500; }
.moderation-run-button { margin-top: .9rem; }
.moderation-run-help { max-width: 38rem; margin-top: .55rem; display: block; color: var(--ink-soft); line-height: 1.45; }
.review-decision { display: grid; gap: 1rem; }
.review-decision .principle-card { position: static; }
.media-review img, .media-review iframe { width: 100%; max-height: 34rem; margin: 1rem 0; display: block; border: 1px solid var(--line); border-radius: .75rem; object-fit: contain; background: #071d1b; }
.media-review iframe { height: 30rem; }
.review-approve-form label { display: flex; align-items: center; gap: .6rem; color: #fff; font-size: .82rem; }
.review-approve-form input[type="checkbox"] { width: 1rem; min-height: 0; margin: 0; }
.review-approve-form .button { display: flex; width: 100%; color: var(--forest); border-color: var(--mint); background: var(--mint); }
.review-action-form { margin-top: .85rem; }
.review-action-form button { margin: 0; }
.review-change-form label { display: block; margin-bottom: .35rem; color: #fff; font-size: .78rem; font-weight: 800; }
.review-change-form textarea { width: 100%; min-height: 7rem; padding: .65rem; border: 1px solid #8fb0a9; border-radius: .65rem; resize: vertical; }
.review-change-form button { margin-top: .65rem; }
.audit-summary h2 { font-size: 1.25rem; }
.audit-summary p { margin: .8rem 0 0; padding-top: .8rem; display: grid; border-top: 1px solid var(--line); font-size: .8rem; }
.audit-summary span { color: var(--ink-soft); }
.audit-summary blockquote { margin: .45rem 0 0; padding: .65rem .75rem; border-left: 3px solid #167d70; background: #f2f7f4; font-size: .8rem; }
.discovery-placement-card { position: relative; overflow: hidden; border-color: #b9d7cc; background: linear-gradient(155deg, #fff 0%, #f1faf6 100%); }
.discovery-placement-card::before { position: absolute; content: ""; inset: 0 auto 0 0; width: .3rem; background: #168c6e; }
.discovery-placement-card__head { padding-bottom: 1rem; border-bottom: 1px solid #d6e7e0; }
.discovery-placement-card__head .eyebrow { font-size: .65rem; }
.discovery-placement-card__head h2 { margin: .35rem 0 0; font-family: Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.discovery-placement-card__head p { margin: .45rem 0 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }
.discovery-placement-form { margin-top: 1rem; display: grid; gap: .9rem; }
.discovery-placement-options { padding: .7rem; display: grid; gap: .55rem; border: 1px solid #cfe1da; border-radius: .75rem; background: rgba(255,255,255,.75); }
.discovery-placement-options .input.checkbox label { min-height: 2rem; margin: 0; display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); gap: .6rem; align-items: center; color: var(--ink); font-size: .82rem; font-weight: 750; cursor: pointer; }
.discovery-placement-options input[type="checkbox"] { width: 1.1rem; height: 1.1rem; min-height: 0; margin: 0; accent-color: #168c6e; }
.discovery-placement-form > .input > label { display: block; margin-bottom: .35rem; color: var(--ink); font-size: .76rem; font-weight: 800; }
.discovery-placement-form input[type="text"], .discovery-placement-form textarea { width: 100%; padding: .65rem .7rem; border: 1px solid #afc9bf; border-radius: .65rem; color: var(--ink); background: #fff; }
.discovery-placement-form input[type="text"] { min-height: 2.8rem; }
.discovery-placement-form textarea { min-height: 6rem; resize: vertical; }
.discovery-placement-form .button { margin-top: .1rem; }
.review-feedback { max-width: 44rem; margin-top: 1rem; padding: .85rem 1rem; border: 1px solid #e2ca91; border-radius: .75rem; background: #fff6df; }
.review-feedback strong { color: #6b5117; font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }
.review-feedback p { margin: .25rem 0 0; color: #57491f; }
.campaign-report { padding-bottom: 3rem; }.campaign-report details { max-width: 46rem; padding: 1rem 1.2rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--paper); }.campaign-report summary { cursor: pointer; font-weight: 800; }.campaign-report form { margin-top: 1rem; }.campaign-report label { display: block; margin: .7rem 0 .3rem; font-weight: 700; }.campaign-report select, .campaign-report textarea { width: 100%; padding: .7rem; border: 1px solid var(--line); border-radius: .6rem; }.campaign-report textarea { min-height: 7rem; resize: vertical; }.campaign-report button { margin-top: .8rem; }
.campaign-media { margin-bottom: 1.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #071d1b; }
.campaign-media img, .campaign-media iframe { width: 100%; height: clamp(18rem, 50vw, 42rem); display: block; border: 0; object-fit: contain; }
.campaign-summary { margin-bottom: 2rem; }.campaign-summary p { max-width: 58rem; margin: 0; color: var(--ink-soft); font-size: 1.08rem; }
@media (max-width: 42rem) { .review-meta { grid-template-columns: 1fr; } .review-count { align-self: flex-start; } }
.operations-dashboard { padding-bottom: 6rem; }
.operations-metrics { margin-bottom: 1.5rem; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.operations-metrics > * { padding: 1.2rem; display: grid; gap: .3rem; border: 1px solid var(--line); border-radius: var(--radius); color: inherit; background: var(--paper); text-decoration: none; }
.operations-metrics strong { font-family: Georgia, serif; font-size: 2.2rem; font-weight: 500; }
.operations-metrics span { color: var(--ink-soft); font-size: .76rem; font-weight: 800; text-transform: uppercase; }
.operations-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.operations-panel { width: auto; margin: 0; }
.operations-panel h2, .operations-section h2 { margin-top: 0; font-family: Georgia, serif; font-weight: 500; }
.operations-breakdown { margin: 0; display: grid; gap: .65rem; }
.operations-breakdown div { padding-bottom: .65rem; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); }
.operations-breakdown dt { color: var(--ink-soft); font-weight: 750; }
.operations-breakdown dd { margin: 0; font-weight: 900; }
.operations-note { margin-bottom: 0; color: var(--ink-soft); font-size: .78rem; }
.operations-section { margin-top: 2rem; }
.operations-audit { padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.operations-audit p { margin: 0; padding: .75rem 0; display: grid; gap: .2rem; border-bottom: 1px solid var(--line); }
.operations-audit p:last-child { border-bottom: 0; }
.operations-audit span { color: var(--ink-soft); font-size: .8rem; }
.template-admin-section, .admin-table-card, .admin-table-wrap { width: 100%; max-width: none; }
.admin-table-card, .message-config-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: 0 12px 35px rgba(16,42,39,.055); }
.admin-table-card__head, .message-config-card__head { padding: 1.35rem 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; border-bottom: 1px solid var(--line); }
.admin-table-card__head h2, .message-config-card__head h2 { margin-bottom: .2rem; font-size: 1.55rem; }
.admin-table-card__head p, .message-config-card__head p { margin: 0; color: var(--ink-soft); font-size: .86rem; }
.admin-table-card__count, .message-config-card__head > span { flex: 0 0 auto; padding: .4rem .7rem; border-radius: 999px; color: #146651; background: var(--mint-soft); font-size: .72rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.admin-table-wrap { overflow-x: auto; }
.admin-data-table { width: 100% !important; min-width: 780px; margin: 0; border-collapse: collapse; table-layout: fixed; }
.admin-data-table th { padding: .8rem 1.5rem; border-bottom: 1px solid var(--line); color: #6b7c78; background: #f5f8f5; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-data-table td { padding: 1.1rem 1.5rem; border-bottom: 1px solid #e8eeea; vertical-align: middle; }
.admin-data-table tbody tr:last-child td { border-bottom: 0; }
.admin-data-table tbody tr { transition: background .16s ease; }
.admin-data-table tbody tr:hover { background: #fbfdfb; }
.admin-data-table th:first-child, .admin-data-table td:first-child { width: 31%; }
.admin-data-table th:nth-child(2), .admin-data-table td:nth-child(2) { width: 32%; }
.admin-data-table th:nth-child(3), .admin-data-table td:nth-child(3) { width: 12%; }
.admin-data-table th:last-child, .admin-data-table td:last-child { width: 25%; text-align: right; }
.template-name-cell { display: flex; align-items: center; gap: .8rem; }
.template-name-cell__icon { flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: .7rem; color: var(--forest); background: var(--mint-soft); font-family: Georgia, serif; font-size: 1.1rem; font-weight: 700; }
.template-name-cell strong { display: block; line-height: 1.3; }
.template-name-cell code { display: block; margin-top: .25rem; padding: 0; color: #71817e; background: transparent; font-size: .68rem; white-space: normal; }
.template-subject span { display: block; max-width: 28rem; color: var(--ink-soft); font-size: .86rem; line-height: 1.45; }
.template-status { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .58rem; border: 1px solid transparent; border-radius: 999px; font-size: .7rem; font-weight: 850; }
.template-status i { width: .42rem; height: .42rem; border-radius: 50%; background: currentColor; }
.template-status--active { color: #146651; border-color: #bde7d6; background: #ebfaf4; }
.template-status--inactive { color: #687773; border-color: #d9e0dc; background: #f3f5f4; }
.template-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: .35rem; }
.template-row-actions form { margin: 0; }
.template-action { min-height: 2.25rem; margin: 0 !important; padding: .48rem .7rem; display: inline-flex; align-items: center; border: 1px solid #c8d5cf; border-radius: .55rem; color: var(--forest); background: #fff; font-size: .75rem; font-weight: 780; line-height: 1; text-decoration: none; cursor: pointer; white-space: nowrap; }
.template-action:hover { border-color: #8eaaa0; background: #f4f8f5; }
.template-action--muted { color: #7a4b32; border-color: #e5d1c3; }
.template-action--activate { color: #fff; border-color: var(--forest); background: var(--forest); }
.message-config-card { padding-bottom: 1.25rem; }
.message-config-card .audit-filters { margin: 1.25rem; }
.message-config-card .operations-audit { margin: 0 1.25rem; }
@media (max-width: 52rem) { .operations-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .operations-columns { grid-template-columns: 1fr; } }
@media (max-width: 42rem) { .admin-table-card__head, .message-config-card__head { align-items: flex-start; flex-direction: column; } .admin-data-table th, .admin-data-table td { padding-inline: 1rem; } }
@media (max-width: 32rem) { .operations-metrics { grid-template-columns: 1fr; } }
.account-governance { padding-bottom: 6rem; }
.account-search { margin-bottom: 1.5rem; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.account-search label { display: block; margin-bottom: .4rem; font-weight: 800; }
.account-search > div { display: flex; gap: .6rem; }
.account-search input { flex: 1; min-width: 0; padding: .7rem; border: 1px solid var(--line); border-radius: .6rem; }
.account-list { display: grid; gap: 1rem; }
.audit-filters { margin-bottom: 1.5rem; padding: 1rem; display: flex; align-items: end; gap: .75rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.audit-filters label { flex: 1; min-width: 12rem; font-weight: 800; }
.audit-filters input, .audit-filters select { width: 100%; margin-top: .4rem; padding: .7rem; border: 1px solid var(--line); border-radius: .6rem; background: #fff; }
.audit-list { display: grid; gap: 1rem; }
.audit-card { padding: 1.1rem 1.25rem; display: grid; grid-template-columns: minmax(14rem, .8fr) minmax(18rem, 1.2fr); gap: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.audit-card h2 { margin: .55rem 0 .2rem; font-size: 1.05rem; }
.audit-card p { margin: 0; color: var(--ink-soft); font-size: .85rem; }
.audit-card dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.25rem; }
.audit-card dt { color: var(--ink-soft); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.audit-card dd { margin: .2rem 0 0; }
.audit-pagination { margin-top: 1.5rem; display: flex; justify-content: center; flex-wrap: wrap; gap: .35rem; }
.audit-pagination a, .audit-pagination .current, .audit-pagination .disabled { padding: .45rem .7rem; border: 1px solid var(--line); border-radius: .45rem; background: var(--paper); }
.audit-pagination .current { color: #fff; background: var(--brand); border-color: var(--brand); }
.settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; align-items: start; }
.mfa-secret { display: block; margin: .75rem 0; padding: .8rem; overflow-wrap: anywhere; border-radius: .5rem; background: var(--canvas); font-size: 1rem; }
.analytics-section { padding-bottom: 3rem; }
.analytics-bars { padding: 1rem; display: grid; gap: .65rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.analytics-bars div { display: grid; grid-template-columns: 7rem 1fr 3rem; align-items: center; gap: .75rem; }
.analytics-bars i { height: .7rem; border-radius: 1rem; background: linear-gradient(90deg, var(--brand) var(--bar-size), var(--line) var(--bar-size)); }
.ballot-rank { padding: .7rem; display: grid; grid-template-columns: 1fr 5rem; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); }
.account-access-form { width: min(100%, 26rem); margin: 0; display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: .65rem; }
.account-access-form label { display: block; margin-bottom: .25rem; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.account-access-form select { width: 100%; padding: .6rem; border: 1px solid var(--line); border-radius: .55rem; background: #fff; }
.account-access-form button { white-space: nowrap; }
.account-actions { display: grid; justify-items: end; gap: .35rem; }
.account-revoke-button { margin: 0 !important; color: #8b302d; }
.account-card .manage-card__actions { display: grid; gap: .25rem; text-align: right; }
.account-card .manage-card__actions small { max-width: 18rem; color: var(--ink-soft); }
@media (max-width: 52rem) { .account-access-form { width: 100%; grid-template-columns: 1fr 1fr; } .account-access-form button { grid-column: 1 / -1; } }
@media (max-width: 48rem) { .audit-filters { align-items: stretch; flex-direction: column; } .audit-filters label { width: 100%; min-width: 0; } .audit-card { grid-template-columns: 1fr; } }
@media (max-width: 32rem) { .account-search > div, .account-access-form { display: grid; grid-template-columns: 1fr; } .account-access-form button { grid-column: auto; } .audit-card dl { grid-template-columns: 1fr; } }
.vote-shell { padding-top: 3rem; }
.vote-media { margin: 1rem 0 1.5rem; overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: #071d1b; }
.vote-media img, .vote-media iframe { width: 100%; height: clamp(13rem, 34vw, 23rem); display: block; border: 0; object-fit: contain; }
.vote-report { padding-bottom: 3rem; }
.vote-card { width: min(100%, 40rem); }
.vote-card h1 { font-size: clamp(2rem, 5vw, 3rem); }
.development-otp { margin: 1rem 0; padding: 1rem; display: grid; gap: .25rem; border: 1px solid #d4b96e; border-radius: .75rem; background: #fff6df; }
.development-otp code { color: var(--forest); font-size: 1.8rem; font-weight: 900; letter-spacing: .18em; }
.development-otp span { color: #66552e; font-size: .75rem; }
.restart-vote-form { text-align: center; }
.text-button { margin-top: .8rem !important; padding: .35rem; border: 0; color: #167d70; background: transparent; font-weight: 750; cursor: pointer; }
.ballot-fieldset { display: grid; gap: .7rem; }
.ballot-fieldset legend { padding: 0 .4rem; font-family: Georgia, serif; font-size: 1.25rem; }
.ballot-choice { margin: 0 !important; padding: .85rem 1rem; display: flex !important; align-items: center; gap: .8rem; border: 1px solid var(--line); border-radius: .75rem; cursor: pointer; }
.ballot-choice:has(input:checked) { border-color: #167d70; background: var(--mint-soft); }
.ballot-choice input { width: 1.2rem !important; min-height: auto !important; margin: 0; }
.vote-complete { padding-block: 2rem; text-align: center; }
.vote-complete > span { width: 4rem; height: 4rem; margin-inline: auto; display: grid; place-items: center; border-radius: 50%; color: var(--forest); background: var(--mint); font-size: 2rem; font-weight: 900; }
.vote-complete h2 { margin-bottom: .25rem; font-family: Georgia, serif; font-size: 2rem; }
.vote-privacy { margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .78rem; }
.campaign-public-meta { margin-block: 1.25rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .75rem; }
.campaign-public-meta > div { padding: .9rem; display: grid; gap: .25rem; border: 1px solid var(--line); border-radius: .7rem; background: var(--paper); }
.campaign-public-meta strong { color: var(--ink-soft); font-size: .72rem; text-transform: uppercase; letter-spacing: .04em; }
.campaign-share { margin-block: 1.5rem; padding: 1.25rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.campaign-share h2, .campaign-share p { margin: 0; }
.campaign-share p { margin-top: .3rem; color: var(--ink-soft); font-size: .85rem; }
.campaign-share__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.campaign-share__actions button { margin: 0; }
.campaign-qr { position: relative; }
.campaign-qr summary { list-style: none; cursor: pointer; }
.campaign-qr[open] { padding: .75rem; display: grid; justify-items: center; gap: .45rem; border: 1px solid var(--line); border-radius: .75rem; }
.campaign-qr img { max-width: 15rem; height: auto; background: #fff; }
.campaign-share__status { width: 100%; color: var(--brand); font-size: .8rem; }
.campaign-methodology { margin-block: 1.25rem; padding: 1rem 1.2rem; border-radius: .8rem; background: var(--mint-soft); }
.campaign-methodology p { margin: .35rem 0 0; color: var(--ink-soft); font-size: .85rem; }
.campaign-grid { align-items: start; }
@media (max-width: 48rem) { .campaign-share { align-items: stretch; flex-direction: column; } .campaign-share__actions { align-items: stretch; flex-direction: column; } }
