.demo-site{min-height:100vh;background:var(--bg);color:var(--ink)}
.demo-hero .button-row{margin-top:34px}
.demo-hero .microcopy{color:var(--muted);font-family:var(--font-mono);font-size:10px;margin-top:18px;text-transform:uppercase}
.demo-prep{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.demo-prep__grid{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:clamp(32px,6vw,86px);align-items:start}
.demo-prep h2,.demo-booking h2{letter-spacing:-.055em;font-size:clamp(38px,4.6vw,66px);font-weight:560;line-height:1.04;margin:0}
.demo-review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.demo-review-list article{min-height:170px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;align-content:space-between;gap:24px;padding:24px;background:#fbfcfa}
.demo-review-list article:nth-child(2n){background:var(--warm)}
.demo-review-list .mono{color:var(--blue)}
.demo-review-list p{color:#3f423f;font-size:18px;line-height:1.45;margin:0}
.demo-note{border:1px solid var(--line);border-radius:18px;background:var(--mint);color:#2f463b;font-size:18px;line-height:1.65;margin:34px 0 0;padding:22px 24px}
.demo-booking{background:var(--paper)}
.demo-booking__grid{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1.38fr);gap:clamp(32px,6vw,82px);align-items:start}
.demo-booking__grid--owned{grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)}
.demo-booking__copy p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.7;margin-top:22px}
.demo-booking__panel{min-width:0;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 24px 70px #1719180a;overflow:hidden;padding:clamp(18px,3vw,30px)}
.demo-booking__status{border:1px solid var(--line);border-radius:16px;background:#fbfcfa;color:var(--muted);display:block;text-align:center;padding:16px}
.demo-booking__status.is-hidden{display:none}
.demo-booking__fallback-card{border:1px solid var(--line);border-radius:18px;background:#fbfcfa;display:grid;gap:14px;padding:clamp(24px,4vw,38px)}
.demo-booking__fallback-card strong{color:var(--blue);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em}
.demo-booking__fallback-card p{color:#3f423f;font-size:18px;line-height:1.7;margin:0}
.demo-booking__fallback-card a{color:var(--blue);font-weight:750;text-decoration:underline;text-underline-offset:4px}
.demo-timezone{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--blue);display:inline-flex;font-family:var(--font-mono);font-size:11px;margin-top:20px;padding:8px 12px}
.demo-date-list{display:grid;gap:10px;margin-top:24px}
.demo-date-list button,.demo-slot-list button{border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);cursor:pointer;font-weight:760;text-align:left;padding:14px 16px}
.demo-date-list button:hover,.demo-date-list button.is-selected,.demo-slot-list button:hover,.demo-slot-list button.is-selected{border-color:var(--blue);background:#eef3ff;color:var(--blue)}
.demo-date-list small{display:block;color:var(--muted);font-family:var(--font-mono);font-size:10px;margin-top:3px;text-transform:uppercase}
.demo-slot-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.demo-slot-list button{border-radius:999px;min-width:82px;text-align:center}
.demo-form{display:grid;gap:22px}
.demo-form fieldset{border:1px solid var(--line);border-radius:18px;background:#fbfcfa;margin:0;padding:18px}
.demo-form legend{color:var(--blue);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;padding:0 8px;text-transform:uppercase}
.demo-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.demo-form label{display:grid;gap:7px;color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.demo-form input,.demo-form select,.demo-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-family:var(--font-sans);font-size:15px;letter-spacing:0;padding:12px;text-transform:none}
.demo-form textarea{resize:vertical}
.demo-form__wide{grid-column:1/-1}
.demo-check{align-items:start!important;display:flex!important;gap:10px;margin-top:10px}
.demo-check input{flex:0 0 auto;margin-top:3px;width:auto}
.demo-check span{color:#3f423f;font-family:var(--font-sans);font-size:14px;letter-spacing:0;line-height:1.5;text-transform:none}
.demo-form__selected{border:1px solid #dbe4ff;border-radius:16px;background:#f4f7ff;color:var(--blue);font-weight:760;margin:0;padding:14px 16px}
.demo-form__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.demo-form__actions>a{color:var(--blue);font-weight:760;text-decoration:underline;text-underline-offset:4px}
.demo-form .button[disabled]{opacity:.55;pointer-events:none}
.demo-confirmation{border:1px solid #b9dec9;border-radius:22px;background:var(--mint);display:grid;gap:16px;padding:clamp(24px,4vw,36px)}
.demo-confirmation.is-hidden{display:none}
.demo-confirmation h2{font-size:clamp(32px,4vw,52px)}
.demo-confirmation p{margin:0;color:#2f463b}
.demo-confirmation dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.demo-confirmation dl>div{border:1px solid #b9dec9;border-radius:14px;background:#fff;padding:12px}
.demo-confirmation dt{color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.demo-confirmation dd{margin:4px 0 0;font-weight:760}
.is-hidden{display:none!important}
@media (max-width:1024px){.demo-prep__grid,.demo-booking__grid,.demo-booking__grid--owned{grid-template-columns:1fr}}
@media (max-width:768px){.demo-review-list{grid-template-columns:1fr}.demo-review-list article{min-height:140px}.demo-booking__panel{border-radius:18px}.demo-form__grid,.demo-confirmation dl{grid-template-columns:1fr}}
@media (max-width:420px){.demo-prep h2,.demo-booking h2{font-size:42px}.demo-note,.demo-booking__fallback-card p{font-size:16px}.demo-slot-list button{min-width:70px}}
.demo-catalog{background:var(--paper)}
.demo-catalog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.demo-product-card{border:1px solid var(--line);background:#fff;display:grid;gap:18px;align-content:start;min-height:390px;padding:24px}
.demo-product-card>span{color:var(--blue);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.demo-product-card h2{font-size:27px;letter-spacing:0;line-height:1.12;margin:0}
.demo-product-card p{color:var(--muted);font-size:16px;line-height:1.55;margin:0}
.demo-product-card dl{display:grid;gap:10px;margin:0}
.demo-product-card dl>div{border-top:1px solid var(--line);padding-top:10px}
.demo-product-card dt{color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.demo-product-card dd{margin:4px 0 0}
.demo-product-card__actions{align-self:end;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:auto}
.demo-product-card__actions>a:not(.button){color:var(--blue);font-weight:760;text-decoration:underline;text-underline-offset:4px}
.demo-runner{background:#fff;border-top:1px solid var(--line)}
.demo-runner__grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,72px);align-items:start}
.demo-runner aside{position:sticky;top:24px;display:grid;gap:18px}
.demo-runner aside h2{font-size:34px;letter-spacing:0;line-height:1.12;margin:0}
.demo-runner aside ul{display:grid;gap:8px;margin:0;padding-left:18px}
.demo-runner aside label{display:grid;gap:8px;color:var(--muted);font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.demo-runner aside textarea{border:1px solid var(--line);border-radius:12px;font-family:var(--font-sans);font-size:15px;letter-spacing:0;min-height:110px;padding:12px;text-transform:none;width:100%}
.demo-runner__status{border:1px solid var(--line);border-radius:14px;background:#fbfcfa;color:var(--muted);margin:0;padding:14px}
.demo-runner__status.is-error{border-color:#e6b5b5;background:#fff5f5;color:#9b1c1c}
.demo-runner__timeline{display:grid;gap:12px}
.demo-runner__timeline article{border:1px solid var(--line);background:#fbfcfa;display:grid;gap:10px;min-height:128px;padding:20px}
.demo-runner__timeline article.is-complete{border-color:#b9dec9;background:var(--mint)}
.demo-runner__timeline article.is-active{border-color:var(--blue);background:#eef3ff}
.demo-runner__timeline article.is-waiting{border-color:#d5a641;background:#fff9e8}
.demo-runner__timeline span{color:var(--blue);font-family:var(--font-mono);font-size:10px}
.demo-runner__timeline h3{font-size:22px;letter-spacing:0;margin:0}
.demo-runner__timeline p{color:#3f423f;line-height:1.55;margin:0}
.demo-runner__timeline small{color:#7d5a00;font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.demo-runner__controls{display:flex;justify-content:flex-end;margin-top:18px}
.demo-output{border:1px solid var(--line);background:#fff;margin-top:18px;padding:20px}
.demo-output h2{font-size:26px;letter-spacing:0;line-height:1.15;margin:0 0 16px}
.demo-output dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.demo-output dl>div{border:1px solid var(--line);background:#fbfcfa;padding:14px}
.demo-output dt{color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.demo-output dd{color:#3f423f;line-height:1.5;margin:5px 0 0}
.demo-output ul{margin:0;padding-left:18px}
.flow-visual{margin-bottom:16px;overflow-x:auto}
.flow-visual ol{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:10px;list-style:none;margin:0;padding:0;min-width:780px}
.flow-node{border:1px solid var(--line);background:#fbfcfa;display:grid;gap:8px;min-height:120px;padding:14px;position:relative}
.flow-node:after{content:"";position:absolute;right:-11px;top:50%;width:10px;border-top:1px solid var(--line)}
.flow-node:last-child:after{display:none}
.flow-node strong{font-size:15px;line-height:1.2}
.flow-node span,.flow-node small{color:var(--muted);font-family:var(--font-mono);font-size:10px;text-transform:uppercase}
.flow-node.is-completed{border-color:#b9dec9;background:var(--mint)}
.flow-node.is-active{border-color:var(--blue);background:#eef3ff}
.flow-node.is-waiting_approval{border-color:#d5a641;background:#fff9e8}
.demo-conversion{background:var(--paper);border-top:1px solid var(--line)}
.demo-conversion__grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(28px,5vw,72px);align-items:start}
.demo-conversion h2{font-size:34px;letter-spacing:0;line-height:1.12;margin:0}
.demo-conversion p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.7;margin:16px 0 0}
.demo-conversion__form{border:1px solid var(--line);background:#fff;padding:clamp(18px,3vw,28px)}
@media (max-width:1024px){.demo-catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-runner__grid{grid-template-columns:1fr}.demo-runner aside{position:static}}
@media (max-width:1024px){.demo-conversion__grid{grid-template-columns:1fr}}
@media (max-width:768px){.demo-catalog__grid{grid-template-columns:1fr}.demo-product-card{min-height:0}.demo-runner__controls{justify-content:flex-start}.demo-output dl{grid-template-columns:1fr}}
