/* TEO LEDA — editorial landing page, no external dependencies */
@font-face{font-family:'TeoTitle';src:url('assets/fonts/ABChanelCorpo-Regular.woff2') format('woff2'),url('assets/fonts/ABChanelCorpo-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'TeoBody';src:url('assets/fonts/CarmenSans-Medium.woff2') format('woff2'),url('assets/fonts/CarmenSans-Medium.woff') format('woff');font-style:normal;font-weight:400 700;font-display:swap}
:root{--ink:#000000;--muted:#000000;--paper:#ffffff;--white-smoke:#ffffff;--line:#000000;--body:'TeoBody',Arial,Helvetica,sans-serif;--title:'TeoTitle','Helvetica Neue',Arial,sans-serif;--header-height:124px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--body);font-size:15px;line-height:1.72;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #000000;outline-offset:4px}
.skip-link{position:absolute;top:-60px;left:14px;background:#fff;color:#000;z-index:30;padding:8px 20px}
.skip-link:focus{top:6px}
.site-header{height:var(--header-height);background:#000000;position:sticky;top:0;z-index:20;border-bottom:1px solid transparent}
.header-identity{height:73px;display:flex;align-items:center;justify-content:center;position:relative;padding:0 28px}
.brand-mark{font-family:var(--title);font-size:42px;letter-spacing:.0475em;word-spacing:-.12em;line-height:1;font-weight:400;white-space:nowrap;margin-left:.0475em;color:#ffffff}
.desktop-navigation{height:51px;display:flex;align-items:center;justify-content:center;gap:52px;padding:0 20px}
.desktop-navigation a{font-family:var(--title);font-size:11px;letter-spacing:.095em;line-height:2;position:relative;white-space:nowrap;color:#ffffff}
.desktop-navigation a::after{content:'';position:absolute;bottom:-8px;left:0;right:100%;border-bottom:2px solid #ffffff;transition:right .25s ease}
.desktop-navigation a:hover:not(.hover-dismissed)::after,.desktop-navigation a.is-current::after{right:0}
.menu-toggle,.mobile-navigation,.identity-spacer{display:none}
.section-shell{max-width:1200px;margin-inline:auto}
.section-padding{padding:120px max(28px,calc((100vw - 1200px)/2))}
.about-section{display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:clamp(50px,7vw,110px);padding:100px 36px 120px}
.about-image-wrap{width:100%;background:#ffffff;overflow:hidden}
.about-image{width:100%;height:680px;object-fit:cover;object-position:center top}
.about-copy{max-width:475px}
.eyebrow{font-family:var(--title);font-size:16px;line-height:1.5;letter-spacing:.10em;margin:0 0 26px}
.eyebrow.centered{text-align:center;margin-bottom:18px}
.dash{display:inline-block;vertical-align:middle;width:20px;height:1px;background:currentColor;margin-right:10px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--title);font-weight:400}
.about-copy h1{font-size:clamp(35px,3.45vw,48px);line-height:1.13;letter-spacing:.02em;margin:0 0 27px}
.fine-rule{background:#000000;width:57px;height:1px;margin:0 0 30px}
.about-lede{font-size:24px;line-height:1.46;margin-bottom:23px;color:#000000;max-width:460px}
.about-copy>p:not(.about-lede){color:#000000;font-size:14px;line-height:1.95;margin-bottom:18px}
.underlined-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:100px;padding-bottom:7px;border-bottom:1px solid #000000;font-family:var(--title);font-size:11px;letter-spacing:.10em;line-height:1.3;transition:opacity .2s ease}
.underlined-link:hover:not(.hover-dismissed){border-bottom-width:2px}
.about-copy .underlined-link{margin-top:17px}
.section-head{text-align:center;margin:0 auto 56px;max-width:950px}
.section-head h2{font-size:clamp(35px,3.55vw,56px);line-height:1.2;letter-spacing:.005em;margin:0 0 15px}
.section-description{font-size:16px;color:var(--muted);margin:0 auto;max-width:650px;line-height:1.75}
.small-screen-break{display:none}
.pricing-section{border-top:1px solid #000000;border-bottom:1px solid #000000;background:#000000;color:#fff;padding-top:105px;padding-bottom:110px}
.pricing-section .section-description{color:#ffffff}
.narrow-head{margin-bottom:45px}
.pricing-table-wrap{max-width:980px;margin:0 auto}
.pricing-table{border-collapse:collapse;width:100%;table-layout:fixed}
.pricing-table thead{background:#ffffff;color:#000000;border-top:1px solid #ffffff;border-bottom:1px solid #ffffff}
.pricing-table thead th{font-family:var(--title);font-weight:400;font-size:11px;letter-spacing:.10em;text-align:left;padding:17px 14px}
.pricing-table thead th:first-child{padding-left:14px;width:75%}

.pricing-table thead th:last-child{text-align:right;padding-right:14px;width:25%}
.pricing-table tbody tr{border-bottom:1px solid #ffffff}
.pricing-table tbody th,.pricing-table tbody td{padding:17px 14px;text-align:left;font-size:14px;color:#ffffff;font-weight:400}
.pricing-table tbody th{padding-left:0;font-family:var(--title);font-size:13px;color:#fff}
.pricing-table tbody td:last-child{text-align:right;padding-right:0}
.price-pending{color:#ffffff!important}
.table-note{font-size:12px;color:#ffffff;text-align:right;margin:14px 0 0}
.portraits-section{padding-bottom:108px}
.portraits-section .section-head,.collections-section .section-head{max-width:1200px}
.portraits-section .section-head h2,.collections-section .section-head h2{background:#000000;color:#fff;display:block;padding:21px 36px;margin:0 auto 20px;max-width:1100px}
.card-grid{display:grid;gap:36px;margin:0 auto;width:100%;max-width:1200px}
.portraits-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-card{min-width:0;display:flex;flex-direction:column;background:#000000;color:#fff;padding:10px 10px 0}
.card-visual{display:block;position:relative;overflow:hidden;background:#ffffff;aspect-ratio:3/4}
.card-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .65s cubic-bezier(.2,.7,.25,1)}
.card-visual:hover:not(.hover-dismissed) img{transform:scale(1.035)}
.card-hover-text{display:none}
.card-visual:hover:not(.hover-dismissed) .card-hover-text{opacity:0;transform:none}
.card-details{text-align:center;padding:20px 12px;min-height:150px;height:150px;display:flex;flex:0 0 150px;align-items:center;justify-content:center;flex-direction:column;gap:14px}
.card-details h3{font-size:clamp(17px,1.55vw,22px);letter-spacing:.015em;line-height:1.3;margin:0}
.card-details h3 span{display:block}
.card-details .underlined-link{display:inline-flex;align-items:center;justify-content:center;min-width:116px;padding:10px 18px;border:1px solid #ffffff;background:#ffffff;color:#000000;font-family:var(--title);font-size:10px;letter-spacing:.10em;line-height:1.2;gap:0;border-bottom:none;transition:background .2s,color .2s,border-color .2s,transform .2s}
.collections-section{border-top:1px solid #000000;background:#ffffff;padding-top:108px;padding-bottom:116px}
.collections-grid{grid-template-columns:repeat(2,minmax(0,378px));justify-content:center;gap:36px}
.collections-grid .card-visual{aspect-ratio:3/4}
.collections-grid .card-details{padding:20px 12px}
.contact-section{background:#fff;border-top:1px solid #000000;padding-top:66px;padding-bottom:66px}
.contact-inner{max-width:1110px;margin:auto;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(60px,8vw,155px)}
.contact-introduction h2{font-size:clamp(42px,4vw,64px);line-height:1.12;margin:0 0 30px}
.contact-introduction>p:not(.eyebrow){font-size:16px;line-height:1.9;max-width:310px;color:#000000}
.contact-introduction .contact-note{font-size:12px!important;margin-top:32px;color:#000000!important;max-width:315px}
.contact-form{padding-top:12px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.field{margin-bottom:26px}
.field label{font-family:var(--title);font-size:11px;letter-spacing:.085em;display:block;margin-bottom:7px}
.field input,.field textarea{border:0;border-bottom:1px solid #000000;border-radius:0;background:transparent;color:#000000;display:block;width:100%;padding:11px 2px 13px;font-family:var(--body);font-size:14px;line-height:1.5;outline:none;resize:vertical;transition:border-color .2s}
.field input::placeholder,.field textarea::placeholder{color:#000000;opacity:1}
.field input:focus,.field textarea:focus{border-color:#000000;border-bottom-width:2px;outline:none}
.submit-button{background:#000000;border:1px solid #000000;color:#fff;padding:17px 24px;min-width:215px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-family:var(--title);font-size:11px;letter-spacing:.095em;transition:background .2s,color .2s}
.submit-button:hover:not(.hover-dismissed){background:#fff;color:#000000}
.form-status{min-height:24px;font-size:12px;line-height:1.5;margin-top:16px;color:#000000}
.form-status:empty{display:none}
.site-footer{background:#000000;color:#fff;padding:30px 28px 21px;text-align:center}
.footer-brand{font-family:var(--title);font-size:42px;letter-spacing:.0475em;word-spacing:-.12em;line-height:1.1;display:inline-block;margin-left:.0475em}
.footer-divider{height:1px;background:#ffffff;max-width:1050px;margin:22px auto 18px}
.footer-links{display:flex;align-items:center;justify-content:center;gap:58px;flex-wrap:wrap;width:100%;margin:0 auto;text-align:center}
.footer-links a{font-family:var(--title);font-size:10px;letter-spacing:.105em;transition:opacity .2s}
.footer-links a:hover:not(.hover-dismissed){text-decoration:underline;text-underline-offset:4px}
.footer-copyright{font-family:var(--title);font-size:9px;letter-spacing:.09em;color:#ffffff;margin:25px 0 0}
/* Minimal placeholder sub-pages, designed for later content approval */
.internal-page{min-height:65vh;padding:120px 28px 160px;max-width:850px;margin:auto;text-align:center}
.internal-page .eyebrow{margin-bottom:22px}
.internal-page h1{font-size:clamp(33px,5vw,58px);line-height:1.28;margin-bottom:27px}
.internal-page p{font-size:15px;color:#000000;line-height:1.8;max-width:580px;margin:0 auto 28px}
.internal-page a.underlined-link{margin-top:12px}
@media(min-width:1500px){.about-section{padding-left:0;padding-right:0}}
@media(max-width:1050px){:root{--header-height:113px}.header-identity{height:65px}.brand-mark{font-size:38px}.footer-brand{font-size:38px}.desktop-navigation{height:48px;gap:34px}.section-padding{padding-left:40px;padding-right:40px}.about-section{gap:50px;padding:80px 40px 100px}.about-image{height:610px;object-position:center top}.card-grid{gap:22px}.contact-inner{gap:65px}}
@media(max-width:720px){
 :root{--header-height:75px}
 .site-header{height:75px}
 .header-identity{height:74px;padding:0 16px}
 .brand-mark{font-size:30px;letter-spacing:.0275em;margin-left:.0275em}
 .identity-spacer{display:block;position:absolute;right:17px;width:24px;height:24px}
 .desktop-navigation{display:none}
 .menu-toggle{position:absolute;left:14px;top:20px;width:40px;height:35px;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:23;padding:0}
 .menu-toggle span{display:block;width:22px;height:1px;background:#ffffff;transition:transform .25s,opacity .25s}
 .menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .menu-open .menu-toggle span:nth-child(2){opacity:0}
 .menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .mobile-navigation{display:flex;flex-direction:column;gap:0;position:fixed;top:75px;left:0;right:0;bottom:0;background:#000000;padding:38px 28px;transform:translateX(-105%);transition:transform .28s ease;visibility:hidden;overflow:auto;box-shadow:none}
 .menu-open .mobile-navigation{transform:translateX(0);visibility:visible}
 .mobile-navigation a{padding:18px 0;border-bottom:1px solid #ffffff;font-family:var(--title);font-size:19px;letter-spacing:.035em;color:#ffffff}
 .section-padding{padding:76px 22px}
 .about-section{display:flex;flex-direction:column;align-items:stretch;gap:45px;padding:28px 22px 82px}
 .about-image{height:auto;aspect-ratio:4/4.75;object-fit:cover;object-position:center top}
 .about-copy{max-width:none;text-align:left}
 .about-copy h1{font-size:36px;margin-bottom:22px}
 .about-copy .eyebrow{margin-bottom:17px}
 .eyebrow{font-size:13px;letter-spacing:.095em}
 .fine-rule{margin-bottom:24px}
 .about-lede{font-size:21px}
 .about-copy>p:not(.about-lede){font-size:14px}
 .section-head{margin-bottom:34px}
 .section-head h2{font-size:clamp(29px,7vw,40px);line-height:1.3}
 .portraits-section .section-head h2,.collections-section .section-head h2{padding:20px 12px}
 .small-screen-break{display:block}
 .section-description{font-size:15px}
 .pricing-section{padding-top:77px;padding-bottom:80px}
 .pricing-table thead th{font-size:10px;padding:11px 12px}
 .pricing-table thead th:first-child{width:73%;padding-left:12px}
 
 .pricing-table thead th:last-child{width:27%;padding-right:12px}
 .pricing-table tbody th,.pricing-table tbody td{padding:15px 6px;font-size:11px;line-height:1.5}
 .pricing-table tbody th{font-size:11px}
 .pricing-table .price-pending{font-size:16px}
 .portraits-grid,.collections-grid{grid-template-columns:1fr;max-width:440px;gap:44px}
 .card-visual,.collections-grid .card-visual{aspect-ratio:3/4}
 .card-details{padding:20px 12px;min-height:145px;height:145px;flex-basis:145px;gap:12px}
 .card-details h3{font-size:21px;margin-bottom:0}
 .portraits-section,.collections-section{padding-bottom:88px}
 .contact-section{padding-top:48px;padding-bottom:48px}
 .contact-inner{grid-template-columns:1fr;gap:35px}
 .contact-introduction h2{font-size:44px;margin-bottom:20px}
 .contact-introduction>p:not(.eyebrow){max-width:450px}
 .contact-introduction .contact-note{margin-top:17px}
 .form-row{grid-template-columns:1fr;gap:0}
 .field{margin-bottom:23px}
 .site-footer{padding:27px 22px 20px}
 .footer-brand{font-size:30px}
 .footer-divider{margin:20px 0 17px}
 .footer-links{gap:20px 26px}
 .footer-links a{font-size:9px}
 .footer-copyright{line-height:1.7;margin-top:22px}
 .internal-page{padding:92px 22px 125px}
}
@media(max-width:370px){.brand-mark{font-size:25px}.pricing-table thead th:first-child{width:73%}.pricing-table thead th:last-child{width:27%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* V2 — refined black service frames and keyboard focus */
.service-card:focus-within{outline:1px solid #000000;outline-offset:3px}
.service-card .underlined-link:focus-visible{outline-color:#fff}

/* V4 — only the two introductory lines for portraits and collections */
.portraits-section .section-description,
.collections-section .section-description{font-size:20px;line-height:1.55}
@media(max-width:760px){
  .portraits-section .section-description,
  .collections-section .section-description{font-size:17px;line-height:1.6}
}

/* V8 — exclusive black & white interface, photographs unchanged. */
::selection{background:#000000;color:#ffffff}
.pricing-section ::selection,.site-footer ::selection,.service-card ::selection{background:#ffffff;color:#000000}

/* V9 — white PRODUCT/PRICE table header; 2px hover/active underline in the desktop menu. */

.card-details .underlined-link span[aria-hidden="true"]{display:none}
.card-details .underlined-link:hover:not(.hover-dismissed){background:#000000;color:#ffffff;border-color:#ffffff;transform:translateY(-1px)}
.collections-section{border-top:1px solid #000000;background:#000000;color:#ffffff;padding-top:108px;padding-bottom:116px}
.collections-section .eyebrow,.collections-section .section-description{color:#ffffff}
.collections-section .section-head h2{background:#ffffff;color:#000000}
.collections-section .service-card{background:#ffffff;color:#000000}
.collections-section .card-visual{background:#000000}
.collections-section .card-details h3{color:#000000}
.collections-section .card-details .underlined-link{background:#000000;color:#ffffff;border-color:#000000}
.collections-section .card-details .underlined-link:hover:not(.hover-dismissed){background:#ffffff;color:#000000;border-color:#000000}
.collections-section .service-card:focus-within{outline:1px solid #ffffff;outline-offset:3px}


/* V17 — Chanel-inspired 8px white stripe on black header; visually estimated, not official Chanel CSS. */
.site-header::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:8px;
  background:#ffffff;
  pointer-events:none;
  z-index:1;
}

/* V12 — SEE MORE never swaps black and white: subtle Chanel-like hover. */
.card-details .underlined-link:hover:not(.hover-dismissed){
  background:#e6e6e6;
  color:#000000;
  border-color:#ffffff;
  box-shadow:0 3px 10px rgb(0 0 0 / .18);
  transform:none;
}
.collections-section .card-details .underlined-link:hover:not(.hover-dismissed){
  background:#000000;
  color:#ffffff;
  border-color:#000000;
  box-shadow:0 4px 0 #000000;
  transform:translateY(-2px);
}
.collections-section .card-details .underlined-link:focus-visible{outline-color:#000000}

/* V12 — single-line collection title on desktop/tablet, even when
   browser font metrics differ. On phones keep the deliberate two-line
   layout shared with SIGNATURE for legibility. */
@media (min-width:721px){
  .collections-section .section-head h2{
    white-space:nowrap;
    font-size:clamp(24px,3.42vw,55px);
  }
  .collections-section .section-head h2 .small-screen-break{display:none}
}
/* Avoid an accidental third line on narrow phones. */
@media(max-width:400px){
  .collections-section .section-head h2{font-size:clamp(21px,7vw,28px)}
}


/* V13 — mobile headings match the one-line editorial desktop treatment.
   Both labels remain on one line, with a smaller fluid type size for phones. */
@media (max-width:720px){
  .portraits-section .section-head h2,
  .collections-section .section-head h2{
    white-space:nowrap;
    font-size:clamp(12px,4vw,26px);
    line-height:1.25;
    letter-spacing:0;
    padding:18px 8px;
  }
  .portraits-section .section-head h2 .small-screen-break,
  .collections-section .section-head h2 .small-screen-break{display:none}
}

/* Avoid a wrapped SIGNATURE banner on smaller tablets as well. */
@media (min-width:721px) and (max-width:850px){
  .portraits-section .section-head h2{
    white-space:nowrap;
    font-size:clamp(24px,3.42vw,34px);
  }
}


/* V14 — mobile-only three-level editorial hierarchy.
   Section banner > overline/eyebrow > short description.
   Desktop styling and spacing remain unchanged. */
@media (max-width:720px){
  .portraits-section .section-head h2,
  .collections-section .section-head h2{
    font-size:clamp(13.5px, 4.25vw, 24px);
  }
  .portraits-section .section-head .eyebrow,
  .collections-section .section-head .eyebrow{
    font-size:clamp(12.5px, 3.25vw, 14px);
  }
  .portraits-section .section-description,
  .collections-section .section-description{
    font-size:clamp(11.75px, 2.95vw, 13px);
    line-height:1.55;
  }
}


/* V15 — mobile only: reduce the PORTRAITS overline to restore hierarchy, keep COLLECTION unchanged. */
@media (max-width:720px){
  .portraits-section .section-head .eyebrow{
    font-size:clamp(10px, 2.5vw, 11.5px);
    line-height:1.45;
  }
}


/* V16 — mobile: COLLECTION hierarchy matches SIGNATURE exactly. */
@media (max-width:720px){
  .collections-section .section-head .eyebrow{
    font-size:clamp(10px, 2.5vw, 11.5px);
    line-height:1.45;
  }
}


/* V18 — Chanel-inspired circular social icons: local inline SVGs, no dependencies.
   Each circle links to a supplied TEO LEDA profile; maintain black/white contrast. */
.social-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.social-link{width:43px;height:43px;flex:0 0 43px;border-radius:50%;background:#000000;color:#ffffff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;line-height:0;transition:transform .2s ease,box-shadow .2s ease}
.social-link svg{display:block;flex:none}
.social-link:hover:not(.hover-dismissed){transform:translateY(-2px)}
.social-link:focus-visible{outline:2px solid #000000;outline-offset:4px}
.about-socials{justify-content:flex-start;margin-top:26px}
.about-socials .social-link{border:1px solid #000000;box-shadow:inset 0 0 0 2px #ffffff}
.about-socials .social-link:hover:not(.hover-dismissed){box-shadow:inset 0 0 0 3px #ffffff}
.footer-socials{justify-content:center;margin:22px auto 0}
.footer-socials .social-link{border:2px solid #ffffff}
.footer-socials .social-link:hover:not(.hover-dismissed){box-shadow:0 0 0 1px #ffffff}
.site-footer .social-link:focus-visible{outline-color:#ffffff}
.site-footer .footer-copyright{margin-top:18px}
@media(max-width:720px){
  .about-socials{margin-top:22px}
  .footer-socials{margin-top:22px}
}
@media(prefers-reduced-motion:reduce){.social-link{transition:none}}


/* Desktop: keep the original text arrow glyph exactly as in V18. */
.mobile-arrow-svg{display:none}

/* V20 — Espacements harmonisés sur mobile uniquement à 35 px. */
@media (max-width:720px){
  .about-section{padding-bottom:35px}
  .pricing-section{padding-top:35px;padding-bottom:35px}
  .portraits-section,.collections-section{padding-top:35px;padding-bottom:35px}
  .contact-section{padding-top:35px;padding-bottom:35px}

  /* Header mobile recentré dans la bande noire, hors filet blanc supérieur. */
  /* Le filet blanc de 8px est dans le header, pas une marge extérieure.
     La zone noire utile occupe y=8..75 (67px) : son centre est à 41.5px. */
  .site-header{padding-top:8px;border-bottom:0}
  .header-identity{height:67px;margin-top:0;padding:0 16px;align-items:center}
  /* Correction optique : l’encre des capitales est décalée de 1px dans le glyphe. */
  .brand-mark{transform:translateY(-1px)}
  .menu-toggle{top:50%;transform:translateY(-50%);height:32px}
  .identity-spacer{top:50%;transform:translateY(-50%)}

  /* Variante graphique de la flèche ↗, dessinée comme un pictogramme
     afin d'éviter le rendu emoji sur certains téléphones.
     La flèche texte de la version desktop reste inchangée. */
  .about-copy .underlined-link > .link-arrow,
  .contact-form .submit-button > .link-arrow{
    display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:0;line-height:0;flex:0 0 14px;
  }
  .link-arrow .mobile-arrow-svg{display:block;width:14px;height:14px;flex:none}
}


/* V22 — mobile uniquement : THE PRODUCTS calqué sur la typographie de
   THREE WAYS TO UNDERSTAND YOUR STORY, avec un intervalle plus resserré
   avant le titre PRICING. Desktop inchangé. */
@media (max-width:720px){
  .pricing-section .section-head .eyebrow{
    font-size:clamp(10px, 2.5vw, 11.5px);
    line-height:1.45;
    margin-bottom:12px;
  }
}

/* V24 — desktop: compact Chanel-inspired vertical spacing between logo and navigation.
   Desktop 73 + 51 = 124px; tablet 65 + 48 = 113px. Mobile untouched. */


/* V26 — Logo TEO LEDA centré visuellement entre le filet supérieur
   de 8 px et le haut des lettres du menu ; navigation inchangée.
   Aucun effet sur le header mobile. */
@media (min-width:1051px){
  .site-header .brand-mark{transform:translateY(12px)}
}
@media (min-width:721px) and (max-width:1050px){
  .site-header .brand-mark{transform:translateY(10px)}
}


/* V28 — Rapproche uniquement THE PRODUCTS du titre PRICING.
   Toutes les autres sections, typographies et marges restent identiques à V27. */
.pricing-section .section-head .eyebrow{margin-bottom:9px}
@media(max-width:720px){
  .pricing-section .section-head .eyebrow{margin-bottom:6px}
}


/* V29 — Unify top and bottom padding of the five homepage sections
   to 60px for desktop/tablet only. On mobile, retain approved 35px gaps
   and all other V28 settings without any change. */
@media(min-width:721px){
  .about-section,
  .pricing-section,
  .portraits-section,
  .collections-section,
  .contact-section{padding-top:60px;padding-bottom:60px}
}

/* V30 — The Complete Collection product page */
.collection-product-page{padding:0 0 20px;background:#ffffff;color:#000000}
.product-shell{max-width:1200px;margin:0 auto;padding-left:28px;padding-right:28px}
.product-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:48px;align-items:center;padding-top:72px;padding-bottom:72px}
.product-hero-copy{max-width:620px}
.product-title-frame{border:1px solid #000000;padding:22px 28px;margin:0 0 24px;background:#ffffff}
.product-title-frame h1{font-size:clamp(34px,4.2vw,62px);line-height:1.15;letter-spacing:.01em;margin:0;text-align:center}
.product-lead{font-family:var(--title);font-size:23px;line-height:1.5;max-width:720px;margin:0 0 14px}
.product-intro{font-size:16px;line-height:1.9;max-width:620px;margin:0 0 28px}
.product-cta-row{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center}
.product-cta-row .secondary-link{opacity:.82}
.product-hero-visual{background:#000000;padding:10px}
.product-hero-visual img{aspect-ratio:4/5;object-fit:cover;height:100%}
.product-section{padding-top:56px;padding-bottom:56px;border-top:1px solid #000000}
.product-section:last-of-type{border-bottom:1px solid #000000}
.product-section-heading{margin-bottom:26px;max-width:900px}
.product-section-heading.centered-heading{text-align:center;margin-left:auto;margin-right:auto}
.product-section-heading h2{font-size:clamp(30px,3vw,48px);line-height:1.18;margin:0}
.product-small-description{margin-top:12px}
.flow-text{max-width:900px}
.flow-text p{font-size:15px;line-height:1.85;margin:0 0 18px}
.quote-list{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:12px}
.quote-list li{position:relative;padding-left:22px;font-size:16px;line-height:1.75}
.quote-list li::before{content:'>';position:absolute;left:0;top:0;font-family:var(--title);font-size:16px;line-height:1.75}
.included-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.included-card{display:flex;flex-direction:column;border:1px solid #000000;background:#ffffff;height:100%}
.included-card-visual{background:#000000;padding:10px}
.included-card-visual img{aspect-ratio:4/5;object-fit:cover}
.included-card-copy{padding:24px 22px 26px;display:flex;flex-direction:column;flex:1}
.card-kicker{font-family:var(--title);font-size:11px;letter-spacing:.12em;margin:0 0 14px}
.included-card-copy h3{font-size:26px;line-height:1.22;margin:0 0 12px}
.card-lead{font-size:15px;line-height:1.75;margin:0 0 14px}
.included-card-copy ul,.changes-column ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.included-card-copy li,.changes-column li{position:relative;padding-left:18px;font-size:14px;line-height:1.75}
.included-card-copy li::before,.changes-column li::before{content:'-';position:absolute;left:0;top:0}
.changes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.changes-column{border:1px solid #000000;padding:28px 28px 30px;background:#ffffff}
.changes-label{font-family:var(--title);font-size:26px;line-height:1.2;margin:0 0 18px}
.process-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.process-card{border:1px solid #000000;padding:28px;background:#ffffff;min-height:190px}
.process-card h3{font-size:24px;line-height:1.25;margin:0 0 14px}
.process-card p{margin:0;font-size:15px;line-height:1.82}
.final-cta-section{border-bottom:1px solid #000000}
.final-cta-box{max-width:900px;margin:0 auto;text-align:center;border:1px solid #000000;padding:38px 36px}
.final-cta-box h2{font-size:clamp(30px,3.4vw,50px);line-height:1.18;margin:0 0 16px}
.final-cta-box p:not(.eyebrow){max-width:700px;margin:0 auto 24px;font-size:15px;line-height:1.85}
.final-cta-box .underlined-link{margin:0 auto}
@media (max-width:980px){
  .product-hero{grid-template-columns:1fr;gap:34px}
  .product-hero-copy{max-width:none}
  .included-grid,.changes-grid,.process-grid{grid-template-columns:1fr}
}
@media (max-width:720px){
  .product-shell{padding-left:22px;padding-right:22px}
  .product-hero{padding-top:42px;padding-bottom:42px;gap:28px}
  .product-title-frame{padding:16px 12px;margin-bottom:20px}
  .product-title-frame h1{font-size:clamp(24px,8.3vw,34px);line-height:1.22}
  .product-lead{font-size:19px;line-height:1.45}
  .product-intro{font-size:15px;line-height:1.8;margin-bottom:24px}
  .product-cta-row{gap:14px}
  .product-cta-row .underlined-link{width:100%}
  .product-section{padding-top:35px;padding-bottom:35px}
  .product-section-heading{margin-bottom:20px}
  .product-section-heading h2{font-size:clamp(24px,7.2vw,34px)}
  .flow-text p,.quote-list li,.process-card p,.final-cta-box p:not(.eyebrow){font-size:14px}
  .included-card-copy{padding:22px 18px 24px}
  .included-card-copy h3{font-size:23px}
  .changes-column,.process-card,.final-cta-box{padding:24px 18px}
  .changes-label{font-size:22px}
  .process-card h3{font-size:20px}
  .final-cta-box h2{font-size:clamp(24px,8vw,34px)}
}


/* V31 — Complete Collection refinements */
.collection-product-page .product-hero{padding-top:60px;padding-bottom:60px}
.collection-product-page .product-hero-copy.hero-centered{max-width:720px;margin:0 auto;text-align:center}
.collection-product-page .product-hero-copy.hero-centered .eyebrow,
.collection-product-page .product-hero-copy.hero-centered .product-lead,
.collection-product-page .product-hero-copy.hero-centered .product-intro{margin-left:auto;margin-right:auto;text-align:center}
.collection-product-page .product-title-frame{background:#000000;color:#ffffff}
.collection-product-page .product-title-frame h1{color:#ffffff}
.collection-product-page .product-cta-row{justify-content:flex-start;text-align:left}
.collection-product-page .product-section{padding-top:60px;padding-bottom:60px}
.collection-product-page .product-section-heading{margin-bottom:22px}
.collection-product-page .centered-copy{max-width:900px;margin:0 auto;text-align:center}
.collection-product-page .quote-list{justify-content:center}
.collection-product-page .quote-list li{padding-left:18px}
.collection-product-page .quote-list li::before{content:'-';font-family:inherit}
.collection-product-page .centered-copy .quote-list{display:inline-grid;justify-items:start;text-align:left;max-width:760px;margin-left:auto;margin-right:auto}
.collection-product-page .included-card{background:#000000;color:#ffffff}
.collection-product-page .included-card-copy{text-align:center;align-items:center}
.collection-product-page .card-kicker,
.collection-product-page .included-card-copy h3,
.collection-product-page .card-lead{color:#ffffff;text-align:center}
.collection-product-page .included-card-copy ul{width:100%;max-width:320px;margin:0 auto;justify-items:start}
.collection-product-page .included-card-copy li{color:#ffffff}
.collection-product-page .included-card-copy li::before{color:#ffffff}
.collection-product-page .changes-column{background:#000000;color:#ffffff;text-align:center}
.collection-product-page .changes-label{color:#ffffff;text-align:center}
.collection-product-page .changes-column ul{max-width:330px;margin:0 auto;justify-items:start}
.collection-product-page .changes-column li{color:#ffffff}
.collection-product-page .changes-column li::before{color:#ffffff}
.collection-product-page .process-card{background:#000000;color:#ffffff;text-align:center}
.collection-product-page .process-card h3,
.collection-product-page .process-card p{color:#ffffff;text-align:center}
.collection-product-page .final-cta-box{background:#000000;color:#ffffff;border-color:#000000}
.collection-product-page .final-cta-box .eyebrow,
.collection-product-page .final-cta-box h2,
.collection-product-page .final-cta-box p{color:#ffffff}
.collection-product-page .final-cta-box .underlined-link{color:#ffffff;border-bottom-color:rgba(255,255,255,.95)}
.collection-product-page .final-cta-box .underlined-link:hover:not(.hover-dismissed){color:#ffffff;border-bottom-color:#ffffff;opacity:.75}
@media (max-width:720px){
  .collection-product-page .product-section{padding-top:35px;padding-bottom:35px}
  .collection-product-page .product-hero-copy.hero-centered{text-align:center}
  .collection-product-page .product-cta-row{justify-content:flex-start;text-align:left}
}




/* V33 — The Complete Collection refinements only. */
.collection-product-page .product-hero{padding-top:30px;padding-bottom:30px}
.collection-product-page .product-section{padding-top:30px;padding-bottom:30px}
.collection-product-page .product-section-heading{margin-bottom:18px}
.collection-product-page .centered-copy{max-width:900px;margin:0 auto;text-align:center}
.collection-product-page .flow-text > * + *{margin-top:12px}
.collection-product-page .flow-text p,
.collection-product-page .quote-list li,
.collection-product-page .included-card-copy li,
.collection-product-page .changes-column li,
.collection-product-page .process-card p,
.collection-product-page .final-cta-box p:not(.eyebrow){font-size:15px;line-height:1.75}
.collection-product-page #problem .problem-statements,
.collection-product-page #solution .quote-list,
.collection-product-page .included-card-copy ul,
.collection-product-page .changes-column ul,
.collection-product-page .process-grid{margin-top:12px}
.collection-product-page #problem .problem-statements{display:grid;gap:10px;max-width:760px;margin-left:auto;margin-right:auto}
.collection-product-page #problem .problem-statements p{margin:0;text-align:center}

/* THE SOLUTION: centered lines, no prefixed dash. */
.collection-product-page #solution .quote-list{
  list-style:none;
  padding:0;
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
  display:grid;
  gap:10px;
  justify-items:center;
  text-align:center;
}
.collection-product-page #solution .quote-list li{
  width:100%;
  margin:0;
  padding:0;
  text-align:center;
}
.collection-product-page #solution .quote-list li::before{content:none;display:none}

/* WHAT YOU GET: centered content, no dash bullets. */
.collection-product-page .included-card{background:#000000;color:#ffffff}
.collection-product-page .included-card-copy{text-align:center;align-items:center}
.collection-product-page .card-kicker,
.collection-product-page .included-card-copy h3,
.collection-product-page .card-lead{color:#ffffff;text-align:center}
.collection-product-page .included-card-copy h3{margin-bottom:10px}
.collection-product-page .included-card-copy ul{
  list-style:none;
  padding:0;
  width:100%;
  max-width:320px;
  margin-left:auto;
  margin-right:auto;
  display:grid;
  gap:10px;
  justify-items:center;
  text-align:center;
}
.collection-product-page .included-card-copy li{
  width:100%;
  margin:0;
  padding:0;
  text-align:center;
  color:#ffffff;
}
.collection-product-page .included-card-copy li::before{content:none;display:none}

/* WHAT THIS CHANGES: centered lines, no dash bullets. */
.collection-product-page .changes-column{background:#000000;color:#ffffff;text-align:center}
.collection-product-page .changes-label{color:#ffffff;text-align:center}
.collection-product-page .changes-column ul{
  list-style:none;
  padding:0;
  width:100%;
  max-width:410px;
  margin-left:auto;
  margin-right:auto;
  display:grid;
  gap:10px;
  justify-items:center;
  text-align:center;
}
.collection-product-page .changes-column li{
  width:100%;
  margin:0;
  padding:0;
  text-align:center;
  color:#ffffff;
}
.collection-product-page .changes-column li::before{content:none;display:none}

/* THE PROCESS and final CTA remain fully centered. */
.collection-product-page .process-card{
  background:#000000;
  color:#ffffff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.collection-product-page .process-card h3,
.collection-product-page .process-card p{width:100%;color:#ffffff;text-align:center;margin-left:auto;margin-right:auto}
.collection-product-page .final-cta-box{background:#000000;color:#ffffff;border-color:#000000}
.collection-product-page .final-cta-box .eyebrow,
.collection-product-page .final-cta-box h2,
.collection-product-page .final-cta-box p{color:#ffffff}
.collection-product-page .final-cta-box .underlined-link{color:#ffffff;border-bottom-color:rgba(255,255,255,.95)}
.collection-product-page .final-cta-box .underlined-link:hover:not(.hover-dismissed){color:#ffffff;border-bottom-color:#ffffff;opacity:.75}

/* Mobile: same treatment and vector arrows instead of emoji-style glyphs. */
@media (max-width:720px){
  .collection-product-page .product-hero{padding-top:20px;padding-bottom:20px}
  .collection-product-page .product-section{padding-top:20px;padding-bottom:20px}
  .collection-product-page .product-section-heading{margin-bottom:16px}
  .collection-product-page .product-cta-row{justify-content:flex-start;text-align:left}
  .collection-product-page .included-card-copy ul,
  .collection-product-page .changes-column ul,
  .collection-product-page .process-card p,
  .collection-product-page .process-card h3{text-align:center}
  .collection-product-page .underlined-link > .link-arrow{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:14px;
    height:14px;
    font-size:0;
    line-height:0;
    flex:0 0 14px;
  }
  .collection-product-page .underlined-link > .link-arrow .mobile-arrow-svg{display:block;width:14px;height:14px;flex:none}
}

/* V34 — The Complete Collection: alternate white editorial cards.
   Only WHAT THIS CHANGES (YOU STOP / YOU START) and READY TO BEGIN change.
   Works identically on desktop and mobile; all V33 spacing is preserved. */
.collection-product-page .changes-column,
.collection-product-page .final-cta-box{
  background:#ffffff;
  color:#000000;
  border:1px solid #000000;
}
.collection-product-page .changes-column .changes-label,
.collection-product-page .changes-column li,
.collection-product-page .final-cta-box .eyebrow,
.collection-product-page .final-cta-box h2,
.collection-product-page .final-cta-box p{
  color:#000000;
}
.collection-product-page .final-cta-box .underlined-link{
  color:#000000;
  border-bottom-color:#000000;
}
.collection-product-page .final-cta-box .underlined-link:hover:not(.hover-dismissed){
  color:#000000;
  border-bottom-color:#000000;
}


/* V35 - internal contrast boxes for WHAT YOU GET and WHAT THIS CHANGES */
.collection-product-page .included-grid,
.collection-product-page .changes-grid{align-items:stretch}

.collection-product-page .included-card{
  display:flex;
  flex-direction:column;
}
.collection-product-page .included-card-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  flex:1;
}
.collection-product-page .included-list-box{
  width:100%;
  max-width:320px;
  margin-top:auto;
  padding:18px 18px;
  border:1px solid #ffffff;
  background:#ffffff;
  color:#000000;
  min-height:186px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.collection-product-page .included-list-box ul{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
  justify-items:center;
  text-align:center;
}
.collection-product-page .included-list-box li{
  width:100%;
  margin:0;
  padding:0;
  color:#000000;
  text-align:center;
}
.collection-product-page .included-list-box li::before{content:none;display:none}

.collection-product-page .changes-column{
  background:#ffffff;
  color:#000000;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.collection-product-page .changes-label{
  color:#000000;
  text-align:center;
}
.collection-product-page .changes-list-box{
  width:100%;
  max-width:360px;
  margin-top:auto;
  padding:22px 20px;
  border:1px solid #000000;
  background:#000000;
  color:#ffffff;
  min-height:138px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.collection-product-page .changes-list-box ul{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
  justify-items:center;
  text-align:center;
}
.collection-product-page .changes-list-box li{
  width:100%;
  margin:0;
  padding:0;
  color:#ffffff;
  text-align:center;
}
.collection-product-page .changes-list-box li::before{content:none;display:none}

@media (max-width:720px){
  .collection-product-page .included-list-box{
    max-width:100%;
    min-height:unset;
    padding:16px 16px;
  }
  .collection-product-page .changes-list-box{
    max-width:100%;
    min-height:unset;
    padding:18px 16px;
  }
}


/* V36 — refinement of aligned inner blocks and editorial list styling */
.collection-product-page .product-section.final-cta-section{
  border-bottom:none;
  padding-bottom:16px;
}
.collection-product-page .final-cta-box{
  background:#ffffff;
  color:#000000;
  border:1px solid #000000;
}
.collection-product-page .final-cta-box .eyebrow{
  display:inline-block;
  margin:0 0 16px;
  padding:7px 14px;
  background:#000000;
  color:#ffffff;
  border:1px solid #000000;
}
.collection-product-page .final-cta-box h2,
.collection-product-page .final-cta-box p{color:#000000}
.collection-product-page .final-cta-box .underlined-link{color:#000000;border-bottom-color:#000000}
.collection-product-page .final-cta-box .underlined-link:hover:not(.hover-dismissed){color:#000000;border-bottom-color:#000000;opacity:.75}

.collection-product-page #problem .problem-statements,
.collection-product-page #solution .quote-list{
  list-style:none;
  padding:0;
  max-width:760px;
  margin:14px auto 0;
  display:grid;
  gap:10px;
  text-align:left;
}
.collection-product-page #problem .problem-statements li,
.collection-product-page #solution .quote-list li{
  position:relative;
  margin:0;
  padding:0 0 0 18px;
  text-align:left;
}
.collection-product-page #problem .problem-statements li::before,
.collection-product-page #solution .quote-list li::before{
  content:'•';
  position:absolute;
  left:0;
  top:0;
  color:#000000;
  font-size:16px;
  line-height:1.75;
}
.collection-product-page #problem .problem-statements li{font-size:15px;line-height:1.75}
.collection-product-page #solution .quote-list li{font-size:15px;line-height:1.75}

.collection-product-page .included-card-copy h3{
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.collection-product-page .card-lead{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.collection-product-page .included-list-box{
  margin-top:18px;
  min-height:186px;
}
.collection-product-page .included-card-copy{
  justify-content:flex-start;
}

.collection-product-page .changes-column{
  justify-content:flex-start;
}
.collection-product-page .changes-label{
  min-height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.collection-product-page .changes-list-box{
  margin-top:0;
  min-height:138px;
}

@media (max-width:980px){
  .collection-product-page .included-card-copy h3{min-height:auto}
  .collection-product-page .card-lead{min-height:auto}
}
@media (max-width:720px){
  .collection-product-page .product-section.final-cta-section{padding-bottom:10px}
  .collection-product-page #problem .problem-statements,
  .collection-product-page #solution .quote-list{max-width:100%}
  .collection-product-page #problem .problem-statements li,
  .collection-product-page #solution .quote-list li{padding-left:16px}
  .collection-product-page .included-card-copy h3{min-height:auto}
  .collection-product-page .card-lead{min-height:auto}
  .collection-product-page .included-list-box{min-height:176px}
  .collection-product-page .changes-list-box{min-height:132px}
}

/* V37 — precisely equal inner rectangles and centered bullet lines.
   Scoped to The Complete Collection only; homepage and other products untouched. */
.collection-product-page{
  --included-panel-height:220px;
  --changes-panel-height:172px;
}
/* Every inner white panel has identical height and width in its row.
   On narrower three-column screens, additional height prevents text overflow. */
.collection-product-page .included-list-box{
  width:100%;
  max-width:320px;
  height:var(--included-panel-height);
  min-height:var(--included-panel-height);
  flex:0 0 var(--included-panel-height);
  margin-top:18px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.collection-product-page .included-list-box ul{
  width:100%;
  margin:0;
  display:grid;
  justify-items:center;
  text-align:center;
}
.collection-product-page .included-list-box li{text-align:center}
/* Likewise, the two black panels have one fixed shared height.
   The shorter YOU STOP list is centered vertically inside its panel. */
.collection-product-page .changes-list-box{
  width:100%;
  max-width:360px;
  height:var(--changes-panel-height);
  min-height:var(--changes-panel-height);
  flex:0 0 var(--changes-panel-height);
  margin-top:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.collection-product-page .changes-list-box ul{
  width:100%;
  margin:0;
  display:grid;
  justify-items:center;
  text-align:center;
}
.collection-product-page .changes-list-box li{text-align:center}
/* The bullet and its text form a single horizontally centered line,
   instead of the whole list being left-aligned inside a centered column. */
.collection-product-page #problem .problem-statements,
.collection-product-page #solution .quote-list{
  width:100%;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  justify-items:stretch;
  text-align:center;
}
.collection-product-page #problem .problem-statements li,
.collection-product-page #solution .quote-list li{
  display:block;
  width:100%;
  padding:0;
  margin:0;
  text-align:center;
}
.collection-product-page #problem .problem-statements li::before,
.collection-product-page #solution .quote-list li::before{
  content:'•';
  position:static;
  display:inline;
  margin-right:7px;
  font-size:16px;
  line-height:inherit;
  color:#000000;
}
@media (min-width:981px) and (max-width:1120px){
  .collection-product-page{--included-panel-height:300px}
}
@media (min-width:1121px) and (max-width:1199px){
  .collection-product-page{--included-panel-height:255px}
}
@media (min-width:361px) and (max-width:400px){
  .collection-product-page{--included-panel-height:250px}
}
@media (max-width:360px){
  .collection-product-page{
    --included-panel-height:292px;
    --changes-panel-height:200px;
  }
}


/* V37B — follow-up adjustments validated from V37 base only.
   - Mobile: WHAT THIS CHANGES stays on one line.
   - Mobile: 01 / 02 / 03 slightly larger.
   - Problem / Solution: remove bullets, keep centered editorial lines.
   - Desktop: widen / refine white list box text so the long Relationship Portrait line fits on one line. */

/* Remove bullets in THE PROBLEM and THE SOLUTION, keep centered lines. */
.collection-product-page #problem .problem-statements,
.collection-product-page #solution .quote-list{
  width:100%;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  justify-items:stretch;
  text-align:center;
}
.collection-product-page #problem .problem-statements li,
.collection-product-page #solution .quote-list li{
  display:block;
  width:100%;
  padding:0;
  margin:0;
  text-align:center;
}
.collection-product-page #problem .problem-statements li::before,
.collection-product-page #solution .quote-list li::before{
  content:none;
  display:none;
}

/* Desktop / tablet: keep the three white panels equal, but give their content a little more room.
   This prevents "What you actually need in a partner" from wrapping unnecessarily. */
.collection-product-page .included-list-box{
  max-width:340px;
  padding:18px 14px;
}
.collection-product-page .included-list-box li{
  font-size:14px;
  line-height:1.7;
}

@media (max-width:720px){
  /* WHAT THIS CHANGES should remain on one line on mobile. */
  .collection-product-page #changes .product-section-heading h2{
    font-size:clamp(20px,6vw,28px);
    white-space:nowrap;
  }

  /* Slightly larger product numbers 01 / 02 / 03 on mobile only. */
  .collection-product-page .card-kicker{
    font-size:13px;
  }

  /* On mobile, the white list boxes can use the full available width and a bit less side padding. */
  .collection-product-page .included-list-box{
    max-width:100%;
    padding:16px 12px;
  }
  .collection-product-page .included-list-box li{
    font-size:14px;
    line-height:1.72;
  }
}


/* V37C — increase 01 / 02 / 03 one more step on both desktop and mobile. */
.collection-product-page .card-kicker{
  font-size:13px;
}

@media (max-width:720px){
  .collection-product-page .card-kicker{
    font-size:15px;
  }
}


/* V37D — mobile-only centering on the homepage + refined mobile list typography
   on The Complete Collection page, with a small desktop fit correction for the
   long Relationship Portrait line. */

/* Desktop / tablet only: give the white list boxes a touch more horizontal room
   and slightly tighten the copy so “What you actually need in a partner” fits
   on one line more comfortably. */
@media (min-width:721px){
  .collection-product-page .included-list-box{
    max-width:352px;
    padding:18px 18px;
  }
  .collection-product-page .included-list-box li{
    font-size:13.5px;
    line-height:1.66;
    letter-spacing:-0.01em;
  }
}

@media (max-width:720px){
  /* HOME PAGE — ABOUT ME centered on mobile only. */
  .about-copy{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .about-copy .fine-rule,
  .about-copy .underlined-link{
    margin-left:auto;
    margin-right:auto;
  }
  .about-copy .about-lede,
  .about-copy > p:not(.about-lede){
    text-align:center;
    margin-left:auto;
    margin-right:auto;
  }
  .about-socials{
    width:100%;
    justify-content:center;
  }

  /* HOME PAGE — CONTACT intro + note + CTA centered on mobile only. */
  .contact-introduction{
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .contact-introduction .eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-align:center;
  }
  .contact-introduction .eyebrow .dash{
    margin-right:0;
  }
  .contact-introduction h2,
  .contact-introduction > p:not(.eyebrow),
  .contact-introduction .contact-note{
    text-align:center;
    margin-left:auto;
    margin-right:auto;
    max-width:450px;
  }
  .contact-form{
    padding-top:0;
    display:flex;
    flex-direction:column;
    align-items:center;
  }
  .contact-form .form-row,
  .contact-form .field,
  .contact-form textarea,
  .contact-form input{
    width:100%;
  }
  .contact-form .submit-button,
  .contact-form .form-status{
    margin-left:auto;
    margin-right:auto;
  }
  .contact-form .form-status{
    width:100%;
    text-align:center;
  }

  /* COMPLETE COLLECTION — mobile only.
     Keep the same typeface for the three white inner boxes, but make it slightly
     larger and perfectly uniform across Personal / Relationship / Couple Portrait. */
  .collection-product-page .included-list-box{
    max-width:100%;
    padding:16px 12px;
  }
  .collection-product-page .included-list-box li{
    font-size:15px;
    line-height:1.64;
    letter-spacing:0;
    font-weight:400;
  }
}


/* V37E - Home / CONTACT: mobile-only vertical overline and dash, desktop unchanged. */
@media (max-width:720px){
  .contact-introduction .eyebrow{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:100%;
    text-align:center;
    gap:12px;
    margin-bottom:18px;
  }
  .contact-introduction .eyebrow .contact-eyebrow-text{
    display:block;
    order:0;
    width:100%;
    text-align:center;
  }
  .contact-introduction .eyebrow .dash{
    display:block;
    order:1;
    width:57px;
    height:1px;
    margin:0 auto;
    flex:none;
    background:#000000;
  }
}


/* V37F — mobile contact: optically center the thin rule between GET IN TOUCH and CONTACT. */
@media (max-width:720px){
  .contact-introduction .eyebrow{
    gap:18px;
    margin-bottom:12px;
  }
}


/* V37G — Essential Collection landing page, strictly scoped to the new page.
   The Complete Collection and the V37F homepage remain unchanged. */
.essential-product-page .essential-selection-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  margin-top:18px;
  align-items:stretch;
}
.essential-product-page .essential-selection-card{
  min-width:0;
  min-height:185px;
  padding:30px 20px;
}
.essential-product-page .essential-selection-card h3{
  font-size:clamp(19px,1.8vw,24px);
  line-height:1.25;
  overflow-wrap:break-word;
}
.essential-product-page .essential-selection-card p{
  max-width:270px;
  margin:0 auto;
}
.essential-product-page .essential-guided-intro{margin-bottom:18px}
.essential-product-page .essential-guided-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.essential-product-page .essential-guided-card{
  min-width:0;
}
.essential-product-page .essential-guided-card .changes-label{
  min-height:76px;
  font-size:clamp(18px,2vw,23px);
  line-height:1.34;
  margin-bottom:18px;
}
.essential-product-page .essential-guided-card .changes-list-box{
  width:100%;
  height:var(--changes-panel-height);
  min-height:var(--changes-panel-height);
  flex:0 0 var(--changes-panel-height);
}
.essential-product-page .essential-guided-card .changes-list-box p{
  color:#ffffff;
  font-size:15px;
  line-height:1.75;
  text-align:center;
  margin:0;
}
@media (max-width:980px){
  .essential-product-page .essential-selection-grid,
  .essential-product-page .essential-guided-grid{grid-template-columns:1fr}
  .essential-product-page .essential-selection-card{min-height:140px}
  .essential-product-page .essential-guided-card .changes-label{min-height:auto}
}
@media (max-width:720px){
  .essential-product-page .essential-selection-grid,
  .essential-product-page .essential-guided-grid{gap:18px}
  .essential-product-page .essential-selection-card{padding:24px 18px;min-height:134px}
  .essential-product-page .essential-selection-card h3{font-size:20px}
  .essential-product-page .essential-guided-card .changes-label{font-size:20px}
  .essential-product-page .essential-guided-card .changes-list-box p{font-size:15px}
  .essential-product-page .included-card-copy h3{overflow-wrap:break-word}
  .essential-product-page .product-section-heading h2{overflow-wrap:normal}
}


/* V37J – Essential Collection fine-tuning */
.mobile-only-break{display:none}
.essential-product-page .statement-stack{display:grid;gap:10px;max-width:760px;margin:0 auto}
.essential-product-page .statement-stack p{margin:0;text-align:center}
@media (max-width:720px){
  br.mobile-only-break{display:block;content:""}
  .essential-product-page .included-card-copy h3{overflow-wrap:normal}
}


/* V37K — Emphasise YOU STOP / YOU START across both collection pages only.
   Preserve Chanel title lettering and all existing typography otherwise. */
.collection-product-page #changes .changes-label{
  font-weight:700;
  font-synthesis:weight;
}


/* V37N — pricing alignment refinement: center THE PRODUCTS / PRICING / intro
   and soften the launch-price typography so it sits closer to the product labels. */
.pricing-section .section-head{
  max-width:760px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
}
.pricing-section .section-head .eyebrow,
.pricing-section .section-head h2{
  width:fit-content;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.pricing-section .section-description{
  max-width:520px;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  text-wrap:balance;
}
.pricing-section .pricing-amount{
  display:inline-flex;
  justify-content:flex-end;
  align-items:baseline;
  gap:6px;
  white-space:nowrap;
  color:#ffffff;
  font-family:var(--title);
  font-weight:400;
  font-variant-numeric:lining-nums tabular-nums;
}
.pricing-section .pricing-number{
  font-size:15px;
  line-height:1;
  letter-spacing:.015em;
}
.pricing-section .pricing-currencies{
  font-size:13px;
  line-height:1;
  letter-spacing:.03em;
}
.pricing-section .pricing-help-row{
  margin-top:22px;
  display:flex;
  justify-content:flex-end;
}
.pricing-section .pricing-help-link{
  color:#ffffff;
  border-bottom-color:#ffffff;
  gap:16px;
  min-width:0;
  align-items:center;
  font-size:11px;
  white-space:nowrap;
}
.pricing-section .pricing-help-link:hover:not(.hover-dismissed){
  color:#ffffff;
  border-bottom-color:#ffffff;
}
.pricing-section .pricing-help-link:focus-visible{outline-color:#ffffff}
.pricing-section .pricing-help-link .link-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 15px;
  width:15px;
  height:15px;
  line-height:0;
}
.pricing-section .pricing-help-link .mobile-arrow-svg{
  display:block;
  width:15px;
  height:15px;
  flex:none;
}
@media (max-width:720px){
  .pricing-section .section-head{max-width:540px}
  .pricing-section .section-description{max-width:300px}
  .pricing-section .pricing-amount{gap:4px}
  .pricing-section .pricing-number{font-size:15px}
  .pricing-section .pricing-currencies{font-size:11px;letter-spacing:0}
  .pricing-section .pricing-help-row{justify-content:center;margin-top:22px}
  .pricing-section .pricing-help-link{font-size:10px;gap:12px}
}


/* V37P — pricing typography, controlled centering of the tagline and concise CTA.
   Only the homepage PRICING section is affected. */
.pricing-section .section-head{
  text-align:center;
  align-items:center;
}
.pricing-section .section-head .eyebrow,
.pricing-section .section-head h2{
  text-align:center;
}
.pricing-section .section-head .section-description{
  width:100%;
  max-width:100%;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  text-wrap:initial;
}
.pricing-section .pricing-currencies{
  font-size:15px;
  letter-spacing:.015em;
}
@media (max-width:720px){
  .pricing-section .section-head .section-description{
    width:100%;
    max-width:none;
    text-align:center;
  }
  .pricing-section .pricing-tagline-line{
    display:block;
    width:100%;
    white-space:nowrap;
    text-align:center;
  }
  .pricing-section .pricing-currencies{
    font-size:13px;
    letter-spacing:0;
  }
}


/* V37R — PRICING: match numerals and EUR/USD exactly to portrait-label type size.
   Reduce the heading-to-table spacing by approximately half on all screens. */
.pricing-section .section-head{margin-bottom:22px}
.pricing-section .pricing-number,
.pricing-section .pricing-currencies{font-size:13px}
@media (max-width:720px){
  .pricing-section .section-head{margin-bottom:17px}
  .pricing-section .pricing-number,
  .pricing-section .pricing-currencies{font-size:11px}
}


/* V37S — Personal Portrait: Essential Collection editorial layout adapted to six insights.
   Scoped to the Personal Portrait page; homepage and both collections stay unchanged. */
.personal-portrait-page .personal-reveals-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.personal-portrait-page .personal-reveal-card{
  min-width:0;
  padding:28px 22px 24px;
  background:#000000;
  color:#ffffff;
  border:1px solid #000000;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.personal-portrait-page .personal-reveal-card .card-kicker{
  color:#ffffff;
  font-size:13px;
  letter-spacing:.12em;
  margin:0 0 10px;
}
.personal-portrait-page .personal-reveal-card h3{
  font-size:clamp(20px,1.8vw,25px);
  line-height:1.3;
  min-height:78px;
  max-width:320px;
  margin:0 auto 18px;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow-wrap:break-word;
}
.personal-portrait-page .personal-reveal-text{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:205px;
  flex:1;
  padding:24px 20px;
  border:1px solid #ffffff;
  background:#ffffff;
  color:#000000;
}
.personal-portrait-page .personal-reveal-text p{
  color:#000000;
  font-size:15px;
  line-height:1.7;
  margin:0;
  text-align:center;
}
@media (max-width:980px){
  .personal-portrait-page .personal-reveals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .personal-portrait-page .personal-reveal-card h3{min-height:70px}
}
@media (max-width:720px){
  .personal-portrait-page .personal-reveals-grid{grid-template-columns:1fr;gap:18px}
  .personal-portrait-page .personal-reveal-card{padding:24px 18px 20px}
  .personal-portrait-page .personal-reveal-card .card-kicker{font-size:15px}
  .personal-portrait-page .personal-reveal-card h3{min-height:0;font-size:21px;margin-bottom:17px}
  .personal-portrait-page .personal-reveal-text{min-height:142px;padding:20px 18px}
  .personal-portrait-page .personal-reveal-text p{font-size:15px;line-height:1.72}
}


/* V37T — Personal Portrait spacing + controlled title breaks requested by user */
.personal-portrait-page #reveals .product-section-heading,
.personal-portrait-page #process .product-section-heading{
  margin-bottom:34px;
}
.personal-portrait-page .mobile-break{display:none;}
@media (max-width:720px){
  .personal-portrait-page #reveals .product-section-heading,
  .personal-portrait-page #process .product-section-heading{
    margin-bottom:28px;
  }
  .personal-portrait-page .mobile-break{display:block;}
}


/* V37V — Relationship Portrait: same Personal Portrait editorial cards, adapted to eleven insights.
   Scoped to the Personal Portrait page; homepage and both collections stay unchanged. */
.relationship-portrait-page .personal-reveals-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.relationship-portrait-page .personal-reveal-card{
  min-width:0;
  padding:28px 22px 24px;
  background:#000000;
  color:#ffffff;
  border:1px solid #000000;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.relationship-portrait-page .personal-reveal-card .card-kicker{
  color:#ffffff;
  font-size:13px;
  letter-spacing:.12em;
  margin:0 0 10px;
}
.relationship-portrait-page .personal-reveal-card h3{
  font-size:clamp(20px,1.8vw,25px);
  line-height:1.3;
  min-height:78px;
  max-width:320px;
  margin:0 auto 18px;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow-wrap:break-word;
}
.relationship-portrait-page .personal-reveal-text{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:205px;
  flex:1;
  padding:24px 20px;
  border:1px solid #ffffff;
  background:#ffffff;
  color:#000000;
}
.relationship-portrait-page .personal-reveal-text p{
  color:#000000;
  font-size:15px;
  line-height:1.7;
  margin:0;
  text-align:center;
}
@media (max-width:980px){
  .relationship-portrait-page .personal-reveals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .relationship-portrait-page .personal-reveal-card h3{min-height:70px}
}
@media (max-width:720px){
  .relationship-portrait-page .personal-reveals-grid{grid-template-columns:1fr;gap:18px}
  .relationship-portrait-page .personal-reveal-card{padding:24px 18px 20px}
  .relationship-portrait-page .personal-reveal-card .card-kicker{font-size:15px}
  .relationship-portrait-page .personal-reveal-card h3{min-height:0;font-size:21px;margin-bottom:17px}
  .relationship-portrait-page .personal-reveal-text{min-height:142px;padding:20px 18px}
  .relationship-portrait-page .personal-reveal-text p{font-size:15px;line-height:1.72}
}


/* V37V — Relationship Portrait: same approved section spacing as Personal Portrait */
.relationship-portrait-page #reveals .product-section-heading,
.relationship-portrait-page #process .product-section-heading{
  margin-bottom:34px;
}
.relationship-portrait-page .mobile-break{display:none;}
@media (max-width:720px){
  .relationship-portrait-page #reveals .product-section-heading,
  .relationship-portrait-page #process .product-section-heading{
    margin-bottom:28px;
  }
  .relationship-portrait-page .mobile-break{display:block;}
}


/* Two real stacked title lines, including on mobile; no merging of words. */
.relationship-portrait-page .personal-reveal-card h3{flex-direction:column;gap:0;}
.relationship-portrait-page .personal-reveal-card h3 span{display:block;width:100%;}
/* The last two items form a centered pair at three-column desktop sizes. */
@media (min-width:981px){
  .relationship-portrait-page .personal-reveals-grid{grid-template-columns:repeat(6,minmax(0,1fr));}
  .relationship-portrait-page .personal-reveal-card{grid-column:span 2;}
  .relationship-portrait-page .personal-reveal-card:nth-last-child(2):nth-child(3n+1),
  .relationship-portrait-page .personal-reveal-card:last-child{grid-column:span 3;}
}
/* On tablets the last (odd) card is centered rather than orphaned on the left. */
@media (min-width:721px) and (max-width:980px){
  .relationship-portrait-page .personal-reveal-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc((100% - 22px)/2);width:100%;justify-self:center;}
}
/* Distinguish the supportive subheading from the longer introductory paragraph. */
.relationship-portrait-page .relationship-subtitle{font-family:var(--title);font-size:clamp(17px,1.5vw,20px);line-height:1.45;margin-bottom:14px;}
.relationship-portrait-page .relationship-hook{font-size:15px;line-height:1.75;}
@media (max-width:720px){
  .relationship-portrait-page .relationship-subtitle{font-size:17px;line-height:1.5;margin-bottom:12px;}
  .relationship-portrait-page .relationship-hook{font-size:14px;line-height:1.75;}
}


/* V37X — Relationship Portrait desktop refinements:
   1) hero title frame narrowed so it breathes like the Personal Portrait version;
   2) cards 10 and 11 reduced vertically by shrinking their inner white panels. */
/* Restore the full-width black title frame from Personal Portrait.
   Mobile keeps the previously approved natural title layout. */
.relationship-portrait-page .relationship-desktop-break{display:none;}
@media (min-width:721px){
  .relationship-portrait-page .product-title-frame{
    display:block;
    width:100%;
    max-width:100%;
    padding:22px 28px;
    margin-left:0;
    margin-right:0;
  }
  .relationship-portrait-page .product-title-frame h1{
    font-size:clamp(32px,3.25vw,46px);
    line-height:1.15;
    white-space:normal;
  }
  .relationship-portrait-page br.relationship-desktop-break{display:block;}
  .relationship-portrait-page .personal-reveal-card:nth-child(10) h3,
  .relationship-portrait-page .personal-reveal-card:nth-child(11) h3{
    min-height:64px;
    margin-bottom:14px;
  }
  .relationship-portrait-page .personal-reveal-card:nth-child(10) .personal-reveal-text,
  .relationship-portrait-page .personal-reveal-card:nth-child(11) .personal-reveal-text{
    min-height:156px;
    padding-top:18px;
    padding-bottom:18px;
  }
}


/* V37Y — Personal Portrait desktop-only photographic crop: show the whole head. */
@media (min-width:721px){
  .personal-portrait-page .product-hero-visual img{object-position:center top;}
}


/* V37Z — Portrait Personal: keep the original photo and card sizes,
   anchor the crop to the top on the homepage and Complete Collection.
   Same principle as the approved V37Y Personal Portrait page. */
.portraits-section .portraits-grid .service-card:first-child .card-visual img,
.complete-collection-page #included .included-card:first-child .included-card-visual img {
  object-position: center top;
}


/* V38 — Couple Portrait: the approved Personal Portrait visual grammar.
   Three identical cards with controlled two-line titles and a quiet closing statement. */
.couple-portrait-page .personal-reveals-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
}
.couple-portrait-page .personal-reveal-card{
  min-width:0;
  padding:28px 22px 24px;
  background:#000000;
  color:#ffffff;
  border:1px solid #000000;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.couple-portrait-page .personal-reveal-card .card-kicker{
  color:#ffffff;
  font-size:13px;
  letter-spacing:.12em;
  margin:0 0 10px;
}
.couple-portrait-page .personal-reveal-card h3{
  font-size:clamp(20px,1.8vw,25px);
  line-height:1.3;
  min-height:78px;
  max-width:320px;
  margin:0 auto 18px;
  color:#ffffff;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow-wrap:break-word;
}
.couple-portrait-page .personal-reveal-text{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:205px;
  flex:1;
  padding:24px 20px;
  border:1px solid #ffffff;
  background:#ffffff;
  color:#000000;
}
.couple-portrait-page .personal-reveal-text p{
  color:#000000;
  font-size:15px;
  line-height:1.7;
  margin:0;
  text-align:center;
}
@media (max-width:980px){
  .couple-portrait-page .personal-reveals-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .couple-portrait-page .personal-reveal-card h3{min-height:70px}
}
@media (max-width:720px){
  .couple-portrait-page .personal-reveals-grid{grid-template-columns:1fr;gap:18px}
  .couple-portrait-page .personal-reveal-card{padding:24px 18px 20px}
  .couple-portrait-page .personal-reveal-card .card-kicker{font-size:15px}
  .couple-portrait-page .personal-reveal-card h3{min-height:0;font-size:21px;margin-bottom:17px}
  .couple-portrait-page .personal-reveal-text{min-height:142px;padding:20px 18px}
  .couple-portrait-page .personal-reveal-text p{font-size:15px;line-height:1.72}
}

.couple-portrait-page #reveals .product-section-heading,
.couple-portrait-page #process .product-section-heading{margin-bottom:34px}
.couple-portrait-page .personal-reveal-card h3{flex-direction:column;gap:0}
.couple-portrait-page .personal-reveal-card h3 span{display:block;width:100%}
.couple-portrait-page .product-hero-visual img{object-position:50% 30%;}
.couple-portrait-page .couple-vision{
  max-width:900px;
  margin:40px auto 0;
  padding:26px 28px 0;
  border-top:1px solid #000000;
  text-align:center;
}
.couple-portrait-page .couple-vision p{
  max-width:760px;
  margin:0 auto;
  font-family:var(--title);
  font-size:clamp(19px,2vw,27px);
  line-height:1.55;
  color:#000000;
}
@media (min-width:721px) and (max-width:980px){
  .couple-portrait-page .personal-reveal-card:last-child:nth-child(odd){
    grid-column:1 / -1;
    max-width:calc((100% - 22px)/2);
    width:100%;
    justify-self:center;
  }
}
@media (max-width:720px){
  .couple-portrait-page #reveals .product-section-heading,
  .couple-portrait-page #process .product-section-heading{margin-bottom:28px}
  .couple-portrait-page .couple-vision{margin-top:28px;padding:22px 5px 0}
  .couple-portrait-page .couple-vision p{font-size:19px;line-height:1.55}
}


/* V38F — WhatsApp matches SEND MESSAGE: black background, white icon/text.
   The CONTACT lead is visually centered beneath its heading on desktop. */
.contact-section .whatsapp-contact-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:max-content;
  min-width:215px;
  margin:32px auto 0;
  padding:17px 24px;
  border:1px solid #000000;
  background:#000000;
  color:#ffffff;
  font-family:var(--title);
  font-size:11px;
  font-weight:400;
  letter-spacing:.095em;
  line-height:1.3;
  text-align:center;
  transition:background .2s,color .2s;
}
.contact-section .whatsapp-contact-button:hover:not(.hover-dismissed){background:#ffffff;color:#000000;}
.contact-section .whatsapp-contact-button:focus-visible{outline:2px solid #000000;outline-offset:4px;}
.contact-section .whatsapp-contact-icon{width:18px;height:18px;flex:0 0 18px;display:block;}
@media(max-width:720px){
  .contact-section .whatsapp-contact-button{margin-top:17px;}
}

@media(min-width:721px){
  .contact-section .contact-introduction > p:not(.eyebrow){
    max-width:275px;
    text-align:center;
  }
}


/* V38G — align CONTACT, introductory text and WHATSAPP to one vertical axis.
   Keep the form, columns, colours and mobile presentation unchanged. */
@media (min-width:721px){
  .contact-section .contact-introduction{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .contact-section .contact-introduction h2{
    width:100%;
    text-align:center;
  }
  .contact-section .contact-introduction > p:not(.eyebrow){
    width:100%;
    max-width:275px;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }
  .contact-section .contact-introduction .whatsapp-contact-button{
    margin-left:auto;
    margin-right:auto;
  }
}


/* V38H — All hover effects are transient. After a pointer click they return to
   the default appearance even if the pointer remains in place. Keyboard focus
   outlines remain visible for accessibility. The effect reactivates on re-entry. */


/* V38I – two elegant stacked About Me links and symmetric desktop navigation.
   Five identical navigation tracks put PORTRAIT precisely beneath the TEO LEDA brand. */
.about-copy .about-link-stack{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.about-copy .about-link-stack .underlined-link{margin-top:17px}
.about-copy .about-link-stack .underlined-link + .underlined-link{margin-top:15px}
@media(min-width:721px){
  .site-header .desktop-navigation{
    display:grid;
    grid-template-columns:repeat(5,128px);
    justify-content:center;
    align-items:center;
    column-gap:0;
  }
  .site-header .desktop-navigation a{
    justify-self:center;
    text-align:center;
  }
}
@media(min-width:721px) and (max-width:1050px){
  .site-header .desktop-navigation{grid-template-columns:repeat(5,110px)}
}
@media(max-width:720px){
  .about-copy .about-link-stack{width:100%;align-items:center}
}


/* V38J — all five sales pages: center the two hero navigation links
   along the same axis as the centered hero heading and introductory text.
   Only the hero CTAs change; other buttons, cards and page layouts are untouched. */
.collection-product-page .product-hero-copy.hero-centered .product-cta-row{
  justify-content:center;
  text-align:center;
}
@media(max-width:720px){
  .collection-product-page .product-hero-copy.hero-centered .product-cta-row{
    flex-direction:column;
    align-items:center;
  }
  .collection-product-page .product-hero-copy.hero-centered .product-cta-row .underlined-link{
    width:auto;
    max-width:100%;
  }
}


/* V38K — Center SEND MESSAGE relative to the contact form's own width,
   on desktop and mobile; no changes to its appearance or other elements. */
.contact-section .contact-form > .submit-button{
  display:flex;
  width:fit-content;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}


/* V38M — center the catalogue return link vertically between the READY TO BEGIN
   box and the footer. The page already contributes 16px (desktop) / 10px
   (mobile) below the CTA box and 20px at the bottom of <main>.
   The nav's asymmetric padding compensates those existing spaces exactly. */
.collection-product-page .product-return-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 28px 14px;
  text-align:center;
}
.collection-product-page .product-return-nav .underlined-link{
  max-width:100%;
  width:auto;
}
@media (max-width:720px){
  .collection-product-page .product-return-nav{padding:16px 18px 6px;}
}


/* V38P — refined checkout controls in the READY TO BEGIN cards.
   Price is now presented inside its own luxury black card, matching the CTA width.
   A centered divider separates ORDER NOW from WHATSAPP for a cleaner Chanel-style rhythm. */
.collection-product-page .final-cta-box .checkout-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:0 auto;
  width:100%;
}
.collection-product-page .final-cta-box .checkout-action-button,
.collection-product-page .final-cta-box .checkout-price{
  box-sizing:border-box;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  width:230px;
  max-width:100%;
  min-height:54px;
  padding:15px 18px;
  background:#000000;
  border:1px solid #000000;
  color:#ffffff;
  font-family:var(--title);
  font-weight:400;
  text-align:center;
  text-decoration:none;
}
.collection-product-page .final-cta-box .checkout-action-button{
  gap:13px;
  font-size:11px;
  letter-spacing:.095em;
  line-height:1.2;
  cursor:pointer;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.collection-product-page .final-cta-box .checkout-action-button:hover:not(.hover-dismissed){
  background:#ffffff;
  color:#000000;
}
.collection-product-page .final-cta-box .checkout-action-button:focus-visible{
  outline:2px solid #000000;
  outline-offset:4px;
}
.collection-product-page .final-cta-box .checkout-whatsapp-icon{
  display:block;
  width:18px;
  height:18px;
  flex:0 0 18px;
}
/* V38R — one unbroken line in the actual ABC Chanel typeface.
   A single text node guarantees identical font, weight, baseline and line height
   for the word Price, amount and currencies (no Carmen font anywhere in the card). */
.collection-product-page .final-cta-box .checkout-price{
  font-family:var(--title);
  font-size:16px;
  font-weight:700;
  font-synthesis:weight;
  letter-spacing:.018em;
  line-height:1;
  white-space:nowrap;
  flex-wrap:nowrap;
  text-align:center;
  font-variant-numeric:lining-nums tabular-nums;
  padding-inline:18px;
}
.collection-product-page .final-cta-box .checkout-divider{
  width:34px;
  height:1px;
  background:#000000;
  flex:0 0 auto;
}
/* V38S — Chanel ABC bold label and stronger arrow only on ORDER NOW.
   All other buttons retain their existing typography and hover behaviour. */
.collection-product-page .final-cta-box .checkout-order-button{
  font-weight:700;
  font-synthesis:weight;
}
.collection-product-page .final-cta-box .checkout-order-button .checkout-order-icon{
  stroke-width:2.4;
}
.collection-product-page .final-cta-box .checkout-order-icon{
  display:block;
  width:15px;
  height:15px;
  flex:0 0 15px;
}
@media (max-width:720px){
  .collection-product-page .final-cta-box .checkout-actions{gap:13px}
  .collection-product-page .final-cta-box .checkout-action-button,
  .collection-product-page .final-cta-box .checkout-price{width:215px;min-height:52px}
  .collection-product-page .final-cta-box .checkout-price{font-size:15px;padding-inline:14px}
  .collection-product-page .final-cta-box .checkout-divider{width:28px}
}


/* V38T — visibly space PRICE and colon; white price card trial on all five products. */
.collection-product-page .final-cta-box .checkout-price{
  background:#ffffff;
  color:#000000;
  border:1px solid #000000;
  gap:0;
}
.collection-product-page .final-cta-box .checkout-price-word,
.collection-product-page .final-cta-box .checkout-price-value{
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  white-space:nowrap;
}
.collection-product-page .final-cta-box .checkout-price-value{
  margin-left:.36em;
}

/* V38U — refine checkout price spacing and invert WHATSAPP button colors.
   - PRICE now shows only one visual space before the colon.
   - WHATSAPP matches the inverted white card aesthetic requested by the user. */
.collection-product-page .final-cta-box .checkout-price{
  background:#ffffff;
  color:#000000;
  border:1px solid #000000;
  gap:0;
}
.collection-product-page .final-cta-box .checkout-price-value{
  margin-left:.18em;
}
.collection-product-page .final-cta-box .checkout-whatsapp-button{
  background:#ffffff;
  color:#000000;
  border:1px solid #000000;
}
.collection-product-page .final-cta-box .checkout-whatsapp-button:hover:not(.hover-dismissed){
  background:#000000;
  color:#ffffff;
}


/* V38W LEGAL DRAFT — editorial legal pages matching Personal Portrait.
   These scoped styles do not modify the homepage or the 5 sales pages. */
.legal-page .legal-hero{display:block;padding-top:62px;padding-bottom:28px}
.legal-page .product-hero-copy.hero-centered{max-width:940px}
.legal-page .product-title-frame{max-width:820px;margin-left:auto;margin-right:auto}
.legal-page .product-title-frame h1{font-size:clamp(31px,4vw,52px)}
.legal-page .product-lead{max-width:740px;font-size:17px;line-height:1.75;margin:18px auto 14px}
.legal-page .legal-updated{font-family:var(--title);font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#333;margin:15px auto}
.legal-page .legal-draft{border:1px solid #000;padding:12px 16px;font-size:11px;letter-spacing:.045em;line-height:1.55;max-width:740px;margin:15px auto 30px;font-family:var(--title);text-transform:uppercase}
.legal-page .legal-toc{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 23px;max-width:850px;margin:0 auto}
.legal-page .legal-toc-link{color:#000;border-bottom:1px solid #000;text-decoration:none;font-family:var(--title);font-size:10px;letter-spacing:.055em;line-height:1.5;padding-bottom:5px}
.legal-page .legal-toc-link:hover:not(.hover-dismissed){opacity:.58}
.legal-page .legal-toc-link:focus-visible{outline:2px solid #000;outline-offset:4px}
.legal-page .legal-section{padding-top:20px;padding-bottom:42px}
.legal-page .legal-card-stack{max-width:950px;margin:0 auto;display:grid;gap:22px}
.legal-page .legal-card{border:1px solid #000;background:#fff;scroll-margin-top:140px;overflow-wrap:anywhere}
.legal-page .legal-card-heading{display:flex;align-items:center;gap:19px;background:#000;color:#fff;padding:20px 28px}
.legal-page .legal-number{font-family:var(--title);font-size:18px;line-height:1;flex:0 0 30px}
.legal-page .legal-card h2{font-family:var(--title);font-size:clamp(18px,2.2vw,24px);line-height:1.3;letter-spacing:.012em;margin:0;color:#fff}
.legal-page .legal-card-content{padding:24px 32px 27px;font-size:15px;line-height:1.84}
.legal-page .legal-card-content p{margin:0 0 14px}
.legal-page .legal-card-content p:last-child{margin-bottom:0}
.legal-page .legal-card-content strong{font-weight:700;color:#000}
.legal-page .legal-card-content a{color:#000;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-page .legal-card-content ul{padding-left:23px;margin:0 0 16px}
.legal-page .legal-card-content li{margin-bottom:10px}
.legal-page .legal-card-content li:last-child{margin-bottom:0}
.legal-page .legal-placeholder{display:inline;padding:0 2px;border-bottom:1px dashed #888;font-weight:700}
.legal-page .legal-small-note{color:#555;font-size:12px}
.legal-page .legal-details{margin:14px 0 0;border-top:1px solid #aaa}
.legal-page .legal-details>div{display:grid;grid-template-columns:minmax(150px,27%) 1fr;gap:20px;border-bottom:1px solid #ddd;padding:12px 0}
.legal-page .legal-details dt{font-family:var(--title);font-size:11px;letter-spacing:.035em}
.legal-page .legal-details dd{margin:0;min-width:0}
.legal-page .legal-offer-list,.legal-page .legal-purpose-list{border-top:1px solid #999;margin:16px 0 22px}
.legal-page .legal-offer-list>div,.legal-page .legal-purpose-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:1px solid #ddd;padding:12px 0}
.legal-page .legal-offer-list strong,.legal-page .legal-purpose-list strong{flex:0 1 41%;font-weight:700}
.legal-page .legal-offer-list span,.legal-page .legal-purpose-list span{flex:1 1 54%;text-align:right}
.legal-page .legal-model-form{border:1px solid #000;padding:22px 24px;margin:18px 0 20px}
.legal-page .legal-form-line{border-bottom:1px dashed #777;white-space:normal}
.legal-page .legal-back-nav{padding-top:22px;padding-bottom:22px}
@media(max-width:720px){
  .legal-page .legal-hero{padding-top:34px;padding-bottom:14px}
  .legal-page .product-title-frame h1{font-size:clamp(23px,7.1vw,33px);overflow-wrap:anywhere}
  .legal-page .product-lead{font-size:15px}
  .legal-page .legal-toc{gap:11px 15px}
  .legal-page .legal-toc-link{font-size:9px}
  .legal-page .legal-card-stack{gap:16px}
  .legal-page .legal-card-heading{padding:17px 16px;gap:10px}
  .legal-page .legal-number{font-size:14px;flex-basis:24px}
  .legal-page .legal-card h2{font-size:18px}
  .legal-page .legal-card-content{padding:18px 17px 21px;font-size:14px;line-height:1.76}
  .legal-page .legal-details>div{grid-template-columns:1fr;gap:3px;padding:10px 0}
  .legal-page .legal-offer-list>div,.legal-page .legal-purpose-list>div{display:block}
  .legal-page .legal-offer-list strong,.legal-page .legal-purpose-list strong{display:block}
  .legal-page .legal-offer-list span,.legal-page .legal-purpose-list span{display:block;text-align:left}
  .legal-page .legal-model-form{padding:16px}
  .legal-page .legal-back-nav{padding-top:17px;padding-bottom:17px}
}
@media (prefers-reduced-motion:reduce){.legal-page *{scroll-behavior:auto}}


/* V38Y LEGAL DESIGN ONLY — visually align number/title vertical medians.
   The number uses the entire heading row as its alignment reference,
   so one-, two-, and three-line headings remain centred together. */
.legal-page .legal-card-heading{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
}
.legal-page .legal-card-heading .legal-number{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  align-self:stretch;
  min-width:0;
  line-height:1.3;
}
.legal-page .legal-card-heading h2{
  align-self:center;
  min-width:0;
}
/* The last black separator, the return link and the start of the black
   footer now have equal outer gaps. The main element already adds 20px
   below this nav, so bottom padding is 20px less than top padding. */
.legal-page .legal-back-nav{
  padding-top:32px;
  padding-bottom:12px;
}
@media (max-width:720px){
  .legal-page .legal-card-heading{
    grid-template-columns:24px minmax(0,1fr);
  }
  .legal-page .legal-back-nav{
    padding-top:27px;
    padding-bottom:7px;
  }
}


/* V38Z LEGAL DESIGN — identical ABC Chanel heading font size for card number
   and card title. Retains V38Y vertically coincident midlines. */
.legal-page .legal-card-heading{
  --legal-heading-size:clamp(18px,2.2vw,24px);
  grid-template-columns:43px minmax(0,1fr);
}
.legal-page .legal-card-heading .legal-number,
.legal-page .legal-card-heading h2{
  font-family:var(--title);
  font-size:var(--legal-heading-size);
  font-weight:400;
  line-height:1.3;
}
@media (max-width:720px){
  .legal-page .legal-card-heading{
    --legal-heading-size:18px;
    grid-template-columns:33px minmax(0,1fr);
  }
}

/* V38Z CONTACT FORM — off-screen anti-spam field; no change to visible design */
.contact-section .contact-bot-field{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
