:root{--purple:#260079;--ink:#242232;--light:#f2eef8;--border:#c7bddc}*{box-sizing:border-box}body{margin:0;background:#faf9fd;color:var(--ink);font:16px/1.6 system-ui,sans-serif}header{background:white;border-bottom:5px solid transparent;border-image:linear-gradient(90deg,#7800ba,#0062aa,#00a5a8,#ffd300,#08a83b,#ff8b00,#ef1800,#ed008c) 1;padding:16px max(20px,calc((100vw - 1080px)/2))}header img{width:min(540px,100%);height:auto;display:block}main{max-width:1080px;padding:30px 24px 50px;margin:auto}.intro{display:grid;grid-template-columns:2fr 1fr;gap:36px;align-items:center}.eyebrow{letter-spacing:.15em;font-weight:700;font-size:14px;color:var(--purple);margin:0}h1{font-size:clamp(27px,4vw,40px);line-height:1.2;margin:8px 0 16px;color:var(--purple)}h2{color:var(--purple);font-size:25px}h3{color:var(--purple);font-size:17px;margin-bottom:4px}p{margin-top:0}aside{border-left:4px solid #ed008c;background:var(--light);padding:20px;font-size:14px}.draft{border:1px solid #c7bddc;background:white;padding:12px 18px;margin:20px 0;font-size:14px}nav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0 18px}button,.button{border:1px solid var(--purple);border-radius:7px;background:white;color:var(--purple);padding:12px 20px;font:600 16px system-ui;cursor:pointer;text-decoration:none;display:inline-block}nav button[aria-current=true],button.primary{background:var(--purple);color:white}button:hover,.button:hover{filter:brightness(.9)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ff8b00;outline-offset:3px}article{background:white;border:1px solid var(--border);border-radius:12px;padding:32px}article h2{margin-top:0}.toprow{display:flex;justify-content:space-between;align-items:start;gap:20px}.toprow .button{font-size:14px;white-space:nowrap}details{border:1px solid var(--border);border-radius:8px;background:#fcfbfe;margin:18px 0 26px}summary{padding:16px;font-weight:700;color:var(--purple);cursor:pointer}.terms{padding:0 20px 10px}.terms section{margin-bottom:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600}.field.wide{grid-column:1/-1}input,textarea{width:100%;border:1px solid #a89bbf;border-radius:5px;background:white;color:var(--ink);padding:11px;font:16px system-ui}textarea{resize:vertical;min-height:90px}.sign{margin-top:25px;padding:24px;background:var(--light);border-radius:8px}.check{display:flex;gap:12px;margin:0 0 20px;font-size:15px;align-items:flex-start}.check input{width:20px;height:20px;flex-shrink:0;margin-top:4px;accent-color:var(--purple)}.actions{display:flex;gap:14px;align-items:center;margin-top:20px;flex-wrap:wrap}#error{color:#a40022;font-weight:600}#success{padding:24px;border:2px solid #008a82;background:#eef9f8;border-radius:10px;margin-top:20px}footer{font-size:14px;text-align:center;padding-top:30px;color:#655879}a{color:var(--purple)}[hidden]{display:none!important}@media(max-width:640px){main{padding:22px 16px}.intro,.grid{grid-template-columns:1fr}.intro{gap:10px}article{padding:20px}.toprow{display:block}.toprow .button{margin-bottom:10px}nav button{flex:1;font-size:14px;padding:10px}.sign{padding:16px}}

select{width:100%;border:1px solid #a89bbf;border-radius:5px;background:white;color:var(--ink);padding:11px;font:16px system-ui;min-height:44px}select:focus-visible{outline:3px solid #ff8b00;outline-offset:3px}.field-note{font-size:14px;font-weight:400;margin-top:10px}.price-tag{padding:8px 14px;background:#eef9f8;color:#006d65;border:1px solid #8ac5bf;border-radius:6px;font-weight:700;white-space:nowrap}.support-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.support-card{border:1px solid var(--border);border-top:5px solid #0062aa;border-radius:8px;padding:24px}.research-card{border-top-color:#ed008c}.support-card h3{margin-top:0;font-size:21px}.checkout-status{background:var(--light);padding:12px;border-radius:6px;font-weight:600;color:var(--purple)}.primary-link{background:var(--purple);color:white}#booking-review{padding:22px;background:#eef9f8;border:1px solid #008a82;border-radius:8px;margin-top:22px}#booking-review textarea{min-height:230px}#booking-error{color:#a40022;font-weight:600}@media(max-width:640px){.support-grid{grid-template-columns:1fr}.price-tag{display:inline-block;margin-bottom:16px}.support-card{padding:20px}}
