@font-face {
    font-family:Montserrat;
    src:url('../assets/fonts/Montserrat-Regular.woff2') format('woff2');
    font-weight:400;
    font-display:swap
}

@font-face {
    font-family:Montserrat;
    src:url('../assets/fonts/Montserrat-Medium.woff2') format('woff2');
    font-weight:500;
    font-display:swap
}

@font-face {
    font-family:Montserrat;
    src:url('../assets/fonts/Montserrat-SemiBold.woff2') format('woff2');
    font-weight:600;
    font-display:swap
}

@font-face {
    font-family:Montserrat;
    src:url('../assets/fonts/Montserrat-Bold.woff2') format('woff2');
    font-weight:700;
    font-display:swap
}

:root {
    --paper:#f8f7f4;
    --ink:#232226;
    --muted:#77747e;
    --purple:#7756b4;
    --lavender:#e9e0f6;
    --lime:#dbf89a;
    --line:#dedde0;
    --radius:28px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:100px
}

body {
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Montserrat,Arial,sans-serif;
    font-size:15px;
    line-height:1.65;
    -webkit-font-smoothing:antialiased
}

a {
    color:inherit;
    text-decoration:none
}

button,input {
    font:inherit
}

button,a,input,summary {
    -webkit-tap-highlight-color:transparent
}

button {
    cursor:pointer
}

a,button,input,summary {
    touch-action:manipulation
}

img {
    display:block;
    max-width:100%;
    height:auto
}

h1,h2,h3,p {
    margin:0
}

h1,h2,h3 {
    text-wrap:balance
}

button {
    color:inherit
}

::selection {
    background:#d4b9fa;
    color:#232226
}

:focus-visible {
    outline:3px solid #9871d8;
    outline-offset:5px
}

[hidden] {
    display:none!important
}

.container {
    width:min(1240px,calc(100% - 80px));
    margin-inline:auto
}

.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}

.skip-link {
    position:fixed;
    top:-100px;
    left:20px;
    z-index:100;
    padding:12px 20px;
    background:white;
    border-radius:12px
}

.skip-link:focus {
    top:12px
}

.muted {
    color:var(--muted)
}

.site-header {
    position:sticky;
    top:0;
    z-index:20;
    background:#f8f7f4ed;
    border-bottom:1px solid #e8e6e8;
    backdrop-filter:blur(18px)
}

.header-inner {
    height:87px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
}

.brand {
    display:flex;
    align-items:center;
    gap:17px;
    flex-shrink:0
}

.brand span {
    border-left:1px solid #ccc8ce;
    padding-left:17px;
    color:#6b6672;
    font-size:12px
}

.desktop-nav {
    display:flex;
    gap:27px;
    font-size:12px;
    font-weight:500
}

.desktop-nav a:hover,.text-link:hover {
    color:var(--purple)
}

.header-cta {
    font-size:12px;
    font-weight:600;
    border:1px solid #cecad3;
    border-radius:100px;
    padding:11px 19px;
    display:flex;
    gap:24px;
    align-items:center
}

.header-cta span {
    font-size:20px;
    line-height:1
}

.header-cta:hover {
    background:var(--lavender);
    border-color:var(--lavender)
}

.hero {
    display:grid;
    grid-template-columns:1.15fr 1fr;
    align-items:center;
    gap:24px;
    padding-block:66px 44px
}

.eyebrow {
    display:flex;
    align-items:center;
    gap:9px;
    font-size:10px;
    font-weight:600;
    letter-spacing:.11em;
    line-height:1.5
}

.status-dot {
    width:7px;
    height:7px;
    background:var(--purple);
    border-radius:50%;
    display:inline-block;
    flex-shrink:0;
    box-shadow:0 0 0 4px #7756b410
}

.hero h1 {
    font-size:clamp(40px,4.32vw,62px);
    font-weight:600;
    letter-spacing:-.063em;
    line-height:1.12;
    margin-top:28px
}

.hero h1 span {
    color:var(--purple)
}

.hero-description {
    max-width:540px;
    margin-top:25px;
    color:#66616e;
    line-height:1.85;
    font-size:15px
}

.hero-description strong {
    color:var(--ink);
    font-weight:600
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:17px 24px;
    margin-top:29px
}

.button {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    min-height:56px;
    border-radius:100px;
    padding:8px 9px 8px 23px;
    font-size:12px;
    font-weight:600;
    line-height:1.5;
    transition:transform .2s,background .2s;
    max-width:100%
}

.button:hover {
    transform:translateY(-3px)
}

.button-dark {
    background:var(--ink);
    color:#fff
}

.button-dark:hover {
    background:#443450
}

.button-arrow {
    display:grid;
    place-items:center;
    background:#ffffff1a;
    border-radius:50%;
    width:38px;
    height:38px;
    flex-shrink:0;
    font-size:23px;
    font-weight:400
}

.button-lime {
    color:#242629;
    background:var(--lime)
}

.button-lime:hover {
    background:#c9ed7e
}

.button-lime .button-arrow {
    background:#20291b14
}

.text-link {
    display:inline-flex;
    align-items:center;
    gap:14px;
    font-size:12px;
    font-weight:600
}

.text-link span {
    font-size:19px;
    font-weight:400
}

.hero-footnote {
    margin-top:19px;
    font-size:11px;
    color:#797480;
    display:flex;
    align-items:center;
    gap:8px
}

.tiny-check {
    color:#80629d;
    font-size:13px
}

.hero-visual {
    min-width:0;
    margin:0
}

.hero-art {
    position:relative;
    min-height:492px;
    display:grid;
    place-items:center;
    isolation:isolate;
    background:radial-gradient(ellipse at 50% 48%,#e5d6fa 0, #ede5f750 44%,transparent 68%)
}

.art-backdrop {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    overflow:clip;
    z-index:-1
}

.art-grid {
    position:absolute;
    inset:28px 12px 26px;
    background-image:radial-gradient(#bcaec7 1px,transparent 1px);
    background-size:22px 22px;
    opacity:.45;
    mask-image:radial-gradient(ellipse,#000,transparent 72%);
    z-index:-1
}

.art-orbit {
    position:absolute;
    border:1px solid #b5a2cb5e;
    border-radius:50%;
    z-index:-1
}

.orbit-one {
    width:94%;
    height:57%;
    transform:rotate(-32deg)
}

.orbit-two {
    width:84%;
    height:83%;
    transform:rotate(25deg)
}

.orbit-one:after {
    content:'';
    position:absolute;
    width:11px;
    height:11px;
    border-radius:50%;
    background:#b295da;
    left:4%;
    top:26%
}

.orbit-two:after {
    content:'';
    position:absolute;
    width:8px;
    height:8px;
    background:#9874c6;
    border-radius:50%;
    right:12%;
    top:12%
}

.commission-disc {
    position:relative;
    width:310px;
    height:310px;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    background:radial-gradient(circle at 31% 20%,#f6edff 0,#d9c6f4 40%,#b297d4 100%);
    box-shadow:inset 0 2px 4px #fff9,inset -5px -7px 9px #a485c799,9px 12px 0 #9274b2,11px 16px 0 #806096,16px 32px 40px #77539b35;
    transform:rotate(-9deg);
    border:1px solid #f7f1ff
}

.commission-disc:before {
    content:'';
    position:absolute;
    inset:13px;
    border:1px solid #f9f3ff9c;
    border-radius:50%
}

.disc-label {
    font-size:9px;
    letter-spacing:.13em;
    color:#685079;
    font-weight:600;
    margin-bottom:6px
}

.disc-value {
    color:#55366f;
    display:flex;
    align-items:baseline;
    gap:5px;
    line-height:1
}

.disc-value>span {
    font-size:18px;
    font-weight:500
}

.disc-value strong {
    font-size:106px;
    letter-spacing:-.09em;
    font-weight:600
}

.disc-value strong span {
    font-size:56px;
    letter-spacing:-.08em
}

.disc-caption {
    font-size:13px;
    color:#65477e;
    margin-top:14px
}

.disc-star {
    position:absolute;
    bottom:32px;
    font-size:25px;
    line-height:1;
    color:#80639f
}

.intro-note,.reward-note {
    position:absolute;
    display:flex;
    align-items:center;
    gap:12px;
    z-index:2;
    background:#fffefbef;
    box-shadow:0 12px 40px #51446012;
    border:1px solid #fff;
    border-radius:15px;
    backdrop-filter:blur(10px)
}

.intro-note {
    left:16px;
    top:35px;
    padding:14px 18px;
    transform:rotate(-5deg)
}

.intro-note span:not(.note-icon),.reward-note div>span {
    display:block;
    font-size:10px;
    color:#7b7481;
    margin-bottom:3px
}

.intro-note strong {
    font-size:11px;
    font-weight:500
}

.note-icon,.reward-icon {
    display:grid;
    place-items:center;
    width:37px;
    height:37px;
    background:#f0e8fa;
    color:#8a68b2;
    border-radius:50%;
    font-size:21px
}

.reward-note {
    bottom:46px;
    right:16px;
    padding:17px 23px;
    transform:rotate(4deg)
}

.reward-note strong {
    font-size:21px;
    letter-spacing:-.04em;
    font-weight:600
}

.reward-note small {
    font-size:11px;
    font-weight:400;
    letter-spacing:0;
    color:#746a7d
}

.reward-icon {
    background:#e8f4d7;
    color:#688c3c
}

.art-caption {
    margin-top:10px;
    padding:0 8px;
    text-align:center;
    font-size:11px;
    line-height:1.8;
    letter-spacing:.12em;
    color:#6f6578
}

.value-strip {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    padding:23px 28px;
    border-block:1px solid var(--line);
    font-size:13px;
    color:#77717e
}

.value-strip p span {
    color:#29232f;
    font-weight:600
}

.strip-arrow {
    color:#b1a4be;
    font-size:22px
}

.section {
    padding-block:94px
}

.section-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:35px
}

.section-heading .eyebrow {
    margin-bottom:20px;
    color:var(--purple)
}

h2 {
    font-size:clamp(29px,3vw,43px);
    font-weight:500;
    letter-spacing:-.05em;
    line-height:1.2
}

.section-intro {
    max-width:350px;
    color:#726c79;
    line-height:1.8;
    font-size:13px
}

.section-intro strong {
    color:#49414e;
    font-weight:600
}

.calculator {
    display:grid;
    grid-template-columns:1.07fr 1fr;
    overflow:hidden;
    background:#25232a;
    color:#fff;
    border-radius:var(--radius)
}

.calculator-controls {
    padding:38px 46px 40px
}

.calculator-kicker {
    font-size:9px;
    letter-spacing:.13em;
    color:#bcb4c8;
    margin-bottom:28px
}

.input-label {
    display:block;
    font-size:12px;
    color:#c9c2d0;
    margin-bottom:8px
}

.budget-field {
    display:flex;
    align-items:center;
    gap:18px;
    border-bottom:1px solid #625b6b;
    padding-bottom:12px
}

.budget-field input {
    background:transparent;
    border:0;
    border-radius:0;
    color:#f5f1fa;
    width:100%;
    min-width:0;
    font-size:42px;
    line-height:1.3;
    font-weight:500;
    letter-spacing:-.045em;
    padding:0
}

.budget-field input:focus-visible {
    outline-offset:1px
}

.budget-field>span {
    font-size:30px;
    color:#aaa0b7
}

.budget-range {
    display:block;
    width:100%;
    height:6px;
    appearance:none;
    -webkit-appearance:none;
    background:linear-gradient(to right,#cab0f3 0% 10.3448%,#514858 10.3448% 100%);
    border-radius:8px;
    margin:28px 0 10px;
    cursor:pointer
}

.budget-range::-webkit-slider-thumb {
    appearance:none;
    width:20px;
    height:20px;
    background:#e1cdfc;
    border:4px solid #fff;
    border-radius:50%;
    box-shadow:0 0 0 4px #c2a1ed15
}

.budget-range::-moz-range-thumb {
    width:12px;
    height:12px;
    background:#e1cdfc;
    border:4px solid #fff;
    border-radius:50%
}

.range-labels {
    display:flex;
    justify-content:space-between;
    font-size:10px;
    color:#a89cb7
}

.budget-presets {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:24px
}

.budget-presets button {
    border:1px solid #51485c;
    background:transparent;
    border-radius:9px;
    color:#dad1e4;
    padding:8px 11px;
    font-size:10px;
    min-height:38px
}

.budget-presets button[aria-pressed=true] {
    background:#e7d7fa;
    color:#443255;
    border-color:#e7d7fa
}

.budget-presets button span {
    display:block;
    font-size:8px;
    line-height:1.3
}

.input-error {
    font-size:11px;
    color:#ffd2ae;
    margin-top:8px
}

.calculator-result {
    padding:38px 40px;
    background:radial-gradient(ellipse at 100% 0,#63507755,transparent 75%),#302a39;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    position:relative;
    border-left:1px solid #ffffff0c
}

.result-badge {
    font-size:9px;
    letter-spacing:.08em;
    color:#dac4f5;
    border:1px solid #7a638f;
    border-radius:100px;
    padding:5px 10px;
    margin-bottom:25px
}

.result-label {
    font-size:12px;
    color:#d1c6dd
}

.payout {
    display:flex;
    align-items:baseline;
    gap:12px;
    margin-top:4px;
    white-space:nowrap
}

.payout>span {
    font-size:23px;
    color:#d9c0f7
}

.payout strong {
    font-size:clamp(40px,4.5vw,65px);
    font-weight:500;
    letter-spacing:-.065em;
    color:#e7d4ff;
    line-height:1.3
}

.result-context {
    font-size:10px;
    color:#b3a6c1;
    margin-top:10px
}

.calculator-result .button {
    margin-top:26px;
    width:100%;
    max-width:350px
}

.calculation-note {
    font-size:12px;
    line-height:1.8;
    color:#6f6578;
    max-width:950px;
    margin-top:16px
}

.noscript-note {
    margin-top:15px;
    font-size:12px;
    padding:15px;
    background:#e9e0f6;
    border-radius:10px
}

.process-section {
    padding-top:0
}

.steps {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    list-style:none;
    padding:0;
    margin:0;
    gap:26px
}

.steps li {
    border-top:1px solid #cac5ce;
    padding-top:22px
}

.step-number {
    font-size:11px;
    color:var(--purple);
    font-weight:600;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.steps li:not(:last-child) .step-number:after {
    content:'→';
    font-size:23px;
    color:#b8b0c0;
    font-weight:400;
    line-height:1
}

.steps h3 {
    font-size:18px;
    font-weight:500;
    letter-spacing:-.04em;
    margin-top:24px;
    min-height:48px;
    line-height:1.3
}

.steps p {
    font-size:12px;
    color:#736d7a;
    margin-top:12px;
    line-height:1.85;
    min-height:90px
}

.step-tag {
    font-size:9px;
    display:inline-block;
    border:1px solid #ded7e5;
    border-radius:6px;
    padding:5px 8px;
    margin-top:19px;
    color:#6f647d
}

.ready-note {
    display:flex;
    align-items:center;
    gap:18px;
    background:#eeebf2;
    border-radius:14px;
    padding:20px 25px;
    margin-top:32px
}

.ready-note p {
    font-size:12px;
    color:#706779;
    line-height:1.8
}

.ready-note strong {
    color:#49414f;
    font-weight:600
}

.ready-symbol {
    font-size:28px;
    color:#9e86b9;
    flex-shrink:0
}

.trust-section {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center
}

.trust-manifesto {
    position:relative;
    overflow:hidden;
    background:var(--lavender);
    border-radius:var(--radius);
    padding:37px 40px 32px
}

.trust-manifesto .eyebrow {
    font-size:8px;
    color:#755b8f;
    max-width:80%
}

.manifesto-star {
    position:absolute;
    font-size:80px;
    top:42px;
    right:35px;
    line-height:1;
    color:#af92cf;
    transform:rotate(10deg)
}

.trust-manifesto h2 {
    margin-top:42px;
    font-size:39px;
    position:relative;
    z-index:1
}

.trust-manifesto>p:not(.eyebrow) {
    margin-top:22px;
    font-size:13px;
    line-height:1.85;
    color:#675575;
    max-width:380px
}

.trust-manifesto strong {
    font-weight:600
}

.trust-manifesto .manifesto-bottom {
    border-top:1px solid #cbbadb;
    padding-top:20px;
    font-size:11px!important;
    margin-top:26px!important
}

.trust-principles article {
    display:flex;
    gap:24px;
    padding-block:26px;
    border-bottom:1px solid var(--line)
}

.trust-principles article:first-child {
    padding-top:0
}

.trust-principles article:last-child {
    border:0;
    padding-bottom:0
}

.trust-principles article>span {
    font-size:10px;
    color:#a195ac;
    padding-top:5px
}

.trust-principles h3 {
    font-size:18px;
    font-weight:500;
    letter-spacing:-.035em
}

.trust-principles p {
    font-size:12px;
    color:#736d7a;
    line-height:1.85;
    margin-top:12px;
    max-width:400px
}

.client-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}

.client-card {
    padding:28px 29px;
    background:#fff;
    border:1px solid #e9e6eb;
    border-radius:20px;
    display:flex;
    flex-direction:column;
    align-items:flex-start
}

.card-icon {
    font-size:30px;
    color:#9377af;
    line-height:1
}

.client-card h3 {
    font-size:20px;
    line-height:1.35;
    font-weight:500;
    letter-spacing:-.04em;
    margin-top:27px;
    max-width:250px
}

.client-card p {
    font-size:12px;
    color:#77707e;
    line-height:1.85;
    margin-block:14px 25px
}

.client-card a {
    font-size:10px;
    font-weight:600;
    color:#766184;
    margin-top:auto;
    display:flex;
    align-items:center;
    gap:18px
}

.client-card a span {
    font-size:18px
}

.client-card a:hover {
    text-decoration:underline
}

.audience-note {
    font-size:12px;
    color:#766f7f;
    text-align:center;
    max-width:850px;
    margin:27px auto 0
}

.audience-note strong {
    font-weight:500;
    color:#4b4256
}

.beginner-section {
    background:#f0ede5;
    padding-block:73px;
    border-block:1px solid #e5e0d6
}

.beginner-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center
}

.beginner-copy h2 {
    font-size:48px;
    margin-top:25px
}

.beginner-copy h2 span {
    color:#8d7f67
}

.beginner-copy>p:not(.eyebrow) {
    font-size:14px;
    color:#796f60;
    line-height:1.9;
    max-width:385px;
    margin-top:22px
}

.beginner-copy .button {
    margin-top:27px
}

.beginner-caption {
    display:block;
    font-size:12px;
    color:#70624f;
    margin-top:15px
}

.starter-guide {
    background:#fdfbf6;
    border:1px solid #e7e0d3;
    border-radius:23px;
    padding:29px 32px
}

.guide-label {
    color:#70624f;
    font-size:11px;
    letter-spacing:.13em;
    margin-bottom:28px
}

.starter-guide article {
    display:flex;
    align-items:flex-start;
    gap:16px;
    margin-top:24px
}

.starter-guide article>span {
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border:1px solid #ded5c3;
    border-radius:50%;
    font-size:10px;
    flex-shrink:0;
    color:#9b885f
}

.starter-guide h3 {
    font-size:15px;
    letter-spacing:-.025em;
    font-weight:500
}

.starter-guide article p {
    font-size:11px;
    color:#7d7466;
    margin-top:8px;
    line-height:1.85
}

.guide-message {
    border-top:1px solid #e5dfd2;
    margin-top:27px;
    padding-top:19px;
    font-size:10px;
    color:#8c7754;
    display:flex;
    align-items:center;
    gap:13px
}

.guide-message span {
    font-size:22px;
    line-height:1
}

.projects-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px
}

.project-image {
    position:relative;
    border-radius:20px;
    overflow:hidden;
    aspect-ratio:7/5;
    background:#efedf6
}

.project-image img {
    width:100%;
    height:100%;
    object-fit:contain;
    transition:transform .4s
}

.project-image-visa {
    background:#d2e0f2
}

.project-image-visa img {
    object-fit:cover
}

.project-image-frost,.project-image-bakaev {
    background:#0b0b0d
}

.project-card:hover img {
    transform:scale(1.045)
}

.project-arrow {
    position:absolute;
    right:13px;
    bottom:13px;
    display:grid;
    place-items:center;
    background:#fffefa;
    width:35px;
    height:35px;
    border-radius:50%;
    font-size:20px;
    box-shadow:0 3px 15px #0001
}

.project-caption {
    padding:17px 2px
}

.project-caption h3 {
    font-size:17px;
    font-weight:500;
    letter-spacing:-.035em
}

.project-caption>span {
    display:block;
    color:#6f6578;
    font-size:12px;
    margin-top:6px
}

.faq-section {
    padding-top:0;
    display:grid;
    grid-template-columns:.8fr 1.4fr;
    gap:100px
}

.faq-section .eyebrow {
    color:var(--purple);
    margin-bottom:22px
}

.faq-intro {
    font-size:12px;
    color:#7d7385;
    max-width:290px;
    margin-top:25px;
    line-height:1.9
}

.faq-section .text-link {
    margin-top:22px
}

.faq-list details {
    border-bottom:1px solid #dcd6e1
}

.faq-list details:first-child {
    border-top:1px solid #dcd6e1
}

.faq-list summary {
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding-block:21px;
    font-size:13px;
    font-weight:500;
    line-height:1.6;
    cursor:pointer
}

.faq-list summary::-webkit-details-marker {
    display:none
}

.faq-list summary>span {
    font-size:23px;
    font-weight:400;
    color:#9b83b6;
    flex-shrink:0;
    line-height:1
}

.faq-list details[open] summary>span {
    transform:rotate(45deg)
}

.faq-list details p {
    font-size:12px;
    color:#756d7d;
    line-height:1.85;
    padding:0 30px 22px 0
}

.join-card {
    position:relative;
    overflow:hidden;
    background:radial-gradient(ellipse at 98% 90%,#5b426aaa,transparent 50%),#28242d;
    color:#fff;
    padding:38px 55px 30px;
    border-radius:var(--radius)
}

.join-top {
    display:flex;
    justify-content:space-between;
    align-items:center
}

.join-top .eyebrow {
    color:#d2bcdf
}

.join-top .status-dot {
    background:var(--lime);
    box-shadow:0 0 0 4px #d4efa310
}

.join-star {
    color:#baa0d4;
    font-size:55px;
    line-height:1
}

.join-card h2 {
    font-size:clamp(36px,4.3vw,60px);
    margin-top:15px;
    letter-spacing:-.06em
}

.join-card h2 span {
    color:#d1b3ef
}

.join-card>p {
    color:#c7bbd1;
    font-size:13px;
    line-height:1.9;
    margin-top:22px
}

.join-actions {
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-top:29px
}

.button-outline {
    border:1px solid #6b5b7b;
    background:transparent;
    color:#efdfef;
    padding-right:23px
}

.button-outline:hover {
    background:#5b496a
}

.join-bottom {
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid #ffffff1f;
    margin-top:34px;
    padding-top:19px;
    color:#b8a9c5;
    font-size:10px
}

.join-bottom a {
    color:#ddcbe8
}

.join-bottom a:hover {
    text-decoration:underline
}

.site-footer {
    padding-block:47px 26px
}

.footer-main {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px
}

.footer-main>p {
    font-size:11px;
    color:#7f7587
}

.share-button {
    font-size:11px;
    font-weight:500;
    background:none;
    border:0;
    padding:10px 0;
    display:flex;
    align-items:center;
    gap:18px
}

.share-button:hover {
    color:var(--purple)
}

.share-button span {
    font-size:20px
}

.footer-bottom {
    display:flex;
    flex-wrap:wrap;
    gap:26px;
    border-top:1px solid var(--line);
    margin-top:28px;
    padding-top:22px;
    font-size:11px;
    color:#6f6578
}

.footer-bottom a:last-child {
    margin-left:auto
}

.footer-bottom a:hover {
    color:var(--purple)
}

.share-status {
    font-size:11px;
    color:var(--purple);
    text-align:right;
    min-height:0
}

.share-fallback {
    margin-top:12px;
    font-size:12px
}

.share-fallback input {
    width:100%;
    max-width:310px;
    padding:8px;
    border:1px solid #cdbada;
    border-radius:7px;
    background:white;
    margin-left:10px
}

@media(min-width:1500px) {
    .hero {
        padding-block:84px 60px
    }

    .hero-art {
        min-height:515px
    }

}

@media(max-width:1100px) {
    .container {
        width:calc(100% - 48px)
    }

    .header-inner {
        gap:15px
    }

    .desktop-nav {
        gap:18px;
        font-size:10px
    }

    .hero {
        gap:10px
    }

    .hero h1 {
        font-size:45px
    }

    .hero-description {
        font-size:13px
    }

    .hero-art {
        min-height:440px
    }

    .commission-disc {
        width:270px;
        height:270px
    }

    .disc-value strong {
        font-size:96px
    }

    .disc-label {
        font-size:8px
    }

    .disc-star {
        bottom:23px
    }

    .intro-note {
        top:28px;
        left:14px;
        padding:10px 13px
    }

    .intro-note strong {
        font-size:10px
    }

    .reward-note {
        padding:13px 15px;
        bottom:40px
    }

    .reward-note strong {
        font-size:19px
    }

    .section-heading {
        gap:32px
    }

    .section-intro {
        max-width:310px
    }

    .calculator-controls {
        padding:33px
    }

    .calculator-result {
        padding:33px
    }

    .trust-section {
        gap:35px
    }

    .trust-manifesto {
        padding:32px
    }

    .trust-manifesto h2 {
        font-size:36px
    }

    .manifesto-star {
        font-size:62px;
        right:26px;
        top:55px
    }

    .beginner-grid {
        gap:45px
    }

    .faq-section {
        gap:65px
    }

    .steps {
        gap:20px
    }

    .steps h3 {
        font-size:16px
    }

    .steps p {
        min-height:115px
    }

    .step-tag {
        font-size:8px
    }

    .client-card {
        padding:24px
    }

}

@media(max-width:820px) {
    .desktop-nav {
        display:none
    }

    .hero {
        padding-top:43px;
        grid-template-columns:1fr;
        align-items:start;
        gap:20px
    }

    .hero-visual {
        width:100%;
        max-width:480px;
        justify-self:center
    }

    .hero h1 {
        font-size:clamp(40px,6.5vw,50px)
    }

    .hero-art {
        min-height:420px;
        margin-top:0
    }

    .commission-disc {
        width:280px;
        height:280px
    }

    .disc-value strong {
        font-size:96px
    }

    .disc-value strong span {
        font-size:43px
    }

    .disc-value>span {
        font-size:14px
    }

    .disc-label {
        font-size:7px
    }

    .disc-caption {
        font-size:11px;
        margin-top:10px
    }

    .disc-star {
        font-size:20px;
        bottom:20px
    }

    .intro-note {
        top:16px;
        gap:8px;
        padding:10px
    }

    .note-icon,.reward-icon {
        width:28px;
        height:28px;
        font-size:18px
    }

    .intro-note strong {
        font-size:9px
    }

    .intro-note span:not(.note-icon),.reward-note div>span {
        font-size:8px
    }

    .reward-note strong {
        font-size:17px
    }

    .reward-note {
        bottom:23px
    }

    .art-caption {
        font-size:10px
    }

    .value-strip {
        font-size:10px;
        gap:16px
    }

    .section {
        padding-block:70px
    }

    .section-heading {
        align-items:flex-start
    }

    .section-intro {
        max-width:245px;
        font-size:12px
    }

    h2 {
        font-size:31px
    }

    .calculator-controls,.calculator-result {
        padding:27px
    }

    .budget-field input {
        font-size:34px
    }

    .payout {
        gap:8px
    }

    .payout strong {
        font-size:42px
    }

    .payout>span {
        font-size:18px
    }

    .result-context {
        font-size:9px
    }

    .budget-presets {
        gap:6px
    }

    .budget-presets button {
        padding:7px 8px;
        font-size:9px
    }

    .result-badge {
        font-size:8px
    }

    .calculator-result .button {
        font-size:10px;
        gap:12px;
        padding-left:17px
    }

    .steps {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px
    }

    .steps h3 {
        min-height:0;
        margin-top:16px;
        font-size:18px
    }

    .steps p {
        min-height:0
    }

    .steps li:nth-child(2) .step-number:after {
        content:none
    }

    .process-section {
        padding-top:0
    }

    .trust-section {
        gap:26px
    }

    .trust-manifesto {
        padding:27px
    }

    .trust-manifesto h2 {
        font-size:32px;
        margin-top:36px
    }

    .trust-manifesto>p:not(.eyebrow) {
        font-size:12px
    }

    .manifesto-star {
        font-size:45px;
        top:63px;
        right:23px
    }

    .trust-principles article {
        gap:15px;
        padding-block:22px
    }

    .trust-principles h3 {
        font-size:16px
    }

    .trust-principles p {
        font-size:11px
    }

    .client-grid {
        gap:12px
    }

    .client-card {
        padding:21px
    }

    .client-card h3 {
        font-size:17px;
        margin-top:22px
    }

    .client-card p {
        font-size:13px
    }

    .client-card a {
        font-size:9px;
        gap:8px
    }

    .beginner-section {
        padding-block:55px
    }

    .beginner-grid {
        gap:30px
    }

    .beginner-copy h2 {
        font-size:39px
    }

    .beginner-copy .button {
        font-size:10px;
        gap:8px;
        padding-left:18px
    }

    .starter-guide {
        padding:26px
    }

    .starter-guide h3 {
        font-size:13px
    }

    .starter-guide article {
        gap:12px
    }

    .projects-grid {
        gap:14px
    }

    .project-caption>span {
        font-size:12px
    }

    .faq-section {
        padding-top:0;
        gap:35px;
        grid-template-columns:.85fr 1.3fr
    }

    .faq-list summary {
        font-size:12px
    }

    .join-card {
        padding:32px 37px 25px
    }

    .footer-main>p {
        max-width:230px
    }

}

@media(max-width:600px) {
    html {
        scroll-padding-top:88px
    }

    .container {
        width:calc(100% - 36px)
    }

    .header-inner {
        height:72px;
        gap:12px
    }

    .brand {
        gap:9px
    }

    .brand img {
        width:80px
    }

    .brand span {
        padding-left:9px;
        font-size:9px
    }

    .header-cta {
        font-size:10px;
        padding:8px 12px;
        gap:10px
    }

    .header-cta span {
        font-size:17px
    }

    .hero {
        grid-template-columns:1fr;
        padding-block:37px 30px;
        gap:13px
    }

    .eyebrow {
        font-size:8px;
        letter-spacing:.09em
    }

    .hero h1 {
        font-size:clamp(36px,9.8vw,54px);
        margin-top:25px;
        line-height:1.12;
        letter-spacing:-.065em
    }

    .hero-description {
        font-size:13px;
        line-height:1.9;
        margin-top:21px;
        max-width:440px
    }

    .hero-actions {
        gap:18px;
        margin-top:24px
    }

    .hero-actions .button {
        min-height:53px;
        font-size:11px;
        gap:18px
    }

    .hero-footnote {
        font-size:9px;
        margin-top:16px
    }

    .text-link {
        font-size:10px;
        gap:10px
    }

    .hero-visual {
        width:100%;
        max-width:450px;
        justify-self:center
    }

    .hero-art {
        min-height:360px;
        margin-top:9px;
        width:100%
    }

    .commission-disc {
        width:249px;
        height:249px;
        transform:rotate(-9deg)
    }

    .disc-label {
        font-size:8px
    }

    .disc-value strong {
        font-size:88px
    }

    .disc-value strong span {
        font-size:45px
    }

    .disc-caption {
        font-size:11px
    }

    .disc-star {
        bottom:25px
    }

    .intro-note {
        left:10px;
        top:12px;
        padding:12px
    }

    .intro-note strong {
        font-size:10px
    }

    .reward-note {
        right:10px;
        bottom:8px;
        padding:13px 18px
    }

    .reward-note strong {
        font-size:20px
    }

    .intro-note span:not(.note-icon),.reward-note div>span {
        font-size:9px
    }

    .art-caption {
        font-size:10px;
        letter-spacing:.1em
    }

    .orbit-one {
        height:62%;
        width:97%
    }

    .orbit-two {
        height:90%;
        width:85%
    }

    .value-strip {
        padding:18px 5px;
        gap:12px;
        justify-content:space-between;
        font-size:9px;
        line-height:1.5
    }

    .value-strip p {
        max-width:87px
    }

    .value-strip p span {
        display:block
    }

    .strip-arrow {
        font-size:16px
    }

    .section {
        padding-block:55px
    }

    .section-heading {
        display:block;
        margin-bottom:27px
    }

    .section-heading .eyebrow {
        margin-bottom:17px
    }

    h2 {
        font-size:30px;
        line-height:1.23
    }

    .section-intro {
        max-width:100%;
        margin-top:19px;
        font-size:12px
    }

    .section-heading>.text-link {
        margin-top:17px
    }

    .calculator {
        grid-template-columns:1fr;
        border-radius:22px
    }

    .calculator-controls {
        padding:27px 25px
    }

    .calculator-kicker {
        font-size:8px;
        margin-bottom:21px
    }

    .budget-field input {
        font-size:38px
    }

    .budget-field>span {
        font-size:28px
    }

    .budget-presets {
        flex-wrap:nowrap;
        gap:7px;
        justify-content:space-between
    }

    .budget-presets button {
        padding:8px 10px;
        font-size:10px;
        min-height:42px
    }

    .budget-presets button span {
        font-size:7px
    }

    .calculator-result {
        padding:28px 25px 29px;
        border-left:0;
        border-top:1px solid #ffffff12
    }

    .result-badge {
        margin-bottom:19px;
        font-size:8px
    }

    .result-label {
        font-size:11px
    }

    .payout {
        gap:10px
    }

    .payout strong {
        font-size:55px
    }

    .payout>span {
        font-size:23px
    }

    .result-context {
        font-size:9px
    }

    .calculator-result .button {
        margin-top:22px;
        max-width:none;
        font-size:11px
    }

    .calculation-note {
        font-size:12px;
        line-height:1.85
    }

    .process-section {
        padding-top:0
    }

    .steps {
        gap:26px 19px
    }

    .steps li {
        padding-top:17px
    }

    .steps h3 {
        font-size:16px;
        margin-top:16px;
        min-height:42px
    }

    .steps p {
        font-size:13px;
        margin-top:9px;
        line-height:1.8
    }

    .step-tag {
        font-size:8px;
        line-height:1.5;
        max-width:100%;
        padding:5px 7px;
        margin-top:12px
    }

    .ready-note {
        padding:18px 20px;
        align-items:flex-start;
        gap:13px;
        margin-top:26px
    }

    .ready-note p {
        font-size:11px
    }

    .ready-symbol {
        font-size:25px
    }

    .trust-section {
        grid-template-columns:1fr;
        gap:30px
    }

    .trust-manifesto {
        padding:28px
    }

    .trust-manifesto h2 {
        font-size:36px;
        margin-top:31px
    }

    .manifesto-star {
        font-size:67px;
        top:65px;
        right:28px
    }

    .trust-manifesto>p:not(.eyebrow) {
        max-width:100%;
        font-size:12px
    }

    .trust-manifesto .eyebrow {
        font-size:7px
    }

    .trust-principles {
        padding-inline:9px
    }

    .trust-principles article {
        gap:21px;
        padding-block:20px
    }

    .trust-principles h3 {
        font-size:16px
    }

    .trust-principles p {
        font-size:13px;
        margin-top:8px
    }

    .client-grid {
        grid-template-columns:1fr;
        gap:12px
    }

    .client-card {
        padding:25px
    }

    .card-icon {
        font-size:25px
    }

    .client-card h3 {
        font-size:20px;
        max-width:none;
        margin-top:18px
    }

    .client-card p {
        font-size:13px;
        margin-block:12px 18px
    }

    .client-card a {
        font-size:10px;
        gap:15px
    }

    .audience-note {
        text-align:left;
        font-size:11px;
        margin-top:22px;
        line-height:1.85
    }

    .beginner-section {
        padding-block:44px
    }

    .beginner-grid {
        grid-template-columns:1fr;
        gap:29px
    }

    .beginner-copy h2 {
        font-size:39px;
        margin-top:21px
    }

    .beginner-copy>p:not(.eyebrow) {
        font-size:13px;
        margin-top:18px
    }

    .beginner-copy .button {
        font-size:11px;
        gap:21px
    }

    .beginner-caption {
        font-size:12px
    }

    .starter-guide {
        padding:25px
    }

    .starter-guide h3 {
        font-size:14px
    }

    .starter-guide article p {
        font-size:13px
    }

    .guide-message {
        font-size:10px;
        gap:11px
    }

    .projects-grid {
        grid-template-columns:1fr;
        gap:18px
    }

    .project-image {
        aspect-ratio:7/5
    }

    .project-caption {
        padding-block:13px
    }

    .project-caption h3 {
        font-size:18px
    }

    .project-caption>span {
        font-size:12px;
        margin-top:4px
    }

    .faq-section {
        padding-top:0;
        grid-template-columns:1fr;
        gap:27px
    }

    .faq-section .eyebrow {
        margin-bottom:18px
    }

    .faq-section h2 br {
        display:none
    }

    .faq-intro {
        max-width:none;
        margin-top:16px
    }

    .faq-section .text-link {
        margin-top:16px
    }

    .faq-list summary {
        font-size:14px;
        padding-block:19px;
        gap:17px
    }

    .faq-list details p {
        font-size:13px;
        padding-right:20px
    }

    .join-card {
        padding:27px 25px 23px;
        border-radius:23px
    }

    .join-star {
        font-size:39px
    }

    .join-top .eyebrow {
        font-size:7px
    }

    .join-card h2 {
        font-size:35px;
        margin-top:22px;
        line-height:1.18
    }

    .join-card>p {
        font-size:12px;
        margin-top:20px
    }

    .join-card>p br {
        display:none
    }

    .join-actions {
        display:grid;
        gap:12px;
        margin-top:25px
    }

    .join-actions .button {
        font-size:11px
    }

    .join-bottom {
        display:block;
        margin-top:25px;
        padding-top:17px;
        font-size:9px
    }

    .join-bottom a {
        display:block;
        margin-top:12px
    }

    .site-footer {
        padding-block:31px 22px
    }

    .footer-main {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:18px 10px;
        align-items:center
    }

    .footer-main>p {
        grid-row:2;
        grid-column:1/-1;
        max-width:none;
        font-size:10px
    }

    .footer-main>a img {
        width:80px
    }

    .share-button {
        font-size:9px;
        gap:8px;
        justify-content:flex-end;
        white-space:nowrap
    }

    .share-button span {
        font-size:18px
    }

    .footer-bottom {
        flex-wrap:wrap;
        gap:15px;
        font-size:11px;
        margin-top:22px;
        padding-top:19px
    }

    .footer-bottom a:last-child {
        margin-left:0
    }

    .share-status {
        text-align:left;
        margin-top:9px
    }

    .share-fallback input {
        margin:8px 0 0;
        max-width:100%
    }

}

@media(max-width:360px) {
    .container {
        width:calc(100% - 28px)
    }

    .brand span {
        display:none
    }

    .hero h1 {
        font-size:34px
    }

    .hero-actions .button {
        font-size:10px;
        padding-left:17px;
        gap:15px
    }

    .hero-art {
        min-height:340px
    }

    .commission-disc {
        width:230px;
        height:230px
    }

    .reward-note strong {
        font-size:18px
    }

    .budget-presets button {
        padding:7px 8px;
        font-size:9px
    }

    .calculator-controls,.calculator-result {
        padding-inline:21px
    }

    .payout strong {
        font-size:48px
    }

    .payout>span {
        font-size:19px
    }

    .steps h3 {
        font-size:15px
    }

    .manifesto-star {
        font-size:51px;
        right:22px
    }

    .trust-manifesto {
        padding:24px
    }

    .trust-manifesto h2 {
        font-size:31px
    }

    .join-card h2 {
        font-size:30px
    }

    .share-button {
        font-size:8px
    }

}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }

    *,*::before,*::after {
        animation:none!important;
        transition:none!important
    }

}
