@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-0.woff2) format("woff2");unicode-range:U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-1.woff2) format("woff2");unicode-range:U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-2.woff2) format("woff2");unicode-range:U+1F00-1FFF;}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-3.woff2) format("woff2");unicode-range:U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-4.woff2) format("woff2");unicode-range:U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-5.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-6.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-7.woff2) format("woff2");unicode-range:U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-8.woff2) format("woff2");unicode-range:U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-9.woff2) format("woff2");unicode-range:U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-10.woff2) format("woff2");unicode-range:U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-11.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-12.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cinzel-13.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cinzel-14.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-15.woff2) format("woff2");unicode-range:U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-16.woff2) format("woff2");unicode-range:U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-17.woff2) format("woff2");unicode-range:U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-18.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/montserrat-19.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-20.woff2) format("woff2");unicode-range:U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-21.woff2) format("woff2");unicode-range:U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-22.woff2) format("woff2");unicode-range:U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-23.woff2) format("woff2");unicode-range:U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/montserrat-24.woff2) format("woff2");unicode-range:U+0-FF, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{--canvas:#FAF7EF;--surface:#FFFDF8;--surface-2:#FFFFFF;--inset:#F2EDE1;--text:#14261C;--text-2:#3D4A41;--muted:#5B665D;--brand:#1F4A33;--brand-hover:#143423;--on-brand:#FAF7EF;--brand-surface:#E5EEE6;--divider:#E3DCCB;--focus:#1F4A33;--gold:#B8995C;--danger:#A51D33;--danger-surface:#FBE8EA;--success:#0B6670;--success-surface:#E0F1F1;--shadow:rgba(20, 38, 28, 0.10);--soft-a:#EEF3EC;--soft-b:#F7F1E3;color-scheme:light;--radius:1.25rem;--sans:"Inter", "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:"Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", serif}
@media (prefers-color-scheme:dark){:root{--canvas:#0F2119;--surface:#16291F;--surface-2:#1D3327;--inset:#0B1912;--text:#F2EEE3;--text-2:#CBD3C8;--muted:#A2AEA3;--brand:#A9D0B2;--brand-hover:#C6E2CC;--on-brand:#0F2119;--brand-surface:#1F3A2B;--divider:#2A4034;--focus:#C6E2CC;--gold:#D6BC80;--danger:#FF9CA8;--danger-surface:#3E1521;--success:#74D3D4;--success-surface:#0F3133;--shadow:rgba(0, 0, 0, 0.40);--soft-a:#16291F;--soft-b:#1F2A1C;color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;min-height:100svh;background:linear-gradient(180deg,var(--canvas) 0,var(--canvas) 30rem,var(--soft-a) 70rem,var(--soft-b) 100%);color:var(--text);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--brand);text-underline-offset:.2em}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:.25rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:72rem;margin:0 auto;padding:1rem clamp(1rem,4vw,2rem)}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none}
.mark{flex:none;display:block}
.name{font:600 1.35rem/1 Cinzel,var(--serif);letter-spacing:.18em}
.bar-link{font-weight:600;font-size:.95rem;text-decoration:none;padding:.6rem .2rem}
.bar-link:hover{text-decoration:underline}
main{max-width:72rem;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 4rem}
.hero{display:grid;gap:2rem;align-items:center;padding:clamp(1.5rem,5vw,4rem) 0 clamp(2.5rem,6vw,5rem)}
@media (min-width:56rem){.hero{grid-template-columns:1.25fr 1fr;gap:3rem}}
.chip{display:inline-block;margin:0 0 1.25rem;padding:.35rem .85rem;border-radius:999px;background:var(--brand-surface);color:var(--brand);font-weight:600;font-size:.875rem;letter-spacing:.02em}
h1{margin:0 0 1.25rem;font:600 clamp(2.4rem,6.5vw,4.4rem)/1.06 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.lead{margin:0 0 2rem;max-width:34rem;font-size:clamp(1.06rem,2.2vw,1.25rem);color:var(--text-2)}
.actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-art{display:flex;justify-content:center}
.seal{width:min(24rem,72vw);height:auto;filter:drop-shadow(0 18px 40px var(--shadow))}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.1rem;padding:.8rem 1.5rem;border:1.5px solid var(--brand);border-radius:999px;background:var(--brand);color:var(--on-brand);font:600 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,transform .1s}
.button:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.button:active{transform:scale(.98)}
.button[disabled]{opacity:.65;cursor:progress}
.button.secondary{background:transparent;color:var(--brand)}
.button.secondary:hover{background:var(--brand-surface)}
.button.wide{width:100%}
h2{margin:0 0 .5rem;font:600 clamp(1.8rem,4vw,2.5rem)/1.15 var(--serif);letter-spacing:-.01em}
h3{margin:0 0 .25rem;font:600 1.15rem/1.3 var(--serif)}
.steps{padding:0 0 clamp(2.5rem,6vw,4.5rem)}
.steps ol{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem}
@media (min-width:48rem){.steps ol{grid-template-columns:repeat(3,1fr)}}
.steps li{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;border:1px solid var(--divider);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 85%,transparent)}
.steps p{margin:0;color:var(--text-2)}
.num{flex:none;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--brand);color:var(--on-brand);font:600 1rem/1 var(--serif)}
.panel{position:relative;margin:0 auto 2rem;max-width:44rem;padding:clamp(1.5rem,5vw,2.75rem);border:1px solid var(--divider);border-radius:calc(var(--radius) + .5rem);background:var(--surface);box-shadow:0 10px 40px var(--shadow);scroll-margin-top:1rem}
.panel.alt{background:var(--surface-2)}
.panel h1{font-size:clamp(2rem,5vw,2.75rem);margin-bottom:.5rem}
main.join{padding-top:clamp(1rem,4vw,2.5rem)}
.rule{display:flex;align-items:center;gap:.75rem;width:9rem;margin:0 0 1.25rem;color:var(--gold)}
.rule span{flex:1;height:1.5px;background:currentColor}
.rule i{width:.45rem;height:.45rem;transform:rotate(45deg);background:currentColor}
.sub{margin:0 0 1.5rem;color:var(--text-2)}
.notice{margin:0 0 1rem;padding:.75rem 1rem;border-radius:.75rem;background:var(--brand-surface);color:var(--text)}
.form{display:grid;gap:1rem}
fieldset{margin:0;padding:0;border:0;min-width:0}
.plans{display:grid;gap:.75rem}
@media (min-width:36rem){.plans{grid-template-columns:1fr 1fr}.plans .error{grid-column:1/-1}}
.plan{position:relative;display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;padding:1rem 1.1rem 1rem 3rem;border:1.5px solid var(--divider);border-radius:1rem;background:var(--surface-2);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.plan input{position:absolute;opacity:0;pointer-events:none}
.plan .tick{position:absolute;left:1rem;top:1.15rem;width:1.25rem;height:1.25rem;border:2px solid var(--muted);border-radius:50%}
.plan:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}
.plan:has(input:checked) .tick{border-color:var(--brand);background:radial-gradient(circle,var(--brand) 0 45%,transparent 50%)}
.plan:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.plan-name{font:600 1.1rem/1.3 var(--serif)}
.plan-price{font:600 1.1rem/1.3 var(--serif);color:var(--brand)}
.plan-what{grid-column:1/-1;font-size:.9rem;color:var(--text-2)}
.plans-note{margin:-.25rem 0 0;font-size:.9rem;color:var(--muted)}
.roles{display:flex;flex-wrap:wrap;gap:.5rem}
.roles .error{flex-basis:100%}
.pill{position:relative}
.pill input{position:absolute;opacity:0;pointer-events:none}
.pill span{display:inline-flex;align-items:center;min-height:2.75rem;padding:.5rem 1.1rem;border:1.5px solid var(--divider);border-radius:999px;background:var(--surface);font-weight:600;cursor:pointer}
.pill:has(input:checked) span{border-color:var(--brand);background:var(--brand);color:var(--on-brand)}
.pill:has(input:focus-visible) span{outline:3px solid var(--focus);outline-offset:3px}
.pair{display:grid;gap:1rem}
@media (min-width:36rem){.pair{grid-template-columns:1fr 1fr}}
.field{display:grid;gap:.35rem}
.field label{font-weight:600;font-size:.95rem}
.optional{font-weight:400;color:var(--muted)}
input,select{width:100%;min-height:3rem;padding:.7rem .9rem;border:1.5px solid var(--divider);border-radius:.75rem;background:var(--surface-2);color:var(--text);font:400 1rem/1.4 var(--sans)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 1.2rem) 55%,calc(100% - .9rem) 55%;background-size:.3rem .3rem;background-repeat:no-repeat;padding-right:2.25rem}
input:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
[aria-invalid="true"]{border-color:var(--danger)}
.error{margin:0;color:var(--danger);font-size:.9rem;font-weight:500}
.form-error{padding:.75rem 1rem;border-radius:.75rem;background:var(--danger-surface)}
.hint{margin:-.5rem 0 0;font-size:.9rem;color:var(--text-2)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.fine{margin:0;font-size:.85rem;color:var(--muted);text-align:center}
.done{padding:1.25rem;border-radius:1rem;background:var(--success-surface);color:var(--text)}
.done h3{color:var(--success)}
.done p{margin:0}
.foot{max-width:72rem;margin:0 auto;padding:2rem clamp(1rem,4vw,2rem) 3rem;font-size:.875rem;color:var(--muted);text-align:center}
.foot p{margin:.25rem auto;max-width:40rem}
body.plain main{padding-top:2rem}
.narrow{max-width:36rem}
.wide{max-width:72rem}
.table{overflow-x:auto;border:1px solid var(--divider);border-radius:1rem;background:var(--surface-2)}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th,td{padding:.6rem .8rem;text-align:left;border-bottom:1px solid var(--divider);white-space:nowrap}
th{background:var(--inset);font-weight:600}
