/* ============================================================
   FIXES PATCH — append to bottom of styles.css
   Addresses 8 issues raised in feedback.
   Later rules override earlier ones, so this file should be
   loaded/included AFTER the main styles in styles.css.
============================================================ */

/* ------------------------------------------------------------
   #1a — Hero text overlapping the girl's face/hair
   The girl's face sits roughly at 28–45 % of viewport width
   on the dark half. We constrain the text to a tighter
   left-side column (max ~260 px) so it stays clear of her,
   and add a heavy dark gradient as a safety net for the few
   pixels where text and hair edge meet.
------------------------------------------------------------ */
@media (min-width: 961px) {
  .hero-left-text {
    background: linear-gradient(
      to right,
      rgba(0,0,0,0.82) 0%,
      rgba(0,0,0,0.72) 35%,
      rgba(0,0,0,0.45) 60%,
      rgba(0,0,0,0.10) 85%,
      rgba(0,0,0,0) 100%
    );
  }
  /* Headline shadow so any sliver of overlap reads cleanly */
  .hero-left-text h1 {
    text-shadow: 0 2px 14px rgba(0,0,0,0.7);
  }
  .hero-pain li {
    text-shadow: 0 1px 8px rgba(0,0,0,0.7);
  }
}
/* 1366 × 768 band and below — tight column, smaller type */
@media (min-width: 961px) and (max-width: 1366px) {
  .hero-left-text {
    padding: 0 0 0 clamp(36px, 4vw, 70px);
  }
  .hero-left-text h1 {
    font-size: 27px;
    max-width: 260px;
    line-height: 1.2;
    margin-bottom: 18px;
  }
  .hero-pain {
    max-width: 280px;
    gap: 10px;
  }
  .hero-pain li { font-size: 13.5px; line-height: 1.35; }

  .hero-right-text {
    padding: 0 0 0 clamp(220px, 21vw, 360px);
  }
  .hero-right-text h2 {
    font-size: 30px;
    max-width: 300px;
    line-height: 1.18;
    margin-bottom: 20px;
  }
  .hero-benefits { max-width: 290px; }
  .hero-benefits li { font-size: 14px; }
}

/* ------------------------------------------------------------
   #1b — Hero image not visible on mobile
   Show the hero image stacked above the two text panels.
------------------------------------------------------------ */
@media (max-width: 960px) {
  .hero { height: auto; }
  .hero-bg-img {
    display: block;          /* was: display:none */
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: cover;
    object-position: center center;
  }
  .hero-overlay {
    position: relative;
    inset: auto;
    grid-template-columns: 1fr;
  }
}

/* ------------------------------------------------------------
   #2 — Introducing UT (second section) right-side image
   getting cropped at lower resolutions.
   Cause: object-position:left center cut the right side
   (where "Stronger Structure" / "Better Judgement" labels are).
   Fix: anchor image to the RIGHT so important content stays.
------------------------------------------------------------ */
.intro-ut-image img {
  object-position: right bottom;
}
/* Tablet-range: keep aspect, use contain to avoid any crop  */
@media (min-width: 961px) and (max-width: 1280px) {
  .intro-ut-image {
    background: #fff;
  }
  .intro-ut-image img {
    object-fit: contain;
    object-position: right center;
  }
  /* Keep the soft fade narrower so it doesn't cover content */
  .intro-ut-image::before {
    background: linear-gradient(
      to right,
      #fff 0%,
      rgba(255,255,255,0.85) 6%,
      rgba(255,255,255,0) 22%
    );
  }
}

/* ------------------------------------------------------------
   #3 — Footer menu in 2 columns on mobile
   (Was 1 column at ≤640px.)
------------------------------------------------------------ */
@media (max-width: 640px) {
  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 32px 24px;
  }
  .footer-brand {
    grid-column: 1 / -1;  /* logo + tagline span both cols */
  }
  .footer-col ul { gap: 10px; }
  .footer-col h4 { margin-bottom: 14px; }
}

/* ------------------------------------------------------------
   #4 — Career-returns icons row spacing on mobile
   Current: 5 items wrap into 40%-width cells with no row gap.
   Fix: 2 per row, generous vertical gap, larger icons, the
   last (5th) item centred on its own row.
------------------------------------------------------------ */
@media (max-width: 640px) {
  .career-returns { padding: 48px 0; }
  .career-returns h2 {
    font-size: 24px;
    margin-bottom: 36px;
    padding: 0 16px;
  }
  .career-grid {
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 24px;
    padding: 0 16px;
  }
  .career-item {
    flex: 0 0 calc(50% - 12px);
    gap: 14px;
    padding: 0;
  }
  .career-item img {
    width: 56px;
    height: 56px;
  }
  .career-item p { font-size: 15px; }
  /* 5th item — centre it on its own row */
  .career-item:nth-child(5) {
    flex: 0 0 60%;
  }
}

/* ------------------------------------------------------------
   #5 — "Think Better. Communicate Better. Grow Faster."
   Sized to fit on ONE line at common desktop widths (1280+).
   The container content area is narrow (~480–700 px depending
   on viewport), so the font has to stay modest. Below 1280
   the text will wrap to 2 lines, which is acceptable for
   smaller laptops / tablets.
------------------------------------------------------------ */
.intro-ut-text p.tagline-orange,
.tagline-orange {
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  line-height: 1.25;
  color: var(--orange);
  white-space: nowrap;  /* prefer one line; will visually nowrap until viewport too narrow */
}

/* Desktop 1500+ — comfortable size */
@media (min-width: 1500px) {
  .intro-ut-text p.tagline-orange,
  .tagline-orange {
    font-size: 30px;
    margin-top: 22px;
    padding-bottom: 8px; position: relative; z-index: 2;
  }
}
/* 1281–1499 — fits one line at 24px (content area ~470–530px) */
@media (min-width: 1281px) and (max-width: 1499px) {
  .intro-ut-text p.tagline-orange,
  .tagline-orange {
    font-size: 24px;
    margin-top: 20px;
    padding-bottom: 8px;
  }
}
/* 961–1280 — narrowest desktop; 20px to fit even at 1100 */
@media (min-width: 961px) and (max-width: 1280px) {
  .intro-ut-text p.tagline-orange,
  .tagline-orange {
    font-size: 20px;
    margin-top: 16px;
    padding-bottom: 8px;
  }
}
/* Mobile */
@media (max-width: 960px) {
  .intro-ut-text p.tagline-orange,
  .tagline-orange {
    font-size: 26px;
    white-space: normal;
    padding-bottom: 24px;
    line-height: 1.3;
  }
}
@media (max-width: 640px) {
  .intro-ut-text p.tagline-orange,
  .tagline-orange { font-size: 22px; }
	  .ut-badge-cell {padding: 22px 5px;}
}

/* ------------------------------------------------------------
   #6 — SVG icons for the four skills
   Drop-in .svg files have been added beside the .png originals.
   This rule keeps the visual size & alignment consistent with
   the existing PNG sizing (no HTML change needed if you simply
   rename the file extension in your <img src="..."> attributes
   — see the README at the bottom of this patch).
------------------------------------------------------------ */
.skill-icon {
  width: 46px;
  height: 46px;
  object-fit: contain;
  object-position: center top;
  flex-shrink: 0;
  margin-top: 4px;
}

/* ------------------------------------------------------------
   #7 — Phase pills (40 Sessions / 2 Months) top-aligned
   across the three phase cards.
   Cause: descriptions have different line counts, so each
   .phase-pills row sits at a different Y position.
   Fix: give the heading + description fixed min-heights so
   the pill row starts at the same offset in every card.
------------------------------------------------------------ */
@media (min-width: 961px) {
  .phase-card h4 {
    min-height: 44px;     /* up to 2 lines at 15px */
    display: flex;
    align-items: flex-start;
    justify-content: center;
  }
}
@media (min-width: 641px) and (max-width: 960px) {
  .phase-card h4 { min-height: 44px; }
  .phase-card > p { min-height: 88px; }
}
/* Mobile (single column): no alignment needed across cards */

/* ------------------------------------------------------------
   Small polish — keep the badge cells from getting too tight
   at intermediate widths so the right image change doesn't
   visually shrink the orange bar.
------------------------------------------------------------ */
@media (min-width: 961px) and (max-width: 1280px) {
  .ut-badge-cell { padding: 20px 10px; }
}
