/* kaisho · buyer pages (/thanks/<template>). Builds on work/assets/case.css; form fields follow the contact form in site.css. */
.u{color:var(--acc);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.u:hover{text-decoration-thickness:2px}
.bu-files,.bu-steps,.bu-note{padding:clamp(28px,4vw,56px) var(--pad);border-top:1px solid rgba(var(--fg-rgb),.1)}
.bu-files .eyebrow,.bu-steps .eyebrow{margin-bottom:22px}
.bu-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(12px,1.6vw,20px);max-width:1180px}
.bu-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:clamp(22px,2.6vw,32px);border-radius:26px;background:linear-gradient(160deg,rgba(var(--fg-rgb),.1),rgba(var(--fg-rgb),.03));border:1px solid rgba(var(--fg-rgb),.14);box-shadow:inset 0 1px 0 rgba(var(--fg-rgb),.14)}
.bu-card h3{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(22px,2.2vw,28px);letter-spacing:-.03em}
.bu-card p{margin:0 0 18px;font-size:15px;line-height:1.6;opacity:.68;max-width:34ch}
.bu-card .btn{margin-top:auto}
.bu-card-hl{border-color:rgba(var(--acc-rgb),.45);background:linear-gradient(160deg,rgba(var(--acc-rgb),.16),rgba(var(--acc-rgb),.04))}
.bu-steps ol{max-width:640px;margin:0;padding-left:1.3em;font-size:16px;line-height:1.7;opacity:.78}
.bu-steps li{margin:0 0 12px}
.bu-lead{max-width:520px;margin:18px 0 22px;font-size:16px;line-height:1.65;opacity:.72}
.bu-bullets{max-width:520px;margin:0 0 22px;padding-left:1.3em;font-size:15px;line-height:1.7;opacity:.72}
.bu-bullets li{margin:0 0 6px}
.bu-small{margin:18px 0 0;font-size:14px;opacity:.6}
.bu-note p{max-width:640px;margin:0;font-size:14.5px;line-height:1.7;opacity:.62}

/* intake form */
.bu-start{padding:clamp(40px,6vw,88px) var(--pad);border-top:1px solid rgba(var(--fg-rgb),.1)}
.bu-start-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:start;max-width:1280px}
.bu-intro{position:sticky;top:110px}
.bu-intro .pill{margin-bottom:22px}
.bu-intro p{margin:20px 0 0;max-width:430px;font-size:16px;line-height:1.6;opacity:.78}
.kc-facts{display:flex;flex-direction:column;margin:30px 0 0;border-top:1px solid rgba(var(--fg-rgb),.2);max-width:400px}
.kc-facts div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(var(--fg-rgb),.2);font-size:14.5px}
.kc-facts dt{font:10px/1.6 'Geist',system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;opacity:.72}
.kc-facts dd{margin:0;text-align:right}
.kc-panel{position:relative;padding:clamp(22px,2.6vw,34px);border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(26px) saturate(1.2);-webkit-backdrop-filter:blur(26px) saturate(1.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 30px 80px -30px rgba(0,0,0,.6);text-align:left}
.kc-form{display:flex;flex-direction:column;gap:34px}
.bu-group{display:flex;flex-direction:column;gap:30px}
.bu-step{margin:0;font:11px/1 'Geist',system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--acc)}
.kc-row{display:grid;grid-template-columns:1fr 1fr;gap:30px 14px}
.kc-field{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}
.kc-label{font:10px/1.5 'Geist',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,241,234,.6)}
.kc-label i{font-style:normal;letter-spacing:.04em;text-transform:none;opacity:.75}
.kc-input{width:100%;box-sizing:border-box;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(10,9,8,.32);color:#f4f1ea;font:15px/1.4 'Manrope',system-ui,sans-serif;outline:none;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;-webkit-appearance:none;appearance:none}
.kc-input::placeholder{color:rgba(244,241,234,.38)}
.kc-input:hover{border-color:rgba(255,255,255,.28)}
.kc-input:focus{border-color:#ffb687;background:rgba(10,9,8,.45);box-shadow:0 0 0 4px rgba(255,182,135,.16)}
select.kc-select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23f4f1ea' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;cursor:pointer}
select.kc-select option{background:#14120f;color:#f4f1ea}
textarea.kc-input{min-height:96px;resize:vertical;line-height:1.55}
.kc-field[data-invalid] .kc-input{border-color:#ff9b85;box-shadow:0 0 0 4px rgba(255,155,133,.14)}
.kc-err{position:absolute;left:2px;right:0;top:calc(100% + 5px);font:12px/1.3 'Geist',system-ui,sans-serif;color:#ffb3a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(-3px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.kc-field[data-invalid] .kc-err{opacity:1;transform:none}
.kc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media (pointer:fine){.bu-start input,.bu-start textarea{cursor:text}.bu-start label,.bu-start button{cursor:pointer}}

/* consent checkbox, same chip language as the contact form */
.bu-consent{position:relative;display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:16px;border:1px solid rgba(255,255,255,.16);background:rgba(10,9,8,.25);font-size:13.5px;line-height:1.55;color:rgba(244,241,234,.82)}
.bu-consent input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.bu-box{flex:none;width:20px;height:20px;margin-top:1px;border-radius:7px;border:1px solid rgba(255,255,255,.4);background:rgba(10,9,8,.3);transition:background .25s ease,border-color .25s ease}
.bu-consent input:checked + .bu-box{background:#f4f1ea;border-color:#f4f1ea;box-shadow:inset 0 0 0 4px #c45c2e}
.bu-consent input:focus-visible + .bu-box{box-shadow:0 0 0 4px rgba(255,182,135,.3)}
.bu-consent[data-invalid]{border-color:#ff9b85;box-shadow:0 0 0 4px rgba(255,155,133,.14)}
.bu-consent-err{display:none;position:static;white-space:normal;margin-top:-22px}
.bu-consent-err.on{display:block;opacity:1;transform:none}

.kc-foot{display:flex;align-items:center;justify-content:space-between;gap:16px}
.kc-note{flex:1 1 auto;min-width:0;margin:0;display:flex;align-items:center;font:12.5px/1.45 'Geist',system-ui,sans-serif;color:rgba(244,241,234,.55);max-width:250px}
.kc-status{display:none;color:#ffb3a3;max-width:none}
.kc-panel[data-state="error"] .kc-status{display:flex}
.kc-panel[data-state="error"] .kc-note:not(.kc-status){display:none}
.kc-send{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;padding:16px 28px;border:1px solid rgba(255,255,255,.14);border-radius:100px;background:#f4f1ea;color:#0b0a09;font:500 14px/1 'Geist',system-ui,sans-serif;transition:transform .3s ease,opacity .3s ease,background .3s ease}
.kc-send:hover{transform:translateY(-2px);background:#ffb687}
.kc-send:focus-visible{outline:2px solid #ffb687;outline-offset:3px}
.kc-send .kc-arrow{transition:transform .3s ease}
.kc-send:hover .kc-arrow{transform:translateX(3px)}
.kc-spin{display:none;width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(11,10,9,.3);border-top-color:#0b0a09;animation:kc-spin .7s linear infinite}
.kc-panel[data-state="sending"] .kc-spin{display:block}
.kc-panel[data-state="sending"] .kc-arrow{display:none}
.kc-panel[data-state="sending"] .kc-send{opacity:.75;pointer-events:none}
@keyframes kc-spin{to{transform:rotate(360deg)}}
.kc-done{display:none;flex-direction:column;align-items:flex-start;gap:14px;min-height:380px;justify-content:center}
.kc-done p{margin:0;max-width:44ch;font-size:15.5px;line-height:1.65;opacity:.78}
.bu-done-title{margin:0;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(30px,3.6vw,46px);line-height:1.05;letter-spacing:-.035em}
.bu-done-title:focus{outline:none}
.kc-panel[data-state="done"] .kc-form{display:none}
.kc-panel[data-state="done"] .kc-done{display:flex;animation:kc-in .7s cubic-bezier(.215,.61,.355,1)}
@keyframes kc-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.kc-tick{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f4f1ea;color:#0b0a09;font-size:18px}

@media (max-width:900px){.bu-start-in{grid-template-columns:1fr}.bu-intro{position:static}}
@media (max-width:560px){.kc-row{grid-template-columns:1fr;row-gap:30px}.kc-foot{flex-direction:column-reverse;align-items:stretch}.kc-send{width:100%}.kc-note{max-width:none;justify-content:center;text-align:center}.kc-done{min-height:300px}}
@media (prefers-reduced-motion:reduce){.kc-panel[data-state="done"] .kc-done,.kc-spin{animation:none}}
.bu-cover{padding-bottom:clamp(28px,4vw,56px)}

/* /customization: public page that sells Template Customization on its own */

.of-proof{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.6vw,20px)}
.of-proof .cover-frame{margin:0}
.of-n{font:11px/1 'Geist',system-ui,sans-serif;letter-spacing:.16em;color:var(--acc)}
.of-list{max-width:760px;columns:2;column-gap:48px;padding-left:1.2em}
.of-list li{break-inside:avoid}
.of-faq details{max-width:720px;border-top:1px solid rgba(var(--fg-rgb),.14);padding:18px 0}
.of-faq details:last-of-type{border-bottom:1px solid rgba(var(--fg-rgb),.14)}
.of-faq summary{cursor:pointer;list-style:none;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:500;font-size:clamp(18px,1.8vw,22px);letter-spacing:-.02em;display:flex;justify-content:space-between;gap:16px}
.of-faq summary::-webkit-details-marker{display:none}
.of-faq summary::after{content:"+";opacity:.6;transition:transform .25s ease}
.of-faq details[open] summary::after{transform:rotate(45deg)}
.of-faq details p{margin:12px 0 0;max-width:60ch;font-size:15.5px;line-height:1.65;opacity:.72}
.of-final{padding-bottom:clamp(56px,8vw,120px)}
@media (max-width:700px){.of-proof{grid-template-columns:1fr}.of-list{columns:1}}
.of-hero .top{flex-direction:column;align-items:flex-start;gap:0}
.of-side{display:flex;flex-direction:column;align-items:flex-start;margin-top:28px}
.of-side p{max-width:520px;font-size:17px}
.of-side .of-cta{margin:26px 0 0;opacity:1}
.of-side .bu-small{margin:16px 0 0;font-size:14px}
.bu-steps .h2+.bu-bullets{margin-top:26px}
