/* Independent WordPress reader based on the approved Lovable guide layout. */
.usc-guide { width:100%; min-width:0; isolation:isolate; box-sizing:border-box; }
.usc-guide *, .usc-guide *::before, .usc-guide *::after { box-sizing:border-box; }
.usc-guide a { text-decoration:none; }
.usc-guide h1, .usc-guide h2, .usc-guide h3, .usc-guide p { font-family:inherit; }
.usc-guide .guide-scroll-area { min-width:0; }
.guide-page {
  min-height: 100dvh;
  --guide-navy: #002b49;
  --guide-navy-light: #0a3d63;
  --guide-red: #e31b23;
  --guide-white: #ffffff;
  --guide-off-white: #f9fafb;
  --guide-charcoal: #1f2937;
  --guide-gray-line: #e2e5e9;
  --guide-gray-soft: #6b7280;
  color: var(--guide-charcoal);
  background: #d9dde1;
  font-family: "Inter", "Montserrat", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.guide-header {
  position: sticky;
  z-index: 50;
  top: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 76px;
  align-items: center;
  gap: 2rem;
  padding: 1rem 1.5rem;
  color: #fff;
  background: var(--guide-navy);
  box-shadow: 0 3px 14px rgb(0 0 0 / 18%);
}

.guide-header-left {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  min-width: 0;
}

.guide-header h1 {
  margin: 0;
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
}

.guide-back-button {
  flex: 0 0 auto;
  border: 1px solid color-mix(in oklab, #fff 24%, transparent);
  border-radius: 4px;
  color: #fff;
  background: transparent;
}

.guide-back-button:hover {
  color: #fff;
  background: color-mix(in oklab, #fff 12%, transparent);
}

.guide-download-button {
  height: 42px;
  padding-inline: 1rem;
  border: 1px solid color-mix(in oklab, #fff 70%, transparent);
  border-radius: 4px;
  color: #002b49;
  background: #fff;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.guide-download-button:hover {
  color: #002b49;
  background: color-mix(in oklab, #fff 90%, #e2e5e9);
}

.guide-scroll-area {
  padding: 8mm 0;
}

.guide-sheet {
  width: 210mm;
  height: 297mm;
  margin: 0 auto 8mm;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--guide-white);
  box-shadow: 0 0 12px rgb(0 0 0 / 15%);
}

.guide-sheet:last-child { margin-bottom: 0; }

.guide-page-content {
  min-height: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 12mm 14mm 8mm;
}

.guide-page-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5mm 14mm;
  color: var(--guide-white);
  background: var(--guide-navy);
}

.guide-brand {
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
}

.guide-brand span { color: rgb(255 255 255 / 80%); font-weight: 200; }

.guide-contact {
  color: #e8eef3;
  font-size: 8.5px;
  line-height: 1.5;
  text-align: right;
}

.guide-contact strong { color: var(--guide-white); font-weight: 600; }

.guide-page-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3.5mm 14mm;
  border-top: 1px solid var(--guide-gray-line);
  color: var(--guide-gray-soft);
  background: var(--guide-off-white);
  font-size: 7.5px;
}

.guide-page-num { color: var(--guide-navy); font-weight: 600; }

.guide-eyebrow {
  color: var(--guide-red);
  font-size: 8.5px;
  font-weight: 600;
  text-transform: uppercase;
}

.guide-section-title {
  margin: 0;
  color: var(--guide-navy);
  font-size: 18px;
  font-weight: 200;
  line-height: 1.15;
  text-transform: uppercase;
}

.guide-card-title {
  margin: 0;
  color: var(--guide-navy);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  text-transform: uppercase;
}

.guide-hero-banner {
  position: relative;
  width: 100%;
  height: 108mm;
  flex: 0 0 auto;
  overflow: hidden;
}

.guide-hero-banner > img,
.guide-section-banner > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.guide-hero-banner::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgb(0 43 73 / 5%) 0%, rgb(0 43 73 / 75%) 100%);
}

.guide-hero-text {
  position: absolute;
  z-index: 2;
  right: 14mm;
  bottom: 10mm;
  left: 14mm;
  color: var(--guide-white);
}

.guide-hero-text .guide-eyebrow { margin-bottom: 3mm; color: #ff8a8e; }
.guide-hero-text h2 { margin: 0; font-size: 34px; font-weight: 200; line-height: 1.1; text-transform: uppercase; }
.guide-hero-subtitle { margin-top: 3mm; color: #dbe6ee; font-size: 11px; font-weight: 300; }
.guide-cover-content { padding-top: 8mm; }
.guide-rhythm-heading { margin: 0; color: var(--guide-charcoal); font-size: 14px; font-weight: 300; text-transform: uppercase; }

.guide-rhythm-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4mm;
  margin-top: 5mm;
}

.guide-rhythm-card {
  padding: 5mm 4mm;
  border: 1px solid var(--guide-gray-line);
  border-top: 3px solid var(--guide-navy);
  background: var(--guide-off-white);
}

.guide-rhythm-num { margin-bottom: 2mm; color: var(--guide-red); font-size: 8px; font-weight: 700; }
.guide-rhythm-card h3 { margin: 0 0 2mm; color: var(--guide-navy); font-size: 10.5px; font-weight: 600; line-height: 1.25; text-transform: uppercase; }
.guide-rhythm-card p { margin: 0; color: var(--guide-gray-soft); font-size: 8.5px; line-height: 1.5; }

.guide-basics-row {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 5mm;
  margin-top: 6mm;
}

.guide-basics-card { padding: 5mm; border: 1px solid var(--guide-gray-line); background: var(--guide-white); }
.guide-basics-card .guide-card-title { margin-bottom: 3mm; }
.guide-warning-box { padding: 5mm; border: 1px solid #f3c6c8; border-left: 4px solid var(--guide-red); background: #fff5f5; }
.guide-warning-box h3 { margin: 0 0 2.5mm; color: var(--guide-red); font-size: 10.5px; font-weight: 700; text-transform: uppercase; }
.guide-warning-box p { margin: 0; color: #7a2226; font-size: 8.7px; line-height: 1.55; }

.guide-clean-list { margin: 0; padding: 0; list-style: none; }
.guide-clean-list li { position: relative; margin-bottom: 5px; padding-left: 14px; color: var(--guide-charcoal); font-size: 9.3px; line-height: 1.5; }
.guide-clean-list li::before { position: absolute; top: 5px; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--guide-red); content: ""; }

.guide-content-section { margin-bottom: 6mm; }
.guide-content-section:last-child { margin-bottom: 0; }
.guide-section-banner { position: relative; width: 100%; height: 38mm; margin-bottom: 4mm; overflow: hidden; }
.guide-section-tag { position: absolute; bottom: 4mm; left: 5mm; padding: 2mm 4mm; color: var(--guide-white); background: var(--guide-navy); font-size: 8px; font-weight: 600; text-transform: uppercase; }
.guide-section-tag span { color: var(--guide-red); }
.guide-section-header-row { display: flex; align-items: baseline; gap: 4mm; margin-bottom: 4mm; }
.guide-index-num { color: var(--guide-gray-line); font-size: 30px; font-weight: 200; line-height: 1; }
.guide-bullet-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5mm; }
.guide-bullet-grid-two { grid-template-columns: repeat(2, 1fr); }
.guide-bullet-col .guide-card-title { margin-bottom: 3mm; padding-bottom: 2mm; border-bottom: 2px solid var(--guide-navy); }

.guide-checklist-title { margin-bottom: 6mm; font-size: 22px; }
.guide-checklist-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 0 8mm; }
.guide-checklist { width: 100%; border-collapse: collapse; }
.guide-checklist td { padding: 3.4mm 2mm; border-bottom: 1px solid var(--guide-gray-line); color: var(--guide-charcoal); font-size: 9.2px; }
.guide-check-box-cell { width: 8mm; }
.guide-checkbox { display: inline-block; width: 3.6mm; height: 3.6mm; border: 1.4px solid var(--guide-navy); }
.guide-check-label strong { display: block; color: var(--guide-navy); font-weight: 600; }
.guide-check-label small { color: var(--guide-gray-soft); font-size: 7.6px; }

.guide-call-box { margin-top: 7mm; padding: 6mm 7mm; color: var(--guide-white); background: var(--guide-navy); }
.guide-call-box .guide-eyebrow { margin-bottom: 2.5mm; color: #ff8a8e; }
.guide-call-box .guide-section-title { margin-bottom: 4mm; color: var(--guide-white); font-size: 16px; }
.guide-call-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3mm 8mm; }
.guide-call-item { display: flex; align-items: flex-start; gap: 2.5mm; color: #dbe6ee; font-size: 9px; line-height: 1.5; }
.guide-call-item strong { color: var(--guide-white); font-weight: 600; }
.guide-dot { min-width: 5px; height: 5px; margin-top: 4px; border-radius: 50%; background: var(--guide-red); }
.guide-call-cta { display: flex; align-items: center; justify-content: space-between; margin-top: 5mm; padding-top: 4mm; border-top: 1px solid rgb(255 255 255 / 20%); }
.guide-phone { font-size: 18px; font-weight: 700; }
.guide-phone span { color: var(--guide-red); }
.guide-cta-note { color: #c9d8e2; font-size: 8px; text-align: right; text-transform: uppercase; }
.guide-final-footer { display: flex; align-items: flex-start; justify-content: space-between; margin-top: auto; padding-top: 5mm; border-top: 1px solid var(--guide-gray-line); color: var(--guide-gray-soft); font-size: 7.6px; line-height: 1.6; }
.guide-address strong { display: block; margin-bottom: 1mm; color: var(--guide-navy); font-size: 8.5px; }
.guide-disclaimer { max-width: 90mm; text-align: right; }

@media print {
  .guide-header { display: none; }
  .guide-page, .guide-scroll-area { background: none; }
  .guide-scroll-area { padding: 0; }
  .guide-sheet { width: 210mm; height: 297mm; margin: 0; box-shadow: none; break-after: page; }
  .guide-sheet:last-child { break-after: auto; }
}


/* Overrides against Astra/Elementor's global typography, links and buttons. */
.usc-guide .guide-header { color:#fff; }
.usc-guide .guide-header h1 { color:#fff; }
.usc-guide .guide-back-button { display:inline-flex; gap:8px; align-items:center; justify-content:center; padding:10px 14px; border:1px solid rgba(255,255,255,.3); color:#fff; background:transparent; font-size:12px;font-weight:500;line-height:1.4; text-decoration:none; white-space:nowrap; }
.usc-guide .guide-back-button:hover, .usc-guide .guide-back-button:focus-visible { color:#fff; background:rgba(255,255,255,.12); }
.usc-guide .guide-download-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid #e2e5e9; padding:0 14px; color:#002b49; background:#fff; text-decoration:none; white-space:nowrap; }
.usc-guide .guide-download-button:hover, .usc-guide .guide-download-button:focus-visible { color:#002b49; background:#eef3f6; }
.usc-guide .guide-download-button svg { height:17px; width:17px; flex:none; }
.usc-guide .guide-sheet h2, .usc-guide .guide-sheet h3 { letter-spacing:normal; }
.usc-guide .guide-section-title { color:var(--guide-navy);font-weight:200; }
.usc-guide .guide-clean-list { list-style:none; }
.usc-guide .guide-clean-list li { list-style:none; }
.usc-guide .guide-section-banner.guide-placeholder { background:linear-gradient(120deg,#002b49 0%,#17506e 55%,#77919e 100%); }
.usc-guide .guide-section-banner.guide-placeholder::before { content:"";position:absolute;inset:0;background:linear-gradient(140deg,rgba(255,255,255,.08),transparent 62%); }
.usc-guide .guide-hero-banner > img { object-position: center 55%; }
.usc-guide .guide-call-box .guide-section-title { color:#fff; }
.usc-guide .guide-card-title { color:var(--guide-navy); }
.usc-guide .guide-sheet { max-width:100%; }
.usc-guide .guide-hero-text h2 { color:#fff;font-size:34px;font-weight:200; }
.usc-guide .guide-hero-text .guide-eyebrow { color:#ff8a8e; }
.usc-guide .guide-page-content p { margin-top:0; }
.usc-guide .guide-rhythm-card h3 { font-size:10.5px; }
body.admin-bar .usc-guide .guide-header { top:32px; }
@media (max-width:782px) { body.admin-bar .usc-guide .guide-header { top:46px; } }
@media (max-width:720px) {
  .guide-header { min-height: 64px; gap: .5rem; padding: .6rem .75rem; }
  .guide-header-left { gap: .4rem; }
  .guide-header h1 { overflow: hidden; max-width: 76px; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
  .guide-back-button { width: auto; padding-inline: .55rem; font-size: .58rem; }
  .guide-back-button svg { width: 14px; height: 14px; }
  .guide-download-button { height: 40px; padding-inline: .6rem; font-size: .6rem; }
  .guide-download-button svg { width: 15px; height: 15px; }
  .guide-scroll-area { padding: 0; }
  .guide-sheet { width: 100%; height: auto; min-height: 100dvh; margin: 0; box-shadow: none; }
  .guide-page-top-bar { padding: 1rem; }
  .guide-page-bottom-bar { padding: .8rem 1rem; font-size: .65rem; }
  .guide-page-content { padding: 1.5rem 1rem; }
  .guide-hero-banner { height: 58vh; min-height: 390px; }
  .guide-hero-text { right: 1rem; bottom: 2rem; left: 1rem; }
  .guide-hero-text h2 { font-size: clamp(2rem, 11vw, 3.1rem); }
  .guide-hero-subtitle { font-size: .78rem; line-height: 1.5; }
  .guide-cover-content { padding-top: 1.5rem; }
  .guide-rhythm-grid, .guide-basics-row, .guide-bullet-grid, .guide-bullet-grid-two, .guide-checklist-wrap, .guide-call-grid { grid-template-columns: 1fr; }
  .guide-rhythm-grid { gap: .75rem; margin-top: 1rem; }
  .guide-rhythm-card { padding: 1.1rem; }
  .guide-rhythm-card p, .guide-warning-box p { font-size: .82rem; }
  .guide-basics-row { gap: 1rem; margin-top: 1rem; }
  .guide-basics-card, .guide-warning-box { padding: 1.1rem; }
  .guide-clean-list li { margin-bottom: .6rem; font-size: .82rem; }
  .guide-content-section { margin-bottom: 2.5rem; }
  .guide-section-banner { height: 210px; margin-bottom: 1.25rem; }
  .guide-section-tag { bottom: 1rem; left: 1rem; padding: .55rem .75rem; }
  .guide-section-header-row { gap: .8rem; margin-bottom: 1.2rem; }
  .guide-section-title { font-size: 1.35rem; }
  .guide-index-num { font-size: 2.4rem; }
  .guide-bullet-grid { gap: 1.5rem; }
  .guide-bullet-col .guide-card-title { margin-bottom: .8rem; padding-bottom: .55rem; font-size: .78rem; }
  .guide-checklist-title { margin-bottom: 1.25rem; }
  .guide-checklist-wrap { gap: 0; }
  .guide-checklist td { padding: .85rem .35rem; font-size: .82rem; }
  .guide-check-label small { font-size: .68rem; }
  .guide-call-box { margin-top: 2rem; padding: 1.5rem 1.1rem; }
  .guide-call-grid { gap: 1rem; }
  .guide-call-item { font-size: .8rem; }
  .guide-call-cta, .guide-final-footer { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .guide-cta-note, .guide-disclaimer { max-width: none; text-align: left; }
  .guide-final-footer { margin-top: 2rem; font-size: .68rem; }

.usc-guide .guide-sheet { max-width:100%; }
.usc-guide .guide-hero-text h2 { font-size:clamp(2rem,11vw,3.1rem); }
.usc-guide .guide-rhythm-card h3 { font-size:.9rem; }
.usc-guide .guide-section-title { font-size:1.35rem; }
.usc-guide .guide-call-box .guide-section-title { font-size:1.3rem; }
.usc-guide .guide-header h1 { max-width:110px; }
.usc-guide .guide-back-button { padding:8px; }
.usc-guide .guide-download-button { padding:0 8px; }
}
@media (max-width:390px) { .usc-guide .guide-header h1 { display:none; } }
@media print {
  body.admin-bar .usc-guide .guide-header {display:none;}
  .usc-guide .guide-header { display:none!important; }
  .usc-guide .guide-scroll-area { padding:0; }
  .usc-guide .guide-sheet { max-width:none;width:210mm;height:297mm;break-after:page;box-shadow:none; }
  .usc-guide .guide-sheet:last-child { break-after:auto; }
}
