/* ===== Feature deep-dive — tailored to your property ===== */
.fd { padding: clamp(76px,11vh,140px) clamp(20px,5vw,64px) clamp(80px,12vh,150px); background: #fdfbf8; color: #1a1410; }
.fd-head { max-width: 760px; margin: 0 auto clamp(54px,8vh,96px); text-align: center; }
.fd-eyebrow { display:inline-block; font-size:12.5px; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:#c2592b; margin-bottom:14px; }
.fd-head h2 { font-family:"Cairo",sans-serif; font-weight:800; letter-spacing:-.02em; font-size:clamp(28px,3.8vw,48px); line-height:1.04; margin:0; }
.fd-head p { margin:18px auto 0; max-width:54ch; font-size:clamp(15px,1.3vw,18px); line-height:1.55; color:#6b6258; }

/* alternating rows */
.fd-row { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(30px,5vw,84px); max-width:1080px; margin:0 auto; }
.fd-row + .fd-row { margin-top:clamp(56px,9vh,120px); }
.fd-row.rev .fd-text { order:2; }

.fd-kicker { display:inline-block; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#c2592b; padding:5px 12px; border-radius:999px; background:#fbf0e8; border:1px solid #f1ddcd; margin-bottom:18px; }
.fd-text h3 { font-family:"Cairo",sans-serif; font-weight:800; letter-spacing:-.01em; font-size:clamp(22px,2.4vw,32px); line-height:1.1; margin:0; color:#1a1410; }
.fd-text p { margin:16px 0 0; font-size:clamp(15px,1.25vw,17.5px); line-height:1.6; color:#5f574d; max-width:46ch; }

/* chat mockups */
.fd-phone, .fd-voicecard {
  background:#fff; border:1px solid #efe6da; border-radius:20px; padding:18px;
  box-shadow:0 26px 60px rgba(60,30,10,.10);
}
.fd-chat { display:flex; flex-direction:column; gap:9px;
  background-color:#f3ede4;
  background-image:radial-gradient(rgba(0,0,0,.022) 1px, transparent 1px), radial-gradient(rgba(0,0,0,.022) 1px, transparent 1px);
  background-size:20px 20px; background-position:0 0,10px 10px;
  border-radius:14px; padding:16px 14px; }
.fd-chat .b { max-width:84%; padding:9px 13px; border-radius:13px; font-size:14px; line-height:1.4; box-shadow:0 1px 1px rgba(0,0,0,.06); }
.fd-chat .b.g { align-self:flex-end; background:#e7ffdb; border-top-right-radius:3px; color:#15321f; }
.fd-chat .b.a { align-self:flex-start; background:#fff; border-top-left-radius:3px; color:#1a1410; }
/* image bubbles */
.fd-chat .b.img, .fd-chat .b.photo { padding:6px; max-width:74%; }
.fd-chat .b.img img, .fd-chat .b.photo img { display:block; width:100%; border-radius:9px; }
.fd-chat .b.img span, .fd-chat .b.photo span { display:block; padding:7px 7px 4px; font-size:13.5px; line-height:1.35; }
.fd-chat .b.photo { align-self:flex-end; background:#e7ffdb; }
.fd-chat .b.photo img { max-height:96px; object-fit:cover; }
/* human in the loop chip */
.fd-loop { align-self:flex-start; display:inline-flex; align-items:center; gap:8px; margin-top:2px;
  font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#c2592b;
  background:#fff; border:1px solid #f1ddcd; border-radius:999px; padding:5px 12px 5px 5px; box-shadow:0 4px 12px rgba(60,30,10,.08); }
.fd-ava { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:10px; font-weight:800; color:#fff; background:linear-gradient(135deg,#f0883e,#d9612e); }

/* voice grid (row 1) */
.fd-voicegrid { display:flex; flex-direction:column; gap:14px; }
.fd-voicecard { padding:14px; }
.fd-tag { display:inline-block; font-size:10.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#9a8f81; margin-bottom:10px; }
.fd-voicecard .fd-chat { padding:13px 12px; }

/* room offer card (row 3) — how vGuest presents a room */
.fd-chat .b.card { padding:6px; max-width:80%; background:#fff; }
.fd-chat .b.card .cap { display:block; padding:8px 7px 4px; font-size:13.5px; line-height:1.35; }
.fd-room { border-radius:11px; overflow:hidden; border:1px solid #efe5d8; background:#fff; }
.fd-room img { display:block; width:100%; height:116px; object-fit:cover; }
.fd-room-bd { padding:9px 12px 5px; }
.fd-room-t { display:block; font-size:14px; font-weight:800; color:#1a1410; }
.fd-room-m { display:block; font-size:11.5px; color:#8a8073; margin-top:2px; }
.fd-room-btn { border-top:1px solid #f0e7da; color:#1aa353; font-weight:700; font-size:13px; text-align:center; padding:9px; }

/* knowledge-base blocks (row 1) */
.fd-blocks { background:#fff; border:1px solid #efe6da; border-radius:20px; padding:20px; box-shadow:0 26px 60px rgba(60,30,10,.10); }
.fd-blocks-title { display:block; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#a99e90; margin-bottom:14px; }
.fd-blockgrid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.fd-block { padding:13px 14px; border-radius:13px; background:#faf6f0; border:1px solid #eee4d8; }
.fd-block b { display:block; font-size:13.5px; font-weight:800; color:#1a1410; }
.fd-block span { display:block; margin-top:3px; font-size:11.5px; line-height:1.35; color:#8a8073; }
.fd-block.soul { background:#fbf0e8; border-color:#f1d9c8; }
.fd-block.soul b { color:#9a4a23; }

@media (max-width:820px) {
  .fd-row { grid-template-columns:1fr; gap:26px; }
  .fd-row.rev .fd-text { order:0; }
  .fd-text p { max-width:none; }
}

/* ===== animated knowledge base (row 1) ===== */
.fd-kbsection { max-width:1060px; margin:0 auto; }
.fd-kbintro { text-align:center; max-width:640px; margin:0 auto clamp(28px,4vh,46px); }
.fd-kbintro .fd-kicker { margin-bottom:16px; }
.fd-kbintro h3 { font-family:"Cairo",sans-serif; font-weight:800; letter-spacing:-.01em; font-size:clamp(24px,2.8vw,36px); line-height:1.08; margin:0; }
.fd-kbintro p { margin:14px auto 0; font-size:clamp(15px,1.25vw,17.5px); line-height:1.55; color:#5f574d; max-width:48ch; }

.fdk { display:grid; grid-template-columns:0.92fr 1.08fr; gap:clamp(14px,1.8vw,24px); align-items:stretch; }
.fdk-blocks { display:grid; grid-template-columns:1fr 1fr; gap:10px; align-content:start; }
.fdk-block { text-align:left; cursor:pointer; font:inherit; padding:13px 14px; border-radius:13px; background:#faf6f0; border:1px solid #eee4d8; transition:transform .3s, box-shadow .3s, border-color .3s, background .3s; }
.fdk-block b { display:block; font-size:13.5px; font-weight:800; color:#1a1410; }
.fdk-block span { display:block; margin-top:3px; font-size:11.5px; line-height:1.35; color:#8a8073; }
.fdk-block.on { background:#fff; border-color:#e7b48d; box-shadow:0 10px 26px rgba(190,90,30,.14); transform:translateY(-2px); }
.fdk-block.soul { background:#fbf0e8; border-color:#f1d9c8; }
.fdk-block.soul b { color:#9a4a23; }
.fdk-block.soul.on { background:#fff; }

/* navy editor — uses #163D6A */
.fdk-editor { display:flex; flex-direction:column; border-radius:18px; padding:clamp(16px,1.8vw,22px) clamp(18px,2vw,26px);
  background:linear-gradient(150deg,#1d4b80 0%,#163D6A 55%,#11304f 100%); box-shadow:0 26px 60px rgba(22,61,106,.30); color:#dbe6f3; }
.fdk-editor-top { display:flex; align-items:center; gap:7px; padding-bottom:14px; margin-bottom:16px; border-bottom:1px solid rgba(255,255,255,.12); }
.fdk-dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.22); }
.fdk-editor-top em { margin-left:9px; font-style:normal; font-size:12.5px; font-weight:800; letter-spacing:.04em; color:#fff; }
.fdk-lines { display:flex; flex-direction:column; gap:12px; font-size:clamp(14px,1.15vw,15.5px); line-height:1.5; flex:1; min-height:158px; }
.fdk-line { display:flex; gap:10px; }
.fdk-bullet { color:#f59e4d; font-weight:800; flex:0 0 auto; }
.fdk-caret { display:inline-block; width:2px; height:1.05em; background:#f59e4d; margin-left:2px; vertical-align:-2px; animation:fdk-blink 1s step-end infinite; }
@keyframes fdk-blink { 50% { opacity:0; } }
.fdk-foot { margin-top:16px; padding-top:14px; border-top:1px solid rgba(255,255,255,.1); font-size:11.5px; font-weight:700; letter-spacing:.03em; color:rgba(255,255,255,.55); }

@media (max-width:820px) { .fdk { grid-template-columns:1fr; } }
