/* Block Beaches Concierge (AI) — /concierge/ and /concierge/s/<slug>/. Two panes: the AI chat (left) and the living
   workspace (right), after the owner's mockup. Brand tokens from site.css (navy / ivory / gold / teal). */
:root{--cg-deep:#061426;--cg-panel:#0C2142;--cg-panel2:#10294F;--cg-ivory:#F7F3EA;--cg-card:#FFFDF8;--cg-line:#E3DACA;
  --cg-ink:#0A1A33;--cg-dim:#56617A;--cg-gold:#D5B07C;--cg-gold2:#E8C895;--cg-gold-ink:#7A5C22;--cg-teal:#1BC9B9;
  --cg-teal-ink:#0B6B64;--cg-err:#9b2c2c;--cg-serif:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  --cg-sans:Inter,-apple-system,'Segoe UI',Roboto,Arial,sans-serif}
body{background:var(--cg-deep);color:var(--cg-ink);font:16px/1.6 var(--cg-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.cg-main{background:radial-gradient(1100px 520px at 75% -5%,rgba(47,127,184,.30) 0%,transparent 60%),
  linear-gradient(180deg,#061426 0%,#0a1d39 55%,#0d2546 100%);padding:22px 0 64px}
.cg-shell{max-width:1240px;margin:0 auto;padding:0 16px;display:grid;grid-template-columns:400px minmax(0,1fr);gap:22px;align-items:start}
@media(max-width:980px){.cg-shell{grid-template-columns:minmax(0,1fr)}}

/* ── left: the chat ───────────────────────────────────────────────────────────────────────────────────────────── */
.cg-chat{position:sticky;top:84px;display:flex;flex-direction:column;max-height:calc(100vh - 100px);min-height:560px;
  background:linear-gradient(180deg,var(--cg-panel) 0%,#081a35 100%);color:var(--cg-ivory);border:1px solid rgba(213,176,124,.25);
  border-radius:22px;padding:18px 16px 14px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
@media(max-width:980px){.cg-chat{position:static;max-height:none;min-height:0}}
.cg-chat-head{display:flex;align-items:center;gap:12px}
.cg-avatar{position:relative;flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle at 30% 30%,#2F7FB8,#0B3B63);color:#fff;font:600 24px/1 var(--cg-serif);border:2px solid var(--cg-gold)}
.cg-avatar span{position:absolute;right:-6px;bottom:-4px;background:var(--cg-gold);color:var(--cg-ink);font:800 10px/1 var(--cg-sans);
  letter-spacing:.06em;padding:3px 5px;border-radius:6px}
.cg-who h2{margin:0;font:600 21px/1.15 var(--cg-serif);color:#fff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cg-who p{margin:2px 0 0;font-size:13px;color:#AEB9CC}
.cg-ai-badge{display:inline-block;font:800 11px/1 var(--cg-sans);letter-spacing:.08em;color:var(--cg-ink);background:var(--cg-gold);
  border-radius:6px;padding:4px 6px}
.cg-disclosure{margin:12px 0 10px;font-size:12.5px;line-height:1.5;color:#C9D3E3;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:9px 11px}
.cg-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:4px 0 10px;padding:0;counter-reset:s}
.cg-progress li{display:flex;flex-direction:column;align-items:center;gap:4px;font:600 12px/1.2 var(--cg-sans);color:#8D9BB3;position:relative}
.cg-progress li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid #4A5A78;font-weight:700;color:#C9D3E3}
.cg-progress li.done span{background:var(--cg-teal-ink);border-color:var(--cg-teal);color:#fff}
.cg-progress li.current{color:var(--cg-gold2)}
.cg-progress li.current span{background:var(--cg-gold);border-color:var(--cg-gold);color:var(--cg-ink)}
.cg-log{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:6px 2px 8px;min-height:240px;scroll-behavior:smooth}
@media(max-width:980px){.cg-log{max-height:62vh}}
.cg-loading{color:#8D9BB3;font-size:14px}
.cg-bubble{max-width:92%;padding:10px 12px;border-radius:14px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.cg-bubble.ai{align-self:flex-start;background:#13305A;border:1px solid rgba(255,255,255,.08);border-top-left-radius:4px}
.cg-bubble.me{align-self:flex-end;background:var(--cg-ivory);color:var(--cg-ink);border-top-right-radius:4px}
.cg-by{display:flex;align-items:center;gap:6px;font:700 11px/1.2 var(--cg-sans);letter-spacing:.04em;color:var(--cg-gold2);margin-bottom:4px}
.cg-by i{font-style:normal;background:var(--cg-gold);color:var(--cg-ink);border-radius:4px;padding:2px 4px;font-size:10px}
.cg-srcs{margin-top:6px;font-size:11.5px;color:#9FB0C8}
.cg-typing{align-self:flex-start;color:#9FB0C8;font-size:13px}
.cg-quick{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.cg-quick button{font:600 12.5px/1.2 var(--cg-sans);color:var(--cg-ivory);background:transparent;border:1px solid rgba(213,176,124,.55);
  border-radius:99px;padding:7px 11px;min-height:34px;cursor:pointer}
.cg-quick button:hover{background:rgba(213,176,124,.15)}
.cg-input{display:flex;gap:8px;align-items:flex-end}
.cg-input textarea{flex:1;resize:none;font:15px/1.4 var(--cg-sans);color:var(--cg-ink);background:#fff;border:1px solid #CFC5B2;
  border-radius:14px;padding:10px 12px;min-height:48px}
.cg-send{flex:none;min-height:48px;padding:0 16px;border-radius:14px;border:0;background:var(--cg-gold);color:var(--cg-ink);
  font:700 15px/1 var(--cg-sans);cursor:pointer}
.cg-send[disabled]{opacity:.6;cursor:progress}
.cg-msg-err{min-height:1.2em;margin:6px 0 0;font-size:13.5px;color:#FFB4A8;font-weight:600}
.cg-card .cg-msg-err{color:var(--cg-err)}
.cg-human{margin-top:6px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}
.cg-human-link{display:block;text-align:center;font:700 14.5px/1.2 var(--cg-sans);color:var(--cg-ink);background:var(--cg-gold);
  border-radius:99px;padding:13px 16px;text-decoration:none}
.cg-human-link:hover{background:var(--cg-gold2)}
.cg-trust{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;padding:0;font-size:12px;color:#AEB9CC}
.cg-trust li:before{content:"✓ ";color:var(--cg-teal)}

/* ── right: the workspace ─────────────────────────────────────────────────────────────────────────────────────── */
.cg-work{min-width:0;display:flex;flex-direction:column;gap:16px}
.cg-hero{position:relative;border-radius:22px;overflow:hidden;padding:34px 30px 30px;color:#fff;
  background:linear-gradient(90deg,rgba(6,20,38,.92) 0%,rgba(6,20,38,.55) 60%,rgba(6,20,38,.2) 100%),
  url(/img/panama-city-waterfront/panama-city-waterfront-1280.webp) center/cover no-repeat}
@media(max-width:560px){.cg-hero{padding:24px 18px}}
.cg-eyebrow{font:700 11.5px/1.2 var(--cg-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--cg-gold);margin:0 0 10px}
.cg-hero h1{font:600 clamp(32px,4.6vw,56px)/1.03 var(--cg-serif);margin:0 0 12px;max-width:16ch}
.cg-hero h1 em{font-style:normal;color:var(--cg-gold2)}
.cg-sub{font-size:17px;color:#D5DEEC;margin:0;max-width:52ch}
.cg-card{min-width:0;background:var(--cg-card);border:1px solid var(--cg-line);border-radius:18px;padding:20px 20px 18px;
  box-shadow:0 14px 40px rgba(0,0,0,.18)}
@media(max-width:560px){.cg-card{padding:16px 14px;border-radius:14px}}
.cg-card h2{font:600 24px/1.15 var(--cg-serif);margin:0 0 10px;color:var(--cg-ink)}
.cg-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.cg-card-head h2{margin-bottom:8px}
.cg-note{font-size:14px;color:var(--cg-dim);margin:0 0 12px}
.cg-src{font-size:12.5px;color:var(--cg-dim);margin:10px 0 0}
.cg-empty{color:var(--cg-dim);font-size:14.5px;margin:0}
.cg-pill{font:700 12px/1 var(--cg-sans);color:var(--cg-gold-ink);background:#F3EBDC;border-radius:99px;padding:6px 10px}
.cg-profile{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0}
.cg-profile div{background:#FBF8F1;border:1px solid var(--cg-line);border-radius:12px;padding:9px 11px;min-width:0}
.cg-profile dt{font:700 11px/1.2 var(--cg-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--cg-gold-ink)}
.cg-profile dd{margin:3px 0 0;font-weight:600;font-size:14.5px;overflow-wrap:anywhere}
.cg-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cg-area{border:1px solid var(--cg-line);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0}
.cg-area img{width:100%;height:120px;object-fit:cover;display:block;background:#E8E1D2}
.cg-area .b{padding:11px 12px 12px}
.cg-area h3{margin:0;font:600 19px/1.2 var(--cg-serif)}
.cg-area .t{margin:2px 0 6px;color:var(--cg-dim);font-size:13.5px}
.cg-area .why{font-size:12.5px;color:var(--cg-teal-ink);margin:0 0 8px}
.cg-area table{width:100%;border-collapse:collapse;font-size:13px}
.cg-area td{padding:3px 0;border-top:1px solid #F0EADF;vertical-align:top}
.cg-area td:last-child{text-align:right;font-weight:700}
.cg-area a{font-size:13.5px}
.cg-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cg-item{border:1px solid var(--cg-line);border-radius:14px;overflow:hidden;background:#fff;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.cg-item img{width:100%;height:140px;object-fit:cover;display:block;background:#E8E1D2}
.cg-item .b{padding:10px 12px 12px}
.cg-item h3{margin:0 0 4px;font:600 17px/1.2 var(--cg-serif)}
.cg-item .p{font-weight:800;margin:0}
.cg-item .m{font-size:12.5px;color:var(--cg-dim);margin:4px 0 0}
.cg-item .why{font-size:12.5px;color:var(--cg-teal-ink);margin:4px 0 0}
.cg-res-line{font-weight:600;margin:0 0 8px}
.cg-res-hint{background:#F3F8F7;border:1px solid #CFE7E3;border-radius:12px;padding:9px 11px;font-size:14px;margin:0 0 8px}
.cg-res-others{margin:0;padding-left:18px;font-size:14px;color:var(--cg-dim)}
.cg-book{display:flex;flex-wrap:wrap;gap:10px}
.cg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border-radius:999px;
  font:700 15px/1.1 var(--cg-sans);border:1px solid var(--cg-gold);background:var(--cg-gold);color:var(--cg-ink);cursor:pointer;
  text-decoration:none;box-shadow:0 10px 28px rgba(213,176,124,.25)}
.cg-btn:hover{background:var(--cg-gold2)}
.cg-btn.ghost{background:transparent;border-color:var(--cg-ink);box-shadow:none}
.cg-btn.wide{width:100%}
.cg-btn[disabled]{opacity:.6;cursor:progress}
.cg-steps{margin:12px 0 0;padding-left:18px;font-size:14.5px}
.cg-steps li{margin:4px 0}
.cg-help{color:var(--cg-dim);font-size:14.5px;margin:0 0 14px}
.cg-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.cg-row2{grid-template-columns:1fr}}
.cg-f{display:flex;flex-direction:column;gap:5px;font:600 14px/1.3 var(--cg-sans);margin:0 0 12px;min-width:0}
.cg-f small{font-weight:500;color:var(--cg-dim)}
.cg-f input,.cg-f select{font:400 16px/1.3 var(--cg-sans);color:var(--cg-ink);padding:12px;border:1px solid #CFC5B2;border-radius:10px;
  background:#fff;min-height:48px;width:100%;max-width:100%}
.cg-consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;margin:4px 0 14px;padding:12px;border:1px solid var(--cg-line);
  border-radius:12px;background:#FBF8F1}
.cg-consent input{width:20px;height:20px;margin-top:2px;flex:none}
.cg-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cg-fine{font-size:13px;color:var(--cg-dim);margin:10px 0 0}
.cg-done{border:1px solid #CFE7E3;background:#F3F8F7;border-radius:14px;padding:16px}
.cg-done h3{margin:0 0 6px;font:600 22px/1.2 var(--cg-serif)}
.cg-share{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cg-share input{flex:1 1 220px;min-width:0;font:14px var(--cg-sans);padding:12px;border:1px solid #CFC5B2;border-radius:10px;background:#fff}
.cg-how-steps{list-style:none;counter-reset:h;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:0}
@media(max-width:760px){.cg-how-steps{grid-template-columns:1fr}}
.cg-how-steps li{counter-increment:h;display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--cg-dim)}
.cg-how-steps li b{color:var(--cg-ink);font-size:15px}
.cg-how-steps li b:before{content:counter(h);display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;
  background:var(--cg-gold);color:var(--cg-ink);font:800 12px/1 var(--cg-sans);margin-right:8px}
.cg-people-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:620px){.cg-people-row{grid-template-columns:1fr}}
.cg-person{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--cg-dim)}
.cg-person b{display:block;color:var(--cg-ink);font-size:15.5px}
.cg-initials{flex:none;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--cg-ink);color:var(--cg-gold2);
  font:600 20px/1 var(--cg-serif);border:2px solid var(--cg-gold)}
.cg-initials.alt{background:#0B6B64;color:#fff}
.cg-comm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:760px){.cg-comm{grid-template-columns:1fr}}
.cg-comm a{position:relative;display:block;border-radius:14px;overflow:hidden;color:#fff;text-decoration:none;min-height:150px;background:#0c2142}
.cg-comm img{width:100%;height:150px;object-fit:cover;display:block;opacity:.85}
.cg-comm span{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(180deg,transparent,rgba(6,20,38,.88));font-size:12.5px}
.cg-comm b{display:block;font:600 18px/1.2 var(--cg-serif)}
:focus-visible{outline:3px solid var(--cg-teal);outline-offset:2px}
@media (prefers-reduced-motion: reduce){.cg-log{scroll-behavior:auto}}
