.trwb{--b-ink:#1b1b1b;--b-mute:#5d5b56;--b-line:rgba(27,27,27,.13);--b-bg:#f7f6f2;--b-card:#fff;--b-green:#0f3a2c;--b-gold:#b9a27a;font-family:Inter,system-ui,sans-serif;color:var(--b-ink);font-size:16px;line-height:1.55;position:relative}
.trwb *{box-sizing:border-box}
.trwb.is-busy{cursor:progress}.trwb.is-busy .trwb-main{opacity:.55;pointer-events:none;transition:opacity .2s}
.trwb-eyebrow{font-family:"DM Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--b-mute)}
.trwb-h{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(32px,3.6vw,52px);line-height:1.02;letter-spacing:-.01em;margin:0 0 28px}
.trwb-h em{font-style:italic}
.trwb-steps{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--b-line)}
.trwb-steps li button{all:unset;display:flex;gap:10px;align-items:baseline;padding:14px 0 0;font-size:14px;color:var(--b-mute);cursor:pointer;border-top:2px solid transparent;margin-top:-1px;width:100%}
.trwb-steps li button[disabled]{cursor:default}
.trwb-steps li span{font-family:"DM Mono",monospace;font-size:11px}
.trwb-steps li.is-on button{color:var(--b-ink);border-top-color:var(--b-ink)}
.trwb-steps li.is-done button{color:var(--b-ink)}
.trwb-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(24px,4vw,64px);align-items:start}
.trwb-sum{position:sticky;top:110px;background:var(--b-card);border:1px solid var(--b-line);border-radius:18px;padding:26px}
.trwb-sum dl{margin:16px 0 0}.trwb-sum dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--b-line);font-size:14px}
.trwb-sum dt{color:var(--b-mute)}.trwb-sum dd{margin:0;text-align:right}.trwb-sum small{color:var(--b-mute)}
.trwb-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:18px}.trwb-total strong{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500}
.trwb-fine{font-size:12.5px;color:var(--b-mute);margin:14px 0 0}
.trwb-svcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.trwb-svc{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--b-line);border-radius:18px;background:var(--b-card);cursor:pointer;transition:border-color .25s,transform .25s,box-shadow .25s;min-height:220px}
.trwb-svc:hover{box-shadow:0 18px 40px -24px rgba(0,0,0,.35)}
.trwb-svc.is-on{border-color:var(--b-ink);box-shadow:inset 0 0 0 1px var(--b-ink)}
.trwb-svc:focus-visible,.trwb-day:focus-visible,.trwb-slot:focus-visible,.trwb-btn:focus-visible{outline:2px solid var(--b-green);outline-offset:2px}
.trwb-svc__cat{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--b-mute)}
.trwb-svc__name{font-family:"Cormorant Garamond",serif;font-size:26px;line-height:1.08}
.trwb-svc__desc{font-size:14px;color:var(--b-mute);flex:1}
.trwb-svc__meta{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--b-line);padding-top:12px;font-size:14px}.trwb-svc__meta strong{font-size:18px}
.trwb-cal{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px}
.trwb-month,.trwb-slots{background:var(--b-card);border:1px solid var(--b-line);border-radius:18px;padding:20px}
.trwb-mhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.trwb-mhead strong{font-family:"Cormorant Garamond",serif;font-size:24px;font-weight:500}
.trwb-mhead button{all:unset;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--b-line);cursor:pointer}.trwb-mhead button[disabled]{opacity:.3;cursor:default}
.trwb-dow,.trwb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.trwb-dow span{font-family:"DM Mono",monospace;font-size:10.5px;letter-spacing:.1em;color:var(--b-mute);padding:6px 0;text-transform:uppercase}
.trwb-day{all:unset;aspect-ratio:1;display:grid;place-items:center;border-radius:12px;font-size:15px;cursor:pointer;transition:background .2s}
.trwb-day:not([disabled]):hover{background:var(--b-bg)}
.trwb-day[disabled]{color:#bdbab3;cursor:default;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.15)}
.trwb-day.is-today{box-shadow:inset 0 0 0 1px var(--b-line)}
.trwb-day.is-on{background:var(--b-ink);color:#fff}
.trwb-slots h3{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:22px;margin:0 0 12px}
.trwb-slotgrp{margin-bottom:14px}.trwb-slotgrp>span{display:block;font-family:"DM Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--b-mute);margin-bottom:8px}
.trwb-slotgrp>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.trwb-slot{all:unset;text-align:center;padding:10px 6px;border:1px solid var(--b-line);border-radius:999px;font-size:14px;cursor:pointer;transition:all .2s}
.trwb-slot:hover{border-color:var(--b-ink)}.trwb-slot.is-on{background:var(--b-ink);color:#fff;border-color:var(--b-ink)}
.trwb-muted{color:var(--b-mute);font-size:14px}
.trwb-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px}
.trwb-btn{all:unset;display:inline-flex;align-items:center;gap:12px;padding:14px 22px;border-radius:999px;background:var(--b-ink);color:#fff;font-size:15px;cursor:pointer;transition:background .25s,opacity .2s}
.trwb-btn i{font-style:normal;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff;color:var(--b-ink);font-size:13px}
.trwb-btn:hover{background:var(--b-green)}.trwb-btn[disabled]{opacity:.35;cursor:not-allowed}
.trwb-btn--ghost{background:transparent;color:var(--b-ink);box-shadow:inset 0 0 0 1px var(--b-line)}.trwb-btn--ghost:hover{background:#e9e7e1}
.trwb-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.trwb-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--b-mute)}
.trwb-form input,.trwb-form textarea{font:inherit;font-size:16px;color:var(--b-ink);background:var(--b-card);border:1px solid var(--b-line);border-radius:12px;padding:13px 14px;outline:none;transition:border-color .2s;width:100%}
.trwb-form input:focus,.trwb-form textarea:focus{border-color:var(--b-ink)}
.trwb-full,.trwb-modes{grid-column:1/-1}
.trwb-modes{border:0;padding:0;margin:4px 0 0;display:flex;flex-wrap:wrap;gap:8px}.trwb-modes legend{font-size:13px;color:var(--b-mute);margin-bottom:8px;width:100%}
.trwb-chip{flex-direction:row!important;cursor:pointer}.trwb-chip input{position:absolute;opacity:0;pointer-events:none}
.trwb-chip span{padding:9px 16px;border:1px solid var(--b-line);border-radius:999px;font-size:14px;color:var(--b-ink);transition:all .2s}
.trwb-chip input:checked+span{background:var(--b-ink);color:#fff;border-color:var(--b-ink)}
.trwb-check{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:13.5px!important;color:var(--b-ink)!important}.trwb-check input{width:18px!important;height:18px;margin-top:3px;flex:none;accent-color:var(--b-ink)}
.trwb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.trwb-err{color:#9b2c1f;background:#fbeeea;border-radius:12px;padding:12px 14px;font-size:14px;grid-column:1/-1;margin:0 0 16px}
.trwb-review dl{margin:0;background:var(--b-card);border:1px solid var(--b-line);border-radius:18px;padding:6px 22px}
.trwb-review dl div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--b-line);font-size:15px}.trwb-review dl div:last-child{border:0}
.trwb-review dt{color:var(--b-mute)}.trwb-review dd{margin:0;white-space:pre-wrap;word-break:break-word}
.trwb-done{max-width:720px;padding:clamp(24px,4vw,48px);background:var(--b-card);border:1px solid var(--b-line);border-radius:22px}
.trwb-done .trwb-h{margin-top:14px}.trwb-lede{font-size:19px}
.trwb-loading{padding:60px 0;color:var(--b-mute)}
@media (max-width:980px){.trwb-grid{grid-template-columns:1fr}.trwb-sum{position:static;order:-1}.trwb-cal{grid-template-columns:1fr}}
@media (max-width:640px){.trwb-svcs,.trwb-form{grid-template-columns:1fr}.trwb-steps li button{font-size:0;gap:0}.trwb-steps li button span{font-size:11px}.trwb-review dl div{grid-template-columns:1fr;gap:2px}.trwb-nav .trwb-btn{padding:13px 18px}}
@media (prefers-reduced-motion:reduce){.trwb *{transition:none!important}}
.trwb .trwb-steps,.trwb .trwb-steps li{list-style:none!important;margin-left:0!important;padding-left:0!important}.trwb .trwb-steps li::marker{content:none}
.trwb .trwb-steps{padding:0!important}
.trwb-coupon{display:flex;gap:10px;margin:18px 0 6px;max-width:420px}.trwb-coupon input{flex:1;font:inherit;font-size:15px;border:1px solid var(--b-line);border-radius:999px;padding:11px 16px;background:#fff;text-transform:uppercase}
.trwb-ok{color:#1f5a3a;background:#e8f2ec;border-radius:12px;padding:10px 14px;font-size:14px}
.trwb-review .trwb-check{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:14px}
.trwb-ta{font:inherit;font-size:15px;border:1px solid var(--b-line);border-radius:12px;padding:12px;width:100%}
/* ---- v2.2 consultation cards ---- */
.trwb-intro{margin-bottom:26px}.trwb-intro .trwb-h{margin-bottom:10px}.trwb-intro p{margin:0;max-width:560px}
.trwb-svcs{gap:18px}
.trwb-svc{position:relative;overflow:hidden;padding:26px 26px 22px;min-height:340px;gap:14px;border-radius:22px;background:linear-gradient(180deg,#fff 0%,#fbfaf7 100%);animation:trwbUp .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@keyframes trwbUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.trwb-svc:before{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(185,162,122,.22),transparent 65%);transition:transform .6s;pointer-events:none}
.trwb-svc:hover:before{transform:scale(1.25) translate(-6%,-6%)}
.trwb-svc:hover{box-shadow:0 30px 60px -36px rgba(15,58,44,.45);border-color:rgba(27,27,27,.22)}
.trwb-svc__top{display:flex;justify-content:space-between;align-items:center}
.trwb-svc__tag{font-family:"DM Mono",monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid currentColor}
.trwb-svc__people{display:flex;align-items:center;gap:14px;padding:4px 0 2px}
.trwb-faces{display:inline-flex;flex:none}
.trwb-face{width:58px;height:58px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 35%,#efe9de,#d9d1c3);border:3px solid #fff;margin-left:-16px;box-shadow:0 6px 16px -8px rgba(0,0,0,.35);transition:transform .4s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i) * 40ms)}
.trwb-face:first-child{margin-left:0}
.trwb-face img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;filter:grayscale(1) contrast(1.02);transition:filter .5s;display:block}
.trwb-svc:hover .trwb-face img,.trwb-svc.is-on .trwb-face img{filter:none}
.trwb-faces--sm .trwb-face{width:34px;height:34px;border-width:2px;margin-left:-10px}.trwb-faces--sm .trwb-face:first-child{margin-left:0}.trwb-faces--sm .trwb-face img{filter:none}
.trwb-svc__with{font-size:13px;line-height:1.35;color:var(--b-mute)}.trwb-svc__with small{display:block;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:2px}
.trwb-svc__name{font-size:clamp(26px,2.2vw,32px);line-height:1.05}
.trwb-svc__meta{align-items:flex-end}.trwb-svc__meta strong{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:36px;line-height:1}
.trwb-svc__dur{font-size:13px;color:var(--b-mute)}
.trwb-svc__go{display:flex;align-items:center;justify-content:space-between;font-size:14px;padding-top:12px;margin-top:-4px;opacity:.0;transform:translateY(6px);transition:all .35s}
.trwb-svc__go i{font-style:normal;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--b-ink);color:#fff}
.trwb-svc:hover .trwb-svc__go,.trwb-svc.is-on .trwb-svc__go,.trwb-svc:focus-visible .trwb-svc__go{opacity:1;transform:none}
.trwb-svc--feat{background:radial-gradient(120% 90% at 85% 0%,#1d5a45 0%,#0f3a2c 55%,#0b2b21 100%);color:#f6f3eb;border-color:#0f3a2c}
.trwb-svc--feat .trwb-svc__cat,.trwb-svc--feat .trwb-svc__desc,.trwb-svc--feat .trwb-svc__with,.trwb-svc--feat .trwb-svc__dur{color:rgba(246,243,235,.75)}
.trwb-svc--feat .trwb-svc__tag{color:#d8c49b}
.trwb-svc--feat .trwb-svc__meta{border-top-color:rgba(246,243,235,.2)}
.trwb-svc--feat .trwb-face{border-color:#0f3a2c;background:radial-gradient(circle at 50% 35%,#e9e2d4,#c9bfae)}
.trwb-svc--feat .trwb-svc__go i{background:#f6f3eb;color:#0f3a2c}
.trwb-svc--feat:before{background:radial-gradient(circle,rgba(216,196,155,.28),transparent 65%)}
.trwb-svc--feat.is-on{box-shadow:0 0 0 2px #d8c49b}
.trwb-sum__team{display:flex;align-items:center;gap:12px;margin:14px 0 4px;font-size:13px;color:var(--b-mute)}
@media (prefers-reduced-motion:reduce){.trwb-svc{animation:none;opacity:1;transform:none}}
