:root { --green-950:#073c31; --green-900:#0b4f3f; --green-800:#11634f; --green-700:#187b62; --green-50:#eff8f4; --orange:#f47b20; --orange-soft:#fff1e6; --ink:#17352d; --muted:#62736d; --line:#dce8e3; --canvas:#f6faf8; --white:#fff; --red:#a93649; --shadow:0 22px 60px rgba(7,60,49,.11); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; min-height:100vh; color:var(--ink); background:var(--canvas); font:16px/1.55 "DM Sans",sans-serif; }
button,input,select { font:inherit; }
a { color:var(--green-700); }
.hidden { display:none !important; }
.site-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:78px; padding:1rem clamp(1.25rem,5vw,5rem); color:white; background:var(--green-900); }
.brand { display:flex; align-items:center; gap:.7rem; color:white; font:800 1.2rem "Manrope",sans-serif; letter-spacing:-.03em; text-decoration:none; }
.brand-mark { display:grid; width:2.2rem; height:2.2rem; place-items:center; border-radius:10px; color:var(--orange); background:white; }
.brand-mark svg { width:1.7rem; height:1.7rem; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.brand-mark svg circle { fill:var(--orange); stroke:none; }.brand-mark svg>path:first-child { fill:currentColor; stroke:none; }.brand-mark svg>path:last-child { stroke:var(--green-900); }
.header-link { color:rgba(255,255,255,.78); font-size:.88rem; text-decoration:none; }.header-link strong { color:white; }
.registration-shell { display:grid; grid-template-columns:minmax(300px,.72fr) minmax(560px,1.28fr); width:min(100% - 2rem,1200px); margin:3rem auto; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:white; box-shadow:var(--shadow); }
.registration-intro { position:relative; overflow:hidden; padding:3.2rem; color:white; background:linear-gradient(145deg,var(--green-950),var(--green-800)); }
.registration-intro::after { content:""; position:absolute; width:18rem; height:18rem; right:-10rem; bottom:-8rem; border:48px solid rgba(244,123,32,.16); border-radius:50%; }
.registration-intro>* { position:relative; z-index:1; }
.eyebrow { color:var(--green-700); font-size:.72rem; font-weight:800; letter-spacing:.14em; }
.registration-intro .eyebrow { color:#ffc18f; }
h1,h2,strong,legend { font-family:"Manrope",sans-serif; } h1 { margin:1rem 0; font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.05; letter-spacing:-.05em; } h2 { margin:.55rem 0 .35rem; font-size:clamp(1.8rem,3vw,2.45rem); line-height:1.15; letter-spacing:-.035em; }
.registration-intro>p { color:rgba(255,255,255,.72); }
.steps { display:grid; gap:1.2rem; margin:2.5rem 0; padding:0; list-style:none; }.steps li { display:flex; align-items:flex-start; gap:.9rem; }.steps li>span { display:grid; width:2rem; height:2rem; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.26); border-radius:50%; color:#ffc18f; font-weight:800; }.steps div { display:grid; }.steps small { color:rgba(255,255,255,.58); }
.security-card { display:flex; gap:.75rem; margin-top:3rem; padding:1rem; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(255,255,255,.08); }.security-card>span { color:#ffc18f; }.security-card p { margin:0; font-size:.82rem; }
.registration-panel { padding:clamp(2rem,5vw,4rem); }.muted { margin:0 0 2rem; color:var(--muted); }
fieldset { min-width:0; margin:0 0 2.25rem; padding:0 0 2rem; border:0; border-bottom:1px solid var(--line); } fieldset:last-of-type { padding-bottom:.75rem; border-bottom:0; }
legend { display:flex; align-items:center; gap:.65rem; width:100%; margin-bottom:1.3rem; font-size:1.05rem; font-weight:800; } legend span { display:grid; width:1.7rem; height:1.7rem; place-items:center; border-radius:7px; color:white; background:var(--green-900); font-size:.75rem; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.2rem; }.field-wide { grid-column:1/-1; }
label { display:grid; gap:.4rem; color:var(--ink); font-size:.84rem; font-weight:700; } label small { color:var(--muted); font-weight:400; }
input,select { width:100%; min-height:46px; border:1px solid #c8d9d2; border-radius:10px; padding:.75rem .85rem; color:var(--ink); background:white; outline:none; } input:focus,select:focus { border-color:var(--green-700); box-shadow:0 0 0 3px rgba(24,123,98,.14); } input:invalid:not(:placeholder-shown) { border-color:var(--red); }
.plan-options { display:grid; gap:.8rem; }.plan-card { position:relative; display:flex; align-items:center; gap:1rem; padding:1.15rem; border:2px solid var(--line); border-radius:15px; cursor:pointer; }.plan-card:has(input:checked) { border-color:var(--green-700); background:var(--green-50); }.plan-card input { position:absolute; width:1px; height:1px; opacity:0; }.plan-check { display:grid; width:1.8rem; height:1.8rem; flex:0 0 auto; place-items:center; border:1px solid var(--line); border-radius:50%; color:transparent; }.plan-card:has(input:checked) .plan-check { color:white; border-color:var(--green-700); background:var(--green-700); }.plan-details { display:grid; margin-right:auto; }.plan-details small { margin:.2rem 0; color:var(--muted); }.plan-details em { color:var(--green-700); font-size:.75rem; font-style:normal; font-weight:700; }.plan-price { display:grid; text-align:right; }.plan-price strong { color:var(--green-900); font-size:1.5rem; }.plan-price small { color:var(--muted); }
.checkout-note,.agreement-copy,.submit-disclaimer { color:var(--muted); font-size:.8rem; }.checkout-note { margin:1rem 0 0; }.agreement-copy { margin-top:0; }
.consent-row { display:grid; grid-template-columns:1.25rem 1fr; gap:.75rem; margin:.8rem 0; padding:1rem; border:1px solid var(--line); border-radius:12px; background:var(--canvas); font-weight:500; }.consent-row input { width:1.15rem; min-height:1.15rem; height:1.15rem; margin:.17rem 0 0; accent-color:var(--green-700); }.consent-row a { font-weight:800; }
.primary-button,.secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:50px; border-radius:11px; padding:.8rem 1.25rem; font-weight:800; text-decoration:none; cursor:pointer; }.primary-button { width:100%; border:1px solid var(--green-900); color:white; background:var(--green-900); box-shadow:0 8px 20px rgba(11,79,63,.2); }.primary-button:hover { background:var(--green-800); }.primary-button:disabled { cursor:not-allowed; opacity:.55; }.secondary-button { border:1px solid var(--green-900); color:var(--green-900); background:white; }
.submit-disclaimer { margin:.75rem 0 0; text-align:center; }.form-alert { margin:0 0 1.4rem; padding:.9rem 1rem; border:1px solid #e8a9b3; border-radius:10px; color:#7c2232; background:#fff0f2; }
.result-view { display:grid; min-height:520px; align-content:center; justify-items:center; text-align:center; }.result-view:focus { outline:none; }.result-icon { display:grid; width:4rem; height:4rem; margin-bottom:1.25rem; place-items:center; border-radius:50%; color:white; background:var(--green-700); font-size:1.8rem; }.result-view p { max-width:540px; color:var(--muted); }.result-view .primary-button { width:auto; margin-top:1.25rem; }.result-view .secondary-button { margin-top:1rem; }.workspace-result { display:grid; gap:.2rem; width:min(100%,440px); margin:1.25rem 0; padding:1rem; border-radius:12px; background:var(--orange-soft); }.workspace-result span { color:var(--muted); font-size:.75rem; }.workspace-result strong { overflow-wrap:anywhere; color:var(--green-900); }
footer { display:flex; justify-content:space-between; gap:1rem; width:min(100% - 2rem,1200px); margin:0 auto 2rem; color:var(--muted); font-size:.78rem; } footer>span:last-child { display:flex; gap:1rem; }
.legal-shell { width:min(100% - 2rem,880px); margin:3rem auto; padding:clamp(1.5rem,5vw,4rem); border:1px solid var(--line); border-radius:22px; background:white; box-shadow:var(--shadow); }.legal-shell h1 { color:var(--green-900); }.legal-meta { color:var(--muted); }.legal-notice { padding:1rem; border-left:4px solid var(--orange); background:var(--orange-soft); }.legal-content h2 { margin-top:2rem; font-size:1.3rem; }.legal-content h3 { margin-top:1.25rem; }.legal-content li { margin:.35rem 0; }.legal-actions { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid var(--line); }
@media (max-width:850px) { .registration-shell { grid-template-columns:1fr; margin:1.25rem auto; }.registration-intro { padding:2.25rem; }.registration-intro h1 { max-width:650px; }.steps { grid-template-columns:repeat(3,1fr); }.steps li { display:grid; }.security-card { margin-top:2rem; } }
@media (max-width:600px) { .site-header { align-items:flex-start; }.header-link { max-width:130px; text-align:right; }.registration-shell { width:100%; margin:0; border:0; border-radius:0; }.registration-intro { padding:2rem 1.25rem; }.registration-intro h1 { font-size:2.3rem; }.steps { grid-template-columns:1fr; }.steps li { display:flex; }.registration-panel { padding:2rem 1.25rem; }.field-grid { grid-template-columns:1fr; }.field-wide { grid-column:auto; }.plan-card { align-items:flex-start; flex-wrap:wrap; }.plan-price { width:100%; padding-left:2.8rem; text-align:left; }.legal-shell { width:100%; margin:0; border:0; border-radius:0; } footer { align-items:center; flex-direction:column; } }
