/* Elle et Omnia — site stylesheet. Generated from the Elle et Omnia design system.
   Palette: rose / blush / cream. Headings Merriweather, body Open Sans, caps Poppins. */
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/poppins-normal-700.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:800;font-display:swap;src:url('../assets/fonts/poppins-normal-800.woff2') format('woff2')}
:root{
--rose-100:#FFE7E0;--rose-200:#F9D8D7;--rose-300:#EBBEC0;--rose-400:#D1999F;--rose-500:#B0616A;--rose-600:#8C3F4A;--rose-900:#3A1A1F;
--blush-100:#FAE8DE;--blush-200:#EFD1C6;--blush-300:#E3B9A9;--blush-700:#74392F;--blush-800:#5A2B23;
--warm-50:#FFF8F8;--warm-100:#F7EFEE;--warm-200:#EBDFDE;--warm-300:#D8C7C6;--warm-400:#B7A1A2;--warm-500:#8F7576;--warm-600:#6B4A4E;--warm-800:#332225;--warm-900:#1A1618;
--champagne-100:#FAF3D9;--champagne-400:#E9D79B;--champagne-800:#8A6B2E;--champagne-900:#6B5220;
--teal-500:#0ABAB5;--teal-50:#E6F8F7;--plum-500:#86078A;--plum-700:#690569;--plum-50:#F9EAF9;
--page:var(--warm-50);--card:#FFFFFF;--accent-surface:var(--blush-200);--prime:var(--rose-100);
--text:var(--warm-600);--text-2:var(--warm-500);--text-muted:var(--warm-400);--heading:var(--rose-500);--heading-deep:var(--rose-600);--text-accent:var(--blush-700);
--link:var(--champagne-800);--link-hover:var(--blush-700);
--btn-bg:var(--blush-700);--btn-bg-hover:var(--blush-800);--btn-fg:#FFF6F2;
--border:var(--warm-200);--border-2:var(--warm-300);--border-accent:var(--blush-300);--border-inv:rgba(251,246,245,.22);
--pillar-accent:var(--rose-500);--pillar-accent-strong:var(--rose-600);
--serif:'Merriweather',Georgia,'Times New Roman',serif;
--sans:'Open Sans',system-ui,-apple-system,'Helvetica Neue',sans-serif;
--caps:'Poppins','Open Sans',system-ui,sans-serif;
--fs-hero:clamp(2.5rem,5.4vw,4.5rem);--fs-display:clamp(2rem,4vw,3.5rem);--fs-h2:clamp(1.625rem,2.6vw,2.375rem);--fs-h3:clamp(1.25rem,1.7vw,1.625rem);--fs-h4:1.125rem;
--fs-lead:clamp(1.0625rem,1.35vw,1.3125rem);--fs-body:1rem;--fs-sm:.9375rem;--fs-cap:.8125rem;--fs-eyebrow:.75rem;--fs-stat:clamp(2.5rem,4.4vw,3.75rem);
--pad:clamp(20px,4vw,64px);--max:1240px;--sec-y:clamp(72px,9vw,160px);
--radius-sm:4px;--radius-card:8px;--radius-lg:16px;--pill:999px;
--ease:cubic-bezier(.16,1,.3,1);--dur:240ms;
--scrim:linear-gradient(180deg,rgba(26,22,24,.52) 0%,rgba(26,22,24,.66) 45%,rgba(26,22,24,.88) 100%);
}
[data-pillar='societe']{--pillar-accent:var(--champagne-800);--pillar-accent-strong:var(--champagne-900)}
[data-pillar='pave']{--pillar-accent:var(--plum-500);--pillar-accent-strong:var(--plum-700)}
[data-pillar='elleshow']{--pillar-accent:var(--rose-500);--pillar-accent-strong:var(--rose-400)}
.eo-dark{--page:var(--warm-900);--card:rgba(255,255,255,.05);--text:rgba(251,246,245,.74);--text-2:rgba(251,246,245,.58);--text-muted:rgba(251,246,245,.44);--heading:#FBF6F5;--heading-deep:#FBF6F5;--text-accent:var(--rose-300);--link:var(--rose-300);--link-hover:#FBF6F5;--border:rgba(251,246,245,.16);--border-2:rgba(251,246,245,.26);--btn-bg:var(--rose-500);--btn-bg-hover:var(--rose-400);--btn-fg:var(--warm-900);--accent-surface:rgba(251,246,245,.08)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--page);color:var(--text);font-family:var(--sans);font-size:var(--fs-body);line-height:1.65;text-wrap:pretty;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
h1,h2,h3,h4{font-family:var(--serif);color:var(--heading);margin:0;font-weight:700}
h1{font-size:var(--fs-hero);line-height:1.12;letter-spacing:-.015em}
h2{font-size:var(--fs-display);line-height:1.14;letter-spacing:-.012em}
h3{font-size:var(--fs-h3);line-height:1.22;letter-spacing:-.005em}
h4{font-size:var(--fs-h4);line-height:1.3}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
strong{font-weight:700;color:var(--heading-deep)}
em{font-style:italic}
a{color:var(--link);text-decoration:none;border-bottom:1px solid color-mix(in oklab,var(--link) 35%,transparent);transition:color 150ms var(--ease),border-color 150ms var(--ease)}
a:hover{color:var(--link-hover);border-bottom-color:currentColor}
ul{margin:0 0 1.05em;padding-left:1.15em}
li{margin-bottom:.5em}
section{padding:var(--sec-y) 0}
.hdr{position:sticky;top:0;z-index:40;background:rgba(255,248,248,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.hdr .bar{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:78px;display:flex;align-items:center;gap:clamp(20px,4vw,48px)}
.wordmark{font-family:var(--serif);font-weight:700;font-size:24px;letter-spacing:-.015em;color:var(--heading);text-decoration:none;border-bottom:0;white-space:nowrap}
.wordmark em{font-style:italic;font-weight:400}
.hdr nav{display:flex;gap:clamp(16px,2.4vw,32px);margin-left:auto}
.hdr nav a{font-family:var(--caps);font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);border-bottom:1px solid transparent;padding-bottom:3px}
.hdr nav a:hover,.hdr nav a[aria-current]{color:var(--heading);border-bottom-color:currentColor}
.btn{display:inline-block;font-family:var(--sans);font-size:14px;font-weight:600;white-space:nowrap;padding:13px 26px;border-radius:var(--pill);border:1px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-fg);text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-fg)}
.btn.ghost{background:transparent;color:var(--text-accent);border-color:var(--text-accent)}
.btn.ghost:hover{background:var(--accent-surface);color:var(--text-accent)}
.btn.sm{padding:9px 18px;font-size:13px}
.btns{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}
.eyebrow{display:inline-block;font-family:var(--caps);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--text-accent);background:var(--accent-surface);padding:6px 14px;border-radius:var(--pill);margin-bottom:24px}
.lede{max-width:78ch;font-size:var(--fs-lead);line-height:1.5}
.hero{background:linear-gradient(115deg,#F6E4EE 0%,#FFE7E0 46%,#EFE0F0 100%);padding:clamp(88px,11vw,140px) 0}
.hero p{max-width:52ch;font-size:var(--fs-lead);line-height:1.5;margin:24px 0 0}
.hero.photo{position:relative;background:var(--warm-900);overflow:hidden;padding:clamp(120px,16vw,200px) 0 clamp(72px,9vw,110px)}
.hero.photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero.photo::after{content:'';position:absolute;inset:0;background:var(--scrim)}
.hero.photo .wrap{position:relative;z-index:2}
.hero.photo h1{color:#FFF8F8;text-shadow:0 1px 24px rgba(26,22,24,.35)}
.hero.photo p{color:rgba(255,248,248,.94)}
.ph{border-radius:var(--radius-sm);overflow:hidden;background:var(--accent-surface)}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:start}
.split.even{grid-template-columns:1fr 1fr}
.attrib{font-family:var(--sans);font-size:var(--fs-cap);font-weight:700;color:var(--text-accent);letter-spacing:.04em}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,40px);margin-top:56px}
.pcard{display:block;border-top:3px solid var(--pillar-accent);padding-top:22px;text-decoration:none;border-bottom:0;transition:transform var(--dur) var(--ease)}
.pcard:hover{transform:translateY(-3px)}
.pcard .ph{aspect-ratio:4/3}
.pcard h3{margin-top:20px;color:var(--pillar-accent)}
.pcard:hover h3{color:var(--pillar-accent-strong)}
.role{font-family:var(--sans);font-size:var(--fs-sm);font-weight:700;color:var(--text-accent);margin:6px 0 10px}
.pcard p{font-size:var(--fs-sm);color:var(--text)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:72px;border-top:1px solid var(--border-accent);padding-top:52px;text-align:center}
.num{font-family:var(--serif);font-size:var(--fs-stat);font-weight:700;color:var(--heading-deep);line-height:1}
.stats .lbl{font-family:var(--serif);font-size:var(--fs-h4);font-weight:700;color:var(--heading);margin:10px 0 8px}
.stats p{font-size:var(--fs-cap)}
.quote{background:var(--champagne-100);padding:clamp(56px,7vw,96px) 0}
.quote blockquote{margin:0;max-width:66ch;font-family:var(--serif);font-size:var(--fs-h2);line-height:1.22;color:var(--champagne-900);font-style:italic}
.quote cite{display:block;margin-top:22px;font-family:var(--caps);font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-style:normal;color:var(--champagne-800)}
.panel{background:var(--accent-surface);border-radius:var(--radius-card);padding:clamp(24px,3vw,40px)}
.panel h3{color:var(--heading-deep)}
.cards{display:grid;gap:clamp(20px,2.5vw,32px)}
.cards.c3{grid-template-columns:repeat(3,1fr)}
.cards.c2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--pillar-accent);border-radius:var(--radius-card);padding:26px 28px}
.card h3{font-size:var(--fs-h4);margin-bottom:10px}
.card p{font-size:var(--fs-sm)}
.rule{display:block;width:56px;height:2px;background:var(--pillar-accent);margin-bottom:22px}
.kv{font-family:var(--serif);font-size:var(--fs-h4);font-weight:700;color:var(--pillar-accent);margin-bottom:8px}
footer{background:var(--page);color:var(--heading)}
footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:clamp(32px,5vw,64px);max-width:var(--max);margin:0 auto;padding:clamp(56px,7vw,80px) var(--pad) 40px}
footer h4{font-family:var(--caps);font-weight:700;font-size:var(--fs-eyebrow);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin:0 0 16px}
footer .col a{display:block;font-size:var(--fs-sm);line-height:1.5;color:var(--text);border-bottom:0;margin-bottom:11px}
footer .col a:hover{color:var(--heading)}
footer .col a strong{font-weight:600;color:var(--heading)}
footer .blurb{font-size:var(--fs-sm);max-width:42ch;margin:20px 0}
footer .mail{color:var(--champagne-400);border-bottom:0;font-size:var(--fs-sm)}
footer .locs{display:block;font-family:var(--caps);font-weight:700;font-size:var(--fs-cap);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-top:6px}
footer .base{max-width:var(--max);margin:0 auto;padding:24px var(--pad) 44px;border-top:1px solid var(--border-inv);display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}
footer .base .tag{font-family:var(--serif);font-style:italic;font-size:var(--fs-h4);color:var(--champagne-400)}
footer .base .cr{font-size:var(--fs-cap);color:var(--text-muted)}
.note{margin-top:32px;padding:20px 24px;background:var(--accent-surface);border-radius:var(--radius-card);font-size:var(--fs-sm)}
.portal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.portal h3{font-size:var(--fs-h4)}
.portal p{margin:6px 0 0;font-size:var(--fs-sm)}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);margin-top:48px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--card);padding:10px 16px;border-radius:var(--radius-sm)}
:focus-visible{outline:2px solid var(--rose-500);outline-offset:2px}
@media(max-width:1000px){.hdr .bar{gap:20px}.hdr nav{gap:16px}.hdr nav a{font-size:11px;letter-spacing:.1em}}
@media(max-width:940px){.hdr .bar{height:auto;padding-top:14px;padding-bottom:14px;flex-wrap:wrap;row-gap:12px}.hdr nav{order:3;width:100%;margin-left:0;overflow-x:auto;scrollbar-width:none;gap:20px}.hdr nav::-webkit-scrollbar{display:none}.hdr .btn.sm{margin-left:auto}}
@media(max-width:900px){.split,.split.even,.contact,.cards.c3,.cards.c2{grid-template-columns:1fr}.pillars,.stats{grid-template-columns:1fr 1fr}footer .cols{grid-template-columns:1fr}}
@media(max-width:560px){.pillars,.stats{grid-template-columns:1fr}.wordmark{font-size:20px}footer .base{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:1ms!important;transition-duration:1ms!important}html{scroll-behavior:auto}}
