:root { --ink:#16221b; --muted:#6e776f; --paper:#f4f3ee; --white:#fff; --line:#d9ddd7; --lime:#c9f43a; --forest:#143e2e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
button,input,select,textarea { font:inherit; } button { cursor:pointer; }
.step-panel[hidden],.optional-step-content[hidden],.sport-other-field[hidden],.toast[hidden]{display:none!important}.question-panel{margin:0}.question-panel form{margin:0}.step-panel{min-height:520px}.choice-grid input{position:absolute;opacity:0;pointer-events:none}.save-button{color:var(--ink)}.submit-complete{min-height:520px}.submit-complete .back-to-portal{color:#fff}.form-actions .submit-intake{margin-left:0}.form-actions .secondary.compact{margin-right:0}.form-actions .primary.submit-intake{margin-left:0}.form-actions .text-button[hidden]{display:none}.topbar .weckmethod-logo{filter:brightness(0)}
.topbar { height:84px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5vw,72px); border-bottom:1px solid rgba(20,62,46,.16); background:rgba(244,243,238,.94); position:sticky; top:0; z-index:10; backdrop-filter:blur(10px); }
.brand { display:flex; gap:12px; align-items:center; color:inherit; text-decoration:none; }
.dual-brand{gap:16px}.dual-brand>i{color:#9aa39c;font-size:12px;font-style:normal}.dual-brand .bettermove-logo-panel{display:flex;align-items:center}.dual-brand .bettermove-logo{display:block;width:190px;height:auto;object-fit:contain;filter:brightness(0)}.dual-brand .weckmethod-logo{width:210px;height:38px;object-fit:contain;object-position:left center}
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--forest); color:var(--lime); font-weight:900; font-style:italic; font-size:12px; letter-spacing:-.08em; }
.brand b,.brand small { display:block; }.brand b { font-size:13px; letter-spacing:.14em; }.brand small { margin-top:2px; color:var(--muted); font-size:10px; }
.save-button { border:1px solid var(--ink); background:transparent; padding:10px 16px; border-radius:99px; font-size:13px; font-weight:700; }.save-button span { margin-right:7px; }
.toast { position:fixed; z-index:30; top:96px; right:24px; color:white; background:var(--ink); border-left:4px solid var(--lime); padding:13px 18px; box-shadow:0 10px 30px rgba(0,0,0,.18); font-size:12px; font-weight:700; animation:toast-in .25s ease both; }
@keyframes toast-in { from { opacity:0; transform:translateY(-8px); } }
.hero { background:var(--forest); color:white; padding:70px clamp(24px,8vw,120px); display:grid; grid-template-columns:minmax(0,1.6fr) minmax(260px,.6fr); gap:70px; align-items:end; position:relative; overflow:hidden; }
.hero:after { content:""; position:absolute; width:440px; height:440px; border:1px solid rgba(201,244,58,.2); border-radius:50%; right:-180px; top:-210px; box-shadow:0 0 0 55px rgba(201,244,58,.03),0 0 0 110px rgba(201,244,58,.03); }
.eyebrow { color:var(--lime); font-size:12px; font-weight:800; letter-spacing:.2em; margin:0 0 22px; }
.hero h1 { font-size:clamp(38px,5.2vw,74px); line-height:1.15; letter-spacing:-.055em; margin:0; font-weight:800; }.hero h1 em { color:var(--lime); font-style:normal; }
.hero-copy>p:not(.eyebrow) { color:#c9d2cc; max-width:720px; line-height:1.9; margin:28px 0 0; }
.service-axis { display:grid; grid-template-columns:repeat(4,max-content); gap:8px; margin-top:30px; position:relative; z-index:1; }
.service-axis span { border:1px solid rgba(201,244,58,.42); background:rgba(201,244,58,.08); color:var(--lime); padding:8px 11px; font-size:9px; font-weight:900; letter-spacing:.11em; }
.support-route { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:13px; color:#aebbb3; font-size:8px; letter-spacing:.08em; }
.support-route b { font-weight:800; }.support-route i { color:var(--lime); font-style:normal; }
.hero-note { border-left:1px solid rgba(255,255,255,.25); padding-left:28px; position:relative; z-index:1; }.hero-note span { display:block; color:#a9b8ae; font-size:12px; }.hero-note strong { font-family:Georgia,serif; font-size:26px; display:block; margin:6px 0 18px; }.hero-note p { color:#c9d2cc; font-size:12px; line-height:1.7; margin:0; }
.time-guide { width:min(1180px,calc(100% - 48px)); margin:34px auto 0; padding:24px 28px; background:#fff; border-left:5px solid var(--lime); display:grid; grid-template-columns:150px 1fr 1fr; gap:28px; align-items:start; box-shadow:0 12px 36px rgba(22,34,27,.05); }.time-guide>span{color:var(--forest);font-size:10px;font-weight:900;letter-spacing:.14em}.time-guide b{font-size:14px}.time-guide p{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.7}
.form-shell { width:min(1180px,calc(100% - 48px)); margin:64px auto 110px; display:grid; grid-template-columns:260px minmax(0,1fr); gap:60px; align-items:start; }.stepper { position:sticky; top:116px; }
.step-count { font-size:11px; font-weight:800; letter-spacing:.14em; color:var(--forest); }.progress-track { height:3px; background:#dfe2dc; margin:13px 0 28px; overflow:hidden; }.progress-track span { display:block; height:100%; background:var(--forest); transition:width .35s ease; }
.stepper nav { display:grid; }.stepper nav button { display:flex; align-items:center; gap:12px; text-align:left; border:0; background:transparent; padding:11px 0; color:#929992; }.stepper nav button span { width:27px; height:27px; display:grid; place-items:center; border:1px solid #cbd0ca; border-radius:50%; font-size:11px; font-weight:800; flex:0 0 auto; }.stepper nav button b { font:inherit; }.stepper nav button em { display:block; width:max-content; margin-top:3px; color:#708171; font-size:8px; font-style:normal; font-weight:900; letter-spacing:.08em; }.stepper nav button.active { color:var(--ink); font-weight:800; }.stepper nav button.active span { background:var(--lime); border-color:var(--lime); }.stepper nav button.done { color:var(--forest); }.stepper nav button.done span { background:var(--forest); color:white; border-color:var(--forest); }
.privacy-note { margin-top:34px; padding:18px; background:#e7e8e1; border-radius:3px; }.privacy-note b { font-size:12px; }.privacy-note p { font-size:11px; line-height:1.7; color:var(--muted); margin:7px 0 0; }
.question-panel { background:var(--white); padding:clamp(28px,5vw,64px); border-top:5px solid var(--lime); box-shadow:0 16px 50px rgba(22,34,27,.06); min-height:640px; }
.section-heading { display:flex; gap:18px; align-items:flex-start; padding-bottom:34px; border-bottom:1px solid var(--line); margin-bottom:34px; }.section-heading>span { font-family:Georgia,serif; color:var(--forest); font-size:17px; margin-top:5px; }.section-heading h2 { margin:0; font-size:clamp(23px,3vw,34px); letter-spacing:-.035em; }.section-heading p { margin:10px 0 0; color:var(--muted); font-size:13px; line-height:1.7; }
.heading-line { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }.heading-line em { font-style:normal; color:var(--forest); background:#eaf5cc; border:1px solid #dceba9; font-size:10px; padding:5px 8px; border-radius:99px; font-weight:800; }
.pillar-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:-8px 0 14px; }
.pillar-grid div { min-height:80px; padding:15px 13px; background:var(--forest); color:white; border-top:3px solid var(--lime); }
.pillar-grid b,.pillar-grid small { display:block; }.pillar-grid b { color:var(--lime); font-size:10px; letter-spacing:.08em; }.pillar-grid small { color:#cbd5cf; font-size:10px; line-height:1.5; margin-top:7px; }
.direction-map { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; margin:0 0 32px; background:#d9ddd7; border:1px solid #d9ddd7; }
.direction-map span { position:relative; padding:12px 7px; background:#f5f6f1; text-align:center; color:var(--forest); font-size:9px; font-weight:800; }
.direction-map span:not(:last-child):after { content:"→"; position:absolute; right:-6px; z-index:1; color:var(--forest); }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 24px; }.field { display:block; }.field.wide { grid-column:1/-1; }.field>span { display:block; font-size:13px; font-weight:800; margin-bottom:9px; }.field em { font-style:normal; color:var(--forest); background:#eaf5cc; font-size:9px; padding:3px 6px; margin-left:8px; border-radius:2px; }.field small { display:block; color:var(--muted); font-size:11px; margin:-3px 0 9px; }
input,select,textarea { width:100%; border:1px solid #cfd4ce; border-radius:3px; background:#fbfbf8; color:var(--ink); padding:13px 14px; outline:none; transition:.2s; } input:focus,select:focus,textarea:focus { border-color:var(--forest); box-shadow:0 0 0 3px rgba(20,62,46,.09); background:white; } textarea { resize:vertical; line-height:1.7; }
.choice-grid { display:flex; flex-wrap:wrap; gap:8px; }.choice-grid button { border:1px solid #cfd4ce; background:#fbfbf8; color:#4d5851; border-radius:99px; padding:10px 14px 10px 11px; font-size:12px; text-align:left; }.choice-grid button span { display:inline-grid; place-items:center; width:18px; height:18px; border-radius:50%; background:#e6e9e3; margin-right:7px; font-size:10px; }.choice-grid button.selected { background:var(--forest); color:white; border-color:var(--forest); }.choice-grid button.selected span { background:var(--lime); color:var(--forest); }
.scale { display:grid; grid-template-columns:auto repeat(5,38px) auto; align-items:center; gap:7px; }.scale small { color:var(--muted); font-size:10px; }.scale button { width:38px; height:38px; border:1px solid #cfd4ce; border-radius:50%; background:#fbfbf8; font-weight:800; }.scale button.selected { color:var(--forest); background:var(--lime); border-color:var(--lime); }
.consent { display:flex; align-items:flex-start; gap:13px; padding:19px; background:#f0f3e7; border:1px solid #dde6c7; cursor:pointer; }.consent input { width:19px; height:19px; margin:2px 0 0; accent-color:var(--forest); }.consent span { flex:1; }.consent b,.consent small { display:block; }.consent b { font-size:13px; }.consent small { color:var(--muted); line-height:1.7; margin-top:5px; }
.optional-step-gate { padding:clamp(28px,5vw,48px); border:1px solid #d9dfd6; background:linear-gradient(135deg,#f5f7ef 0%,#fff 70%); }.optional-step-gate>span { display:block; color:var(--forest); font-size:10px; font-weight:900; letter-spacing:.18em; }.optional-step-gate h2 { margin:14px 0 10px; font-size:clamp(24px,3vw,34px); letter-spacing:-.035em; }.optional-step-gate p { max-width:640px; margin:0; color:var(--muted); font-size:13px; line-height:1.85; }.optional-step-gate button { display:inline-flex; align-items:center; gap:16px; margin-top:26px; padding:13px 17px; border:1px solid var(--forest); border-radius:3px; background:var(--forest); color:white; font-size:12px; font-weight:900; }.optional-step-gate button b { display:grid; place-items:center; width:21px; height:21px; border-radius:50%; background:var(--lime); color:var(--forest); font-size:16px; line-height:1; }.optional-step-gate.open { padding:20px 24px; background:#f5f7ef; }.optional-step-gate.open h2 { display:none; }.optional-step-gate.open p { display:none; }.optional-step-gate.open button { margin-top:10px; padding:9px 12px; background:white; color:var(--forest); }.optional-step-content { margin-top:38px; animation:optional-open .22s ease both; }.review-consent { margin-top:32px; } @keyframes optional-open { from { opacity:0; transform:translateY(-8px); } }
.form-actions { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:46px; padding-top:28px; border-top:1px solid var(--line); }.primary,.secondary { border-radius:3px; padding:14px 20px; font-weight:800; border:1px solid var(--forest); }.primary { background:var(--forest); color:white; min-width:145px; }.primary span { color:var(--lime); margin-left:10px; }.secondary { margin-right:auto; background:white; color:var(--forest); }.secondary.compact { margin-right:0; }.text-button { border:0; background:transparent; color:var(--muted); font-size:11px; text-decoration:underline; text-underline-offset:3px; }
.submit-intake{background:var(--forest);min-width:180px}.submit-intake:disabled{opacity:.55;cursor:wait}.submit-error{margin:14px 0 0;padding:12px 14px;background:#fff0e6;color:#9b3f1c;border-left:3px solid #d96b38;font-size:12px}.submit-complete>span{color:var(--forest);font-size:10px;font-weight:900;letter-spacing:.16em}.submit-complete h2{margin:18px 0 30px;font-size:clamp(34px,5vw,62px);line-height:1.05;letter-spacing:-.05em}.submit-complete>div{padding:20px;background:var(--forest);color:#fff;display:grid;gap:8px}.submit-complete small{color:#b8c6bd;font-size:10px}.submit-complete strong{color:var(--lime);font-family:Georgia,serif;font-size:30px;letter-spacing:.05em}.submit-complete>p{margin:24px 0;color:var(--muted);line-height:1.8}.submit-complete>aside{padding:15px;background:#fff3e5;border-left:3px solid #e79e45;font-size:11px;line-height:1.7}.submit-complete>a{display:inline-block;margin-top:24px;padding:14px 18px;background:var(--forest);color:#fff;text-decoration:none;font-weight:900;font-size:12px}
.review-group { margin-bottom:34px; }.review-group h3 { color:var(--forest); font-family:Georgia,"Yu Mincho",serif; font-size:15px; letter-spacing:.05em; margin:0 0 12px; }.review-card { border-top:1px solid var(--ink); }.review-row { display:grid; grid-template-columns:150px 1fr; gap:24px; padding:14px 4px; border-bottom:1px solid var(--line); }.review-row span { color:var(--muted); font-size:11px; font-weight:700; }.review-row p { margin:0; font-size:13px; line-height:1.7; white-space:pre-wrap; }.notice { padding:18px 20px; margin-top:26px; background:#f0f3e7; border-left:3px solid var(--lime); }.notice.top { margin:-10px 0 30px; }.notice.warn { background:#fff3e5; border-color:#e79e45; }.notice.ok { background:#eff7e1; }.notice b { font-size:12px; }.notice p { color:var(--muted); font-size:12px; line-height:1.7; margin:7px 0 0; }
footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px clamp(24px,5vw,72px); background:var(--ink); color:#c7d0ca; font-size:11px; }
footer p { margin:0; } footer a { color:var(--lime); text-decoration:none; font-weight:800; }
@media (max-width:800px) { .hero { grid-template-columns:1fr; gap:35px; padding-top:48px; }.hero-note { border-left:0; border-top:1px solid rgba(255,255,255,.2); padding:22px 0 0; }.time-guide{grid-template-columns:1fr;width:min(100% - 28px,680px);gap:15px}.time-guide>span{padding-bottom:11px;border-bottom:1px solid var(--line)}.form-shell { grid-template-columns:1fr; gap:26px; width:min(100% - 28px,680px); margin-top:30px; }.stepper { position:static; }.stepper nav { display:flex; overflow-x:auto; padding-bottom:8px; gap:10px; }.stepper nav button { font-size:10px; flex:0 0 75px; gap:5px; flex-direction:column; align-items:flex-start; }.privacy-note { display:none; }.question-panel { padding:28px 20px; }.field-grid { grid-template-columns:1fr; }.field.wide,.consent.wide { grid-column:auto; }.pillar-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px) { .topbar { height:70px; padding:0 12px; }.brand small { display:none; }.dual-brand{gap:7px}.dual-brand>i{font-size:9px}.dual-brand .bettermove-logo{width:108px;height:auto}.dual-brand .weckmethod-logo{width:100px;height:23px}.save-button { font-size:10px; padding:8px 9px; }.toast { top:80px; left:16px; right:16px; }.hero { padding:42px 22px; }.hero h1 { font-size:38px; }.service-axis { grid-template-columns:repeat(2,max-content); }.question-panel { min-height:0; }.review-row { grid-template-columns:1fr; gap:5px; }.form-actions { flex-wrap:wrap; }.primary,.secondary,.text-button { width:100%; }.secondary,.secondary.compact { order:3; margin-right:0; }.text-button { padding:8px; }.scale { grid-template-columns:repeat(5,1fr); }.scale small { grid-column:span 5; }.scale small:last-child { text-align:right; }.direction-map { grid-template-columns:1fr; }.direction-map span:not(:last-child):after { content:"↓"; right:50%; bottom:-8px; top:auto; }.pillar-grid { grid-template-columns:1fr 1fr; } footer { align-items:flex-start; flex-direction:column; } }
@media print { .topbar,.hero,.stepper,.form-actions { display:none!important; }.form-shell { display:block; width:100%; margin:0; }.question-panel { box-shadow:none; border:0; padding:0; }.review-card { font-size:12px; } }
.team-intake-standalone{overflow-x:hidden}
.team-intake-standalone>main{overflow:visible!important;background:var(--paper)}
.team-intake-standalone .topbar{position:fixed!important;left:0;right:0;top:0;z-index:100;height:84px}
.team-intake-standalone .topbar-actions{display:flex;align-items:center;gap:10px}
.team-intake-standalone .portal-home-link{padding:10px 16px;border:1px solid var(--ink);border-radius:99px;color:var(--ink);font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}
.team-intake-standalone .hero{padding-top:154px!important}
.team-intake-standalone .hero h1{display:block!important;margin:0!important;color:#fff!important;font-size:clamp(38px,5.2vw,74px)!important;font-weight:800!important;line-height:1.15!important;letter-spacing:-.055em!important;text-transform:none!important}
.team-intake-standalone .hero h1 em{display:inline!important;color:var(--lime)!important;font:inherit!important;font-style:normal!important;letter-spacing:inherit!important;-webkit-text-stroke:0!important;text-shadow:none!important}
@media(max-width:720px){.team-intake-standalone .topbar{height:auto;min-height:112px;padding:12px 16px;flex-wrap:wrap;gap:8px}.team-intake-standalone .topbar-actions{width:100%;justify-content:space-between}.team-intake-standalone .portal-home-link,.team-intake-standalone .save-button{padding:8px 10px;font-size:10px}.team-intake-standalone .hero{padding-top:154px!important}.team-intake-standalone .hero h1{font-size:clamp(34px,10vw,48px)!important;line-height:1.15!important}}
