:root{--olive:#596348;--olive2:#4F5538;--ink:#252B28;--cream:#F5F5F0;--sage:#E3E6DE;--orange:#F28019;--slate:#64748B}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--cream);line-height:1.5}
a{color:inherit}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.demo{background:var(--orange);color:#fff;text-align:center;font-size:13px;padding:6px}
header{background:#fff;color:var(--ink);border-bottom:1px solid #e5e5e5;box-shadow:0 2px 8px rgba(0,0,0,.04)}header .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{height:52px}.brand b{font-size:20px;letter-spacing:.04em}.brand small{display:block;opacity:.7;font-size:12px}
nav a{margin-left:18px;text-decoration:none;opacity:.9;font-weight:500}nav a.cta{background:var(--orange);color:#fff;padding:9px 16px;border-radius:999px;opacity:1}
.hero{background:linear-gradient(135deg,var(--olive2),var(--ink));color:#fff;padding:70px 0 90px}.hero h1{font-size:clamp(32px,5vw,54px);margin:0 0 8px}.hero p.sub{opacity:.8;margin:0 0 6px;font-size:18px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:-56px}
.card{background:#fff;border-radius:18px;padding:32px;box-shadow:0 10px 30px rgba(0,0,0,.08);text-decoration:none;display:block;border-top:6px solid var(--olive)}.card:hover{transform:translateY(-3px)}.card h2{margin:0 0 6px}.card .go{display:inline-block;margin-top:14px;background:var(--olive);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600}
.card.portal{border-top-color:var(--orange)}.card.portal .go{background:var(--orange)}
section{padding:48px 0}h3.sec{font-size:26px;margin:0 0 18px}
.feat{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:14px;overflow-x:auto;padding-bottom:6px}
.prod{background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.06);display:flex;flex-direction:column}.prod img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--sage)}.prod div{padding:12px 14px}.prod .badge{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--orange);font-weight:700}.prod .t{font-weight:600;font-size:14px;margin:4px 0}.prod .p{color:var(--olive);font-weight:700}
.prod.potw{outline:2px solid var(--orange)}@media(max-width:600px){nav a{margin-left:10px}}
.panel{background:#fff;border-radius:16px;padding:28px;box-shadow:0 4px 14px rgba(0,0,0,.05)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.policy{background:var(--sage);border-left:5px solid var(--orange);padding:16px 20px;border-radius:8px}
iframe.sched{width:100%;height:820px;border:0;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.btn{display:block;text-align:center;background:var(--olive);color:#fff;text-decoration:none;padding:14px 16px;border-radius:12px;font-weight:600;font-size:16px;line-height:1.25}.btn.o{background:var(--orange)}.btn.slate{background:var(--slate)}.btn small{display:block;font-weight:400;opacity:.85;font-size:12px;margin-top:4px}
footer{background:var(--ink);color:#cfd3cc;padding:36px 0;font-size:14px}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
.hero h1.logo-h1{margin:6px 0 14px}.hero h1.logo-h1 img{width:min(520px,90%);height:auto;display:block}.hero.hero-img{background:url(hero.jpg) center/cover no-repeat;aspect-ratio:1560/1008;max-height:640px;width:100%;padding:0}@media(max-width:700px){.hero.hero-img{aspect-ratio:auto;height:420px;background-position:20% center}}.phero{position:relative;color:#fff;padding:56px 0 64px;background-size:cover;background-position:center;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,28,18,.92) 0%,rgba(30,42,26,.78) 45%,rgba(30,42,26,.35) 100%);backdrop-filter:blur(1.5px)}
.phero .wrap{position:relative}.phero h1{font-size:clamp(30px,5vw,50px);margin:18px 0 8px}.phero p{max-width:620px;opacity:.9;font-size:18px;margin:0}
.phero.book{background-image:url(bg-recovery.jpg)}
.logostrip{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.25)}
.logostrip img{height:46px;width:auto;display:block}.logostrip .sep{width:1px;height:40px;background:rgba(255,255,255,.35)}
@media(max-width:700px){.phero{padding:36px 0 44px}.logostrip{gap:14px}.logostrip img{height:26px}.logostrip .sep{height:24px}}
@media(max-width:700px){.logostrip{flex-wrap:nowrap;gap:10px}.logostrip img{height:auto;max-height:28px;min-width:0;flex:1 1 0;object-fit:contain;object-position:left}.logostrip .sep{flex:0 0 1px;height:22px}}
@media(max-width:700px){.logostrip{display:grid!important;grid-template-columns:1.1fr 1px 1.3fr 1px 0.8fr;gap:8px;align-items:center}.logostrip img{width:100%!important;height:auto!important;max-height:30px}}
.phero{padding:70px 0 80px;text-align:center}.phero.book{background-image:url(bg-book.jpg);background-position:center 40%}
.phero::before{background:rgba(15,22,14,.18);backdrop-filter:none}
.phero .wrap{display:flex;flex-direction:column;align-items:center}
.phero .logostrip,.phero h1,.phero p{position:relative}
.phero .hbox{background:rgba(18,26,16,.55);border-radius:18px;padding:26px 34px;display:flex;flex-direction:column;align-items:center;max-width:760px}
.phero p{margin:0 auto}.logostrip{justify-content:center;border-bottom-color:rgba(255,255,255,.3)}
@media(max-width:700px){.phero .hbox{padding:18px 16px;width:100%}.logostrip{justify-items:center}}
.phero .hbox{max-width:1040px;background:rgba(18,26,16,.42);padding:22px 40px}.phero .logostrip{flex-wrap:nowrap}.phero .logostrip img{height:40px}

/* t325u portal hero — booking-style text/image overlap */
.phero.portal{
  background-image:url(bg-portal.jpg);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center 42%;
  background-color:var(--sage);
  min-height:420px;
  padding:70px 0 80px;
  overflow:hidden;
  text-align:center;
}
.phero.portal::before{
  display:block;
  content:"";
  position:absolute;
  inset:0;
  background:rgba(15,22,14,.22);
  backdrop-filter:none;
}
.phero.portal .wrap{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.phero.portal .hbox{
  max-width:760px;
  width:100%;
  margin:0 auto;
  justify-content:center;
  background:rgba(18,26,16,.55);
  padding:26px 34px;
  text-align:center;
  box-sizing:border-box;
  overflow:hidden;
}
.phero.portal .logostrip{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) 1px minmax(0,1.35fr) 1px minmax(0,.95fr);
  gap:8px;
  align-items:center;
  justify-items:center;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  flex-wrap:unset;
  padding-bottom:14px;
}
.phero.portal .logostrip img{
  width:100%!important;
  height:auto!important;
  max-height:34px;
  min-width:0;
  object-fit:contain;
  object-position:center;
  flex:unset;
}
.phero.portal .logostrip .sep{width:1px;height:26px;justify-self:center;flex:unset}
.phero.portal h1{margin:16px 0 8px}
.phero.portal p{max-width:none;margin:0 auto}
@media(max-width:900px){
  .phero.portal{min-height:360px;padding:56px 0 64px;background-position:center 40%}
  .phero.portal .hbox{padding:20px 18px}
  .phero.portal .logostrip{gap:6px}
  .phero.portal .logostrip img{max-height:28px}
  .phero.portal .logostrip .sep{height:22px}
}
@media(max-width:700px){
  .phero.portal{min-height:300px;padding:36px 0 44px;background-position:center 38%;background-size:cover}
  .phero.portal .hbox{padding:18px 14px;width:100%}
  .phero.portal .logostrip img{max-height:26px}
  .phero.portal .logostrip{gap:6px;padding-bottom:12px}
  .phero.portal .logostrip .sep{height:20px}
}
/* t325u portal actions — uniform sizes; orange 2×2 */
.portal-actions{display:flex;flex-direction:column;gap:14px}
.portal-row{display:grid;gap:12px}
.portal-row.green{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.portal-row.orange{
  grid-template-columns:repeat(2,minmax(200px,280px));
  justify-content:center;
  justify-items:stretch;
  width:100%;
  max-width:600px;
  margin:0 auto;
  gap:12px;
}
.portal-row.orange .btn{width:100%;padding:12px 14px;font-size:15px;border-radius:12px}
.portal-row.orange .btn small{font-size:11.5px}
.portal-row.green .btn{padding:12px 14px;font-size:15px}
@media(max-width:700px){
  .portal-row.orange{grid-template-columns:1fr;max-width:100%}
}
