:root{--paper:#f8f5ee;--ink:#343c32;--muted:#777d70;--green:#536747;--line:#dfdfd2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}header{max-width:1100px;margin:auto;padding:28px 36px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}a{color:var(--green);text-underline-offset:5px}.brand{font:38px Georgia,serif;text-decoration:none;letter-spacing:-2px;color:var(--ink)}.brand span{color:#b48759;font-size:25px;vertical-align:top;margin-left:5px}.header-note{font-size:12px;color:var(--muted)}main{max-width:1000px;margin:0 auto;padding:58px 36px 40px;min-height:76vh}.narrow{max-width:650px;margin:auto}.intro{text-align:center;padding:5px 0 35px}.flower{font-size:85px;line-height:1.4;color:#b58c62}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--green);margin-bottom:22px}h1{font:normal clamp(45px,7vw,76px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-2.5px;margin:20px 0 25px}h1 em{font-weight:normal;color:var(--green)}h1.question{font-size:clamp(34px,5vw,49px);line-height:1.16;letter-spacing:-1.3px;margin-top:36px}h2{font:normal 25px/1.35 Georgia,serif;margin:0 0 18px}.lead{color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:30px}.card{padding:27px 30px;border:1px solid var(--line);border-radius:18px;background:#fffdf8;margin:20px 0}.small{max-width:520px;margin:35px auto 0}.small p{margin:0}.step{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.progress{height:3px;background:#e5e6dc;margin-top:13px}.progress div{height:3px;background:var(--green)}label{display:block;font-size:13px;margin:12px 0}textarea{width:100%;resize:vertical;min-height:190px;font-family:inherit;font-size:17px;line-height:1.7;padding:22px;background:#fffdf8;border:1px solid #d7dacb;border-radius:15px;color:var(--ink)}textarea:focus{outline:2px solid #94a17e;outline-offset:3px}.muted{color:var(--muted);font-size:13px}.actions{display:flex;align-items:center;gap:22px;margin-top:25px}button{cursor:pointer;font:inherit}.primary{border:0;background:var(--green);color:white;padding:15px 25px;border-radius:50px;font-size:15px;display:inline-flex;gap:38px;justify-content:space-between;align-items:center}.primary:hover{background:#405438}.text-button{border:0;background:transparent;color:var(--muted);font-size:13px;padding:10px}.back{display:inline-block;margin-top:24px;font-size:13px}aside{border-top:1px solid var(--line);margin-top:45px;padding-top:22px;color:var(--muted);font-size:13px;max-width:650px}.consent{display:flex;align-items:flex-start;gap:12px;margin:30px 0 23px}.consent input{margin-top:6px;accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.answer{white-space:pre-wrap;overflow-wrap:anywhere}.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pair .card{margin:0}.pair .card:nth-child(2){background:#eef0e7}.result{margin:45px 0}.result-title{display:flex;gap:20px}.number{color:#9a9c8d;font:22px Georgia,serif}.errorlist{color:#a04336;font-size:14px;padding-left:20px}footer{text-align:center;color:#929586;font-size:11px;letter-spacing:1px;padding:30px}.breathe{animation:breathe 4s ease-in-out infinite}@keyframes breathe{50%{opacity:.6;transform:scale(.94)}}@media(prefers-reduced-motion:reduce){.breathe{animation:none}}@media(max-width:600px){header{padding:20px 22px}main{padding:35px 22px}.pair{grid-template-columns:1fr}.card{padding:22px}.actions{gap:10px;flex-wrap:wrap}h1{letter-spacing:-1.5px}.header-note{font-size:10px}.intro{padding-top:15px}}.phase-heading{margin-top:55px;padding-top:25px;border-top:1px solid var(--line);color:var(--green)}
.brand span{display:inline-flex;vertical-align:top;margin-top:3px}
.brand svg{width:20px;height:20px;flex:none}
.flower{display:flex;justify-content:center;align-items:center;min-height:119px}
.flower svg{display:block;width:56px;height:56px;flex:none}
@media(max-width:600px){
  .intro{padding-top:0}
  .intro .flower{min-height:86px}
  .intro .flower svg{width:48px;height:48px}
  .intro .lead{font-size:16px;line-height:1.7}
  .intro .lead br{display:none}
  .intro .small{margin-top:28px}
}
