/* UnfoldCRO Phoenix Health mockup — shared base styles
 * v2 2026-04-29: full responsive token system
 * Breakpoints: mobile <640 / tablet 640-1023 / laptop 1024-1439 / desktop >=1440
 */
:root{
  /* Brand palette */
  --primary:#B88C74; --primary-deep:#BC8553; --cream:#E8CDAE; --cream-soft:#F9F4E8;
  --ink:#0a0a0a; --paper:#ffffff; --snow:#fafafa; --mist:#f5f5f5; --dust:#e5e5e5;
  --stone:#cacacb; --charcoal:#28282a; --slate:#1f1f21; --muted:#707072;

  /* Type families */
  --display:'Playfair Display', Georgia, serif;
  --body:'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Fluid type scale (mobile->desktop) */
  --fs-hero-mega: clamp(30px, 3.5vw + 4px, 60px);
  --fs-hero-xl:   clamp(26px, 2.8vw + 4px, 48px);
  --fs-hero-l:    clamp(24px, 2.4vw + 4px, 40px);
  --fs-h1:        clamp(24px, 2.4vw + 4px, 40px);
  --fs-h2:        clamp(22px, 2vw + 4px, 32px);
  --fs-h3:        clamp(20px, 1.4vw + 4px, 26px);
  --fs-h4:        clamp(18px, 1vw + 4px, 22px);
  --fs-h5:        clamp(16px, 0.6vw + 6px, 18px);
  --fs-lead-l:    clamp(20px, 2.2vw + 4px, 30px);
  --fs-lead:      clamp(17px, 1.6vw + 4px, 22px);
  --fs-body-l:    clamp(15px, .4vw + 13px, 17px);
  --fs-body:      clamp(14px, .25vw + 13px, 15px);
  --fs-small:     clamp(13px, .2vw + 12px, 14px);
  --fs-xs:        13px;
  --fs-eyebrow:   12px;

  /* Spacing scale (fluid) */
  --pad-section:    clamp(56px, 8vw, 120px);
  --pad-section-md: clamp(48px, 6vw, 96px);
  --pad-section-sm: clamp(40px, 5vw, 80px);
  --pad-container:  clamp(20px, 3vw, 48px);
  --gap-grid:       clamp(20px, 3vw, 48px);
  --gap-grid-sm:    clamp(16px, 2vw, 32px);

  /* Layout limits */
  --max-w:1280px;
  --max-w-prose:780px;
  --nav-h-desktop:140px;
  --nav-h-mobile:64px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--body);font-size:var(--fs-body);line-height:1.6;color:var(--ink);background:var(--paper)!important;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:color 180ms ease}
a:hover,a:focus{color:var(--primary-deep)}
button{font-family:inherit;cursor:pointer;border:0;background:none;color:inherit}

/* Promo bar */
.uc-promo{background:var(--ink);color:#fff;font-size:var(--fs-small);font-weight:500;text-align:center;padding:8px 16px;line-height:1.4}
.uc-promo a{color:var(--cream);font-weight:600;margin-left:8px;display:inline-flex;align-items:center;gap:4px}
@media (max-width:640px){.uc-promo{font-size:12px;padding:7px 12px}.uc-promo a{margin-left:0;display:block;margin-top:2px}}

/* Nav shell */
.uc-nav-wrap{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--dust)}
.uc-nav{max-width:var(--max-w);margin:0 auto;height:var(--nav-h-desktop);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 var(--pad-container)}
.uc-nav > *{align-self:center;display:flex;align-items:center;height:auto}
.uc-logo{justify-self:center;align-self:center;font-family:var(--display);font-weight:600;font-size:22px;color:var(--ink);display:flex;align-items:center;gap:10px}
.uc-logo img{height:120px;width:auto;transition:height 180ms ease}
.uc-nav-list{display:flex;gap:28px;list-style:none;margin:0;padding:0;align-items:center;justify-content:flex-start;justify-self:start}
.uc-nav-list > li{position:relative}
.uc-nav-list > li > a, .uc-nav-list > li > button, .uc-nav-list > li > details > summary{font-family:var(--body);font-size:15px;font-weight:500;color:var(--ink);padding:8px 4px;display:inline-flex;align-items:center;gap:6px;transition:color 180ms ease;cursor:pointer;list-style:none}
.uc-nav-list > li > details > summary::-webkit-details-marker{display:none}
.uc-nav-list > li > a:hover, .uc-nav-list > li > button:hover, .uc-nav-list > li > details > summary:hover{color:var(--primary-deep)}
.uc-nav-list .uc-caret{font-size:10px;opacity:.6}

/* Mega menu — desktop hover */
.uc-mega{position:absolute;top:calc(100% + 1px);left:0;transform:none;background:var(--paper);border:1px solid var(--dust);border-radius:20px;padding:24px;min-width:520px;max-width:calc(100vw - 32px);display:none;box-shadow:0 8px 32px rgba(17,17,17,.08);grid-template-columns:1fr 1fr;gap:24px}
.uc-nav-list > li:hover .uc-mega{display:grid}
.uc-mega h4{font-family:var(--body);font-size:13px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.uc-mega ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.uc-mega ul a{font-size:15px;font-weight:500;color:var(--ink);display:block;padding:6px 0}
.uc-mega ul a:hover{color:var(--primary)}
.uc-mega .uc-promo-card{background:var(--cream);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px}
.uc-mega .uc-promo-card h5{font-family:var(--display);font-weight:500;font-size:20px;margin:0}
.uc-mega .uc-promo-card p{margin:0;font-size:13px;opacity:.75}
.uc-nav-cta{justify-self:end;display:flex;gap:10px;align-items:center}

/* Hamburger (mobile only) */
.uc-burger-toggle{display:none}
.uc-mobile-cta{display:none}
.uc-burger{display:none;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;border:1px solid var(--dust);border-radius:10px;background:var(--paper);justify-self:end;align-self:center;flex-shrink:0;position:relative;z-index:101;margin:0;padding:0;line-height:1}
.uc-burger span{display:block;width:18px;height:2px;background:var(--ink);position:absolute;transition:transform 220ms ease,opacity 180ms ease,top 220ms ease}
.uc-burger span:nth-child(1){top:13px}
.uc-burger span:nth-child(2){top:19px}
.uc-burger span:nth-child(3){top:25px}
.uc-burger-toggle:checked ~ .uc-nav-wrap .uc-burger span:nth-child(1){top:19px;transform:rotate(45deg)}
.uc-burger-toggle:checked ~ .uc-nav-wrap .uc-burger span:nth-child(2){opacity:0}
.uc-burger-toggle:checked ~ .uc-nav-wrap .uc-burger span:nth-child(3){top:19px;transform:rotate(-45deg)}

/* Buttons */
.uc-btn{font-family:var(--body);font-weight:500;font-size:15px;border-radius:999px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background 180ms ease,border-color 180ms ease,color 180ms ease;white-space:nowrap;text-decoration:none;line-height:1;box-sizing:border-box;min-height:44px;border:1.5px solid transparent}
.uc-btn-sm{padding:8px 16px;font-size:14px}
.uc-btn-lg{padding:16px 32px;font-size:16px}
.uc-btn-primary,a.uc-btn-primary,a.uc-btn-primary:link,a.uc-btn-primary:visited{background:var(--primary)!important;color:#fff!important}
.uc-btn-primary:hover,a.uc-btn-primary:hover,a.uc-btn-primary:focus{background:var(--primary-deep)!important;color:#fff!important}
.uc-btn-ink,a.uc-btn-ink,a.uc-btn-ink:link,a.uc-btn-ink:visited{background:var(--ink)!important;color:#fff!important}
.uc-btn-ink:hover,a.uc-btn-ink:hover,a.uc-btn-ink:focus{background:var(--charcoal)!important;color:#fff!important}
.uc-btn-outline,a.uc-btn-outline,a.uc-btn-outline:link,a.uc-btn-outline:visited{background:transparent!important;color:var(--ink)!important;border-color:var(--stone)}
.uc-btn-outline:hover,a.uc-btn-outline:hover{border-color:var(--ink);background:var(--mist)!important;color:var(--ink)!important}
.uc-btn-ghost,a.uc-btn-ghost{color:var(--ink)!important}
.uc-btn-ghost:hover,a.uc-btn-ghost:hover{color:var(--primary)!important}

.uc-container{max-width:var(--max-w);margin:0 auto;padding:0 var(--pad-container)}

.uc-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--primary-deep);margin:0 0 20px}
.uc-eyebrow::before{content:"";width:32px;height:1px;background:var(--primary)}
.uc-eyebrow.uc-center::after{content:"";width:32px;height:1px;background:var(--primary)}

/* PAGE HERO */
.uc-page-hero{padding:var(--pad-section-md) 0 var(--pad-section-sm);background:var(--paper);position:relative}
.uc-page-hero h1{font-family:var(--display);font-weight:500;font-size:var(--fs-h1);line-height:1.05;letter-spacing:-0.02em;margin:0 0 24px;color:var(--ink);max-width:900px}
.uc-page-hero h1 em{font-style:italic;color:var(--primary-deep);font-weight:500}
.uc-page-hero .uc-lead{font-family:var(--display);font-style:italic;font-weight:500;font-size:var(--fs-lead);color:var(--primary-deep);margin:0;line-height:1.3;max-width:700px}

/* SECTION HEAD */
.uc-section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px;flex-wrap:wrap}
.uc-section-head h2{font-family:var(--display);font-weight:500;font-size:var(--fs-h2);line-height:1.1;letter-spacing:-0.02em;margin:0;max-width:680px;color:var(--ink)}
.uc-section-head h2 em{font-style:italic;color:var(--primary-deep)}
.uc-section-head .uc-lead-p{font-size:var(--fs-body-l);color:var(--muted);margin:0;max-width:380px;line-height:1.6}

/* FINAL */
.uc-final{background:var(--cream);color:var(--ink);padding:var(--pad-section) 0;text-align:center;position:relative}
.uc-final::before,.uc-final::after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:48px;height:1px;background:var(--primary-deep);opacity:.4}
.uc-final::before{top:48px}.uc-final::after{bottom:48px}
.uc-final-eyebrow{font-family:var(--body);font-size:var(--fs-eyebrow);font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--primary-deep);margin:0 0 24px}
.uc-final h2{font-family:var(--display);font-weight:500;font-size:var(--fs-h1);line-height:1.05;margin:0 0 36px;color:var(--ink);letter-spacing:-0.02em;max-width:780px;margin-left:auto;margin-right:auto}
.uc-final h2 em{font-style:italic;color:var(--primary-deep)}
.uc-final-italic{font-family:var(--display);font-style:italic;font-weight:500;font-size:var(--fs-lead);color:var(--primary-deep);margin:32px 0 0;line-height:1.4}

/* FOOTER */
.uc-footer{background:var(--cream-soft);color:var(--ink);padding:64px 0 28px;border-top:1px solid rgba(10,10,10,.08)}
.uc-footer .uc-container{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px}
.uc-footer h4{font-family:var(--body);font-size:13px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--primary-deep);margin:0 0 18px}
.uc-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.uc-footer ul a{font-size:14px;color:var(--ink)}
.uc-footer ul a:hover{color:var(--primary-deep)}
.uc-foot-brand{font-family:var(--display);font-size:24px;font-weight:600;margin:0 0 12px;display:flex;gap:10px;align-items:center}
.uc-foot-brand img{height:48px;width:auto;background:#fff;border-radius:50%;padding:4px}
.uc-foot-tag{font-size:14px;color:var(--ink);opacity:.75;max-width:340px;line-height:1.6;margin:0 0 24px}
.uc-foot-social{display:flex;gap:10px}
.uc-foot-social a{width:36px;height:36px;border-radius:50%;background:rgba(10,10,10,.08);color:var(--ink);display:grid;place-items:center;transition:background 180ms ease,color 180ms ease}
.uc-foot-social a:hover{background:var(--primary);color:#fff}
.uc-foot-social svg{width:16px;height:16px;fill:currentColor}
.uc-foot-bottom{border-top:1px solid rgba(10,10,10,.12);margin-top:48px;padding-top:24px;display:flex;justify-content:space-between;font-size:13px;color:var(--ink);opacity:.7;flex-wrap:wrap;gap:8px}

/* Lucide arrow-right inline icon */
.uc-arrow-r{display:inline-flex;width:14px;height:14px;margin-left:6px;vertical-align:-1px;transition:transform 220ms ease;flex:0 0 14px}
.uc-arrow-r svg{width:100%;height:100%}
a:hover > .uc-arrow-r,button:hover > .uc-arrow-r{transform:translateX(3px)}

/* Image curves */
.bl-thumb,.bl-thumb img,
.intro-img,.intro-img img,
.program-img,.program-img img,
.ab-person-img,.ab-person-img img,
.po-cover,.po-cover img,
.split-media,
.founder-media,
.cal-embed img,
.smc-target img,.smc-include img,
.detail img,.pull img,
.po-prose img,
.uc-prose img{border-radius:16px;overflow:hidden}

/* Long-form prose */
.uc-prose{max-width:var(--max-w-prose);margin:0 auto;padding:64px var(--pad-container)}
.uc-prose h2{font-family:var(--display);font-weight:500;font-size:var(--fs-h3);line-height:1.2;letter-spacing:-0.01em;margin:48px 0 16px;color:var(--ink)}
.uc-prose h3{font-family:var(--body);font-size:18px;font-weight:600;margin:32px 0 12px;color:var(--ink)}
.uc-prose p{font-size:var(--fs-body-l);line-height:1.75;color:var(--ink);margin:0 0 18px}
.uc-prose p em{color:var(--muted);font-style:italic}

/* ============================================================
   RESPONSIVE
   mobile <640 / tablet 640-1023 / laptop 1024-1439 / desktop >=1440
   ============================================================ */

/* Tablet & smaller (<1024) */
@media (max-width:1023px){
  .uc-nav{padding:0 24px;gap:12px;height:var(--nav-h-mobile);grid-template-columns:auto 1fr auto}
  .uc-logo{justify-self:start}
  .uc-logo img{height:48px}
  .uc-nav-list{display:none}
  .uc-nav-cta{display:none}
  .uc-burger{display:flex}
  .uc-logo{position:relative;z-index:211}
  .uc-burger{position:relative;z-index:211}
  .uc-burger-toggle:checked ~ .uc-nav-wrap{position:fixed;top:0;left:0;right:0;z-index:210;background:var(--paper);box-shadow:0 1px 0 var(--dust)}
  .uc-burger-toggle:checked ~ .uc-promo{display:none}

  /* Mobile drawer panel */
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list{
    display:flex !important;flex-direction:column;align-items:stretch;justify-self:stretch;
    position:fixed !important;
    top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
    width:100vw;height:100vh;
    background:var(--paper);
    padding:calc(var(--nav-h-mobile) + 24px) 24px 32px;
    z-index:200;overflow-y:auto;gap:0;
    margin:0;
  }
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list > li{border-bottom:1px solid var(--dust);width:100%}
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list > li > a,
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list > li > details > summary{
    padding:18px 0;font-size:18px;font-family:var(--display);font-weight:500;width:100%;justify-content:space-between
  }
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list .uc-mega{
    position:static;display:block;transform:none;border:0;box-shadow:none;padding:0 0 16px;min-width:0;border-radius:0;background:transparent
  }
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list > li > details[open] .uc-mega{display:block}
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list .uc-mega ul a{padding:10px 0;font-size:16px}
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list .uc-mega .uc-promo-card{margin-top:14px;background:var(--cream)}
  .uc-mobile-cta{display:none}
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list .uc-mobile-cta{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--dust)}
  .uc-burger-toggle:checked ~ .uc-nav-wrap .uc-nav-list .uc-mobile-cta .uc-btn{width:100%;justify-content:center;padding:14px 24px;font-size:15px}
  html:has(.uc-burger-toggle:checked),body:has(.uc-burger-toggle:checked){overflow:hidden;height:100%}
}

/* Tablet portrait & smaller (<768) */
@media (max-width:767px){
  .uc-footer .uc-container{grid-template-columns:1fr;gap:32px}
  .uc-foot-bottom{flex-direction:column;text-align:center;gap:6px}
  .uc-prose{padding:48px var(--pad-container)}
  .uc-mega{min-width:auto}
}

/* Mobile (<640) */
@media (max-width:639px){
  :root{
    --pad-section: clamp(48px, 12vw, 80px);
    --pad-section-md: clamp(40px, 10vw, 64px);
    --pad-section-sm: clamp(32px, 8vw, 56px);
    --pad-container: 20px;
  }
  .uc-nav{padding:0 16px}
  .uc-section-head{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:32px}
  .uc-section-head .uc-lead-p{max-width:100%}
  .uc-eyebrow{margin-bottom:14px}
  .uc-final{padding:64px 0}
  .uc-final::before{top:32px}.uc-final::after{bottom:32px}
  .uc-btn-lg{padding:14px 24px;font-size:15px}
  .uc-promo a .uc-arrow-r{display:none}
}

/* Laptop & up (>=1024) — explicit nav grid placement: list LEFT / logo CENTER / cta RIGHT */
@media (min-width:1024px){
  .uc-nav{grid-template-columns:1fr auto 1fr}
  .uc-nav-list{grid-column:1;grid-row:1;justify-self:start}
  .uc-logo{grid-column:2;grid-row:1;justify-self:center}
  .uc-nav-cta{grid-column:3;grid-row:1;justify-self:end}
  .uc-burger{display:none}
}

/* Desktop (>=1440) */
@media (min-width:1440px){
  :root{--max-w:1320px}
}
