
:root{--ink:#24303a;--wine:#9b526e;--wine2:#8f4865;--cream:#fbf7f2;--rose:#f4edf4;--sage:#eef0e4;--olive:#92986c;--line:#d9c9c6;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);font-size:16px;line-height:1.48}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 5.4vw 0 10.8vw;background:#fbf7f3;position:relative;z-index:20}.brand{width:300px;text-align:center;display:flex;flex-direction:column}.brand-main{font:500 44px/1 var(--serif);color:var(--wine)}.brand-sub{font:500 16px/1.5 var(--sans);letter-spacing:.14em;margin-top:7px}.brand-by{font:italic 15px/1.3 Georgia,serif;letter-spacing:.08em}.nav{height:60px;background:#fff;display:flex;align-items:center;gap:28px;padding:0 20px 0 28px;align-self:flex-start}.nav a{font-size:13px;white-space:nowrap}.nav a:first-child{border-bottom:2px solid var(--ink);padding-bottom:4px}.nav .nav-cta{background:var(--wine);color:#fff;border-radius:28px;padding:13px 27px;border:0}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:42% 58%;min-height:495px;background:#fbf8f4}.hero-copy{padding:36px 5.5vw 20px}.hero h1,.audience h2,.about h2,.consultation h2,.faq h2{font-family:var(--serif);font-weight:500;line-height:.94;margin:0}.hero h1{font-size:58px;letter-spacing:-.02em}.rule{display:block;width:48px;border-top:2px solid var(--wine);margin:17px 0 20px}.hero-lede{max-width:390px;font-size:15px;line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:600;color:var(--wine)}.proof{font-size:11px;color:var(--ink);margin:16px 0}.button,.text-link{display:inline-flex;align-items:center;gap:18px;background:var(--wine);color:#fff;border-radius:28px;padding:13px 26px;font-size:14px}.button span,.text-link span{font-size:18px}.location{font-size:13px;margin:11px 0 0}.hero-photo{overflow:hidden}.hero-photo img{object-position:center 38%}.audiences{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff}.audience{display:grid;grid-template-columns:66% 34%;min-height:385px;overflow:hidden}.teen{background:linear-gradient(115deg,#f5eef5,#f1edf4)}.adult{background:linear-gradient(115deg,#f3f3e8,#eef0e3)}.audience-copy{padding:30px 25px 25px 5.2vw}.audience h2{font-size:38px;margin:6px 0 14px}.audience-copy>p:not(.eyebrow){font-size:13px;max-width:360px}.olive{color:#7e855c}.checks{list-style:none;padding:4px 0 0;margin:0 0 18px}.checks li{font-size:12px;margin:10px 0;display:flex;align-items:center;gap:11px}.checks li:before{content:'✓';width:19px;height:19px;border:2px solid var(--wine);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--wine);font-weight:700;flex:none}.checks.green li:before{background:var(--olive);border-color:var(--olive);color:#fff}.audience-image{margin-top:30px;background-size:cover;background-position:center}.teens-image{background-image:url('assets/teens.jpg');border-radius:90px 0 0 0}.adults-image{background-image:url('assets/adults.jpg');border-radius:90px 0 90px 0}.text-link{padding:11px 24px}.credentials{display:grid;grid-template-columns:repeat(3,1fr);padding:20px 6vw;background:#fbf8f4}.credentials article{display:flex;gap:18px;align-items:center;padding:0 26px;border-right:1px solid #cbaeb4}.credentials article:last-child{border-right:0}.icon{font:42px/1 var(--serif);color:var(--wine);width:48px;text-align:center}.credentials h3{font:500 22px/1.1 var(--serif);margin:0 0 4px}.credentials p{font-size:11px;margin:0}.about{display:grid;grid-template-columns:40% 60%;background:#fff}.about-photo{min-height:530px}.about-photo img{object-position:center center}.about-copy{padding:24px 6vw 22px 3vw}.about h2{font-size:42px;margin-bottom:10px}.about p{font-size:12px;line-height:1.4;margin:0 0 10px;max-width:690px}.consultation{display:grid;grid-template-columns:47% 53%;min-height:260px;background:linear-gradient(105deg,#f2e8e5,#f7e7e6)}.consult-image{background:url('assets/consult.jpg') center/cover no-repeat}.consult-copy{padding:20px 5vw 20px 3vw}.consultation h2{font-size:36px;margin:8px 0 12px}.consult-copy>p:not(.eyebrow):not(.location){font-size:12px;max-width:600px}.consultation .button{padding:10px 24px}.faq{padding:70px 8vw;max-width:1000px;margin:auto}.faq h2{font-size:44px;margin:5px 0 25px}.faq details{border-top:1px solid var(--line);padding:16px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-family:var(--serif);font-size:22px;font-weight:500}.faq details p{font-size:13px;max-width:700px}footer{padding:25px 7vw;background:#27313a;color:#fff;display:flex;justify-content:space-between;font-size:11px}
@media(max-width:900px){.site-header{height:92px;padding:0 20px}.brand{width:auto;text-align:left}.brand-main{font-size:34px}.brand-sub{font-size:11px}.brand-by{font-size:11px}.menu-toggle{display:block;border:0;background:var(--wine);color:#fff;border-radius:22px;padding:10px 16px}.nav{display:none;position:absolute;top:92px;left:0;right:0;height:auto;padding:18px 20px;flex-direction:column;align-items:stretch;gap:8px;box-shadow:0 10px 30px #0002}.nav.open{display:flex}.nav a{padding:9px}.nav .nav-cta{text-align:center}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 28px 30px}.hero h1{font-size:50px}.hero-photo{height:480px;order:-1}.audiences{grid-template-columns:1fr}.audience{grid-template-columns:1fr;min-height:0}.audience-copy{padding:38px 28px}.audience-image{height:250px;margin:0 28px 28px;border-radius:80px 0 80px 0}.credentials{grid-template-columns:1fr;padding:15px 28px}.credentials article{border-right:0;border-bottom:1px solid #cbaeb4;padding:18px 0}.credentials article:last-child{border-bottom:0}.about{grid-template-columns:1fr}.about-photo{min-height:500px}.about-copy{padding:35px 28px}.about h2{font-size:39px}.about p{font-size:13px;line-height:1.5}.consultation{grid-template-columns:1fr}.consult-image{height:280px}.consult-copy{padding:34px 28px 40px}.faq{padding:55px 28px}footer{gap:15px;flex-direction:column}}
@media(max-width:520px){.hero-photo{height:390px}.hero h1{font-size:43px}.audience h2{font-size:36px}.about-photo{min-height:430px}.consultation h2{font-size:34px}.button{font-size:12px;padding:12px 18px}.brand-main{font-size:30px}}

/* Desktop refinements based on the approved master design */
@media(min-width:901px){
  body{background:#f4efeb}
  .site-header,main,footer{max-width:1440px;margin-left:auto;margin-right:auto}
  .site-header{height:124px;padding:0 4.8vw;gap:48px;align-items:center}
  .brand{width:290px;flex:0 0 290px;text-align:center}
  .nav{height:auto;background:transparent;align-self:center;margin-left:auto;padding:0;gap:30px;justify-content:flex-end}
  .nav a{font-size:14px;font-weight:500;letter-spacing:.01em;padding:10px 0}
  .nav a:first-child{padding-bottom:8px}
  .nav .nav-cta{padding:14px 25px;margin-left:8px}

  .hero{grid-template-columns:46% 54%;min-height:0;height:470px;overflow:hidden}
  .hero-copy{padding:34px 5.2vw 26px}
  .hero-photo{height:430px;align-self:center;margin-right:3.6vw;border-radius:0 0 105px 0;overflow:hidden}
  .hero-photo img{object-position:center 35%}

  .about{grid-template-columns:42% 58%;align-items:center;padding:34px 5vw;gap:42px}
  .about-photo{min-height:0;height:455px;border-radius:0 0 105px 0;overflow:hidden}
  .about-copy{padding:0 2vw 0 0}
  .about p{font-size:12px;line-height:1.43;margin-bottom:9px}
}

.icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;flex:none}
.icon svg{width:45px;height:45px;fill:none;stroke:var(--wine);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* v3 desktop corrections: match approved PNG proportions */
@media (min-width: 1100px){
  .site-header{height:108px;padding:0 5.5vw 0 8vw;gap:34px}
  .brand{width:310px;flex:0 0 310px}
  .brand-main{font-size:42px}
  .nav{background:#fff;height:52px;padding:0 14px 0 26px;gap:27px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 0 rgba(0,0,0,.025);min-width:650px}
  .nav a{font-size:13px;font-weight:500;padding:7px 0}
  .nav .nav-cta{padding:11px 23px;margin-left:2px}

  .hero{grid-template-columns:52% 48%;height:365px;min-height:365px;align-items:center}
  .hero-copy{padding:24px 5.5vw 22px 8vw}
  .hero h1{font-size:52px}
  .hero-photo{width:86%;height:320px;justify-self:start;align-self:center;margin:0;border-radius:0 0 92px 0}
  .hero-photo img{object-position:center 34%}

  .about{grid-template-columns:39% 61%;padding:34px 7.5vw;gap:48px;align-items:center}
  .about-photo{width:88%;height:350px;min-height:0;justify-self:end;border-radius:0 0 90px 0}
  .about-copy{padding:0;align-self:center}
  .about h2{font-size:40px}
  .about p{font-size:12px;line-height:1.38;margin-bottom:8px}

  .credentials{padding:24px 7vw}
  .credentials article{gap:20px;padding:0 34px}
  .icon{width:62px;height:62px}
  .icon svg{width:56px;height:56px;stroke-width:2.25}
  .credentials h3{font-size:23px}
  .credentials p{font-size:11px}
}

/* v4 desktop balance: preserve full portraits and give copy more room */
@media (min-width: 901px){
  .hero{grid-template-columns:58% 42%;min-height:0;align-items:center;padding:22px 0 24px}
  .hero-copy{padding:28px 5vw 28px 10.8vw}
  .hero-photo{width:76%;height:auto;justify-self:center;align-self:center;margin:0;border-radius:0 0 86px 0;overflow:hidden;background:#f4eee9}
  .hero-photo img{width:100%;height:auto;object-fit:contain;object-position:center;display:block}

  .about{grid-template-columns:32% 68%;align-items:center;padding:20px 0;background:#fff}
  .about-photo{width:76%;height:auto;min-height:0;justify-self:center;border-radius:0 0 82px 0;overflow:hidden;background:#f4eee9}
  .about-photo img{width:100%;height:auto;object-fit:contain;object-position:center;display:block}
  .about-copy{padding:22px 8vw 22px 0}
  .about-copy p{max-width:780px}
}

/* v5: remove inherited fixed-height clipping and balance portrait blocks */
@media (min-width: 901px){
  .hero{
    grid-template-columns:60% 40%;
    height:auto;
    min-height:0;
    overflow:visible;
    padding:34px 0 38px;
    align-items:center;
  }
  .hero-copy{
    padding:18px 5vw 18px 10.8vw;
    align-self:center;
  }
  .hero-photo{
    width:min(72%, 330px);
    height:auto;
    justify-self:center;
    align-self:center;
    margin:0;
    border-radius:0 0 86px 0;
    overflow:hidden;
  }
  .hero-photo img{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
  }

  .about{
    grid-template-columns:34% 66%;
    height:auto;
    min-height:0;
    padding:34px 5vw;
    gap:38px;
    align-items:center;
  }
  .about-photo{
    width:min(86%, 320px);
    height:auto;
    min-height:0;
    justify-self:center;
    align-self:center;
    border-radius:0 0 82px 0;
    overflow:hidden;
  }
  .about-photo img{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
  }
  .about-copy{padding:0 2vw 0 0}
}

/* Final hero scale adjustment only. Keep the approved portrait image unchanged. */
@media (min-width: 1100px){
  .hero{grid-template-columns:42% 58%;}
  .hero-copy{padding-left:8vw;padding-right:3.5vw;}
  .hero-photo{width:100%;height:365px;justify-self:stretch;align-self:stretch;margin:0;border-radius:0;}
  .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;}
}

/* HERO IMAGE SCALE FIX: desktop/tablet landscape. Only layout sizing changes. */
@media (min-width: 901px){
  .hero{
    grid-template-columns:46% 54%;
    padding:0;
    min-height:430px;
    align-items:stretch;
  }
  .hero-copy{
    padding:38px 4vw 32px 8vw;
    align-self:center;
  }
  .hero-photo{
    width:100%;
    max-width:none;
    height:430px;
    justify-self:stretch;
    align-self:stretch;
    margin:0;
    border-radius:0;
    overflow:hidden;
  }
  .hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}
