.companion-hero{display:grid;grid-template-columns:1.35fr .8fr;gap:70px;align-items:center;padding-top:65px;padding-bottom:70px}.companion-hero h1{font-size:clamp(40px,4.4vw,65px)}.companion-hero p:not(.eyebrow){max-width:540px;margin:25px 0}.companion-hero img{height:480px;object-position:50% 40%;border-radius:150px 150px 4px 4px}.companion-hero .text-link{display:block;margin-top:18px}.selection{padding-bottom:90px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:35px}.choice-card{border:1px solid var(--line);border-radius:5px;padding:30px;display:flex;flex-direction:column;align-items:flex-start}.choice-card:nth-child(1),.choice-card:nth-child(2){background:var(--sage)}.choice-card h3{font-size:29px;margin-bottom:15px}.choice-card p{margin-bottom:24px}.choice-card strong{font:32px Georgia,serif;margin-top:auto}.choice-card small{display:block;margin:8px 0 20px;color:var(--muted)}.request-section{background:#eceee5;padding:80px 0}.request-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.request-layout h2{margin-bottom:25px}.request-layout ol{padding-left:20px;margin:25px 0}.request-layout li{padding:6px 0}form{background:var(--paper);padding:35px;border-radius:6px}form>label{display:block;font-weight:600;margin:20px 0 8px}form>label:first-child{margin-top:0}form label span{font-weight:400}form input:not([type=checkbox]),form select,form textarea{width:100%;font:inherit;color:var(--ink);background:white;border:1px solid #aeb8a9;border-radius:3px;padding:12px;box-sizing:border-box}form textarea{resize:vertical}form :focus-visible{outline:3px solid #718360;outline-offset:3px}.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.6}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.consent a{text-decoration:underline}form .button{margin-top:16px;cursor:pointer;width:100%}.form-note{font-size:12px;color:var(--muted);margin-top:14px}#handoff{margin-top:24px;border-top:1px solid var(--line);padding-top:20px}#prepared-message{margin-top:16px;min-height:170px;font-size:13px}#whatsapp-link{display:inline-block;margin-top:12px}@media(max-width:850px){.companion-hero{gap:30px;grid-template-columns:1fr 1fr}.request-layout{gap:30px;grid-template-columns:1fr}.companion-hero img{height:400px}}@media(max-width:600px){.companion-hero{grid-template-columns:1fr;padding-top:35px;gap:25px}.companion-hero img{height:350px;max-width:350px;margin:auto}.choice-grid{grid-template-columns:1fr}.choice-card{padding:24px}.request-section{padding:45px 0}form{padding:22px}.selection{padding-bottom:50px}.companion-hero h1{font-size:43px}}

.request-calendar{margin:1.6rem 0;padding:1.2rem;border:1px solid #bac5bb;border-radius:14px;background:#f7f4ee;min-width:0}.request-calendar h3{margin:0 0 .8rem}.request-calendar p,.request-calendar li{font-size:.95rem;line-height:1.6}.request-calendar details{margin:1rem 0}.request-calendar summary{cursor:pointer;font-weight:600}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin:1.2rem 0}.calendar-top button{width:44px;height:44px;border:1px solid #bac5bb;border-radius:50%;background:white;color:#354d42;cursor:pointer}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar-weekdays{font-size:.8rem;margin-bottom:.5rem}.calendar-days button{height:44px;min-width:0;padding:0;border:1px solid #bac5bb;border-radius:8px;background:white;color:#354d42;font:inherit;cursor:pointer}.calendar-days button[aria-pressed="true"]{background:#354d42;color:white;border-color:#354d42}.calendar-days button[aria-current="date"]{box-shadow:inset 0 0 0 1px #354d42}.calendar-days button:disabled,.calendar-top button:disabled{opacity:.3;cursor:default}.calendar-days button:focus-visible,.calendar-top button:focus-visible{outline:3px solid #a16941;outline-offset:2px}.session-summary{padding:.75rem;border-left:3px solid #354d42}.request-calendar .text-link{background:none;border:0;text-decoration:underline;cursor:pointer;color:#354d42;text-align:left;padding:0}.request-calendar input,.request-calendar select{max-width:100%;box-sizing:border-box}@media(max-width:400px){.request-calendar{padding:.7rem}.calendar-days{gap:2px}}
