:root{--orange:#e6532d;--orange-deep:#b74426;--ink:#24282c;--ink-soft:#66625f;--cream:#f8f3ed;--cream-2:#fbf8f4;--line:#e9e1da;--navy:#0b1a27;--shell:1420px;--radius:28px;--shadow:0 24px 60px rgba(52,41,31,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em;font-weight:500}p{color:var(--ink-soft)}
.eyebrow{margin-bottom:16px;color:var(--orange);font-size:.77rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.act{padding:0 0 120px;background:radial-gradient(circle at 15% 8%,rgba(230,83,45,.10),transparent 24%),linear-gradient(180deg,#fff 0%,#fbf7f2 48%,#fff 100%)}.act__shell{width:min(calc(100% - 64px),var(--shell));margin:0 auto}
.act-opener{min-height:760px;padding:92px 0 74px;display:grid;grid-template-columns:120px minmax(460px,.85fr) minmax(620px,1.15fr);gap:38px;align-items:center;border-bottom:1px solid var(--line)}.act-opener__number{align-self:start;width:98px;height:98px;display:grid;place-items:center;border-radius:30px;background:var(--orange);color:#fff;font-size:2.7rem;font-weight:800;line-height:1}.act-opener__copy h1{max-width:760px;margin-bottom:28px;font-size:clamp(3.3rem,5.6vw,6.8rem);line-height:.98}.act-opener__copy h1 span{color:var(--orange)}.act-opener__lede{max-width:740px;font-size:1.3rem;color:#484442}.act-opener__body{max-width:720px;font-size:1.05rem}.act-opener__statement{margin-top:28px;display:flex;flex-wrap:wrap;gap:10px}.act-opener__statement strong{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72);color:#423d39;font-size:.82rem}.act-opener__visual{min-width:0;display:flex;justify-content:center;align-items:center}.act-opener__visual img{width:118%;max-width:none;transform:translateX(3%);filter:drop-shadow(0 32px 38px rgba(46,37,31,.18))}
.story-carousel{padding:118px 0 70px}.story-carousel__intro{max-width:920px;margin:0 auto 52px;text-align:center}.story-carousel__intro h2,.supporting-rail__heading h2,.act-close h2{margin-bottom:20px;font-size:clamp(2.8rem,4.4vw,5rem);line-height:1.02}.story-carousel__intro p:last-child,.supporting-rail__heading p:last-child,.act-close p:last-child{max-width:820px;margin-left:auto;margin-right:auto;font-size:1.08rem}.carousel{position:relative}.carousel__viewport{overflow:hidden;border-radius:var(--radius);padding-right:18px}.carousel__track{display:flex;gap: 22px;transition:transform .55s cubic-bezier(.2,.8,.2,1);will-change:transform}.story-card{flex: 0 0 86%;min-width:0;min-height: 520px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:66px;align-items:center;padding: 46px 50px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.92);box-shadow:var(--shadow)}.story-card__kicker{display:flex;align-items:center;gap:12px;margin-bottom:18px}.story-card__kicker span{color:var(--orange);font-size:2.25rem;font-weight:800;line-height:1}.story-card__kicker p{margin:0;color:var(--orange);font-size:.74rem;font-weight:800;letter-spacing:.11em}.story-card h3{margin-bottom:24px;font-size:clamp(2.55rem,4vw,4.7rem);line-height:1.02}.story-card h3 em{color:var(--orange);font-style:normal}.story-card__lead{font-size:1.16rem;color:#423f3d}.story-card__quote{margin-top:30px;padding-left:20px;border-left:4px solid var(--orange);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;color:#35302d}.story-card__proof{margin-top:28px;display:flex;flex-wrap:wrap;gap:8px}.story-card__proof span{padding:9px 12px;border-radius:10px;background:var(--cream);color:#6c625b;font-size:.78rem;font-weight:700}.story-card__visual{min-width:0;display:grid;gap:20px}.availability-panel,.capacity-card,.assignment-stack{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(50,39,29,.08)}.availability-panel{padding:26px}.availability-panel__head{margin-bottom:18px;color:#4a4542;font-weight:700}.availability-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.availability-grid span{padding:15px 12px;border:1px solid #e7ded6;border-radius:10px;text-align:center;color:#35312f;background:#fbfaf8}.calc-flow{padding:26px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.2fr;gap:12px;align-items:center;border-radius:20px;background:var(--cream)}.calc-flow span,.calc-flow strong{font-size:.78rem;text-align:center}.calc-flow i{font-style:normal;color:var(--orange);font-size:1.2rem;font-weight:800}.assignment-stack{padding:22px}.assignment-row{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.assignment-row:last-child{border-bottom:0}.assignment-row--best{background:linear-gradient(90deg,rgba(230,83,45,.06),transparent);border:1px solid rgba(230,83,45,.22);border-radius:16px}.assignment-row small{display:block;margin-bottom:6px;color:var(--orange);font-weight:800}.mini-tables{display:flex;justify-content:flex-end;gap:12px}.mini-tables i{width:54px;height:40px;border:2px solid #d8d0ca;border-radius:12px}.mini-tables i.hot{border-color:#ca5f55}.mini-tables i.warm{border-color:#d8aa47}.mini-tables i.good{border-color:#62a76d}.capacity-card{padding:26px}.capacity-card h4{margin-bottom:18px;font-size:1.05rem;text-align:center}.capacity-card>div{display:grid;grid-template-columns:100px 1fr 100px;gap:12px;padding:16px 0;border-top:1px solid var(--line);align-items:center}.capacity-card small{text-align:right;color:#857d77}.capacity-summary{display:grid;grid-template-columns:1fr auto 1fr auto 1.5fr;gap:12px;align-items:center;padding:24px;border-radius:20px;background:var(--cream);text-align:center}.capacity-summary span{color:var(--orange);font-weight:800}.carousel__arrow,.rail__arrow{position:absolute;z-index:5;display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fff;box-shadow:0 12px 26px rgba(49,40,34,.12);color:#332e2b;font-size:1.4rem;cursor:pointer}.carousel__arrow{top:50%;transform:translateY(-50%)}.carousel__arrow--prev{left:-24px}.carousel__arrow--next{right:-24px}.carousel__dots{display:flex;justify-content:center;gap:8px;margin-top:24px}.carousel__dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:#cfc7c1;cursor:pointer}.carousel__dots button.is-active{width:28px;background:var(--orange)}
.supporting-rail{padding:80px 0 108px}.supporting-rail__heading{max-width:980px;margin-bottom:46px}.rail{position:relative}.rail__viewport{overflow:hidden}.rail__track{display:flex;gap:18px;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.rail-card{flex:0 0 calc((100% - 36px)/3);min-width:0;min-height:430px;padding:30px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 16px 36px rgba(54,44,36,.06)}.rail-card__num{display:inline-block;margin-bottom:16px;color:var(--orange);font-weight:800}.rail-card h3{margin-bottom:20px;font-size:2rem;line-height:1.08}.rail-card p{margin-top:22px;font-size:.97rem}.room-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:24px 0}.room-strip i{min-height:92px;border:1px solid #ded7d1;border-radius:10px;background:radial-gradient(circle at 50% 24%,transparent 0 7px,#d8d0ca 7px 9px,transparent 9px),linear-gradient(#fff,#faf8f5)}.locked-table{width:128px;height:94px;margin:30px auto;display:grid;place-items:center;border:3px solid var(--orange);border-radius:24px;color:var(--orange);font-size:1.7rem;font-weight:800}.combo-visual,.throughput-equation{min-height:120px;display:flex;justify-content:center;align-items:center;gap:12px}.combo-visual span,.combo-visual__wide{min-width:55px;height:48px;display:grid;place-items:center;border:2px solid #d8d0ca;border-radius:12px;background:#fff}.combo-visual__wide{min-width:92px!important;border-color:var(--orange)!important}.combo-visual b,.throughput-equation b{color:var(--orange)}.hard-assignment{margin:32px auto;padding:22px;max-width:190px;border:2px solid var(--orange);border-radius:18px;text-align:center}.hard-assignment span{display:block;margin-bottom:6px;color:var(--orange);font-size:.7rem;font-weight:800}.throughput-equation{flex-wrap:wrap}.throughput-equation span,.throughput-equation strong{padding:12px 14px;border-radius:12px;background:var(--cream);font-size:.78rem}.rail__arrow{top:50%;transform:translateY(-50%)}.rail__arrow--prev{left:-22px}.rail__arrow--next{right:-22px}
.act-close{padding:88px 76px;border-radius:var(--radius);color:#fff;background:radial-gradient(circle at 84% 20%,rgba(230,83,45,.24),transparent 28%),var(--navy)}.act-close .eyebrow{color:#ffad88}.act-close h2{max-width:1000px;color:#fff}.act-close p{margin:0;color:#d5dde3}
@media(max-width:1180px){.act-opener{grid-template-columns:100px 1fr}.act-opener__visual{grid-column:1/-1;padding-left:100px}.act-opener__visual img{width:90%;transform:none}.story-card{grid-template-columns:1fr;min-height:auto}.rail-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:760px){.act{padding-bottom:80px}.act__shell{width:min(calc(100% - 32px),var(--shell))}.act-opener{min-height:0;padding:58px 0 54px;grid-template-columns:72px 1fr;gap:18px}.act-opener__number{width:64px;height:64px;border-radius:20px;font-size:1.8rem}.act-opener__copy h1{font-size:clamp(2.8rem,12vw,4.2rem)}.act-opener__lede{font-size:1.08rem}.act-opener__visual{grid-column:1/-1;padding-left:0;margin-top:18px}.act-opener__visual img{width:115%;max-width:none;transform:translateX(-7%)}.story-carousel{padding:78px 0 42px}.story-carousel__intro{text-align:left}.story-card{flex-basis: 93%;padding:34px 24px;gap:34px}.story-card h3{font-size:2.5rem}.calc-flow{grid-template-columns:1fr}.calc-flow i{transform:rotate(90deg);text-align:center}.assignment-row{grid-template-columns:1fr}.mini-tables{justify-content:flex-start}.capacity-card>div{grid-template-columns:78px 1fr}.capacity-card small{display:none}.capacity-summary{grid-template-columns:1fr}.capacity-summary span{transform:rotate(90deg)}.carousel__arrow{top:auto;bottom:-64px;transform:none}.carousel__arrow--prev{left:0}.carousel__arrow--next{right:0}.carousel__dots{margin-top:30px}.supporting-rail{padding-top:92px}.rail-card{flex-basis:86%;min-height:390px}.rail__arrow{display:none}.rail__viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.rail__viewport::-webkit-scrollbar{display:none}.rail__track{transform:none!important}.rail-card{scroll-snap-align:start}.act-close{padding:52px 28px}}


/* =========================================================
   ACT II — THE NIGHT BEGINS
   ========================================================= */

.act--night {
  padding: 0 0 120px;
  color: #fff;
  background:
    radial-gradient(circle at 78% 9%, rgba(230,83,45,.14), transparent 22%),
    linear-gradient(180deg, #091827 0%, #0b1a27 58%, #0d2131 100%);
}

.act--night .act-opener {
  border-bottom-color: rgba(255,255,255,.12);
}

.act-opener--dark .eyebrow,
.story-carousel--dark .eyebrow,
.supporting-rail--dark .eyebrow {
  color: #ff9a70;
}

.act-opener--dark h1,
.act-opener--dark p,
.story-carousel--dark h2,
.story-carousel--dark p,
.supporting-rail--dark h2,
.supporting-rail--dark p {
  color: #fff;
}

.act-opener--dark .act-opener__lede,
.act-opener--dark .act-opener__body,
.story-carousel--dark .story-carousel__intro p:last-child,
.supporting-rail--dark .supporting-rail__heading p:last-child {
  color: #cdd6dc;
}

.act-opener--dark .act-opener__statement strong {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: #e8edf1;
}

.act-opener__visual--floor img {
  filter: drop-shadow(0 34px 46px rgba(0,0,0,.38));
}

.story-carousel--dark {
  padding-top: 110px;
}

.story-card--dark {
  border-color: rgba(255,255,255,.10);
  background:
    radial-gradient(circle at 83% 12%, rgba(230,83,45,.10), transparent 24%),
    #102536;
  box-shadow: 0 26px 64px rgba(0,0,0,.28);
}

.story-card--dark h3,
.story-card--dark p,
.story-card--dark .story-card__lead,
.story-card--dark .story-card__quote {
  color: #fff;
}

.story-card--dark p {
  color: #cbd5dc;
}

.story-card--dark .story-card__quote {
  border-left-color: var(--orange);
}

.story-carousel--dark .carousel__arrow,
.supporting-rail--dark .rail__arrow {
  border-color: rgba(255,255,255,.16);
  background: #102536;
  color: #fff;
}

.status-board {
  min-height: 380px;
  padding: 34px;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
  align-content: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 24px;
  background: #071521;
}

.status-board__table {
  width: 88px;
  height: 70px;
  margin: auto;
  display: grid;
  place-items: center;
  border: 3px solid;
  border-radius: 22px;
  color: #fff;
  font-weight: 800;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.03);
}

.status-board__table--green { border-color: #5ca96a; }
.status-board__table--yellow { border-color: #d7b348; }
.status-board__table--red { border-color: #cf5b4f; }
.status-board__table--purple { border-color: #8a62a3; }

.status-legend {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
}

.status-legend div {
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 10px;
  align-items: start;
}

.status-legend span {
  color: #cbd5dc;
  font-size: .8rem;
}

.status-legend strong {
  display: block;
  color: #fff;
  font-size: .72rem;
}

.status-dot {
  width: 10px;
  height: 10px;
  margin-top: 3px;
  border-radius: 50%;
}

.status-dot--green { background: #5ca96a; }
.status-dot--yellow { background: #d7b348; }
.status-dot--red { background: #cf5b4f; }
.status-dot--purple { background: #8a62a3; }

.timeline-flow {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1.1fr;
  gap: 12px;
  align-items: stretch;
}

.timeline-flow > div {
  min-height: 150px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.05);
}

.timeline-flow > span {
  align-self: center;
  color: var(--orange);
  font-size: 1.4rem;
}

.timeline-flow small {
  color: #ff9a70;
  font-weight: 800;
}

.timeline-flow strong {
  margin-top: 8px;
  color: #fff;
}

.timeline-flow__result {
  border-color: rgba(230,83,45,.45) !important;
  background: rgba(230,83,45,.10) !important;
}

.reopt-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 12px;
}

.reopt-grid div {
  padding: 18px;
  border-radius: 16px;
  background: #071521;
}

.reopt-grid span {
  display: block;
  margin-bottom: 6px;
  color: #90a2ae;
  font-size: .78rem;
}

.reopt-grid strong {
  color: #fff;
}

.handoff-flow {
  display: grid;
  grid-template-columns: repeat(7, auto);
  gap: 12px;
  align-items: center;
  justify-content: center;
}

.handoff-flow > div {
  min-width: 145px;
  min-height: 180px;
  padding: 22px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: #071521;
  text-align: center;
}

.handoff-flow b {
  color: var(--orange);
  font-size: 1.25rem;
}

.handoff-flow small {
  color: #8fa1ad;
  font-weight: 800;
}

.handoff-flow strong {
  margin: 8px 0 4px;
  color: #fff;
}

.handoff-flow span {
  color: #c7d1d8;
  font-size: .8rem;
}

.supporting-rail--dark {
  padding-top: 78px;
}

.rail-card--dark {
  border-color: rgba(255,255,255,.10);
  background: #102536;
  box-shadow: 0 16px 36px rgba(0,0,0,.18);
}

.rail-card--dark h3,
.rail-card--dark p {
  color: #fff;
}

.rail-card--dark p {
  color: #cbd5dc;
}

.clock-visual {
  width: 126px;
  height: 126px;
  margin: 24px auto;
  display: grid;
  place-items: center;
  border: 8px solid #d7b348;
  border-radius: 50%;
  color: #fff;
  font-size: 2rem;
  font-weight: 800;
  background: #071521;
}

.route-visual,
.handoff-mini {
  min-height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

.route-visual span,
.handoff-mini span {
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: #071521;
  color: #fff;
  font-weight: 700;
}

.route-visual b,
.handoff-mini b {
  color: var(--orange);
}

.report-visual {
  margin: 24px 0;
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.08);
}

.report-visual span {
  padding: 12px;
  background: #071521;
  color: #dbe3e8;
  font-size: .78rem;
}

.history-visual {
  min-height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.history-visual span {
  padding: 12px 14px;
  border-radius: 12px;
  background: #071521;
  color: #fff;
  font-size: .76rem;
}

.history-visual i {
  width: 34px;
  height: 1px;
  background: var(--orange);
}

.act-close--light {
  color: var(--ink);
  background: #fff;
  border: 1px solid rgba(255,255,255,.12);
}

.act-close--light .eyebrow {
  color: var(--orange);
}

.act-close--light h2 {
  color: var(--ink);
}

.act-close--light p {
  color: var(--ink-soft);
}

@media (max-width: 1180px) {
  .timeline-flow {
    grid-template-columns: 1fr;
  }

  .timeline-flow > span {
    transform: rotate(90deg);
  }

  .handoff-flow {
    grid-template-columns: 1fr;
  }

  .handoff-flow b {
    transform: rotate(90deg);
    justify-self: center;
  }
}

@media (max-width: 760px) {
  .act--night {
    padding-bottom: 80px;
  }

  .status-board {
    min-height: 300px;
    grid-template-columns: repeat(2,1fr);
  }

  .status-legend,
  .reopt-grid {
    grid-template-columns: 1fr;
  }

  .timeline-flow > div {
    min-height: 118px;
  }

  .handoff-flow > div {
    min-width: 0;
    min-height: 130px;
  }
}


/* =========================================================
   ACT III — GUEST INTELLIGENCE
   ========================================================= */

.act--people {
  background:
    radial-gradient(circle at 14% 9%, rgba(230,83,45,.08), transparent 22%),
    linear-gradient(180deg,#fff 0%,#fbf7f2 48%,#fff 100%);
}

.act-opener--people {
  border-bottom-color: var(--line);
}

.act-opener__visual--phones {
  overflow: visible;
}

.phone-stage {
  width: 100%;
  min-height: 500px;
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 20px;
}

.phone-frame {
  width: 210px;
  height: 430px;
  padding: 10px;
  border: 5px solid #222;
  border-radius: 42px;
  background: #111;
  box-shadow: 0 24px 45px rgba(39,31,25,.16);
}

.phone-frame--center {
  width: 250px;
  height: 500px;
}

.phone-frame--side {
  transform: translateY(28px);
}

.phone-screen {
  height: 100%;
  padding: 28px 14px 14px;
  overflow: hidden;
  border-radius: 31px;
  background: linear-gradient(180deg,#5b3a20 0 23%,#fff 23%);
}

.phone-screen small,
.phone-screen strong {
  display: block;
  text-align: center;
  color: #fff;
}

.phone-screen strong {
  margin-top: 8px;
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.45rem;
}

.menu-row {
  height: 70px;
  margin-top: 12px;
  border-radius: 12px;
  background: #f3eee8;
}

.recommendation-grid {
  margin-top: 46px;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 8px;
}

.recommendation-grid i {
  min-height: 110px;
  border-radius: 12px;
  background: linear-gradient(135deg,#e7c69a,#74513b);
}

.party-people {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 14px;
}

.party-people div {
  padding: 24px 12px;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.party-people i {
  width: 64px;
  height: 64px;
  margin: 0 auto 10px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--cream);
  color: var(--orange);
  font-style: normal;
  font-weight: 800;
}

.party-people span {
  color: #4f4945;
  font-size: .82rem;
}

.group-recs {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}

.group-recs div {
  padding: 20px;
  border-radius: 16px;
  background: var(--cream);
}

.group-recs small {
  display: block;
  margin-bottom: 6px;
  color: var(--orange);
  font-weight: 800;
}

.landing-page-ui {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(54,44,36,.07);
}

.landing-page-ui__main,
.landing-page-ui__menu {
  padding: 22px;
  border-radius: 16px;
  background: var(--cream-2);
}

.landing-page-ui__main small,
.landing-page-ui__main strong,
.landing-page-ui__main span {
  display: block;
}

.landing-page-ui__main strong {
  margin: 8px 0;
  font-size: 1.35rem;
}

.landing-page-ui__main span {
  color: var(--ink-soft);
  font-size: .85rem;
}

.landing-page-ui__main button {
  margin-top: 28px;
  padding: 12px 16px;
  border: 0;
  border-radius: 9px;
  background: var(--orange);
  color: #fff;
  font-weight: 700;
}

.landing-page-ui__menu {
  display: grid;
  gap: 10px;
}

.landing-page-ui__menu span {
  padding: 12px 14px;
  border-radius: 10px;
  background: #fff;
  color: #4f4945;
  font-size: .82rem;
}

.prearrival-timeline {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 12px;
  align-items: center;
}

.prearrival-timeline div {
  min-height: 180px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.prearrival-timeline small {
  color: var(--orange);
  font-weight: 800;
}

.prearrival-timeline strong {
  margin-top: 8px;
}

.prearrival-timeline > span {
  color: var(--orange);
  font-weight: 800;
}

.guest-card {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 18px;
  border-radius: 16px;
  background: var(--cream);
}

.guest-card i {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: var(--orange);
  font-style: normal;
  font-weight: 800;
}

.guest-card strong,
.guest-card span {
  display: block;
}

.guest-card span {
  color: var(--ink-soft);
  font-size: .75rem;
}

.occasion-strip,
.notes-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0;
}

.occasion-strip span,
.notes-list span {
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--cream);
  color: #625a55;
  font-size: .76rem;
}

.report-visual--light {
  border-color: var(--line);
  background: var(--line);
}

.report-visual--light span {
  background: var(--cream-2);
  color: #4f4945;
}

.future-visits {
  min-height: 110px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.future-visits strong {
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--cream);
  font-size: .78rem;
}

.future-visits span {
  color: var(--orange);
  font-weight: 800;
}


/* =========================================================
   ACT IV — BUSINESS OUTCOME
   ========================================================= */

.act--business {
  background:
    radial-gradient(circle at 80% 10%, rgba(230,83,45,.08), transparent 22%),
    linear-gradient(180deg,#fff 0%,#fbf7f2 100%);
}

.business-equation {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 14px;
  align-items: center;
}

.business-equation div {
  min-height: 190px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(54,44,36,.06);
}

.business-equation small {
  color: var(--orange);
  font-weight: 800;
}

.business-equation strong {
  margin-top: 8px;
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.35rem;
}

.business-equation > span {
  color: var(--orange);
  font-size: 1.5rem;
  font-weight: 800;
}

.capacity-layers {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1.2fr;
  gap: 10px;
  align-items: center;
}

.capacity-layers div {
  min-height: 150px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
}

.capacity-layers small {
  color: var(--orange);
  font-weight: 800;
}

.capacity-layers strong {
  margin-top: 8px;
}

.capacity-layers > span {
  color: var(--orange);
  font-weight: 800;
}

.capacity-layers__result {
  border-color: rgba(230,83,45,.4) !important;
  background: rgba(230,83,45,.06) !important;
}

.hospitality-map {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 14px;
}

.hospitality-map div {
  min-height: 150px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 18px;
  background: var(--cream);
}

.hospitality-map small {
  color: var(--orange);
  font-weight: 800;
}

.hospitality-map strong {
  margin-top: 8px;
}

.future-tree {
  text-align: center;
}

.future-tree__root {
  display: inline-block;
  padding: 18px 22px;
  border-radius: 14px;
  background: var(--orange);
  color: #fff;
  font-weight: 800;
}

.future-tree > span {
  display: block;
  margin: 14px 0;
  color: var(--orange);
  font-size: 1.4rem;
  font-weight: 800;
}

.future-tree__guests,
.future-tree__occasions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}

.future-tree i {
  padding: 12px 14px;
  border-radius: 999px;
  background: var(--cream);
  color: #5f5752;
  font-style: normal;
  font-size: .8rem;
}

.proof-section {
  margin-top: 80px;
  padding: 70px;
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
  gap: 70px;
  align-items: end;
  border-radius: var(--radius);
  background: var(--navy);
}

.proof-section h2,
.proof-section p,
.proof-grid strong,
.proof-grid span {
  color: #fff;
}

.proof-section__copy h2 {
  font-size: clamp(2.6rem,4vw,4.6rem);
  line-height: 1.03;
}

.proof-section__copy p:last-child {
  color: #cdd6dc;
}

.proof-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 1px;
  background: rgba(255,255,255,.12);
}

.proof-grid div {
  min-height: 150px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: #102536;
}

.proof-grid strong {
  font-family: Georgia,"Times New Roman",serif;
  font-size: 2.5rem;
  line-height: 1;
}

.proof-grid span {
  margin-top: 8px;
  color: #cad4db;
  font-size: .8rem;
}

.category-proof {
  padding: 112px 0 96px;
  max-width: 1080px;
  margin: 0 auto;
  text-align: center;
}

.category-proof h2 {
  margin-bottom: 28px;
  font-size: clamp(3rem,4.8vw,5.5rem);
  line-height: 1.02;
}

.category-proof p {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}

.category-proof__line {
  margin-top: 38px;
  padding-top: 32px;
  border-top: 1px solid var(--line);
  font-family: Georgia,"Times New Roman",serif;
  font-size: clamp(1.7rem,2.7vw,2.8rem);
  color: var(--orange);
}

.faq {
  padding: 90px 0 110px;
  border-top: 1px solid var(--line);
}

.faq__intro {
  max-width: 900px;
  margin-bottom: 46px;
}

.faq__intro h2 {
  font-size: clamp(2.8rem,4.2vw,4.8rem);
  line-height: 1.03;
}

.faq__items {
  max-width: 1020px;
}

.faq details {
  padding: 24px 0;
  border-top: 1px solid var(--line);
}

.faq details:last-child {
  border-bottom: 1px solid var(--line);
}

.faq summary {
  cursor: pointer;
  font-family: Georgia,"Times New Roman",serif;
  font-size: 1.35rem;
  color: #38322f;
}

.faq details p {
  max-width: 900px;
  margin: 16px 0 0;
}

@media (max-width: 1180px) {
  .phone-stage {
    min-height: 430px;
  }

  .phone-frame--side {
    width: 170px;
    height: 350px;
  }

  .phone-frame--center {
    width: 210px;
    height: 420px;
  }

  .proof-section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .phone-stage {
    min-height: 330px;
    gap: 7px;
  }

  .phone-frame {
    padding: 5px;
    border-width: 3px;
    border-radius: 28px;
  }

  .phone-frame--side {
    width: 29%;
    height: 270px;
    transform: translateY(18px);
  }

  .phone-frame--center {
    width: 36%;
    height: 310px;
  }

  .phone-screen {
    padding: 20px 8px 8px;
    border-radius: 20px;
  }

  .phone-screen strong {
    font-size: .85rem;
  }

  .recommendation-grid {
    margin-top: 30px;
  }

  .recommendation-grid i {
    min-height: 62px;
  }

  .party-people {
    grid-template-columns: repeat(2,1fr);
  }

  .group-recs,
  .landing-page-ui,
  .hospitality-map {
    grid-template-columns: 1fr;
  }

  .prearrival-timeline,
  .business-equation,
  .capacity-layers {
    grid-template-columns: 1fr;
  }

  .prearrival-timeline > span,
  .business-equation > span,
  .capacity-layers > span {
    transform: rotate(90deg);
    justify-self: center;
  }

  .proof-section {
    padding: 48px 26px;
  }

  .proof-grid {
    grid-template-columns: 1fr;
  }

  .category-proof {
    padding: 80px 0 70px;
  }
}
