@import url("https://fonts.googleapis.com/css2?family=Exo+2:wght@500;600;700;800&family=Roboto:wght@400;500;700&display=swap");

:root { --ink:#15181c; --red:#e00000; --line:#e1e5e9; }
* { box-sizing:border-box; }
html { height:100%; }
body { display:flex; flex-direction:column; width:100%; height:100vh; height:100dvh; min-height:0; margin:0; overflow:hidden; background:#111820; color:#fff; font-family:Roboto,Arial,sans-serif; }
body::before { position:fixed; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,13,20,.89),rgba(7,13,20,.7) 48%,rgba(7,13,20,.87)),url("../img/hero/slider-1.jpg") center/cover no-repeat; content:""; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.skip-link { position:absolute; z-index:30; top:-80px; left:12px; padding:8px 12px; background:#fff; color:var(--ink); }
.skip-link:focus { top:8px; }

.site-header { display:flex; flex:none; align-items:center; height:64px; padding:0 clamp(18px,2.5vw,42px); border-bottom:1px solid rgba(255,255,255,.15); background:rgba(9,14,20,.45); }
.brand { display:flex; align-items:center; }
.brand img { width:150px; height:auto; }

.agenda-shell { display:flex; flex:1; flex-direction:column; min-height:0; width:min(100%,1600px); margin:auto; padding:14px clamp(14px,2.2vw,36px) 18px; }
.agenda-heading { display:flex; flex:none; align-items:end; justify-content:space-between; gap:28px; min-height:72px; padding:0 2px 12px; }
.eyebrow { display:flex; align-items:center; gap:8px; margin:0 0 4px; color:#ff6969; font-family:"Exo 2",Arial,sans-serif; font-size:.69rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow span { width:20px; height:2px; background:currentColor; }
.agenda-heading h1 { margin:0; font-family:"Exo 2",Arial,sans-serif; font-size:clamp(1.85rem,3vw,2.6rem); font-weight:700; letter-spacing:-.04em; line-height:1.06; }
.agenda-heading > p { max-width:400px; margin:0 0 3px; color:#d7dce1; font-size:.85rem; line-height:1.35; text-align:right; }

.agenda-workspace { display:grid; flex:1; min-height:0; grid-template-columns:minmax(145px,190px) minmax(460px,760px) minmax(145px,190px); grid-template-rows:repeat(2,minmax(0,1fr)); justify-content:center; gap:14px; }
.service-card { display:flex; flex-direction:column; align-self:center; width:100%; height:min(100%,210px); min-width:0; min-height:0; overflow:hidden; border:1px solid rgba(255,255,255,.25); border-radius:10px; background:rgba(19,27,36,.9); box-shadow:0 14px 30px rgba(0,0,0,.2); transition:transform .2s ease,box-shadow .2s ease; }
.service-card:hover { transform:translateY(-3px); box-shadow:0 18px 36px rgba(0,0,0,.32); }
.service-card img { flex:0 0 47%; width:100%; min-height:0; object-fit:cover; }
.service-content { display:flex; flex:1; flex-direction:column; justify-content:center; min-height:0; padding:10px 12px; }
.service-content small { margin-bottom:5px; color:#ff7777; font-family:"Exo 2",Arial,sans-serif; font-size:.57rem; font-weight:800; letter-spacing:.09em; }
.service-content strong { font-family:"Exo 2",Arial,sans-serif; font-size:1.06rem; line-height:1.14; letter-spacing:-.02em; }
.service-content > span { margin-top:5px; color:#c6d0d9; font-size:.7rem; line-height:1.35; }
.service-one { grid-column:1; grid-row:1; }
.service-two { grid-column:1; grid-row:2; }
.service-three { grid-column:3; grid-row:1; }
.service-four { grid-column:3; grid-row:2; }

.calendar-card { display:flex; flex-direction:column; align-self:center; width:100%; height:min(100%,650px); min-width:0; min-height:0; grid-column:2; grid-row:1/3; overflow:hidden; border:1px solid rgba(255,255,255,.7); border-radius:10px; background:#fff; color:var(--ink); box-shadow:0 24px 55px rgba(0,0,0,.28); }
.calendar-head { display:flex; flex:none; align-items:center; justify-content:space-between; gap:12px; min-height:62px; padding:9px clamp(12px,2vw,28px); border-bottom:1px solid var(--line); }
.calendar-head span { color:var(--red); font-family:"Exo 2",Arial,sans-serif; font-size:.64rem; font-weight:800; letter-spacing:.12em; }
.calendar-head h2 { margin:2px 0 0; font-family:"Exo 2",Arial,sans-serif; font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.1; }
.calendar-head a { flex:none; color:#a80000; font-size:.8rem; font-weight:700; }
.calendar-head a:hover { text-decoration:underline; }
.calendly-inline-widget { flex:1; width:100%; min-width:0; min-height:0; height:100%; }
.calendly-inline-widget iframe { display:block; width:100% !important; height:100% !important; min-height:0 !important; }

@media (max-width:1100px) {
  .agenda-workspace { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:minmax(0,1fr) 94px; }
  .calendar-card { align-self:stretch; height:100%; grid-column:1/-1; grid-row:1; }
  .service-one { grid-column:1; grid-row:2; }
  .service-two { grid-column:2; grid-row:2; }
  .service-three { grid-column:3; grid-row:2; }
  .service-four { grid-column:4; grid-row:2; }
  .service-card { flex-direction:row; height:100%; }
  .service-card img { flex:0 0 36%; width:36%; height:100%; }
  .service-content { padding:8px; }
  .service-content small { margin-bottom:4px; font-size:.54rem; }
  .service-content strong { font-size:.9rem; }
  .service-content > span { display:none; }
}

@media (max-width:650px) {
  .site-header { height:51px; padding:0 12px; }
  .brand img { width:124px; }
  .agenda-shell { padding:9px 9px 9px; }
  .agenda-heading { min-height:58px; padding:0 2px 7px; }
  .agenda-heading h1 { font-size:clamp(1.55rem,6vw,2rem); }
  .agenda-heading > p { display:none; }
  .agenda-workspace { grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:minmax(0,1fr) repeat(2,58px); gap:7px; }
  .service-one { grid-column:1/3; grid-row:2; }
  .service-two { grid-column:3/5; grid-row:2; }
  .service-three { grid-column:1/3; grid-row:3; }
  .service-four { grid-column:3/5; grid-row:3; }
  .service-card img { flex:0 0 30%; width:30%; }
  .service-content { padding:5px 7px; }
  .service-content small { margin-bottom:2px; font-size:.46rem; letter-spacing:.025em; }
  .service-content strong { font-size:.76rem; line-height:1.08; }
  .calendar-head { min-height:50px; padding:6px 10px; }
  .calendar-head span { font-size:.53rem; }
  .calendar-head h2 { font-size:1.15rem; }
  .calendar-head a { font-size:.68rem; }
}

@media (max-width:380px) {
  .service-content strong { font-size:.7rem; }
}

@media (max-width:650px) and (max-height:620px) {
  .agenda-heading { min-height:50px; }
  .eyebrow { font-size:.58rem; }
  .agenda-heading h1 { font-size:1.45rem; }
  .agenda-workspace { grid-template-rows:minmax(0,1fr) repeat(2,51px); }
  .calendar-head { min-height:45px; }
  .service-content small { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  * { transition-duration:.01ms !important; }
}
