/* ER / V7 — measured editorial refinements */
:root { --v7-ink:#f4f7f2; --v7-mute:#b8c5ba; --v7-line:rgba(245,251,242,.16); }

/* An intentional, uncluttered first impression. */
body[data-page="home"] .er-hero-v7 { overflow:hidden; isolation:isolate; }
body[data-page="home"] .er-hero-v7::after { opacity:.065; }
body[data-page="home"] .er-hero-v7 .er-hero-final-inner { min-height:clamp(480px,70svh,730px); justify-content:center; gap:clamp(42px,6vw,89px); padding-block:clamp(60px,8vw,120px); }
body[data-page="home"] .er-hero-v7 h1 { font-size:clamp(3.5rem,8.25vw,9rem); max-width:13ch; letter-spacing:-.078em; line-height:.96; text-wrap:balance; color:#f9fbf7; }
body[data-page="home"] .er-hero-v7 h1 span { color:#f9fbf7; }
body[data-page="home"] .er-hero-v7 .er-hero-final-copy { margin:0; color:#bfcdc1; line-height:1.8; max-width:680px; font-size:clamp(1.04rem,1.28vw,1.24rem); }
body[data-page="home"] .home-process-summary { padding-top:clamp(74px,9vw,132px); padding-bottom:clamp(84px,9vw,140px); }
body[data-page="home"] .home-process-summary .timeline-item { min-width:0; }

/* Partners: editorial scale, no counter badge; sophisticated natural-color reveal. */
body[data-page="home"] .home-partners-v7 { padding-block:clamp(77px,9vw,138px)!important; background:#0b0e0c!important; }
body[data-page="home"] .home-partners-v7 .partners-heading { display:flex; justify-content:space-between; align-items:end; flex-wrap:wrap; gap:24px 44px; margin-bottom:clamp(33px,4vw,57px); }
body[data-page="home"] .home-partners-v7 .partners-heading .h-xl { line-height:1.04; letter-spacing:-.064em; color:#f8faf6; max-width:16ch; margin:.55rem 0 0; }
body[data-page="home"] .home-partners-v7 .partners-heading .eyebrow { margin:0; }
body[data-page="home"] .partners-section-intro { font-size:clamp(.94rem,1.08vw,1.04rem); line-height:1.75; color:var(--v7-mute); max-width:37ch; margin:0; }
body[data-page="home"] .home-partners-v7 .logo-wall { border:0; gap:clamp(7px,.8vw,13px); }
body[data-page="home"] .home-partners-v7 .partner-logo { border:1px solid rgba(255,255,255,.1); border-radius:11px; background:#111713; min-height:clamp(96px,10vw,132px); transform:none; transition:background .28s ease,border-color .28s ease; }
body[data-page="home"] .home-partners-v7 .partner-logo:hover,
body[data-page="home"] .home-partners-v7 .partner-logo:focus-visible { border-color:var(--partner-hover); background:var(--partner-hover); }
body[data-page="home"] .home-partners-v7 .partner-logo .brand-logo { filter:grayscale(1) brightness(0) invert(.8); opacity:.72; max-width:80%; transition:filter .28s ease,opacity .28s ease,transform .28s ease; }
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible) .brand-logo { filter:none; opacity:1; transform:scale(1.035); }
/* Brand artwork can have white fill: ensure it stays legible against its panel. */
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="loreal-paris"]),
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="bobbi-brown"]),
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="mac-cosmetics"]),
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="maybelline-new-york"]) { background:#172018!important; border-color:#6b8e43!important; }
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="loreal-paris"]) img,
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="bobbi-brown"]) img,
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="mac-cosmetics"]) img,
body[data-page="home"] .home-partners-v7 .partner-logo:is(:hover,:focus-visible):has(img[data-brand="maybelline-new-york"]) img { filter:brightness(0) invert(1)!important; }
body[data-page="home"] .home-partners-v7 .partner-logo:focus-visible { outline:2px solid #c6ff34; outline-offset:3px; }
body[data-page="home"] .home-brand-preview { padding-top:clamp(78px,9vw,130px)!important; padding-bottom:clamp(85px,10vw,148px)!important; }

/* Four intentionally balanced About cards. */
body[data-page="about"] .about-identity-grid { align-items:stretch; }
body[data-page="about"] .identity-card { min-height:clamp(245px,21vw,288px); }
body[data-page="about"] .identity-card p { max-width:55ch; font-size:clamp(1.03rem,1.3vw,1.17rem); line-height:1.7; }
body[data-page="about"] .identity-card ul { column-gap:13px; row-gap:9px; }
body[data-page="about"] .identity-card li { font-size:clamp(.8rem,.98vw,.92rem); line-height:1.43; }
body[data-page="about"] .identity-card-top { margin-bottom:2px; }

/* Contact + Testimonials: a pinned identity/intro column while the form is in view. */
@media (min-width:901px) {
  body[data-page="inquiry"] .project-inquiry-layout,
  body[data-page="testimonials"] .testimonial-feedback-layout { align-items:start; }
  body[data-page="inquiry"] .contact-inquiry-aside,
  body[data-page="testimonials"] .testimonial-feedback-copy { position:sticky!important; top:clamp(104px,11vh,138px)!important; align-self:start; height:max-content; max-height:calc(100vh - 150px); overflow-y:auto; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent; }
  body[data-page="inquiry"] .project-inquiry-section,
  body[data-page="testimonials"] .testimonial-feedback-section { overflow:visible!important; }
}
body[data-page="testimonials"] .testimonial-feedback-copy .eyebrow,
body[data-page="testimonials"] .testimonial-feedback-copy h2 { color:#f4f7f2; }

/* 404: dramatic editorial numeral, aligned with the numbered Journal chapters. */
body[data-page="notfound"] .error-hero-v7 { background:#080b09; min-height:clamp(650px,calc(100svh - 92px),940px); display:grid; align-items:center; padding:clamp(70px,8vw,120px) 0; }
body[data-page="notfound"] .error-layout-v7 { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); align-items:center; gap:clamp(25px,5vw,95px); }
body[data-page="notfound"] .error-copy-v7 { min-width:0; }
body[data-page="notfound"] .error-copy-v7 .display { font-size:clamp(3.15rem,6.6vw,7.7rem); line-height:1.03; letter-spacing:-.075em; max-width:12ch; margin:0 0 clamp(26px,3vw,46px); text-wrap:balance; }
body[data-page="notfound"] .error-copy-v7 .lead { color:#bac5ba; max-width:39ch; line-height:1.7; font-size:clamp(1.02rem,1.32vw,1.22rem); }
body[data-page="notfound"] .error-copy-v7 .hero-actions { margin-top:clamp(34px,4vw,56px); display:flex; flex-wrap:wrap; gap:12px; }
body[data-page="notfound"] .error-art-v7 { padding-block:25px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; }
body[data-page="notfound"] .error-number-v7 { display:block; font-size:clamp(8rem,19vw,18rem); line-height:.83; font-weight:760; letter-spacing:-.105em; color:#c6ff34; }
body[data-page="notfound"] .error-art-line { height:2px; width:clamp(80px,12vw,195px); margin:clamp(25px,3.5vw,50px) 0 24px; background:linear-gradient(90deg,#c6ff34,transparent); }
body[data-page="notfound"] .error-art-caption { font-size:clamp(1.5rem,3vw,3.2rem); font-weight:650; line-height:1.05; letter-spacing:-.05em; color:#f7faf6; }

/* Privacy & use: a readable, navigable document—not an oversized text wall. */
body[data-page="privacy"] .privacy-hero-v7 { padding:clamp(80px,9vw,145px) 0 clamp(60px,7vw,105px); border-bottom:1px solid var(--v7-line); background:#080b09; }
body[data-page="privacy"] .privacy-hero-inner-v7 .display { font-size:clamp(3.7rem,7.8vw,8.3rem); max-width:13ch; letter-spacing:-.075em; margin:clamp(20px,2.7vw,40px) 0; }
body[data-page="privacy"] .privacy-hero-inner-v7 .lead { color:var(--v7-mute); max-width:68ch; line-height:1.8; }
body[data-page="privacy"] .privacy-section-v7 { background:#080b09; padding:clamp(60px,7vw,118px) 0 clamp(110px,11vw,170px); }
body[data-page="privacy"] .privacy-layout-v7 { display:grid; grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr); align-items:start; gap:clamp(55px,8vw,145px); }
body[data-page="privacy"] .privacy-aside-v7 { position:sticky; top:130px; }
body[data-page="privacy"] .privacy-small-v7,body[data-page="privacy"] .privacy-index-v7 { font-size:.75rem; font-weight:760; text-transform:uppercase; letter-spacing:.12em; color:#c6ff34; }
body[data-page="privacy"] .privacy-aside-v7 h2 { font-size:clamp(1.65rem,2.6vw,3rem); line-height:1.14; letter-spacing:-.054em; margin:clamp(22px,2.5vw,38px) 0 16px; }
body[data-page="privacy"] .privacy-aside-v7 p { color:var(--v7-mute); font-size:1rem; line-height:1.75; max-width:33ch; }
body[data-page="privacy"] .privacy-jump-v7 { display:grid; margin-top:clamp(33px,4vw,62px); border-top:1px solid var(--v7-line); }
body[data-page="privacy"] .privacy-jump-v7 a { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:13px; padding:16px 0; border-bottom:1px solid var(--v7-line); font-size:.86rem; color:#dee7de; line-height:1.45; text-decoration:none; transition:color .2s ease; }
body[data-page="privacy"] .privacy-jump-v7 a:hover { color:#c6ff34; }
body[data-page="privacy"] .privacy-jump-v7 a span { color:#c6ff34; font-size:.72rem; }
body[data-page="privacy"] .privacy-block-v7 { scroll-margin-top:135px; padding:0 0 clamp(48px,5vw,82px); margin-bottom:clamp(46px,5vw,76px); border-bottom:1px solid var(--v7-line); }
body[data-page="privacy"] .privacy-block-v7 h2 { font-size:clamp(1.7rem,2.9vw,3.15rem); font-weight:650; letter-spacing:-.06em; margin:20px 0 24px; line-height:1.17; }
body[data-page="privacy"] .privacy-block-v7 p { color:#b8c6bb; font-size:clamp(.96rem,1.07vw,1.1rem); line-height:1.9; margin:0 0 23px; overflow-wrap:anywhere; }
body[data-page="privacy"] .privacy-block-v7 a { color:#e7f1e7; text-underline-offset:4px; text-decoration-thickness:1px; }
body[data-page="privacy"] .privacy-block-v7 a:is(:hover,:focus-visible) { color:#c6ff34; }
body[data-page="privacy"] .privacy-provider-link-v7 { display:inline-flex; gap:7px; align-items:center; font-size:.96rem; }
body[data-page="privacy"] .privacy-provider-link-v7 svg { width:18px; height:18px; }
body[data-page="privacy"] .privacy-email-v7 { display:inline-flex; gap:12px; align-items:center; max-width:100%; overflow-wrap:anywhere; font-size:clamp(1.02rem,1.5vw,1.45rem); font-weight:560; letter-spacing:-.027em; }
body[data-page="privacy"] .privacy-email-v7 svg { width:20px; height:20px; flex-shrink:0; }
body[data-page="privacy"] .privacy-last-v7 { border:0; margin:0; padding:0; }
@media (max-width:900px) {
 body[data-page="privacy"] .privacy-layout-v7 { grid-template-columns:1fr; gap:55px; }
 body[data-page="privacy"] .privacy-aside-v7 { position:static; }
 body[data-page="privacy"] .privacy-jump-v7 { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:22px; }
}
@media (max-width:700px) {
 body[data-page="home"] .home-partners-v7 .partners-heading { display:block; }
 body[data-page="home"] .partners-section-intro { margin-top:22px; }
 body[data-page="about"] .identity-card { min-height:195px; }
 body[data-page="about"] .identity-capabilities { min-height:250px; }
 body[data-page="notfound"] .error-layout-v7 { grid-template-columns:1fr; }
 body[data-page="notfound"] .error-hero-v7 { min-height:auto; padding:clamp(62px,10vw,100px) 0 95px; }
 body[data-page="notfound"] .error-art-v7 { align-items:flex-start; padding-block:24px 0; }
 body[data-page="notfound"] .error-number-v7 { font-size:clamp(7.4rem,27vw,12rem); }
 body[data-page="notfound"] .error-art-line { margin:20px 0; }
 body[data-page="privacy"] .privacy-jump-v7 { grid-template-columns:1fr; }
 body[data-page="privacy"] .privacy-hero-inner-v7 .display { font-size:clamp(3.3rem,12vw,6rem); }
}
@media (prefers-reduced-motion: reduce) { body[data-page="home"] .home-partners-v7 .partner-logo,body[data-page="home"] .home-partners-v7 .brand-logo { transition:none!important; } }
