
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--navy:#1F355E;--pink:#E1A3BA;--pink-soft:#F4DDE6;--pink-pale:#FCF3F7;--ivory:#FFF9FB;--blue:#5C8DCB;--charcoal:#373737;--white:#fff;--line:#E6CCD6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pink-pale);color:var(--charcoal);font-family:Montserrat,Arial,sans-serif;line-height:1.7}a{color:inherit}.wrap{width:min(1120px,90%);margin:auto}
.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.7rem;z-index:99}
nav{position:sticky;top:0;z-index:20;background:rgba(255,249,251,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;font-weight:500;letter-spacing:.06em;color:var(--navy);text-decoration:none}.links{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center}.links a{text-decoration:none;font-size:.84rem;font-weight:500;white-space:nowrap}.links a:hover,.links a:focus{text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:3px}
.hero{padding:100px 0 88px;overflow:hidden;background:linear-gradient(135deg,#FFF9FB 0%,#FBEAF1 58%,#F6DDE7 100%)}.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:70px}.hero h1,.page-title{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:clamp(4rem,9vw,8rem);line-height:.82;letter-spacing:-.035em;margin:.12em 0}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:500;color:var(--navy);font-size:.82rem}.tag{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.15;max-width:800px;margin:.65em 0}.lede{font-size:1.08rem;max-width:760px}
.portrait{aspect-ratio:4/5;border-radius:180px 180px 18px 18px;background:linear-gradient(145deg,#f4d8e3,#f8e8ee);border:1px solid #dfbdca;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--navy);font-family:"Cormorant Garamond",serif;font-size:1.5rem}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:12px 19px;border-radius:999px;background:var(--navy);color:white;text-decoration:none;font-size:.9rem;font-weight:500;border:2px solid var(--navy)}.btn.alt{background:transparent;color:var(--navy)}.btn.pink{background:var(--pink);border-color:var(--pink);color:var(--navy)}
section{padding:82px 0;border-top:1px solid var(--line)}h2{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:clamp(2.6rem,5vw,4.7rem);line-height:.98;margin:.15em 0 .45em}h3{color:var(--navy);font-size:1.12rem;margin:.2em 0 .45em}.intro{font-size:1.12rem;max-width:820px}
.statement{background:var(--navy);color:white}.statement h2{color:white}.statement .eyebrow{color:#fff}.statement .quote{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.1;max-width:950px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:34px}.grid.three{grid-template-columns:repeat(3,1fr)}.card{background:#FFFDFE;border:1px solid var(--line);padding:28px;border-radius:15px;box-shadow:0 10px 35px rgba(31,53,94,.04)}.card p:last-child{margin-bottom:0}
.book{background:#F2D8E2}.book-label{color:var(--navy);font-weight:500}.book h2{font-size:clamp(3.2rem,7vw,6rem)}.bookline{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.25;max-width:900px}
.frameworks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px}.framework{background:rgba(255,250,252,.82);border-left:4px solid var(--pink);padding:20px}.framework strong{color:var(--navy)}
.logos{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.logo{background:#FFF9FB;border:1px solid var(--line);border-radius:999px;padding:10px 16px;color:var(--navy);font-size:.86rem;font-weight:500}
.signup{background:#F6E2EA}.signup-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.emailbox{background:#FFFDFE;padding:26px;border-radius:16px;border:1px solid #E3C5D0}.small{font-size:.86rem;color:#626262}
.talk{padding:26px 0;border-top:1px solid var(--line)}.takeaways{padding-left:1.2rem}.bio-callout{border-left:5px solid var(--pink);padding-left:24px}
footer{padding:42px 0;background:var(--navy);color:white}.footergrid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footergrid a{color:white}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
outline:3px solid var(--pink);outline-offset:4px;border-radius:4px}
.links a,.btn{min-height:44px;display:inline-flex;align-items:center}
@media (prefers-reduced-motion: reduce){
html{scroll-behavior:auto}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media(max-width:800px){
.nav{align-items:flex-start;flex-direction:column;padding:14px 0}
.links{display:flex;width:100%;gap:6px 14px;overflow:visible}
.links a{font-size:.88rem}
.hero-grid,.signup-inner,.grid,.grid.three,.frameworks{grid-template-columns:1fr}
.portrait{max-width:380px}.hero{padding:58px 0}.hero h1,.page-title{line-height:.9}
}
@media(max-width:480px){
.wrap{width:min(94%,1120px)}.links a{font-size:.84rem}.hero h1,.page-title{font-size:3.5rem}
}

.pullquote{margin:42px 0;padding:30px 34px;border-left:5px solid var(--pink);background:rgba(255,247,250,.88)}
.pullquote blockquote{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.15;color:var(--navy)}
.pullquote cite{display:block;margin-top:14px;font-style:normal;font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal)}

.excerpt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:30px}
.excerpt{background:#FFFDFE;border:1px solid var(--line);border-radius:15px;padding:28px}
.excerpt p{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:1.45rem;line-height:1.3;margin:0}
.excerpt .source{font-family:Montserrat,Arial,sans-serif;color:var(--charcoal);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-top:16px}
@media(max-width:800px){.excerpt-grid{grid-template-columns:1fr}}

.metric{font-family:"Cormorant Garamond",Georgia,serif;font-size:2rem;line-height:1.1;color:var(--navy);font-weight:500;margin:.35rem 0 .8rem}

.portrait{overflow:hidden;border-radius:24px}


.portrait{
  overflow:hidden;
  border-radius:24px;
}
.portrait img{
  display:block;
  width:100%;
  height:100%;
  min-height:440px;
  object-fit:cover;
  object-position:center;
}
@media (max-width:760px){
  .portrait img{
    min-height:0;
    height:auto;
    aspect-ratio:1/1;
  }
}

/* Pink-forward visual refresh */
section:nth-of-type(even):not(.statement):not(.book):not(.signup){background:rgba(255,249,251,.58)}
.btn.pink{box-shadow:0 8px 22px rgba(171,101,128,.16)}
.eyebrow{color:#8B4B66}
.statement .eyebrow{color:#fff}
::selection{background:#E8B8CA;color:#1F355E}

/* Elle Woods energy: polished, feminine, ambitious */
:root{
  --pink:#D97FA4;
  --pink-deep:#A94370;
  --pink-soft:#F3CADB;
  --pink-pale:#FFF3F8;
  --ivory:#FFFBF8;
  --line:#E8BDD0;
}
body{background:linear-gradient(180deg,#FFF8FB 0%,#FFF3F8 100%)}
nav{background:rgba(255,247,251,.97);border-bottom:2px solid var(--pink-soft)}
.brand{color:var(--pink-deep)}
.links a{color:var(--navy)}
.hero{background:radial-gradient(circle at 82% 18%,rgba(217,127,164,.25),transparent 30%),linear-gradient(135deg,#FFFBFD 0%,#FCE5EF 58%,#F5C9DB 100%)}
.hero h1,.page-title{color:var(--navy);text-shadow:0 2px 0 rgba(255,255,255,.55)}
.eyebrow{color:var(--pink-deep)}
.tag{color:var(--pink-deep)}
.portrait{border:5px solid #fff;box-shadow:0 18px 45px rgba(169,67,112,.18),0 0 0 2px var(--pink-soft)}
.btn{background:var(--pink-deep);border-color:var(--pink-deep);box-shadow:0 8px 20px rgba(169,67,112,.16)}
.btn:hover{transform:translateY(-1px)}
.btn.alt{background:#fff;color:var(--navy);border-color:var(--pink-deep)}
.btn.pink{background:var(--pink);border-color:var(--pink);color:#182C50}
section{border-top:1px solid var(--pink-soft)}
h2{color:var(--navy)}
h3{color:var(--pink-deep)}
.statement{background:linear-gradient(135deg,#1F355E 0%,#2B4270 100%);border-top:5px solid var(--pink)}
.statement .quote{color:#fff}
.card,.excerpt{background:rgba(255,255,255,.92);border:1px solid var(--pink-soft);box-shadow:0 12px 34px rgba(169,67,112,.07)}
.card{border-top:4px solid var(--pink)}
.book{background:linear-gradient(135deg,#F6D4E2 0%,#F1C4D7 100%)}
.bookline{color:var(--navy)}
.framework{background:rgba(255,255,255,.72);border-left:5px solid var(--pink-deep)}
.logo{background:#fff;border-color:var(--pink-soft)}
.signup{background:linear-gradient(135deg,#FBEAF1 0%,#F4CFDE 100%)}
.emailbox{background:#fff;border:2px solid var(--pink-soft);box-shadow:0 12px 34px rgba(169,67,112,.08)}
.bio-callout,.pullquote{border-left-color:var(--pink-deep)}
.pullquote{background:#FFF5F9}
.metric{color:var(--pink-deep)}
footer{background:linear-gradient(135deg,#1F355E 0%,#293F6B 100%);border-top:6px solid var(--pink)}
::selection{background:#F0B8CF;color:#182C50}

/* Light Pink Era — pink is the environment, navy supplies contrast */
:root{
  --pink:#E98BBC;
  --pink-deep:#9B2F64;
  --pink-soft:#F7CDE3;
  --pink-pale:#FFF0F8;
  --ivory:#FFF9FC;
  --line:#E8B6D1;
}
body{background:#FFF0F8}
nav{background:rgba(255,238,247,.97);border-bottom:1px solid #E6B0CD}
.hero{background:radial-gradient(circle at 82% 18%,rgba(233,139,188,.24),transparent 31%),linear-gradient(135deg,#FFF7FB 0%,#FCDCEC 55%,#F5C5DF 100%)}
.portrait{background:linear-gradient(145deg,#F8D7E8,#FFF3F9);border-color:#E7ADCB;box-shadow:0 24px 60px rgba(155,47,100,.15)}
.card,.excerpt{background:#FFF8FC;border-color:#E9BBD4}
.book{background:linear-gradient(135deg,#F8D5E8 0%,#F2BFD9 100%)}
.framework{background:rgba(255,248,252,.82)}
.signup{background:linear-gradient(135deg,#FCE3F0 0%,#F5C8DF 100%)}
.emailbox{background:#FFF8FC;border-color:#E9BBD4}
.pullquote{background:#FFEAF5}
section:nth-of-type(even):not(.statement):not(.book):not(.signup){background:rgba(250,211,232,.38)}
.logo{background:#FFF7FB;border-color:#E8B6D1}
.btn.pink{background:#E98BBC;border-color:#E98BBC;color:#1F355E}

/* Lilly editorial: Audrey + Blair + Catherine + Elle + a touch of fairytale */
:root{
  --pink:#E99AC2;
  --pink-deep:#8F315E;
  --pink-soft:#F5CFE2;
  --pink-pale:#FFF2F8;
  --ivory:#FFFBF8;
  --navy:#1F355E;
  --line:#E7BFD2;
}
body{background:linear-gradient(180deg,#FFF5FA 0%,#FFF9FC 45%,#FFF1F8 100%)}
nav{background:rgba(255,247,251,.96);border-bottom:1px solid rgba(143,49,94,.22);box-shadow:0 5px 22px rgba(143,49,94,.05)}
.brand{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;letter-spacing:.025em;color:var(--navy)}
.links a{letter-spacing:.025em}
.hero{background:radial-gradient(circle at 84% 17%,rgba(233,154,194,.30),transparent 30%),linear-gradient(135deg,#FFF9FC 0%,#FDE5F0 56%,#F5C9DE 100%);border-bottom:1px solid var(--pink-soft)}
.hero-grid{gap:64px}
.hero h1,.page-title{font-weight:500;letter-spacing:-.025em}
.tag{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;letter-spacing:.01em;color:var(--pink-deep)}
.eyebrow{letter-spacing:.14em}
.portrait{border:8px solid #FFF9FC;border-radius:18px;box-shadow:0 22px 55px rgba(77,44,65,.14),0 0 0 1px #DDA9C3}
.btn{border-radius:999px;padding-left:24px;padding-right:24px;box-shadow:none}
.btn.alt{background:#FFF9FC}
section{border-top:1px solid rgba(143,49,94,.13)}
h2{font-weight:500;letter-spacing:-.018em}
h3{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;font-weight:500;color:var(--navy)}
.card,.excerpt,.emailbox{border-radius:12px;background:rgba(255,251,253,.93);border:1px solid #E8C5D6;box-shadow:0 10px 28px rgba(90,49,70,.055)}
.card{border-top:1px solid #E8C5D6;position:relative}
.card:before{content:"";display:block;width:34px;height:2px;background:var(--pink);margin-bottom:18px}
.book{background:linear-gradient(135deg,#F9E1EC 0%,#F4CDDF 100%)}
.framework{background:rgba(255,252,253,.75);border-left:3px solid var(--pink-deep);border-radius:0 10px 10px 0}
.signup{background:linear-gradient(135deg,#FBE8F1 0%,#F5D2E2 100%)}
.pullquote{background:#FFF8FB;border-left:3px solid var(--pink-deep)}
.pullquote blockquote{font-style:italic;font-weight:500}
.statement{background:linear-gradient(135deg,#1F355E 0%,#273E69 100%);border-top:4px solid #E99AC2}
footer{border-top:4px solid #E99AC2}
::selection{background:#F1B9D4;color:#1F355E}

.hero-intro .lede{margin-top:1rem}.hero-intro .lede:first-child{margin-top:1.35rem}.hero-intro .lede:last-child{margin-bottom:1.4rem}

/* Editorial photography */
.editorial-photo-section{padding-top:48px;padding-bottom:48px;background:#FFF8FC}
.editorial-photo{margin:0}
.editorial-photo img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid #E4B9CE;box-shadow:0 20px 48px rgba(67,47,60,.10)}
.editorial-photo figcaption{max-width:760px;margin:16px auto 0;text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.2rem;font-style:italic;color:var(--navy)}
.about-visual-grid,.feature-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:center}
.about-visual-grid .portrait-photo img{aspect-ratio:1/1;object-fit:cover}
.msla-section{background:linear-gradient(135deg,#FFF9FC 0%,#FBE3EF 100%)}
.msla-section .feature-grid{grid-template-columns:minmax(0,1.05fr) minmax(300px,.75fr)}
.msla-section .editorial-photo img{max-height:760px;object-fit:cover}
@media (max-width:800px){.about-visual-grid,.feature-grid,.msla-section .feature-grid{grid-template-columns:1fr;gap:32px}.editorial-photo-section{padding-top:28px;padding-bottom:28px}}

/* Editorial portfolio additions */
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.feature-card{background:rgba(255,255,255,.72);border:1px solid rgba(152,45,96,.22);border-radius:26px;padding:30px;box-shadow:0 18px 45px rgba(79,40,63,.08)}.feature-card h3{margin-top:8px}.feature-card p:last-child{margin-bottom:0}.media-strip{background:linear-gradient(135deg,#fff7fa 0%,#f8dce7 100%);border-top:1px solid rgba(152,45,96,.18);border-bottom:1px solid rgba(152,45,96,.18)}.media-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:26px}.media-item{padding:24px;border-left:3px solid #c94f86;background:rgba(255,255,255,.58);border-radius:0 20px 20px 0}.media-item a{font-weight:500}.archive-list{display:grid;gap:14px;margin-top:24px}.archive-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:20px 22px;background:rgba(255,255,255,.58);border:1px solid rgba(152,45,96,.16);border-radius:18px}.archive-item h3{font-size:1.15rem;margin:0 0 5px}.archive-item p{margin:0}.archive-item a{font-weight:500;white-space:nowrap}.section-note{max-width:760px}.featured-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:#8c315c}.media-kicker{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.45rem;font-weight:500;margin:0 0 8px}.home-media{margin-top:28px}.home-media .feature-card{padding:24px}
@media(max-width:800px){.feature-grid,.media-items{grid-template-columns:1fr}.archive-item{grid-template-columns:1fr}.archive-item a{white-space:normal}}

/* Accessible image descriptions */
.image-description{display:block;margin-top:10px;font-family:Montserrat,Arial,sans-serif;font-size:.92rem;line-height:1.65;font-style:normal;color:#373737;text-align:left}
.hero-portrait{overflow:visible;display:block;padding:0;background:transparent;border:0;box-shadow:none}
.hero-portrait img{display:block;width:100%;height:auto;border:8px solid #FFF9FC;border-radius:18px;box-shadow:0 22px 55px rgba(77,44,65,.14),0 0 0 1px #DDA9C3}
.hero-portrait figcaption{padding:0 4px}

/* Typography preference: no bold text. */
strong,b{font-weight:inherit}h1,h2,h3,h4,h5,h6{font-weight:500}

/* Identity labels may use fragments; Lilly's name always stays on one line. */
.identity-line{white-space:normal}
.name-lock{white-space:nowrap;font-size:clamp(3.1rem,8vw,8rem)}
@media (max-width:600px){.name-lock{font-size:clamp(2.65rem,13.5vw,4rem);letter-spacing:-.045em}}

/* Keep the primary homepage tagline together and scale it responsively. */
.hero .tag{white-space:nowrap;font-size:clamp(1.35rem,2.55vw,2.2rem);line-height:1.15}
@media (max-width:600px){.hero .tag{font-size:clamp(.92rem,4.15vw,1.35rem);letter-spacing:-.015em}}
@media (max-width:380px){.hero .tag{font-size:clamp(.82rem,4vw,1rem)}}


/* Accessible dropdown navigation */
.nav-menu{position:relative;margin:0;padding:0}
.nav-menu summary{list-style:none;cursor:pointer;color:var(--navy);font-size:.84rem;font-weight:500;white-space:nowrap;padding:10px 0}
.nav-menu summary::-webkit-details-marker{display:none}
.nav-menu summary::after{content:" ▾";font-size:.72em}
.nav-menu[open] summary::after{content:" ▴"}
.nav-menu summary:hover,.nav-menu summary:focus{text-decoration:underline;text-decoration-color:var(--pink);text-decoration-thickness:3px}
.nav-menu summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px;border-radius:4px}
.dropdown{position:absolute;top:calc(100% + 8px);left:-16px;z-index:50;min-width:230px;padding:10px;background:var(--ivory);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 34px rgba(31,53,94,.14)}
.dropdown a{display:block;padding:10px 12px;border-radius:9px;white-space:normal}
.dropdown a:hover,.dropdown a:focus{background:var(--pink-soft);text-decoration:none}
@media (max-width: 820px){
  .links{width:100%;align-items:stretch}
  .nav-menu{width:100%}
  .nav-menu summary{padding:8px 0}
  .dropdown{position:static;min-width:0;margin-top:4px;box-shadow:none;background:rgba(255,255,255,.45)}
  .dropdown a{padding:9px 12px}
}

/* Simplified centered footer */
.simple-footer{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.simple-footer a{color:white}
.footer-bow{font-size:1.35rem;line-height:1.2}

/* Keep the second homepage tagline heading on one line. */
.tagline-meaning h2{white-space:nowrap;font-size:clamp(2rem,4.15vw,4.2rem);letter-spacing:-.02em}
@media (max-width:700px){.tagline-meaning h2{font-size:clamp(1.25rem,5.25vw,2.1rem);letter-spacing:-.035em}}
@media (max-width:420px){.tagline-meaning h2{font-size:clamp(1.05rem,5vw,1.4rem)}}
.tagline-meaning strong {
  font-weight: 700;
}

.image-description-label{font-weight:700;}


/* Homepage hero layout and headshot: single source of truth */
.hero-grid{
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:54px;
}
.hero-portrait{
  width:100%;
  max-width:405px;
  justify-self:end;
  align-self:center;
  margin:0;
  overflow:visible;
  display:block;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
}
.hero-portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:initial;
  object-position:initial;
  border:8px solid #FFF9FC;
  border-radius:18px;
  box-shadow:0 22px 55px rgba(77,44,65,.14),0 0 0 1px #DDA9C3;
}
.hero-portrait figcaption{padding:0 4px}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .hero-portrait{
    width:min(80vw,365px);
    max-width:365px;
    justify-self:center;
    margin:28px auto 0;
  }
}
@media (max-width:600px){
  .hero-portrait{
    width:min(84vw,325px);
    max-width:325px;
  }
}

/* Final homepage portrait balance: original composition, medium editorial scale */
.hero-grid{
  grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);
  gap:48px;
}
.hero-portrait{
  width:100%;
  max-width:380px;
  justify-self:end;
  align-self:center;
  margin:0;
}
.hero-portrait img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;}
  .hero-portrait{
    width:min(80vw,350px);
    max-width:350px;
    justify-self:center;
    margin:28px auto 0;
  }
}
@media (max-width:600px){
  .hero-portrait{
    width:min(84vw,310px);
    max-width:310px;
  }
}

/* Slightly smaller final homepage portrait */
.hero-portrait{
  max-width:360px;
}
@media (max-width:900px){
  .hero-portrait{
    width:min(78vw,335px);
    max-width:335px;
  }
}
@media (max-width:600px){
  .hero-portrait{
    width:min(82vw,295px);
    max-width:295px;
  }
}

/* Allow subheadings to wrap naturally. Main headings and paragraphs remain unchanged. */
h3,
.subheading,
.card h3,
.feature-card h3,
.service-card h3,
.media-card h3 {
  white-space: normal;
  text-wrap: balance;
}

/* Descriptive subheading/deck text may wrap naturally. */
.section-intro,
.section-deck,
.deck,
.lede,
.intro,
.subtitle,
.page-subtitle,
.hero-subtitle {
  white-space: normal !important;
  text-wrap: balance;
}

/* Interior-page descriptive subheadings use .hero .tag.
   Override the earlier nowrap rule only when the tag follows a page title.
   The homepage tagline remains unchanged. */
.hero .page-title + .tag {
  white-space: normal !important;
  max-width: 860px;
  text-wrap: balance;
}

/* FINAL: all descriptive subheadings/decks wrap naturally sitewide */
.hero .tag:not(.name-lock),
.tag:not(.name-lock),
.subheading,
.subtitle,
.page-subtitle,
.hero-subtitle,
.section-intro,
.section-deck,
.deck,
.lede,
.intro,
.card-subtitle,
.card-deck,
.feature-subtitle,
.service-subtitle {
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  text-wrap: balance;
  max-width: 100%;
}

/* Keep only the homepage's canonical hero tagline on one line on desktop. */
.home-hero .tag,
.hero-home .tag {
  white-space: nowrap !important;
}

@media (max-width: 760px) {
  .home-hero .tag,
  .hero-home .tag {
    white-space: normal !important;
  }
}

/* Consistent primary navigation across every page */
.site-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:22px;
  flex-wrap:wrap;
}
.site-nav > a,
.site-nav > .nav-menu > summary{
  font:inherit;
  line-height:1.2;
  white-space:nowrap;
}
.site-nav .nav-menu{
  margin:0;
}
.site-nav .nav-submenu{
  min-width:220px;
}
@media (max-width:900px){
  .site-nav{
    justify-content:center;
    gap:14px 18px;
  }
}

/* Homepage hero subheading stays on one line */
body.home .hero .tag,
.home .hero .tag,
.home-hero .tag,
.hero-home .tag {
  white-space: nowrap !important;
  max-width: none;
  text-wrap: nowrap;
}

@media (max-width: 760px) {
  body.home .hero .tag,
  .home .hero .tag,
  .home-hero .tag,
  .hero-home .tag {
    white-space: normal !important;
    text-wrap: balance;
  }
}

/* FINAL NAVIGATION FIX: restore original header structure and dropdown styling */
nav[aria-label="Primary navigation"]{
  position:relative;
  z-index:100;
  background:rgba(255,251,248,.96);
  border-bottom:1px solid var(--line);
}
nav[aria-label="Primary navigation"] .nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:72px;
}
nav[aria-label="Primary navigation"] .links{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px 18px;
  flex-wrap:nowrap;
}
nav[aria-label="Primary navigation"] .links > a,
nav[aria-label="Primary navigation"] .nav-menu > summary{
  font-size:.84rem;
  font-weight:500;
  white-space:nowrap;
}
nav[aria-label="Primary navigation"] .nav-menu{
  position:relative;
  width:auto;
}
nav[aria-label="Primary navigation"] .dropdown{
  position:absolute;
  top:calc(100% + 8px);
  left:-16px;
  z-index:200;
  min-width:245px;
}
nav[aria-label="Primary navigation"] .nav-menu:last-of-type .dropdown{
  right:0;
  left:auto;
}
nav[aria-label="Primary navigation"] [aria-current="page"]{
  text-decoration:underline;
  text-decoration-color:var(--pink);
  text-decoration-thickness:3px;
  text-underline-offset:4px;
}
@media (max-width:1100px){
  nav[aria-label="Primary navigation"] .nav{
    gap:18px;
  }
  nav[aria-label="Primary navigation"] .links{
    gap:8px 12px;
  }
  nav[aria-label="Primary navigation"] .brand{
    font-size:1.15rem;
  }
  nav[aria-label="Primary navigation"] .links > a,
  nav[aria-label="Primary navigation"] .nav-menu > summary{
    font-size:.79rem;
  }
}
@media (max-width:900px){
  nav[aria-label="Primary navigation"] .nav{
    flex-direction:column;
    align-items:center;
    padding-top:14px;
    padding-bottom:14px;
  }
  nav[aria-label="Primary navigation"] .links{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
  }
  nav[aria-label="Primary navigation"] .nav-menu{
    width:auto;
  }
  nav[aria-label="Primary navigation"] .dropdown{
    position:absolute;
    min-width:230px;
  }
}
@media (max-width:640px){
  nav[aria-label="Primary navigation"] .links{
    flex-direction:column;
    align-items:stretch;
    gap:2px;
  }
  nav[aria-label="Primary navigation"] .links > a,
  nav[aria-label="Primary navigation"] .nav-menu > summary{
    display:block;
    width:100%;
    text-align:center;
    padding:9px 0;
  }
  nav[aria-label="Primary navigation"] .nav-menu{
    width:100%;
  }
  nav[aria-label="Primary navigation"] .dropdown,
  nav[aria-label="Primary navigation"] .nav-menu:last-of-type .dropdown{
    position:static;
    min-width:0;
    margin-top:2px;
  }
}

/* Readability pass: easier scanning without changing headings or established labels */
main p,
main li {
  line-height: 1.72;
}
main p {
  max-width: 72ch;
}
.intro,
.hero .tag {
  max-width: 68ch;
}
.card p,
.talk p {
  max-width: 62ch;
}
.talk,
.card {
  text-wrap: pretty;
}
.takeaways li {
  margin-bottom: .45rem;
}

/* Selective scan-friendly lists */
.scan-list {
  margin: .65rem 0 1.25rem;
  padding-left: 1.35rem;
  max-width: 62ch;
}
.scan-list li {
  margin: .28rem 0;
  padding-left: .18rem;
  line-height: 1.6;
}

/* In-page section navigation */
.section-jump {
  width: min(1120px, calc(100% - 2rem));
  margin: 1.1rem auto 0;
  padding: .8rem 0 1rem;
  display: flex;
  align-items: center;
  gap: .55rem .75rem;
  flex-wrap: wrap;
  border-bottom: 1px solid rgba(20, 36, 64, .16);
}
.section-jump-label {
  font-weight: 600;
}
.section-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: .45rem .7rem;
  border-radius: 999px;
  text-decoration: none;
}
.section-jump a:hover,
.section-jump a:focus-visible {
  text-decoration: underline;
}
h2[id] {
  scroll-margin-top: 7rem;
}
@media (max-width: 700px) {
  .section-jump {
    gap: .35rem .45rem;
  }
  .section-jump-label {
    width: 100%;
  }
}

/* About Me: balanced Ms. Los Angeles portrait sizing */
.msla-about-photo {
  display: block;
  width: min(100%, 360px);
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  margin: 0 auto;
}
@media (max-width: 760px) {
  .msla-about-photo {
    width: min(100%, 320px);
  }
}
@media (max-width: 480px) {
  .msla-about-photo {
    width: min(100%, 285px);
  }
}

/* About Me hero without headshot */
.about-hero-text {
  max-width: 820px;
}


/* Ms. Los Angeles platform spacing */
.msla-platform-copy {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.msla-platform-copy h3 {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
.msla-platform-copy p {
  margin-top: 0;
  margin-bottom: 1rem;
}
.msla-platform-copy p:last-child {
  margin-bottom: 0;
}


/* Ms. Los Angeles engagements */
.msla-engagements {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.msla-engagements h3 {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
.msla-engagements p {
  margin-top: 0;
  margin-bottom: 1rem;
}
.msla-engagements ul {
  margin-top: 0.5rem;
  margin-bottom: 1rem;
  padding-left: 1.5rem;
}
.msla-engagements li {
  margin-bottom: 0.5rem;
}


/* Ms. Los Angeles contact CTA */
.msla-contact-cta {
  margin-top: 1.5rem !important;
  margin-bottom: 0 !important;
}


/* =========================================================
   Lilly aesthetic refresh: romantic, polished, preppy, editorial
   Soft blush + classic serif + subtle bow/sparkle details
   ========================================================= */

:root {
  --lilly-blush: #f8e9ee;
  --lilly-blush-soft: #fff8fa;
  --lilly-rose: #b64f72;
  --lilly-rose-dark: #71364d;
  --lilly-ink: #241c20;
  --lilly-plum: #4f2d3d;
  --lilly-border: #dec4ce;
  --lilly-cream: #fffdfb;
}

body {
  background:
    radial-gradient(circle at 15% 8%, rgba(255,255,255,.92) 0 3%, transparent 18%),
    linear-gradient(180deg, var(--lilly-blush-soft) 0%, var(--lilly-cream) 34%, #fff 100%);
  color: var(--lilly-ink);
}

/* Give major display type a classic fashion-editorial feeling without
   sacrificing the existing readable body type. */
h1, h2, h3 {
  font-family: Georgia, "Times New Roman", serif;
  color: var(--lilly-plum);
  letter-spacing: -0.015em;
}

h1 {
  line-height: 1.04;
}

h2 {
  line-height: 1.12;
}

/* Fine, feminine divider treatment */
main section + section {
  position: relative;
}



/* Soft editorial cards */
.card,
[class*="card"],
.callout,
[class*="callout"] {
  border-color: var(--lilly-border);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(79,45,61,.07);
}

/* Buttons: polished pink, still high contrast */
a.button,
.button,
a.btn,
.btn {
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: .01em;
}

a.button:hover,
.button:hover,
a.btn:hover,
.btn:hover {
  transform: translateY(-1px);
}

/* Images feel like framed editorial portraits */
main img {
  border-radius: 16px;
}

/* Romantic quote-like treatment for short intro/tagline copy */
.hero p,
.intro p:first-of-type {
  text-wrap: pretty;
}

/* Ms. Los Angeles section: pageant-polished without becoming costume-y */
.msla-platform-copy,
.msla-engagements {
  background: rgba(248,233,238,.55);
  border: 1px solid var(--lilly-border);
  border-radius: 18px;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.msla-engagements ul {
  columns: 2;
  column-gap: 2rem;
}

.msla-engagements li {
  break-inside: avoid;
}

/* Keep keyboard focus unmistakable */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #71364d;
  outline-offset: 3px;
}

/* Selection is a tiny pink detail */
::selection {
  background: #f2cad8;
  color: #241c20;
}

@media (max-width: 720px) {
  .msla-engagements ul {
    columns: 1;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  a.button,
  .button,
  a.btn,
  .btn {
    transition: none !important;
  }
  a.button:hover,
  .button:hover,
  a.btn:hover,
  .btn:hover {
    transform: none;
  }
}

/* Book excerpts */
.book-excerpts { margin-block: 2.5rem; }
.book-excerpts > .wrap > p:first-of-type { max-width: 42rem; }
.book-quote-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}
.book-quote {
  margin: 0;
  padding: 1.35rem;
  border: 1px solid var(--lilly-border);
  border-radius: 1.25rem;
  background: var(--lilly-blush-soft);
}
.book-quote p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  line-height: 1.55;
}
.book-excerpt {
  max-width: 48rem;
  padding: 1.25rem 0;
  border-top: 1px solid var(--lilly-border);
}
.book-excerpt h3 { margin-bottom: .5rem; }
.book-excerpt p { margin: 0; }
@media (max-width: 760px) {
  .book-quote-grid { grid-template-columns: 1fr; }
}

/* Ms. Los Angeles collaboration categories */
.msla-collaboration-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.5rem;
}
.msla-collaboration-group {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1rem;
  border: 1px solid var(--lilly-border);
  border-radius: 1rem;
  background: var(--lilly-cream);
}
.msla-collaboration-group h4 {
  margin: 0 0 .65rem;
}
.msla-collaboration-group ul {
  margin: 0;
  padding-left: 1.2rem;
  columns: 1;
}
@media (max-width: 760px) {
  .msla-collaboration-groups { grid-template-columns: 1fr; }
}

/* Keep page subtitles upright */
.subtitle, .subheading, .lede, .page-subtitle, .hero-subtitle {
  font-style: normal;
}

/* Keep hero and page subheadings upright */
.hero .tag,
.page-title + .tag {
  font-style: normal;
}


/* Keep the Lilly Grossman navigation brand un-underlined in every state. */
nav .brand,
nav .brand:link,
nav .brand:visited,
nav .brand:hover,
nav .brand:focus,
nav .brand:focus-visible,
nav .brand:active {
  text-decoration: none;
}

/* Scannable services and pricing */
.pricing-list {
  display: grid;
  gap: .65rem;
  margin: 1rem 0 1.5rem;
}
.pricing-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--lilly-border);
  border-radius: .9rem;
  background: var(--lilly-cream);
}
.pricing-row > div {
  display: grid;
  gap: .2rem;
  max-width: 70%;
}
.pricing-row span {
  font-size: .92rem;
  line-height: 1.45;
}
.pricing-row > strong {
  white-space: nowrap;
  text-align: right;
}
@media (max-width: 760px) {
  .pricing-row {
    display: grid;
    gap: .55rem;
  }
  .pricing-row > div { max-width: none; }
  .pricing-row > strong {
    white-space: normal;
    text-align: left;
  }
}
