.page-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:52vh;padding:130px 0 50px}
.page-hero .wrap{position:relative;z-index:2;width:100%}
#bg{position:absolute;inset:0;width:100%;height:100%}
.hero-fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 80%,transparent) 45%,transparent 100%),linear-gradient(0deg,var(--bg) 0%,transparent 40%)}
.page-hero h1{font-size:clamp(40px,5.2vw,72px);line-height:1;letter-spacing:-.045em;font-weight:600;margin-top:16px;max-width:14ch}
.page-hero h1 .s{color:var(--accent)}
.page-hero .lead{margin-top:18px}

.ct-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:clamp(20px,3vw,36px);align-items:start}
.ct-form{background:var(--s1);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,34px);display:grid;gap:14px}
.ct-form h2{font-size:24px;letter-spacing:-.02em;margin:0 0 4px;max-width:none}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-form label{display:grid;gap:6px;font-size:14px;font-weight:500;color:var(--ink)}
.ct-form .opt{font-weight:400;color:var(--muted);font-size:12.5px}
.ct-form input,.ct-form select,.ct-form textarea{font:inherit;font-size:15.5px;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 13px;width:100%;transition:border-color .2s,box-shadow .2s}
.ct-form input,.ct-form select{height:46px}
.ct-form select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%235E6270' stroke-width='1.8'%3E%3Cpath d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}
.ct-form textarea{resize:vertical;min-height:130px}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ct-form .bad{border-color:#C4353A}
.ct-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.ct-acts{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;margin-top:4px}
.ct-acts .btn{border:0;cursor:pointer}
.ct-acts .btn[disabled]{opacity:.6;cursor:wait}
.ct-note{font-size:12.5px;color:var(--muted);flex:1 1 220px}
.ct-note a{text-decoration:underline;text-underline-offset:2px}
.ct-msg{font-size:15px;min-height:0}
.ct-msg.err{color:#C4353A}
.ct-form.sent{place-items:center;text-align:center;padding:60px 30px}
.ct-form.sent .ok{font-size:40px;line-height:1;color:var(--accent)}
.ct-form.sent h2{margin-top:10px}
.ct-form.sent p{color:var(--muted);max-width:40ch}

.ct-side{display:grid;gap:10px}
.ct-card{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;background:var(--s1);border:1px solid var(--line);border-radius:18px;padding:16px 18px;transition:transform .25s,border-color .25s}
.ct-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.ct-card .ic{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.ct-card b{display:block;font-weight:600;font-size:16px;letter-spacing:-.01em;word-break:break-word}
.ct-card small{display:block;font-size:13.5px;color:var(--muted);margin-top:1px}
.ct-card .go{color:var(--muted);transition:transform .2s}
.ct-card:hover .go{transform:translateX(3px);color:var(--accent)}
.ct-book{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.ct-book .ic{background:color-mix(in srgb,var(--bg) 14%,transparent);color:var(--bg)}
.ct-book small,.ct-book .go{color:color-mix(in srgb,var(--bg) 70%,transparent)}
.ct-book:hover{border-color:var(--accent);background:var(--accent)}.ct-book:hover .go{color:#fff}
.ct-where{padding:14px 4px 0;font-size:14px;color:var(--muted);line-height:1.6}
.ct-where b{display:block;color:var(--ink);font-weight:600}

.ct-next .wrap{border-top:1px solid var(--line);padding-top:clamp(40px,5vw,64px)}
.ct-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.ct-step{background:var(--s1);border:1px solid var(--line);border-radius:22px;padding:24px}
.ct-step .n{font-family:var(--serif);font-style:italic;font-size:34px;color:var(--accent);line-height:1}
.ct-step h3{font-size:19px;font-weight:600;letter-spacing:-.02em;margin-top:12px}
.ct-step p{font-size:15px;color:var(--muted);margin-top:6px}

@media (max-width:900px){.ct-grid{grid-template-columns:1fr}.ct-steps{grid-template-columns:1fr}}
@media (max-width:560px){.page-hero{min-height:0;padding:120px 0 34px}.ct-row{grid-template-columns:1fr}.ct-form{border-radius:18px}}
