:root{--ink:#493d56;--purple:#82698e;--pink:#db347c;--line:#e5dfe8;--paper:#faf8fa}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-size:14px;line-height:1.8}.test-banner{background:#f3edf6;text-align:center;padding:6px 12px;font-size:11px;letter-spacing:.08em}header{max-width:720px;margin:auto;padding:28px 24px 20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:var(--ink);font-size:25px;font-weight:600;letter-spacing:.13em}.brand span{font-size:10px;color:var(--purple);font-weight:400}main{max-width:548px;margin:0 auto;padding:26px 24px 48px}nav{display:flex;justify-content:space-between;gap:4px;font-size:10px;border-bottom:1px solid var(--line);margin-bottom:32px}nav span{padding-bottom:12px;color:#9b919f}nav .active{color:var(--pink);border-bottom:2px solid var(--pink)}h1{font-size:23px;font-weight:500;line-height:1.6;margin:0 0 12px}h2{font-size:18px;font-weight:500;margin:0 0 8px}.eyebrow{color:var(--purple);font-size:11px;letter-spacing:.15em}.muted{font-size:12px;color:#837889}.tabs{display:flex;gap:8px;margin:24px 0 18px}.tabs button{background:white;border:1px solid var(--line);color:var(--ink);padding:8px 25px}.tabs .selected{background:var(--purple);color:white;border-color:var(--purple)}.lesson{border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:1fr auto;gap:12px}.date{color:var(--purple);font-size:13px}.title{font-size:17px;margin:6px 0}.trainer{font-size:12px;display:flex;align-items:center;gap:7px}.avatar{background:var(--paper);border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:inline-grid;place-items:center}.lesson-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:12px}.remaining{font-size:11px;color:var(--pink)}button,.button{font:inherit;cursor:pointer;border:0;border-radius:0;padding:12px 20px;background:var(--pink);color:#fff;display:inline-block;text-decoration:none;text-align:center}button:disabled{opacity:.45;cursor:wait}.wide{width:100%;margin-top:16px}.secondary{background:white;border:1px solid var(--line);color:var(--purple)}.summary{background:var(--paper);padding:20px;margin:24px 0}.summary p{margin:4px 0}.price{font-size:23px}.field{display:flex;flex-direction:column;gap:6px;margin:18px 0}.field label{font-size:12px}.field input,.field select{width:100%;padding:12px;border:1px solid #cfc6d4;background:white;color:var(--ink);font:inherit;border-radius:0}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.terms{height:130px;overflow:auto;background:var(--paper);border:1px solid var(--line);padding:15px;font-size:12px}.consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-size:12px}.consent input{margin-top:6px}.success{font-size:42px;color:var(--purple);margin:20px 0}#error{color:#b8234c;font-size:13px}.note{font-size:12px;border-left:2px solid var(--purple);padding:5px 14px;margin:20px 0}footer{max-width:650px;margin:0 auto;padding:24px;text-align:center;border-top:1px solid var(--line);font-size:11px;color:#837889}a{color:var(--purple)}@media(max-width:380px){main{padding:20px 16px}.row{grid-template-columns:1fr}.lesson{gap:6px}.lesson-side button{padding:10px 12px}h1{font-size:21px}}
/* Keep form controls inside narrow screens and avoid iOS input auto-zoom. */
main{width:100%;overflow-wrap:anywhere}.field,.row>*{min-width:0}.field input,.field select{min-width:0;max-width:100%;font-size:16px}
.required{color:var(--pink);font-size:10px;margin-left:8px}.field input[readonly]{background:var(--paper)}.terms{height:220px;overscroll-behavior:contain;scrollbar-gutter:stable}.terms h3{font-size:13px;margin:18px 0 6px}.terms h3:first-child{margin-top:0}.terms p{margin:6px 0 12px}.consent{font-size:13px}.consent input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--pink)}button:disabled{cursor:not-allowed}.has-coupon{padding-bottom:calc(110px + env(safe-area-inset-bottom))}.coupon-banner{position:fixed;z-index:20;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:548px;border-top:2px solid var(--pink);background:#fff5f9;color:var(--ink);padding:12px 24px calc(12px + env(safe-area-inset-bottom));overflow-wrap:anywhere}.coupon-banner div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.coupon-banner span{font-size:11px}.coupon-banner strong{color:var(--pink);font-size:17px;letter-spacing:.06em}.coupon-banner p{font-size:11px;margin:3px 0 0}dialog{max-width:calc(100vw - 40px);width:430px;border:1px solid var(--line);border-top:3px solid var(--pink);border-radius:0;padding:28px;color:var(--ink);background:white}dialog::backdrop{background:rgb(38 25 44 / 45%)}dialog p{font-size:14px}dialog h2{font-size:18px}
.name-group{min-width:0;border:0;padding:0;margin:18px 0}.name-group legend{padding:0;font-size:12px;margin-bottom:6px}.name-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.name-fields .field{margin:0;min-width:0}.name-fields .field label{font-size:11px;color:var(--purple)}.name-fields .required{display:none}
.confirmation-status{color:var(--purple);padding:12px 0;border-bottom:2px solid var(--line);font-weight:600}.confirmation-section{padding:24px 0;border-bottom:1px solid var(--line)}.confirmation-section h2{color:var(--purple)}.confirmation-section p,.confirmation-section ul{font-size:13px}.confirmation-details{margin:16px 0 0}.confirmation-details>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:10px 0;border-top:1px solid var(--line)}.confirmation-details dt{color:#837889;font-size:12px}.confirmation-details dd{margin:0;overflow-wrap:anywhere}.confirmation-section a{font-size:12px}
/* Readable type across the booking flow, including narrow phone screens. */
.split-group{border:0;min-width:0;padding:0;margin:24px 0}.split-group legend{font-size:16px;padding:0}.birthday-fields{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px}.birthday-fields .field{margin:8px 0 0;min-width:0}.birthday-fields select{padding-left:8px;padding-right:4px}.birthday-fields .field label{font-size:14px}.postal-fields{display:flex;align-items:center;gap:10px;margin-top:8px}.postal-fields .field{margin:0;max-width:110px}.postal-fields .field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.postal-fields .required{display:none}.address-group .field{margin:16px 0}.address-group select{max-width:240px}input::placeholder{color:#8d8692;opacity:1}select:disabled{opacity:1;color:var(--ink);background:var(--paper)}
.gender-group{border:0;padding:0;margin:24px 0;min-width:0}.gender-group legend{padding:0;font-size:16px}.gender-options{display:flex;gap:32px;margin-top:8px}.gender-options label{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-size:18px}.gender-options input{width:22px;height:22px;margin:0;accent-color:var(--pink)}
body{font-size:16px;line-height:1.85}.test-banner{font-size:12px;letter-spacing:.02em}nav{font-size:12px;gap:8px}nav span{min-width:0}h1{font-size:26px}h2{font-size:21px}.eyebrow{font-size:13px}.muted,.note{font-size:15px;color:#71647a}.field{gap:8px;margin:24px 0}.field label,.name-group legend{font-size:16px}.name-fields .field label{font-size:15px}.field input,.field select{font-size:18px;min-height:52px}.required{font-size:12px}.terms{height:260px;font-size:15px;line-height:1.9}.terms h3{font-size:16px}.consent{font-size:16px;gap:12px}.consent input{width:22px;height:22px}button,.button{min-height:48px;font-size:16px}.date,.trainer{font-size:15px}.title{font-size:19px}.remaining{font-size:14px}.price{font-size:26px}#error{font-size:16px}footer{font-size:14px}.has-coupon{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.coupon-banner span,.coupon-banner p{font-size:14px}.coupon-banner strong{font-size:19px}.confirmation-section p,.confirmation-section ul{font-size:16px}.confirmation-section a,.confirmation-details dt{font-size:15px}.confirmation-details dd{font-size:16px}.confirmation-details>div{grid-template-columns:100px minmax(0,1fr);padding:13px 0}dialog p{font-size:16px}dialog h2{font-size:21px}@media(max-width:380px){h1{font-size:24px}nav{font-size:11px;gap:5px}.summary{padding:16px}}
.birthday-fields .field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.field select{-webkit-appearance:none;appearance:none;background-color:white;background-image:linear-gradient(45deg,transparent 50%,var(--purple) 50%),linear-gradient(135deg,var(--purple) 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 13px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding:12px 34px 12px 12px;line-height:1.5;min-height:54px}.field select:disabled{background-color:var(--paper)}
#error{white-space:pre-line}#error a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.name-fields .field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
nav{display:block;border:0;margin-bottom:32px}.flow-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;list-style:none;padding:0;margin:0;gap:8px}.flow-steps::before{content:"";position:absolute;top:24px;left:12.5%;right:12.5%;height:1px;background:var(--line)}.flow-step{position:relative;display:flex;align-items:center;flex-direction:column;gap:10px;color:#837889;min-width:0}.flow-steps span{padding:0;border:0;color:inherit}.flow-steps .step-number{display:grid;place-items:center;width:48px;height:48px;border:1px solid #c9bfce;border-radius:50%;background:white;font-size:19px;font-weight:600;line-height:1}.flow-steps .step-label{font-size:16px;line-height:1.5;text-align:center;white-space:nowrap}.flow-step.active{border:0;color:var(--pink)}.flow-step.active .step-number{background:var(--pink);border-color:var(--pink);color:white}.flow-step.active .step-label{font-weight:600}#postal-status:empty{display:none}@media(max-width:420px){.flow-steps{gap:4px}.flow-steps .step-label{font-size:14px}.flow-steps .step-number{width:44px;height:44px;font-size:18px}.flow-steps::before{top:22px}}
.brand{justify-content:center}.brand img{display:block;width:220px;max-width:80%;height:auto}
.flow-steps a.step-number{color:var(--purple);text-decoration:none;cursor:pointer;border-color:var(--purple)}.flow-step.active a.step-number{color:white}.flow-steps a.step-number:hover{background:var(--paper)}.flow-steps a.step-number:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
/* Match the LP Q&A ink and lavender palette on the application screens. */
:root{--ink:#212529;--purple:#a590dd;--pink:#eb2180;--line:#a590dd;--paper:#f0ecfb}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;color:var(--ink)}
h1,h2,h3{color:var(--ink);font-weight:600}
.field label,fieldset legend,.gender-options label,.consent,.summary .date,.trainer,.muted,.note,.terms,footer,.confirmation-details dt{color:var(--ink)}
.name-fields .field label,.confirmation-section h2,.confirmation-status{color:var(--ink)}
.field label,fieldset legend{font-weight:500}
.field input,.field select{border:2px solid #adb5bd;color:var(--ink)}
.field input:focus,.field select:focus{border-color:#6c757d;outline:2px solid #adb5bd;outline-offset:2px}
.field input::placeholder{color:#6c757d;opacity:1}
.field select:disabled{opacity:1;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.secondary{border:2px solid var(--purple);color:var(--ink);font-weight:500}
.secondary:hover{background:var(--paper)}
.flow-step{color:var(--ink)}
.flow-steps .step-number{border:2px solid var(--purple);color:var(--ink)}
.flow-steps a.step-number{color:var(--ink)}
.flow-steps::before{height:2px;background:var(--purple)}
.flow-step.active .step-number{color:#fff}
.flow-step.active .step-label{color:var(--pink)}
a{color:#675094}
.button{color:#fff}.button.secondary{color:var(--ink)}
.coupon-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.coupon-controls button{white-space:nowrap;min-width:76px}
#coupon-feedback{margin:0;font-size:15px;line-height:1.7}
#coupon-feedback:empty{display:none}#coupon-feedback.invalid{color:#b8234c}
.price-preview{padding:16px;background:var(--paper);border-left:3px solid var(--purple);line-height:1.8}
.price-preview strong{font-size:23px}
.referral-details{margin:24px 0}
.referral-details>summary{display:block;min-height:48px;padding:9px 0;cursor:pointer;list-style:none;font-weight:600;color:var(--ink)}
.referral-details>summary::-webkit-details-marker{display:none}
.referral-details>summary>span:first-child{text-decoration:underline;text-underline-offset:4px}
.referral-details>summary:focus-visible{outline:2px solid var(--purple);outline-offset:4px}
.referral-arrow{display:inline-block;font-size:13px}
.referral-details[open] .referral-arrow{transform:rotate(180deg)}
.referral-content{padding-top:8px}
.summary .after-lesson-notice{color:#c62828;font-weight:600;margin-top:12px}
.confirmation-section .after-lesson-notice{color:#c62828;font-weight:600}
.support-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;margin:16px 0}
.support-links a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:3px}
.support-section a{display:inline-flex;align-items:center;min-height:44px}
