:root{
  --bg:#080a0d;--surface:#0f1319;--surface2:#141a22;--surface3:#1a222d;
  --text:#f4f7fb;--muted:rgba(244,247,251,.65);--soft:rgba(244,247,251,.42);
  --line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
  --accent:#d9ff72;--accentInk:#10140a;--blue:#8ab6ff;
  --max:1280px;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 46% -10%,rgba(105,145,255,.09),transparent 28%),var(--bg);color:var(--text);overflow-x:hidden}
a{color:inherit;text-decoration:none}button{font:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.header{position:sticky;top:0;z-index:100;background:rgba(8,10,13,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.header-inner{width:min(calc(100% - 40px),var(--max));height:66px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.brand{font-size:21px;font-weight:900;letter-spacing:-.055em}.nav{display:flex;justify-content:center;gap:30px;font-size:13px;color:var(--muted)}
.nav a:hover{color:var(--text)}.header-cta{font-size:13px;border:1px solid var(--line2);border-radius:999px;padding:10px 14px}
.hero{min-height:calc(100vh - 66px);display:flex;align-items:center;padding:78px 0 90px}
.hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:58px;align-items:center}
.eyebrow{margin:0 0 20px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--soft);font-weight:750}
h1,h2,h3,p{margin-top:0}.hero h1,.section-head h2,.hospitality-copy h2,.showcase-head h2,.contact-card h2{letter-spacing:-.05em;line-height:1.02;margin-bottom:0}
.hero h1{font-size:clamp(50px,5.1vw,78px);max-width:720px}.hero-lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:650px;margin:26px 0 0}
.hero-actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.btn{min-height:46px;padding:0 18px;border-radius:999px;border:1px solid transparent;font-size:13px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.primary{background:var(--accent);color:var(--accentInk)}.secondary{border-color:var(--line2)}.btn:hover{transform:translateY(-1px)}
.hero-proof{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px;color:var(--soft);font-size:11px}.hero-proof span:before{content:"•";margin-right:8px;color:var(--accent)}
.product-window{border:1px solid var(--line2);border-radius:24px;background:#0b0e13;overflow:hidden;box-shadow:0 38px 90px rgba(0,0,0,.38)}
.window-bar{height:46px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 14px;border-bottom:1px solid var(--line);font-size:10px;color:var(--soft)}
.window-dots{display:flex;gap:6px}.window-dots i{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.2)}.window-bar small{justify-self:end;color:var(--accent)}
.app-shell{display:grid;grid-template-columns:118px 1fr;min-height:540px}.app-nav{padding:16px 11px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:6px;font-size:9px;color:var(--soft)}
.app-nav strong{font-size:14px;color:var(--text);margin:0 8px 18px}.app-nav span{padding:8px 9px;border-radius:8px}.app-nav .active{background:rgba(255,255,255,.06);color:var(--text)}
.app-main{padding:22px}.app-heading{display:flex;align-items:flex-start;justify-content:space-between}.app-heading small{color:var(--soft)}.app-heading h2{font-size:27px;margin:5px 0 0;letter-spacing:-.04em}.live{font-size:8px;padding:6px 8px;border-radius:999px;color:var(--accent);background:rgba(217,255,114,.08)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 10px}.kpis article{padding:13px;border:1px solid var(--line);border-radius:13px}.kpis span,.kpis small{display:block;color:var(--soft);font-size:8px}.kpis b{display:block;font-size:22px;margin:9px 0 2px}
.app-panels{display:grid;grid-template-columns:1.2fr .8fr;gap:9px}.panel{padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.015)}.panel-head{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-bottom:10px}
.room{display:grid;grid-template-columns:28px auto 1fr auto;gap:7px;align-items:center;min-height:42px;border-top:1px solid var(--line);font-size:8px}.room b{font-size:9px}.room span{height:1px;background:var(--line)}.room small{color:var(--soft)}.room em{font-style:normal;padding:4px 6px;border-radius:999px;font-size:7px}
.ready{color:var(--accent);background:rgba(217,255,114,.08)}.occupied{color:var(--blue);background:rgba(138,182,255,.08)}.clean{color:#ffd078;background:rgba(255,208,120,.08)}
.priorities>div:not(.panel-head){padding:11px 0;border-top:1px solid var(--line)}.priorities b,.priorities small{display:block;font-size:8px}.priorities small{color:var(--soft);margin-top:3px}
.company,.problems,.showcase,.platform,.method,.contact{padding:110px 0}.company{padding-top:135px}
.company-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.section-head{max-width:900px}.section-head h2{font-size:clamp(40px,4.6vw,68px)}
.company-copy{font-size:19px;line-height:1.75;color:var(--muted);align-self:end}.company-copy p{margin-bottom:20px}
.problems{border-top:1px solid var(--line)}.problem-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:50px}
.problem-strip article{background:var(--bg);padding:22px;min-height:270px}.problem-strip span{font-size:10px;color:var(--soft)}.problem-strip h3{font-size:22px;letter-spacing:-.035em;margin:92px 0 8px}.problem-strip p{color:var(--muted);line-height:1.55;margin:0}
.hospitality{background:#eef0e9;color:#121510;padding:120px 0}.hospitality-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px}.hospitality-copy .eyebrow{color:rgba(18,21,16,.42)}.hospitality-copy h2{font-size:clamp(52px,5.5vw,78px)}
.big-copy{font-size:21px;line-height:1.65;color:rgba(18,21,16,.68);max-width:700px;margin:24px 0 0}.feature-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}.feature-list span{padding:9px 11px;border:1px solid rgba(18,21,16,.12);border-radius:999px;font-size:10px;color:rgba(18,21,16,.65)}
.hospitality-value{display:grid;gap:10px}.value-card{padding:24px;border:1px solid rgba(18,21,16,.12);border-radius:20px}.value-card small{color:rgba(18,21,16,.45)}.value-card h3{font-size:28px;letter-spacing:-.04em;margin:42px 0 8px}.value-card p{color:rgba(18,21,16,.64);line-height:1.55;margin:0}
.showcase-head{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.showcase-head h2{font-size:clamp(40px,4.4vw,66px)}.showcase-head>p{color:var(--muted);line-height:1.7;font-size:18px;margin:0}
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:50px}.shot{border:1px solid var(--line);border-radius:22px;padding:18px;background:var(--surface)}.shot-top{display:flex;justify-content:space-between;color:var(--soft);font-size:9px;margin-bottom:14px}
.calendar-shot,.reception-shot,.ops-shot{height:240px;border-radius:15px;background:#0b0e13;padding:16px}.cal-row{height:48px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:30px 1fr;align-items:center;gap:8px;font-size:8px}.bar{height:18px;border-radius:999px}.bar.a{width:74%;background:rgba(217,255,114,.38)}.bar.b{width:54%;background:rgba(138,182,255,.34)}.bar.c{width:88%;background:rgba(255,208,120,.30)}.bar.d{width:42%;background:rgba(217,255,114,.28)}
.reception-shot>div{min-height:55px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:9px}.reception-shot small{color:var(--soft)}.reception-shot span{padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.05)}
.ops-shot{display:flex;flex-direction:column;gap:11px}.ops-shot strong{font-size:26px;letter-spacing:-.04em;margin-bottom:6px}.ops-shot span{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:9px;color:var(--muted)}
.shot h3{font-size:22px;letter-spacing:-.035em;margin:20px 0 8px}.shot p{color:var(--muted);line-height:1.55;margin:0}
.platform-card{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;padding:46px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(140deg,rgba(255,255,255,.04),rgba(255,255,255,.012))}
.platform-card h2{font-size:46px;letter-spacing:-.05em;margin:0}.platform-card p{font-size:18px;line-height:1.7;color:var(--muted);margin:0}.platform-note{display:inline-block;margin-top:22px;font-size:10px;color:var(--soft)}
.method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:48px}.method-grid article{background:var(--bg);padding:22px;min-height:230px}.method-grid b{font-size:10px;color:var(--soft)}.method-grid h3{font-size:22px;letter-spacing:-.035em;margin:76px 0 6px}.method-grid p{color:var(--muted);line-height:1.5;margin:0}
.contact{padding-top:50px}.contact-card{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;padding:60px;border:1px solid var(--line);border-radius:30px;background:radial-gradient(circle at 100% 0,rgba(217,255,114,.11),transparent 34%),var(--surface)}
.contact-card h2{font-size:clamp(40px,4.5vw,66px)}.contact-side{align-self:end}.contact-side p{font-size:18px;line-height:1.65;color:var(--muted)}.copy-status{display:block;margin-top:12px;color:var(--accent);font-size:11px}
.footer{padding:36px 0 46px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--soft);font-size:12px}.footer div{display:flex;gap:14px}.footer strong{color:var(--text)}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
@media(max-width:1080px){.hero-grid,.company-grid,.hospitality-grid,.showcase-head,.platform-card,.contact-card{grid-template-columns:1fr}.problem-strip{grid-template-columns:repeat(2,1fr)}.showcase-grid{grid-template-columns:1fr}.method-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wrap,.header-inner{width:calc(100% - 28px)}.header-inner{grid-template-columns:1fr auto}.nav{display:none}.hero{padding:68px 0 72px;min-height:auto}.hero h1{font-size:clamp(46px,13.5vw,62px)}.hero-lead{font-size:17px}.hero-actions{flex-direction:column}.btn{width:100%}.app-shell{grid-template-columns:1fr}.app-nav{display:none}.kpis,.app-panels{grid-template-columns:1fr}.company,.problems,.showcase,.platform,.method,.contact{padding:82px 0}.company{padding-top:100px}.problem-strip{grid-template-columns:1fr}.hospitality{padding:88px 0}.platform-card,.contact-card{padding:26px 22px}.method-grid{grid-template-columns:1fr}.footer{flex-direction:column}.showcase-head>p{font-size:16px}}


/* ==========================================================
   KVA PUBLIC WEB — P5 VISUAL / UX REFINEMENT R1
   Refines P4 without changing information architecture.
   ========================================================== */

:root{
  --max:1240px;
}

/* Header: slightly stronger presence, still restrained */
.header-inner{height:70px}
.brand{font-size:23px;letter-spacing:-.06em}
.nav{font-size:13.5px;gap:34px;color:rgba(244,247,251,.72)}
.header-cta{font-size:12.5px;padding:10px 15px;background:rgba(255,255,255,.025)}

/* Hero: less oversized, more product-forward */
.hero{
  min-height:calc(100vh - 70px);
  padding:64px 0 76px;
}
.hero-grid{
  grid-template-columns:.76fr 1.24fr;
  gap:52px;
}
.hero h1{
  font-size:clamp(44px,4.45vw,68px);
  line-height:1.015;
  max-width:650px;
}
.hero-lead{
  font-size:17.5px;
  line-height:1.62;
  max-width:600px;
  margin-top:22px;
}
.hero-actions{margin-top:27px}
.hero-proof{margin-top:24px}
.product-window{border-radius:21px}
.app-shell{min-height:505px}
.app-main{padding:20px}
.app-heading h2{font-size:25px}

/* Global section rhythm: reduce empty vertical stretches */
.company,.problems,.showcase,.platform,.method,.contact{
  padding-top:88px;
  padding-bottom:88px;
}
.company{padding-top:104px}
.contact{padding-top:34px;padding-bottom:82px}
.hospitality{padding:96px 0}

/* Headings: readable in one visual field */
.section-head h2,
.showcase-head h2,
.contact-card h2{
  font-size:clamp(36px,3.7vw,56px);
  line-height:1.04;
  max-width:920px;
}
.hospitality-copy h2{
  font-size:clamp(46px,4.6vw,66px);
}
.company-grid{gap:62px}
.company-copy{font-size:17.5px;line-height:1.68}

/* Problems: denser and faster to scan */
.problem-strip{margin-top:38px}
.problem-strip article{
  min-height:225px;
  padding:20px;
}
.problem-strip h3{
  font-size:20px;
  margin:62px 0 8px;
}
.problem-strip p{font-size:14px}

/* Hospitality: flagship but not visually overwhelming */
.hospitality-grid{gap:58px}
.big-copy{
  font-size:19px;
  line-height:1.6;
  margin-top:20px;
}
.feature-list{margin-top:28px}
.value-card{padding:21px 22px}
.value-card h3{
  font-size:24px;
  margin:28px 0 7px;
}
.value-card p{font-size:14px}

/* Product showcase: visual hierarchy and differentiated cards */
.showcase-head{gap:58px}
.showcase-head>p{font-size:16.5px;line-height:1.65}
.showcase-grid{
  margin-top:38px;
  gap:14px;
}
.shot{
  padding:15px;
  border-radius:19px;
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.shot:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.16);
  background:#11161d;
}
.calendar-shot,.reception-shot,.ops-shot{
  height:205px;
  padding:14px;
}
.cal-row{height:41px}
.reception-shot>div{min-height:48px}
.ops-shot{gap:8px}
.ops-shot strong{font-size:23px}
.ops-shot span{padding:10px}
.shot h3{
  font-size:20px;
  margin:16px 0 6px;
}
.shot p{font-size:13.5px}

/* Platform: supporting layer, intentionally quieter than Hospitality */
.platform-card{
  grid-template-columns:.68fr 1.32fr;
  gap:56px;
  padding:38px 42px;
}
.platform-card h2{font-size:40px}
.platform-card p{font-size:16.5px}

/* Method: compact operating model */
.method-grid{margin-top:36px}
.method-grid article{
  min-height:190px;
  padding:19px;
}
.method-grid h3{
  font-size:20px;
  margin:50px 0 6px;
}
.method-grid p{font-size:13.5px}

/* Contact: strong close without another giant hero */
.contact-card{
  gap:54px;
  padding:44px 48px;
}
.contact-card h2{
  font-size:clamp(34px,3.5vw,52px);
  max-width:760px;
}
.contact-side p{
  font-size:16px;
  line-height:1.6;
}

/* More intentional motion */
.reveal{
  transform:translateY(12px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1);
}

/* Better anchors under sticky header */
section[id]{scroll-margin-top:86px}

/* Tablet */
@media(max-width:1080px){
  .hero{
    padding-top:54px;
  }
  .hero-grid{
    grid-template-columns:1fr;
    gap:40px;
  }
  .hero-copy{
    max-width:780px;
  }
  .hero h1{
    max-width:760px;
    font-size:clamp(46px,7vw,66px);
  }
  .product-window{
    max-width:900px;
  }
}

/* Mobile */
@media(max-width:760px){
  .header-inner{height:62px}
  .brand{font-size:21px}
  .header-cta{padding:9px 12px;font-size:11.5px}
  .hero{
    min-height:auto;
    padding:54px 0 58px;
  }
  .hero-grid{gap:34px}
  .hero h1{
    font-size:clamp(39px,11.6vw,54px);
    line-height:1.025;
  }
  .hero-lead{
    font-size:16px;
    line-height:1.58;
  }
  .hero-proof{
    gap:10px 14px;
  }
  .company,.problems,.showcase,.platform,.method,.contact{
    padding-top:68px;
    padding-bottom:68px;
  }
  .company{padding-top:78px}
  .hospitality{padding:72px 0}
  .section-head h2,
  .showcase-head h2{
    font-size:clamp(34px,9.7vw,46px);
  }
  .hospitality-copy h2{
    font-size:clamp(42px,12vw,56px);
  }
  .big-copy{font-size:17px}
  .problem-strip article{min-height:190px}
  .problem-strip h3{margin-top:44px}
  .calendar-shot,.reception-shot,.ops-shot{height:190px}
  .platform-card,.contact-card{
    padding:25px 20px;
    gap:34px;
  }
  .platform-card h2{font-size:36px}
  .contact-card h2{
    font-size:clamp(33px,9.2vw,44px);
  }
  .method-grid article{min-height:165px}
  .method-grid h3{margin-top:35px}
}


/* ==========================================================
   KVA PUBLIC WEB — P5-R2 SURGICAL UX FINISH R1
   Final structural polish over approved P5 base.
   ========================================================== */

/* Better sticky-header behavior and anchor landing */
html{
  scroll-padding-top:96px;
}
section[id]{
  scroll-margin-top:96px;
}

/* Header remains sticky, but is slightly more opaque and visually separated */
.header{
  background:rgba(8,10,13,.92);
  box-shadow:0 8px 28px rgba(0,0,0,.18);
}
.header-inner{
  height:68px;
}

/* Give every major section a cleaner top edge so headings don't feel clipped */
.company,
.problems,
.showcase,
.platform,
.method,
.contact{
  position:relative;
}

.company::before,
.problems::before,
.showcase::before,
.platform::before,
.method::before,
.contact::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(calc(100vw - 40px),1240px);
  transform:translateX(-50%);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
  pointer-events:none;
}

.company::before{
  display:none;
}

/* Tighter section rhythm */
.company{
  padding-top:92px;
  padding-bottom:78px;
}
.problems,
.showcase,
.platform,
.method{
  padding-top:78px;
  padding-bottom:78px;
}
.contact{
  padding-top:40px;
  padding-bottom:72px;
}
.hospitality{
  padding:86px 0;
}

/* Headings: a touch more compact and safer inside viewport */
.section-head h2,
.showcase-head h2,
.contact-card h2{
  max-width:860px;
}
.showcase-head h2{
  font-size:clamp(34px,3.45vw,52px);
  line-height:1.045;
}
.contact-card h2{
  font-size:clamp(32px,3.25vw,48px);
  line-height:1.05;
}

/* Hero: better use of widescreen space without returning to oversized typography */
.hero-grid{
  grid-template-columns:.72fr 1.28fr;
  gap:46px;
}
.hero-copy{
  max-width:640px;
}
.hero-product{
  min-width:0;
}
.product-window{
  width:100%;
}
.hero h1{
  font-size:clamp(43px,4.2vw,64px);
}
.hero-lead{
  max-width:575px;
}

/* Hospitality -> showcase transition: make it feel like one product story */
.hospitality{
  margin-bottom:0;
}
.showcase{
  padding-top:88px;
}
.showcase-head{
  align-items:start;
}
.showcase-grid{
  margin-top:32px;
}

/* Visual distinction between the three product examples */
.shot:nth-child(1) .calendar-shot{
  background:
    radial-gradient(circle at 100% 0,rgba(217,255,114,.07),transparent 36%),
    #0b0e13;
}
.shot:nth-child(2) .reception-shot{
  background:
    radial-gradient(circle at 100% 0,rgba(138,182,255,.08),transparent 36%),
    #0b0e13;
}
.shot:nth-child(3) .ops-shot{
  background:
    radial-gradient(circle at 100% 0,rgba(255,208,120,.06),transparent 36%),
    #0b0e13;
}

/* Platform should follow product proof without creating a large empty pause */
.platform{
  padding-top:62px;
}
.platform-card{
  min-height:0;
  align-items:center;
}
.platform-card p{
  max-width:760px;
}

/* Method reads faster and occupies less vertical space */
.method{
  padding-top:72px;
}
.method-grid{
  margin-top:30px;
}
.method-grid article{
  min-height:176px;
}
.method-grid h3{
  margin-top:42px;
}

/* Contact closes the page with a clean, compact decision point */
.contact-card{
  align-items:center;
  padding-top:38px;
  padding-bottom:38px;
}
.contact-side p{
  max-width:520px;
  margin-bottom:20px;
}

/* Footer closer to contact, avoiding dead space */
.footer{
  padding-top:30px;
  padding-bottom:36px;
}

/* Tablet */
@media(max-width:1080px){
  html{scroll-padding-top:88px}
  section[id]{scroll-margin-top:88px}

  .hero-grid{
    grid-template-columns:1fr;
    gap:36px;
  }
  .hero-copy{
    max-width:760px;
  }
  .hero h1{
    max-width:760px;
  }
  .product-window{
    max-width:920px;
  }

  .company,
  .problems,
  .showcase,
  .platform,
  .method{
    padding-top:70px;
    padding-bottom:70px;
  }
}

/* Mobile */
@media(max-width:760px){
  html{scroll-padding-top:76px}
  section[id]{scroll-margin-top:76px}

  .header{
    box-shadow:0 5px 18px rgba(0,0,0,.16);
  }

  .company,
  .problems,
  .showcase,
  .platform,
  .method,
  .contact{
    padding-top:58px;
    padding-bottom:58px;
  }

  .hospitality{
    padding:64px 0;
  }

  .hero{
    padding-top:48px;
    padding-bottom:52px;
  }

  .hero h1{
    font-size:clamp(38px,10.8vw,50px);
  }

  .showcase{
    padding-top:66px;
  }

  .showcase-head h2{
    font-size:clamp(32px,9vw,42px);
  }

  .platform{
    padding-top:52px;
  }

  .method-grid article{
    min-height:154px;
  }

  .contact-card h2{
    font-size:clamp(31px,8.7vw,40px);
  }

  .footer{
    padding-top:26px;
    padding-bottom:30px;
  }
}

/* ==========================================================
   KVA PUBLIC WEB — P14-D.3 ACCESSIBILITY CONTRAST
   Scoped to the Hospitality product preview.
   Improves small-text readability without changing global tokens.
   ========================================================== */

.product-window .window-bar,
.product-window .app-nav,
.product-window .app-heading small,
.product-window .kpis span,
.product-window .kpis small,
.product-window .panel-head,
.product-window .room small,
.product-window .priorities small {
  color: rgba(244,247,251,.72);
}

/* ==========================================================
   KVA PUBLIC WEB — P14-D.3 R4B HOSPITALITY CONTRAST
   Scoped to the light Hospitality flagship section.
   Improves secondary-text legibility without changing layout.
   ========================================================== */

.hospitality .hospitality-copy .eyebrow {
  color: rgba(18,21,16,.62);
}

.hospitality .big-copy {
  color: rgba(18,21,16,.78);
}

.hospitality .feature-list span {
  color: rgba(18,21,16,.76);
  border-color: rgba(18,21,16,.18);
}

.hospitality .value-card {
  border-color: rgba(18,21,16,.16);
}

.hospitality .value-card small {
  color: rgba(18,21,16,.64);
}

.hospitality .value-card p {
  color: rgba(18,21,16,.76);
}

/* ==========================================================
   P14-E.2B KEYBOARD FOCUS HARDENING
   Visible keyboard focus without changing pointer interaction.
   ========================================================== */

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
}

.header-cta:focus-visible,
.btn:focus-visible {
  border-color: var(--accent);
}
