:root{--ink:#faf4e5;--paper:#070707;--gold:#ebcd83;--muted:#c8c3b8;--border:rgba(233,200,124,.32)}
html{background:#070707}body{background:radial-gradient(ellipse at 80% 10%,#b88f3120,transparent 45%),linear-gradient(140deg,#050505,#191714 55%,#060606);color:var(--ink)}
.hero,.message-hero,.about,.message-layout,.join-section,.message-join,.payment-shell,.legal-page{background:linear-gradient(135deg,#060606a8,#151411b0)!important}
.hero,.message-hero{background:radial-gradient(ellipse at 76% 45%,#d9b96818,transparent 48%),linear-gradient(135deg,#050505c4,#141311b8)!important}
.site-header,.site-footer,.hero-bottom,.legal-links{background:#050505a8!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:#d9bd7338!important}
#join .cohort-result,.join-card,.payment-card,.payment-summary,.completion-card,.method{background:linear-gradient(135deg,#25231eb8,#080808b8)!important;border-color:#d6b66a88!important;box-shadow:inset 0 1px 0 #fff1,0 24px 60px #0006!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.message-teaser{background:linear-gradient(110deg,#d5b15d20,#0b0b0baa)!important;border:1px solid #d5b15d80!important;box-shadow:inset 0 1px 0 #ffe9ad18,0 12px 32px #0004}
select,#join select,.payment-card select{background:#11110fe8!important;color:#faf3df!important;border-color:#d9bd7399!important}
.goen-open{background:#c7a45518!important;color:#f5d98e!important;border-color:#e6c56b80!important}
.goen-fee,.topics,.topic,.section-label{border-color:#e4c77e50!important}
.hero-note,.hero-bottom,.topic p,.goen-help,.goen-flow,.goen-fee small,.message-body p,.payment-note,.site-footer small{color:#d8d3c6!important}
#community-photo{background:transparent!important;box-shadow:0 0 0 1px #f4d98b99,0 0 55px #e3ba462a,0 20px 65px #0007!important}
#community-photo img{opacity:1!important}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.55;background-image:radial-gradient(ellipse 1px 2px at 12% 18%,#f8df97 98%,transparent),radial-gradient(circle 1px at 68% 48%,#d7ad49 98%,transparent),radial-gradient(ellipse 2px 1px at 84% 72%,#ffe8a4 98%,transparent),radial-gradient(circle 1px at 36% 88%,#c69e47 98%,transparent),radial-gradient(circle 2px at 48% 28%,#eed080 40%,transparent 70%);background-size:193px 241px,287px 317px,373px 293px,211px 389px,457px 431px}
@media(max-width:640px){body::after{opacity:.38}}
.payment-shell,.completion .payment-shell{background:transparent!important}
body,body.completion{background:radial-gradient(ellipse at 85% 20%,rgba(192,153,65,.12),transparent 55%),linear-gradient(140deg,#050505,#171512 55%,#060606)!important}
.payment-card,.payment-summary,.completion .payment-card{background:linear-gradient(135deg,rgba(36,34,29,.78),rgba(7,7,7,.82))!important}
.payment-card .method,.payment-card .method:has(input:checked){background:rgba(218,184,93,.08)!important;border-color:rgba(231,201,123,.55)!important}
.payment-card .method:has(input:checked){box-shadow:0 0 20px #dfbb4820!important}
#participation-code{background:rgba(224,190,102,.10)!important;border-color:#e0c174!important}
.payment-card p,.payment-summary p,.payment-note{color:#e1dcd0!important}
/* Application page: neutral black translucent surfaces throughout. */
body:has(#payment-form){background:linear-gradient(135deg,#030303,#151515 55%,#050505)!important}
body:has(#payment-form) .site-header,body:has(#payment-form) .site-footer,body:has(#payment-form) .legal-links{background:rgba(0,0,0,.65)!important}
body:has(#payment-form) .payment-shell,body:has(#payment-form) .payment-intro,body:has(#payment-form) .payment-grid{background:transparent!important}
body:has(#payment-form) .payment-card,body:has(#payment-form) .payment-summary{background:rgba(0,0,0,.58)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 #ffffff0c,0 20px 60px #0005!important}
body:has(#payment-form) .method,body:has(#payment-form) .method:has(input:checked){background:rgba(0,0,0,.38)!important}
body:has(#payment-form) select{background:rgba(0,0,0,.55)!important}

/* Blend section boundaries and the footer into the page background. */
body:has(.hero) .hero,body:has(.hero) .about,body:has(.hero) .join-section{background:transparent!important}
body:has(.hero) .hero-bottom{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important}
body:has(.hero) .site-footer,body:has(.hero) .legal-links{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}


/* Clear single gold section boundaries, without an extra dark band. */
body:has(.hero) .hero{border-bottom:1px solid rgba(230,199,119,.38)!important}
body:has(.hero) #join{border-top:1px solid rgba(230,199,119,.38)!important;border-bottom:1px solid rgba(230,199,119,.38)!important}
body:has(.hero) .about-text{background:rgba(0,0,0,.42);border:1px solid rgba(230,199,119,.22);border-radius:16px;padding:clamp(24px,2vw,64px);box-shadow:inset 0 1px 0 #ffffff08;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body:has(.hero) .message-teaser{background:linear-gradient(110deg,rgba(176,139,51,.18),rgba(0,0,0,.48))!important}


/* Gold glass topic cards. */
body:has(.hero) .topics{gap:clamp(16px,1.4vw,40px);border-top:0!important}
body:has(.hero) .topics .topic{background:linear-gradient(135deg,rgba(240,206,119,.23),rgba(157,112,32,.12) 48%,rgba(0,0,0,.52));border:1px solid rgba(235,202,122,.46)!important;border-radius:16px;box-shadow:inset 0 1px 0 #fff4cf25,0 14px 36px #0004;display:flex;flex-direction:column}
body:has(.hero) .topic-english{margin-top:auto;padding-top:20px}

/* Prominent founder message invitation. */
body:has(.hero) .about .message-teaser{background:linear-gradient(115deg,#f8e5a5,#d9b65e 52%,#f1d58b)!important;color:#211a0c!important;border:1px solid #ffeab0!important;border-radius:14px!important;min-height:100px;box-shadow:0 10px 36px #d7b35330,inset 0 1px 0 #fff5d6!important;text-shadow:none!important;font-size:clamp(22px,1.35vw,42px)!important;font-weight:700!important;letter-spacing:.05em!important;justify-content:center!important;gap:24px!important}
body:has(.hero) .about .message-teaser span{color:#211a0c!important;font-size:inherit!important}
body:has(.hero) .about .message-teaser:hover{filter:brightness(1.08);box-shadow:0 14px 42px #e5c66f45!important}
@media(max-width:640px){body:has(.hero) .about .message-teaser{font-size:19px!important;min-height:92px;padding:24px 20px!important;gap:12px!important;line-height:1.7}}


/* Softer founder invitation and seamless message page. */
body:has(.hero) .about .message-teaser{background:linear-gradient(115deg,rgba(206,171,82,.17),rgba(0,0,0,.38))!important;color:#ecd392!important;border-color:rgba(226,193,110,.55)!important;box-shadow:inset 0 1px 0 #fff1!important;font-size:clamp(20px,1.1vw,34px)!important;font-weight:600!important}
body:has(.hero) .about .message-teaser span{color:#ecd392!important}
body:has(.hero) .about .message-teaser:hover{background:rgba(206,171,82,.22)!important;box-shadow:0 8px 24px #0003!important;filter:none}
body:has(.message-hero) #main,body:has(.message-hero) .message-hero,body:has(.message-hero) .message-layout,body:has(.message-hero) .message-letter,body:has(.message-hero) .message-body,body:has(.message-hero) .message-join,body:has(.message-hero) .message-header,body:has(.message-hero) .site-footer{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body:has(.message-hero) .site-footer{border:0!important;outline:0!important}

body:has(#payment-form) .site-footer{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important;justify-content:center!important}
body:has(.hero) .about .message-teaser span:first-child{color:#090909!important;-webkit-text-stroke:1px #fff;paint-order:stroke fill;text-shadow:0 0 1px #fff}body:has(.hero) .legal-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:24px}body:has(.hero) .site-footer{padding-block:28px!important}
body:has(#payment-form) .site-footer{flex-direction:column!important;gap:18px!important}body:has(#payment-form) .site-footer small{display:block;text-align:center}
body:has(.hero) .about .message-teaser span:first-child{color:#ecd392!important;-webkit-text-stroke:0!important;text-shadow:0 2px 4px #000,0 0 10px rgba(230,195,112,.18)!important;paint-order:normal}
.home-copyright{margin:0;padding:0 20px 24px;text-align:center;color:#c8c3b8;background:transparent;font:12px/1.8 Arial,sans-serif;letter-spacing:.05em}.home-copyright small{font-size:inherit}
body:has(.message-hero) .message-hero{border-bottom:1px solid rgba(230,199,119,.38)!important}
body:has(.message-hero) .message-layout{position:relative;border:1px solid rgba(230,199,119,.38)!important;border-bottom:0!important}body:has(.message-hero) .message-layout::after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:rgba(230,199,119,.38);pointer-events:none}body:has(.message-hero){overflow-x:clip}
body:has(.message-hero) .message-letter .message-body{background:linear-gradient(145deg,rgba(0,0,0,.72),rgba(15,14,11,.78))!important;border:1px solid rgba(230,199,119,.28);border-radius:18px;padding:clamp(28px,4vw,72px);box-shadow:0 18px 50px #0003!important}body:has(.message-hero) .message-letter .message-body p{color:#f1eadb!important;line-height:2.2!important;margin-bottom:2em}body:has(.message-hero) .message-letter .message-body p:last-child{margin-bottom:0}@media(max-width:640px){body:has(.message-hero) .message-letter .message-body{padding:26px 22px;border-radius:14px}}
@media(max-width:640px){body:has(.hero) .topics{gap:22px!important}body:has(.hero) .topics .topic{padding:32px 28px!important}body:has(.hero) .topics .topic h3{margin-bottom:22px!important}body:has(.hero) .topics .topic p{line-height:2!important;margin-bottom:20px!important}body:has(.hero) .topics .topic-english{padding-top:12px!important}}
@media(min-width:900px){body:has(.message-hero) .message-hero-inner{align-items:start!important;padding-top:54px!important;padding-bottom:54px!important}body:has(.message-hero) .message-hero-text{align-self:start!important;padding-top:12px!important;padding-bottom:70px!important}body:has(.message-hero) .message-profile{align-self:start!important;margin-top:100px!important;margin-bottom:0!important}}
@media(min-width:900px){body:has(.message-hero) .message-hero-inner{grid-template-columns:minmax(0,620px) minmax(0,420px)!important;justify-content:center!important;gap:clamp(24px,2.2vw,48px)!important}body:has(.message-hero) .message-profile{justify-self:start!important}}
@media(min-width:900px){body:has(.message-hero) .message-hero-inner{grid-template-columns:minmax(0,480px) minmax(0,420px)!important;gap:32px!important}}
@media(min-width:900px){body:has(.message-hero) .message-hero-inner{align-items:center!important}body:has(.message-hero) .message-hero-text{align-self:center!important;padding-top:0!important;padding-bottom:0!important}body:has(.message-hero) .message-profile{align-self:center!important;margin-top:0!important}}

/* Keep mobile topic labels in the card flow, with consistent spacing. */
@media(max-width:640px){
  body:has(.hero) .topics .topic-english{
    position:static;
    inset:auto;
    align-self:flex-start;
    margin:0;
    padding-top:12px!important;
    font-size:22px;
    line-height:1.2;
    letter-spacing:.04em;
  }
}

.about-companions{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0}.companions-illustration{display:block;width:min(100%,360px);height:auto;margin:16px auto 0}@media(max-width:640px){.companions-illustration{width:min(100%,280px);margin:8px auto 24px}}

/* Hero identity and community themes. */
.hero .hero-brand{font-size:clamp(30px,3.2vw,44px);font-weight:700;letter-spacing:.16em;line-height:1.3;color:#e5cb84;margin:0 0 24px}
.hero .hero-values{display:flex;gap:28px;margin-top:26px;color:#dfc477;align-items:center}
.hero-values>span{display:flex;align-items:center;gap:8px;font-size:14px;white-space:nowrap}
.hero-values svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
body .hero .hero-inner{padding-top:48px!important;padding-bottom:48px!important}
@media(max-width:640px){body .hero .hero-inner{padding-top:28px!important;padding-bottom:30px!important}.hero .hero-brand{font-size:30px;margin-bottom:20px}.hero .hero-values{gap:20px;justify-content:center;margin-top:22px}.hero-values>span{flex-direction:column;gap:7px;font-size:12px}.hero-values svg{width:24px;height:24px}}

/* Application palette matched to the live administration site. */
body:has(#payment-form){background:radial-gradient(ellipse at 85% 12%,rgba(215,181,68,.12),transparent 52%),linear-gradient(120deg,#030e0a,#0e3323)!important;background-attachment:fixed!important;color:#f3efdf}
body:has(#payment-form) .payment-card,body:has(#payment-form) .payment-summary{background:linear-gradient(135deg,rgba(53,90,66,.28),rgba(6,17,13,.88))!important;border-color:rgba(215,186,110,.32)!important;box-shadow:0 20px 60px #0003,inset 0 1px 0 #ffffff0c!important}
body:has(#payment-form) .site-header,body:has(#payment-form) .site-footer,body:has(#payment-form) .legal-links{background:rgba(5,16,12,.65)!important}
body:has(#payment-form) .method{background:rgba(9,25,17,.38)!important}
body:has(#payment-form) .method:has(input:checked){background:linear-gradient(130deg,rgba(218,188,96,.20),rgba(73,115,81,.10))!important}
body:has(#payment-form) select{background:rgba(5,16,12,.55)!important}

/* Sparse gold dust drifting gently behind the content. */
body{position:relative;isolation:isolate}
body::before,body::after{content:"";position:fixed;inset:-80px;pointer-events:none;z-index:-1;background-repeat:repeat;will-change:transform}
body::before{background-image:radial-gradient(ellipse 1px 2px at 12% 18%,#f8df97 70%,transparent),radial-gradient(circle 1px at 68% 48%,#d7ad49 70%,transparent),radial-gradient(ellipse 2px 1px at 84% 72%,#ffe8a4 70%,transparent);background-size:293px 341px,387px 417px,473px 393px;opacity:.48;animation:goen-dust-near 28s ease-in-out infinite alternate}
body::after{background-image:radial-gradient(circle 1px at 36% 88%,#c69e47 70%,transparent),radial-gradient(circle 2px at 48% 28%,#eed080 25%,transparent 75%),radial-gradient(circle 1px at 72% 35%,#fff0ba 60%,transparent);background-size:311px 489px,557px 531px,431px 367px;opacity:.32;animation:goen-dust-far 38s ease-in-out infinite alternate}
@keyframes goen-dust-near{from{transform:translate3d(-12px,35px,0)}to{transform:translate3d(18px,-35px,0)}}
@keyframes goen-dust-far{from{transform:translate3d(15px,24px,0)}to{transform:translate3d(-20px,-30px,0)}}
@media(max-width:640px){body::before{opacity:.34}body::after{opacity:.24}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto}}

/* Brand-colored feedback for social links across the site. */
body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link){--social-glow:87,224,140;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,filter .2s ease}
body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link).social-instagram{--social-glow:244,153,180}
body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link) .social-arrow{transition:transform .2s ease}
@media(hover:hover){body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link):hover{transform:translateY(-3px);border-color:rgb(var(--social-glow));box-shadow:0 0 0 1px rgba(var(--social-glow),.35),0 7px 25px rgba(var(--social-glow),.26),inset 0 0 22px rgba(var(--social-glow),.12)!important;filter:brightness(1.14)}body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link):hover .social-arrow{transform:translate(3px,-3px)}}
body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link):focus-visible{outline:2px solid rgb(var(--social-glow));outline-offset:4px;box-shadow:0 0 24px rgba(var(--social-glow),.32)!important;filter:brightness(1.14)}
body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link):active{transform:scale(.97);border-color:rgb(var(--social-glow));box-shadow:0 0 22px rgba(var(--social-glow),.4),inset 0 0 20px rgba(var(--social-glow),.18)!important;filter:brightness(1.2)}
@media(prefers-reduced-motion:reduce){body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link),body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link) .social-arrow{transition:none}body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link):hover,body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link):active,body :is(.profile-social a,a.social-instagram,a.social-line,#openchat-link):hover .social-arrow{transform:none}}

/* Consistent interaction feedback for all button controls. */
body :is(button,a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,.site-header>a:not(.brand),.site-footer>a:not(.brand)){--button-accent:232,199,111;transition:transform .2s ease,filter .2s ease,box-shadow .2s ease,border-color .2s ease!important;touch-action:manipulation}
body :is(a.social-instagram,#completion-instagram){--button-accent:244,153,180}body :is(a.social-line,#openchat-link){--button-accent:87,224,140}
@media(hover:hover){body :is(button,a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,.site-header>a:not(.brand),.site-footer>a:not(.brand)):not(:disabled):not([aria-disabled="true"]):hover{transform:translateY(-3px)!important;filter:brightness(1.12)!important;box-shadow:0 6px 24px rgba(var(--button-accent),.26),inset 0 0 16px rgba(var(--button-accent),.12)!important}}
body :is(button,a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,.site-header>a:not(.brand),.site-footer>a:not(.brand)):not(:disabled):not([aria-disabled="true"]):focus-visible{outline:2px solid rgb(var(--button-accent))!important;outline-offset:4px;box-shadow:0 0 22px rgba(var(--button-accent),.32)!important}
body :is(button,a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,.site-header>a:not(.brand),.site-footer>a:not(.brand)):not(:disabled):not([aria-disabled="true"]):active{transform:translateY(1px) scale(.98)!important;filter:brightness(1.16)!important;box-shadow:0 0 16px rgba(var(--button-accent),.35),inset 0 2px 8px #0003!important}
@media(prefers-reduced-motion:reduce){body :is(button,a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,.site-header>a:not(.brand),.site-footer>a:not(.brand)){transition:none!important}body :is(button,a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,.site-header>a:not(.brand),.site-footer>a:not(.brand)):hover,body :is(button,a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,.site-header>a:not(.brand),.site-footer>a:not(.brand)):active{transform:none!important}}

/* Layered translucent surfaces inspired by the administration panels. */
body,body.completion,body:has(#payment-form){background:radial-gradient(ellipse at 86% 14%,rgba(185,148,61,.055),transparent 52%),radial-gradient(ellipse at 12% 70%,rgba(143,117,57,.025),transparent 46%),linear-gradient(120deg,#020203,#090a0b)!important;background-attachment:fixed!important}
.hero,.message-hero,.about,.message-layout,.join-section,.message-join{background:linear-gradient(135deg,rgba(10,11,13,.10),rgba(0,0,0,.08))!important}
body:has(.hero) .about-text,body:has(.hero) .topics .topic,#join .cohort-result,.join-card,.payment-card,.payment-summary,body:has(#payment-form) .payment-card,body:has(#payment-form) .payment-summary,body:has(.message-hero) .message-letter .message-body{background:linear-gradient(135deg,rgba(65,66,69,.16),rgba(2,3,5,.52))!important;border-color:rgba(215,186,110,.36)!important;box-shadow:0 22px 60px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,242,202,.17),inset 0 -1px 0 rgba(215,186,110,.05)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.site-header,.site-footer,.legal-links,body:has(#payment-form) .site-header,body:has(#payment-form) .site-footer,body:has(#payment-form) .legal-links{background:rgba(2,3,5,.40)!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.legal-page{background:linear-gradient(135deg,rgba(55,56,59,.14),rgba(2,3,5,.52))!important;box-shadow:0 20px 60px #0003,inset 0 1px 0 #fff1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@supports not (backdrop-filter:blur(1px)){.payment-card,.payment-summary,#join .cohort-result,.topics .topic,.about-text,.legal-page{background:rgba(9,10,12,.93)!important}}

/* A deep black cosmos with softly luminous gold stardust. */
body,body.completion,body:has(#payment-form){background:radial-gradient(ellipse at 84% 12%,rgba(174,127,39,.12),transparent 48%),radial-gradient(ellipse at 16% 66%,rgba(128,91,31,.09),transparent 44%),#020204!important;background-attachment:fixed!important}
body::before{inset:-60px;background-image:radial-gradient(circle 1px at 17% 23%,#ffe9ad 60%,transparent),radial-gradient(circle .7px at 67% 71%,#d9ae55 60%,transparent),radial-gradient(circle 1.2px at 37% 81%,#fff0c8 45%,transparent),radial-gradient(circle .6px at 83% 38%,#d2ac67 60%,transparent),radial-gradient(ellipse 42% 9% at 65% 30%,rgba(188,142,51,.11),transparent 80%),radial-gradient(ellipse 48% 15% at 30% 74%,rgba(153,105,32,.09),transparent 80%);background-size:181px 211px,127px 163px,347px 331px,97px 139px,100% 100%,100% 100%;opacity:.68;animation:goen-cosmos-drift 65s ease-in-out infinite alternate}
body::after{inset:-40px;background-image:radial-gradient(circle 2px at 24% 31%,#fff4d2 15%,rgba(246,204,115,.6) 35%,transparent 85%),radial-gradient(circle 3px at 73% 64%,rgba(255,227,164,.7) 10%,rgba(207,155,55,.16) 45%,transparent 80%),radial-gradient(circle 1px at 44% 82%,#efce85 50%,transparent);background-size:431px 397px,617px 563px,251px 293px;opacity:.48;animation:goen-cosmos-shimmer 9s ease-in-out infinite alternate}
@keyframes goen-cosmos-drift{from{transform:translate3d(-8px,12px,0)}to{transform:translate3d(12px,-18px,0)}}
@keyframes goen-cosmos-shimmer{from{opacity:.28;transform:translateY(0)}to{opacity:.62;transform:translateY(-6px)}}
@media(max-width:640px){body::before{opacity:.48}body::after{background-size:431px 397px,617px 563px,251px 293px}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto}}

/* Foreground glass separates content from the distant cosmos. */
.hero-copy,.about-companions,.cohort-picker,.message-hero-text,.portrait-signature,.message-side{background:linear-gradient(135deg,rgba(230,237,250,.055),rgba(6,9,14,.10))!important;border:1px solid rgba(225,223,209,.20);border-radius:20px;padding:clamp(20px,2.4vw,36px);box-sizing:border-box;box-shadow:0 10px 28px #0001,inset 0 1px 0 #ffffff24;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
body:has(.message-hero) .message-hero-text{padding:clamp(20px,2.4vw,36px)!important}
.portrait-signature{margin-top:18px}.message-side{align-self:start}
body:has(.hero) .about-text,body:has(.hero) .topics .topic,#join .cohort-result,.payment-card,.payment-summary,body:has(#payment-form) .payment-card,body:has(#payment-form) .payment-summary,body:has(.message-hero) .message-letter .message-body,.legal-page{background:linear-gradient(135deg,rgba(230,237,250,.06),rgba(3,6,11,.10))!important;border:1px solid rgba(231,220,184,.32)!important;box-shadow:0 12px 32px #0001,inset 0 1px 0 #ffffff2e,inset 0 -1px 0 #ffffff08!important;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
body :is(a.button,a.header-link,a.message-back,a.message-teaser,a.completion-button,.profile-social a,button){backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 10px 24px #0005,inset 0 1px 0 #ffffff40!important}
@media(max-width:640px){.hero-copy,.about-companions,.cohort-picker,.message-hero-text,.portrait-signature,.message-side{border-radius:16px;padding:22px 18px}.hero-copy{width:100%}.portrait-signature{margin-inline:0}}

/* Keep the three home introduction areas open to the cosmic background. */
body:has(.hero) :is(.hero-copy,.about-companions,#join .cohort-picker){background:none!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Soft reflected lettering on the two homepage headlines. */
body #hero-heading,body #about-heading{text-shadow:0 1px 0 rgba(255,248,221,.22),0 3px 12px rgba(0,0,0,.65),0 0 24px rgba(227,197,116,.20);-webkit-box-reflect:below -0.18em linear-gradient(to bottom,transparent 78%,rgba(227,197,116,.16) 100%)}
body #hero-heading .lime-text{text-shadow:0 1px 0 rgba(255,246,202,.28),0 3px 12px #0008,0 0 22px rgba(227,197,116,.30)}

/* Visible, continuous gold-dust drift in two depth layers. */
body::before{inset:-100px;animation:goen-gold-float 18s ease-in-out infinite alternate;will-change:transform}
body::after{inset:-100px;animation:goen-gold-near 13s ease-in-out infinite alternate,goen-gold-glimmer 5s ease-in-out infinite alternate;will-change:transform,opacity}
@keyframes goen-gold-float{0%{transform:translate3d(-24px,54px,0)}100%{transform:translate3d(26px,-54px,0)}}
@keyframes goen-gold-near{0%{transform:translate3d(32px,42px,0)}100%{transform:translate3d(-32px,-42px,0)}}
@keyframes goen-gold-glimmer{from{opacity:.32}to{opacity:.66}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto}}

/* Borderless founder introduction panels. */
body .message-hero :is(.message-hero-text,.portrait-signature){border-color:transparent!important;box-shadow:0 10px 28px #0001!important}

/* Gold light across the four key phrases. */
body .hero-brand,body #hero-heading .lime-text,body #about-heading .goen-gold-accent,body .join-invitation-heading>span{
color:#f0d580!important;
background:linear-gradient(110deg,#d4ac50 0%,#f3d987 35%,#fff8d7 47%,#fffef2 50%,#f3d987 55%,#d4ac50 80%);
background-size:250% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;
text-shadow:0 0 16px rgba(238,192,80,.25),0 0 36px rgba(219,166,48,.14)!important;
animation:goen-word-shine 7s ease-in-out infinite;
}
body #about-heading .goen-gold-accent{animation-delay:-2s}
body .join-invitation-heading>span{animation-delay:-4s}
@keyframes goen-word-shine{0%,15%{background-position:100% 50%}65%,100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){body .hero-brand,body #hero-heading .lime-text,body #about-heading .goen-gold-accent,body .join-invitation-heading>span{animation:none;background-position:45% 50%}}

/* Unframed founder signature, keeping the same three lines on mobile. */
body .message-hero .portrait-signature{background:none!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media(max-width:760px){
body .message-hero .portrait-signature{text-align:center;padding:18px 0 24px!important;width:100%}
body .portrait-signature>p:first-child{font-size:clamp(11px,3.2vw,14px)!important;line-height:1.9;letter-spacing:0;white-space:nowrap}
body .portrait-signature .message-author{margin-top:8px;font-size:clamp(16px,4.5vw,20px)!important;line-height:1.7;white-space:nowrap;letter-spacing:0}
body .portrait-signature .message-author span{display:inline;margin:0 0 0 3px!important;font-size:clamp(10px,2.7vw,12px)!important;letter-spacing:0;white-space:nowrap}
}

/* Let the space background show directly behind the founder heading. */
body .message-hero .message-hero-text{background:none!important;border-color:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Illustrated membership journey beneath ABOUT. */
.member-journey{padding:20px 0 80px}.journey-eyebrow{font:12px/1.5 sans-serif;letter-spacing:.2em;color:#ebcd83}.member-journey h2{font-size:clamp(24px,3vw,36px);font-weight:500;margin:14px 0 38px}.member-journey ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding:0;margin:0}.member-journey li{position:relative;text-align:center;padding:26px 16px;border:1px solid #e9c87c38;border-radius:18px;background:linear-gradient(145deg,#ffffff08,#ffffff02)}.journey-number{display:block;font:11px/1.5 sans-serif;letter-spacing:.15em;color:#ebcd83}.member-journey svg{display:block;width:104px;height:104px;margin:20px auto;color:#ebcd83}.member-journey h3{font-size:19px;font-weight:500;line-height:1.65;margin:0 0 12px}.member-journey li p{font-size:14px;line-height:1.9;color:#d0cabf;margin:0}.member-journey li:not(:last-child)::after{content:'→';position:absolute;right:-25px;top:50%;color:#ebcd83;font:22px/1 sans-serif}
@media(max-width:760px){.member-journey ol{grid-template-columns:1fr;gap:36px}.member-journey li{padding:24px}.member-journey svg{width:94px;height:94px;margin:14px auto}.member-journey li:not(:last-child)::after{content:'↓';top:auto;bottom:-29px;right:calc(50% - 8px)}.member-journey{padding-bottom:48px}.member-journey h2{line-height:1.6}}

/* Five steps, with enough room for each illustration and caption. */
.member-journey ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.member-journey li{padding:24px 12px}.member-journey h3{font-size:17px}.member-journey li p{font-size:13px}.member-journey li:not(:last-child)::after{right:-21px}
@media(min-width:761px) and (max-width:1100px){.member-journey ol{grid-template-columns:1fr}.member-journey li{display:grid;grid-template-columns:110px 1fr;column-gap:24px;text-align:left;padding:24px}.member-journey .journey-number{grid-column:1;grid-row:1;text-align:center}.member-journey svg{grid-column:1;grid-row:2 / 4;margin:12px auto 0}.member-journey h3{grid-column:2;grid-row:2;align-self:end;font-size:20px}.member-journey li p{grid-column:2;grid-row:3;font-size:14px}.member-journey li:not(:last-child)::after{content:'↓';right:calc(50% - 8px);top:auto;bottom:-23px}}
@media(max-width:760px){.member-journey ol{grid-template-columns:1fr;gap:36px}.member-journey li{padding:24px}.member-journey h3{font-size:19px}.member-journey li p{font-size:14px}.member-journey li:not(:last-child)::after{right:calc(50% - 8px);bottom:-29px}}
/* Match the full-width divider between ABOUT and HOW TO JOIN. */
.about + .section-shell:has(.member-journey){position:relative}
.about + .section-shell:has(.member-journey)::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:100vw;height:1px;background:rgba(230,199,119,.38);pointer-events:none}
/* Center each arrow in a clear gap between the step frames. */
.member-journey ol{gap:44px}
.member-journey li:not(:last-child)::after{right:-35px;top:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transform:translateY(-50%)}
@media(max-width:1100px){.member-journey ol{gap:56px}.member-journey li:not(:last-child)::after{top:auto;bottom:-40px;right:calc(50% - 12px);transform:none}}
/* Fit the long callout and journey title within phone widths. */
@media(max-width:760px){
body:has(.hero) .about .message-teaser{width:100%;min-width:0;min-height:70px!important;padding:16px 10px!important;gap:8px!important;font-size:clamp(10px,3.2vw,20px)!important;letter-spacing:0!important;flex-wrap:nowrap;box-sizing:border-box}
body:has(.hero) .about .message-teaser span:first-child{white-space:nowrap;min-width:0}
body:has(.hero) .about .message-teaser span:last-child{font-size:1.25em!important;flex-shrink:0}
body .member-journey #journey-heading{font-size:clamp(15px,4.8vw,30px)!important;line-height:1.65;letter-spacing:0;white-space:nowrap}
body:has(.hero) .legal-links{width:100%;max-width:100%;box-sizing:border-box;padding:22px 16px!important;gap:6px 16px!important;flex-wrap:wrap!important}
body:has(.hero) .legal-links a{font-size:clamp(11px,3vw,14px)!important;line-height:1.6;white-space:nowrap;min-width:0;padding:6px 0;letter-spacing:0}
}

/* A more legible hero note with intentional line breaks on phones. */
body:has(.hero) .hero .hero-note{font-size:15px!important;line-height:1.9;color:#e9e3d7;letter-spacing:0;margin-top:24px}
@media(max-width:760px){body:has(.hero) .hero .hero-note{font-size:clamp(12px,3.6vw,16px)!important;line-height:1.9;max-width:100%}body:has(.hero) .hero-note>span{display:block;white-space:nowrap}}

body .goen-fee .goen-fee-purpose{margin:14px 0 0;font-size:13px!important;font-weight:400;line-height:1.9;color:#d0cabf}
.campaign-terms{padding:24px;margin-bottom:32px;border:1px solid rgba(230,199,119,.4);border-radius:14px;background:rgba(185,151,63,.08)}.campaign-terms h2{margin-top:0}.campaign-error{padding:18px;border:1px solid #e4bc65;color:#ffe5a0}#free-line-link{display:inline-flex;padding:16px 22px;border-radius:10px;background:#155b36;color:#fff;margin:18px 0}
/* Free participation LINE button matches the official LINE social button. */
body.completion #free-line-link{display:flex!important;align-items:center;justify-content:flex-start;box-sizing:border-box;gap:12px;width:280px;max-width:100%;min-height:66px;padding:16px 20px!important;margin:24px 0 20px!important;background:linear-gradient(120deg,rgba(6,199,85,.30),rgba(25,106,65,.24))!important;border:1px solid rgba(87,224,140,.65)!important;border-radius:14px!important;color:#fff!important;text-decoration:none;font-size:15px;font-weight:700;box-shadow:inset 0 1px 0 #ffffff30,0 8px 24px #0003;text-shadow:0 2px 3px #0009}
#free-line-link .social-icon{width:28px;height:28px;flex:0 0 28px;background:#06c755;border-radius:9px}#free-line-link .social-arrow{margin-left:auto;transition:transform .2s ease}
body.completion #free-line-link:focus-visible{outline:2px solid #64e69a;outline-offset:5px}
@media(hover:hover){body.completion #free-line-link:hover{border-color:#64e69a!important;box-shadow:0 0 24px rgba(6,199,85,.28),inset 0 1px 0 #ffffff50!important;filter:brightness(1.14);transform:translateY(-3px)}#free-line-link:hover .social-arrow{transform:translate(3px,-3px)}}
body.completion #free-line-link:active{transform:scale(.97);filter:brightness(1.2)}
@media(prefers-reduced-motion:reduce){body.completion #free-line-link,body.completion #free-line-link .social-arrow{transition:none;transform:none!important}}
/* A prominent central LINE action and balanced secondary navigation. */
body.completion #free-line-link{width:min(100%,440px)!important;min-height:80px!important;margin:28px auto 32px!important;padding:20px 28px!important;justify-content:center;font-size:20px!important;gap:16px}
body.completion #free-line-link .social-icon{width:34px;height:34px;flex-basis:34px}
body.completion #free-line-link .social-arrow{margin-left:12px;font-size:24px}
.free-completion-actions{display:flex;justify-content:space-between;align-items:stretch;gap:16px;width:100%;margin-top:24px}
body.completion .free-completion-actions .completion-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0!important;min-height:56px;width:auto;max-width:48%;padding:14px 20px;text-align:center}
@media(max-width:600px){body.completion #free-line-link{min-height:72px!important;font-size:18px!important;padding:18px 20px!important}.free-completion-actions{gap:12px}body.completion .free-completion-actions .completion-button{flex:1;max-width:50%;font-size:13px;padding:12px 10px;line-height:1.6}}
