:root {
      /* =========================================================
         TYPOGRAPHY CONTROLS
         Modifie ici facilement toutes les tailles des titres et paragraphes
         ========================================================= */
      --fs-h1: clamp(48px, 6vw, 88px);
      --fs-h2: clamp(34px, 4vw, 60px);
      --fs-h3: clamp(28px, 2.6vw, 40px);
      --fs-h4: clamp(22px, 2vw, 30px);
      --fs-h5: 18px;
      --fs-h6: 15px;
      --fs-p: 15px;
      --hero-title-size: clamp(64px, 8vw, 112px);
      --section-title-size: clamp(34px, 4vw, 58px);
      --card-title-size: clamp(28px, 2.7vw, 40px);
      --body-line: 1.85;
      --bg: #f6f0e8;
      --bg-2: #fbf8f4;
      --surface: rgba(255,255,255,.76);
      --surface-strong: rgba(255,255,255,.92);
      --ink: #181412;
      --muted: #756c64;
      --line: rgba(24,20,18,.10);
      --gold: #b98a57;
      --gold-soft: rgba(185,138,87,.15);
      --rose: #b13b66;
      --shadow: 0 24px 80px rgba(29,21,17,.09);
      --shadow-strong: 0 32px 120px rgba(29,21,17,.13);
      --radius-xl: 38px;
      --radius-lg: 28px;
      --radius-md: 22px;
      --container: min(1460px, calc(100% - 56px));
      --progress: 0%;
      --title-size: clamp(40px, 4.2vw, 62px);
      --title-line: .94;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: Inter, system-ui, sans-serif;
      color: var(--ink);
      background:
        radial-gradient(circle at 12% 12%, rgba(185,138,87,.11), transparent 23%),
        radial-gradient(circle at 92% 18%, rgba(0,0,0,.04), transparent 22%),
        linear-gradient(180deg, #fcfaf7 0%, #f5eee6 42%, #f1e8de 100%);
      overflow-x: hidden;
    }
    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background:
        radial-gradient(circle at 50% 0%, rgba(255,255,255,.7), transparent 24%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.13'/%3E%3C/svg%3E");
      mix-blend-mode: multiply;
      opacity: .25;
      z-index: 0;
    }

    h1 { font-size: var(--fs-h1); }
    h2 { font-size: var(--fs-h2); }
    h3 { font-size: var(--fs-h3); }
    h4 { font-size: var(--fs-h4); }
    h5 { font-size: var(--fs-h5); }
    h6 { font-size: var(--fs-h6); }
    p  { font-size: var(--fs-p); line-height: var(--body-line); }
    .scroll-progress {
      position: fixed; top: 0; left: 0; width: var(--progress); height: 2px;
      background: linear-gradient(90deg, var(--gold), #ebd7c1); box-shadow: 0 0 18px rgba(185,138,87,.35); z-index: 120;
    }
    .loader {
      position: fixed; inset: 0; display: grid; place-items: center;
      background: radial-gradient(circle at 50% 34%, rgba(185,138,87,.14), transparent 22%), linear-gradient(180deg, #f9f5f0, #f0e6dc);
      z-index: 200; transition: opacity .9s ease, visibility .9s ease;
    }
    .loader.hide { opacity: 0; visibility: hidden; }
    .loader-inner { text-align: center; }
    .loader-ring {
      width: 124px; height: 124px; margin: 0 auto 24px; border-radius: 50%; border: 1px solid rgba(185,138,87,.3); position: relative; display: grid; place-items: center; box-shadow: inset 0 0 0 16px rgba(185,138,87,.04);
    }
    .loader-ring::before, .loader-ring::after {
      content: ""; position: absolute; inset: 10px; border-radius: 50%; border: 1px solid rgba(24,20,18,.08); animation: spin 8s linear infinite;
    }
    .loader-ring::after { inset: 24px; animation-direction: reverse; animation-duration: 5.8s; }
    .loader-mark { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(185,138,87,.4); display: grid; place-items: center; font-family: "Cormorant Garamond", serif; font-size: 28px; color: var(--gold); background: rgba(255,255,255,.55); }
    .loader h1 { margin: 0 0 8px; font-family: "Cormorant Garamond", serif; font-size: clamp(42px, 5vw, 66px); line-height: .92; font-weight: 600; letter-spacing: -.03em; }
    .loader p { margin: 0; color: var(--muted); line-height: 1.8; letter-spacing: .04em; text-transform: uppercase; font-size: 11px; }

    .topbar { position: sticky; top: 0; z-index: 90; backdrop-filter: blur(16px); background: rgba(251,248,244,.68); border-bottom: 1px solid rgba(24,20,18,.06); }
    .shell, .topbar-inner { width: var(--container); margin: 0 auto; position: relative; z-index: 1; }
    .topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 0; }
    .brand { display: flex; align-items: center; gap: 16px; }
    .brand-mark { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font-family: "Cormorant Garamond", serif; font-size: 28px; color: var(--gold); border: 1px solid rgba(185,138,87,.4); background: rgba(255,255,255,.6); box-shadow: inset 0 0 0 7px rgba(185,138,87,.05); }
    .brand-copy strong { display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .16em; margin-bottom: 4px; }
    .brand-copy small, .top-meta { color: var(--muted); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
    .top-meta { padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.65); border: 1px solid rgba(24,20,18,.08); }

    .eyebrow { display: inline-flex; align-items: center; gap: 12px; color: var(--gold); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; }
    .eyebrow::before { content: ""; width: 44px; height: 1px; background: currentColor; }
    .hero { padding: 32px 0 24px; }
    .hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 26px; align-items: stretch; }
    .glass {
      position: relative; background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.64)); border: 1px solid rgba(255,255,255,.85); border-radius: 42px; box-shadow: var(--shadow); overflow: hidden;
    }
    .glass::before { content: ""; position: absolute; inset: 0; background: linear-gradient(160deg, rgba(255,255,255,.2), transparent 40%); pointer-events: none; }
    .hero-main { min-height: 760px; padding: 54px; display: flex; flex-direction: column; justify-content: space-between; }
    .hero-title { margin: 18px 0 0; font-family: "Cormorant Garamond", serif; font-size: clamp(58px, 7vw, 96px); line-height: .88; font-weight: 600; letter-spacing: -.045em; max-width: 9ch; }
    .hero-lead { margin: 26px 0 0; max-width: 58ch; font-size: 15px; line-height: 1.95; color: #5b524b; }
    .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
    .btn {
      min-height: 54px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; border-radius: 999px; text-decoration: none; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 600; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease; cursor: pointer; border: 0;
    }
    .btn:hover { transform: translateY(-3px); }
    .btn-primary { color: white; background: linear-gradient(135deg, #1f1a17, #4c3b31 52%, #c19a68 170%); box-shadow: 0 18px 38px rgba(24,20,18,.16); }
    .btn-secondary { color: var(--ink); background: rgba(255,255,255,.62); border: 1px solid rgba(24,20,18,.10); }
    .hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 44px; }
    .stat { min-height: 130px; padding: 18px; display: flex; flex-direction: column; justify-content: space-between; border-radius: 24px; background: rgba(255,255,255,.62); border: 1px solid rgba(24,20,18,.08); transition: transform .35s ease, background .35s ease; }
    .stat:hover { transform: translateY(-4px); background: rgba(255,255,255,.86); }
    .stat span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .16em; }
    .stat strong { font-family: "Cormorant Garamond", serif; font-size: 28px; font-weight: 600; line-height: 1; }
    .hero-side { display: grid; grid-template-rows: 1fr auto; gap: 26px; }
    .house-card, .showcase-card { padding: 28px; display: grid; gap: 18px; }
    .badge { display: inline-flex; width: max-content; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; background: rgba(255,255,255,.7); border: 1px solid rgba(24,20,18,.08); color: var(--muted); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
    .house-card h2, .editorial-band h2, .section-head h2, .logic-panel h3, .step-card h4, .contact-name, .company-address, .modal-copy h3 {
      margin: 14px 0 0; font-family: "Cormorant Garamond", serif; font-size: var(--section-title-size); line-height: var(--title-line); font-weight: 600; letter-spacing: -.03em;
    }
    .house-card p, .logic-panel p, .step-card p, .section-head p, .editorial-band p, .modal-copy p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.9; }
    .house-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .house-item { padding: 18px; border-radius: 22px; background: rgba(255,255,255,.58); border: 1px solid rgba(24,20,18,.08); }
    .house-item span { display: block; color: var(--muted); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 10px; }
    .house-item strong { font-family: "Cormorant Garamond", serif; font-size: 24px; font-weight: 600; }
    .showcase { position: relative; min-height: 320px; border-radius: 28px; overflow: hidden; background: #e7ddd2; }
    .showcase img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.06); transition: transform 1.2s ease; filter: saturate(.98) contrast(1.03); }
    .showcase:hover img { transform: scale(1.11); }
    .showcase::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(24,20,18,.38)); }
    .showcase-copy { position: absolute; left: 20px; right: 20px; bottom: 20px; color: white; z-index: 2; display: flex; align-items: end; justify-content: space-between; gap: 16px; }
    .showcase-copy small { display: block; color: rgba(255,255,255,.76); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 6px; }
    .showcase-copy strong { display: block; font-family: "Cormorant Garamond", serif; font-size: 34px; line-height: .95; font-weight: 600; }

    .section { padding: 28px 0; }
    .section-head { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 24px; }
    .section-head h2 { max-width: 11ch; }
    .section-head p { max-width: 62ch; }

    .editorial-band { padding: 38px; border-radius: 40px; background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.72)); border: 1px solid rgba(255,255,255,.85); box-shadow: var(--shadow); overflow: hidden; position: relative; }
    .editorial-band::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% 18%, rgba(185,138,87,.16), transparent 24%), radial-gradient(circle at 18% 78%, rgba(255,255,255,.55), transparent 22%); pointer-events: none; }
    .editorial-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; gap: 24px; align-items: end; }
    .editorial-band h2 { max-width: 10ch; }
    .editorial-band p { margin-top: 18px; max-width: 58ch; }
    .editorial-notes { display: grid; gap: 14px; }
    .editorial-note { padding: 18px 20px; border-radius: 24px; background: rgba(255,255,255,.62); border: 1px solid rgba(24,20,18,.08); }
    .editorial-note span { display: block; color: var(--muted); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 8px; }
    .editorial-note strong { font-family: "Cormorant Garamond", serif; font-size: 28px; font-weight: 600; }

    .sample-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
    .sample-card { grid-column: span 4; position: relative; border-radius: 32px; overflow: hidden; background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.68)); border: 1px solid rgba(255,255,255,.9); box-shadow: var(--shadow); transform-style: preserve-3d; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; will-change: transform; }
    .sample-card:hover { box-shadow: 0 34px 90px rgba(24,20,18,.14); border-color: rgba(185,138,87,.25); }
    .sample-card.is-selected { border-color: rgba(185,138,87,.55); box-shadow: 0 20px 80px rgba(185,138,87,.18); }
    .sample-visual { position: relative; height: 355px; overflow: hidden; background: #eae0d5; }
    .sample-visual img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .9s ease, filter .4s ease; }
    .sample-card:hover .sample-visual img { transform: scale(1.06); filter: saturate(1.03) contrast(1.02); }
    .sample-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,0) 6%, rgba(24,20,18,.08) 58%, rgba(24,20,18,.28) 100%); opacity: 0; transition: opacity .35s ease; }
    .sample-overlay::after { content: ""; position:absolute; left:18px; right:18px; bottom:16px; height:72px; border-radius: 999px; background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0)); opacity:.25; }
    .sample-card:hover .sample-overlay { opacity: 1; }
    .sample-view, .sample-select {
      position:absolute; bottom: 18px; z-index:2; border: 0; border-radius: 999px; min-height: 44px; padding: 0 18px; background: rgba(255,255,255,.88); color: var(--ink); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; box-shadow: 0 10px 24px rgba(24,20,18,.12); transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
    }
    .sample-view { left: 18px; }
    .sample-select { right: 18px; background: rgba(24,20,18,.86); color: white; }
    .sample-card:hover .sample-view, .sample-card:hover .sample-select { transform: translateY(-2px); box-shadow: 0 18px 28px rgba(24,20,18,.18); }
    .sample-card.is-selected .sample-select { background: linear-gradient(135deg, #b98a57, #d1ab7b); color: white; }
    .sample-content { padding: 22px; }
    .sample-kicker { color: var(--gold); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; margin-bottom: 12px; }
    .sample-content h3 { margin: 0 0 16px; font-family: "Cormorant Garamond", serif; font-size: var(--card-title-size); line-height: .98; font-weight: 600; }
    .sample-meta-grid { display: grid; gap: 12px; }
    .sample-meta-grid div { padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.66); border: 1px solid rgba(24,20,18,.08); }
    .sample-meta-grid span { display: block; color: var(--muted); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 8px; }
    .sample-meta-grid strong { display: block; font-family: "Cormorant Garamond", serif; font-size: 24px; line-height: 1.05; font-weight: 600; }

    .logic-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 26px; align-items: stretch; }
    .logic-panel, .logic-steps { padding: 32px; border-radius: 34px; background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72)); border: 1px solid rgba(255,255,255,.88); box-shadow: var(--shadow); }
    .logic-panel { min-height: 100%; }
    .logic-panel p { margin-top: 20px; max-width: 48ch; }
    .logic-steps { display: grid; gap: 18px; padding: 0; background: transparent; border: 0; box-shadow: none; }
    .step-card { padding: 30px 28px; border-radius: 34px; background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.72)); border: 1px solid rgba(255,255,255,.88); box-shadow: var(--shadow); }
    .step-label { color: var(--gold); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; }
    .step-card h4 { max-width: 14ch; }
    .step-card p { margin-top: 16px; }
    .logic-panel.reveal-split { transform: translateX(-52px) translateY(24px); }
    .logic-steps .step-card.reveal-split { transform: translateX(52px) translateY(24px); }

    .contact-footer { padding: 58px 0 18px; }
    .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; padding: 54px; border-radius: 40px; background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.74)); border: 1px solid rgba(255,255,255,.9); box-shadow: var(--shadow); }
    .contact-col { min-height: 420px; position: relative; }
    .contact-col + .contact-col { border-left: 1px solid rgba(24,20,18,.08); padding-left: 32px; }
    .footer-label { color: var(--gold); font-size: 11px; letter-spacing: .24em; text-transform: uppercase; margin-bottom: 26px; }
    .contact-role, .company-sub { margin-top: 18px; color: #8790a0; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; }
    .thin-line { width: 26px; height: 1px; background: var(--gold); margin: 26px 0 22px; }
    .phone-blocks { display: grid; gap: 16px; margin-bottom: 24px; }
    .phone-row { display: grid; grid-template-columns: 28px 1fr; gap: 8px; align-items: baseline; }
    .phone-row .country { font-size: 12px; color: var(--gold); letter-spacing: .18em; text-transform: uppercase; font-weight: 600; }
    .phone-row .number { font-family: "Cormorant Garamond", serif; font-size: 26px; line-height: 1.1; }
    .contact-links { display: grid; gap: 12px; margin-top: 18px; }
    .contact-links a, .company-info a { color: var(--rose); text-decoration: none; font-size: 18px; font-family: "Cormorant Garamond", serif; }
    .contact-links small { color: var(--rose); font-family: Inter, sans-serif; font-size: 15px; }
    .contact-btn { display: inline-flex; align-items: center; justify-content: center; margin-top: 28px; min-height: 50px; padding: 0 22px; border-radius: 0; background: var(--rose); color: #fff; text-decoration: none; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; box-shadow: 0 14px 30px rgba(177,59,102,.22); }
    .company-info { display: grid; gap: 14px; margin-top: 22px; }
    .stamp { width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(185,138,87,.45); display: grid; place-items: center; color: var(--gold); font-family: "Cormorant Garamond", serif; font-size: 24px; margin-top: 26px; }
    .confidential { padding: 52px 0 110px; text-align: center; }
    .confidential-mark { width: 34px; height: 34px; margin: 0 auto 16px; border-radius: 50%; border: 1px solid rgba(24,20,18,.18); display: grid; place-items: center; color: rgba(24,20,18,.55); font-family: "Cormorant Garamond", serif; font-size: 22px; }
    .confidential h4 { margin: 0; color: var(--gold); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; font-weight: 500; }
    .confidential .thin-line { margin: 20px auto 24px; }
    .confidential p { max-width: 60ch; margin: 0 auto; font-family: "Cormorant Garamond", serif; font-size: clamp(25px, 2vw, 36px); line-height: 1.65; color: #40362f; }
    .confidential .meta { margin-top: 26px; color: rgba(24,20,18,.34); font-size: 13px; }

    .reveal, .reveal-split { opacity: 0; transition: opacity .8s ease, transform .9s cubic-bezier(.22,1,.36,1); }
    .reveal { transform: translateY(28px); }
    .reveal.is-visible, .reveal-split.is-visible { opacity: 1; transform: translate(0,0); }

    .modal {
      position: fixed; inset: 0; z-index: 140; display: none; align-items: center; justify-content: center; padding: 24px; background: rgba(17,13,11,.45); backdrop-filter: blur(18px);
    }
    .modal.open { display: flex; }
    .modal-card { width: min(1120px, 100%); background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.84)); border: 1px solid rgba(255,255,255,.92); border-radius: 36px; overflow: hidden; box-shadow: var(--shadow-strong); display: grid; grid-template-columns: 1.08fr .92fr; }
    .modal-media { min-height: 640px; background: #ede4da; }
    .modal-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .modal-copy { padding: 34px; display: grid; align-content: center; gap: 16px; }
    .modal-close { position: absolute; right: 18px; top: 18px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: rgba(255,255,255,.88); cursor: pointer; box-shadow: 0 12px 24px rgba(24,20,18,.12); }

    .selection-drawer {
      position: fixed; left: 22px; bottom: 22px; z-index: 130; width: min(420px, calc(100vw - 32px));
      background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88)); border: 1px solid rgba(24,20,18,.08); border-radius: 28px; box-shadow: 0 20px 70px rgba(24,20,18,.14); padding: 18px; backdrop-filter: blur(14px);
    }
    .selection-drawer.hidden { display: none; }
    .drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
    .drawer-title { font-family: "Cormorant Garamond", serif; font-size: 28px; font-weight: 600; }
    .drawer-count { color: var(--gold); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
    .drawer-list { display: grid; gap: 10px; max-height: 180px; overflow: auto; padding-right: 4px; }
    .drawer-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 18px; background: rgba(246,240,232,.9); border: 1px solid rgba(24,20,18,.06); }
    .drawer-item strong { font-family: "Cormorant Garamond", serif; font-size: 22px; line-height: 1; }
    .drawer-item span { color: var(--muted); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; display: block; margin-bottom: 6px; }
    .remove-btn { border: 0; background: transparent; color: var(--muted); cursor: pointer; font-size: 18px; }
    .drawer-actions { display: flex; gap: 10px; margin-top: 14px; }
    .drawer-actions .btn { flex: 1; min-height: 48px; font-size: 11px; }
    .drawer-note { margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.6; }

    .toast {
      position: fixed; right: 22px; bottom: 22px; z-index: 150; background: rgba(24,20,18,.94); color: #fff; padding: 16px 18px; border-radius: 18px; box-shadow: 0 18px 50px rgba(24,20,18,.24); min-width: 280px; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .35s ease, transform .35s ease;
    }
    .toast.show { opacity: 1; transform: translateY(0); }
    .toast strong { display: block; margin-bottom: 6px; font-size: 14px; }
    .toast span { color: rgba(255,255,255,.76); font-size: 13px; }


    .hero-dark { min-height: 100vh; position: relative; margin: 0 calc((100vw - var(--container))/ -2); padding: 28px 26px 42px; background: #050505; color: #f3eee8; overflow: hidden; }
    .hero-dark::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at 50% 55%, rgba(255,255,255,.03), transparent 18%), linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0)); pointer-events:none; }
    .hero-dark .hero-shell { position: relative; z-index: 1; min-height: calc(100vh - 70px); display:flex; flex-direction:column; }
    .hero-dark-top { display:flex; align-items:center; justify-content:space-between; gap:16px; }
    .mini-brand { display:flex; align-items:center; gap:10px; color:#f1e7d7; }
    .mini-brand-mark { width:20px; height:20px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(193,154,104,.6); color:#c19a68; font-family:"Cormorant Garamond",serif; font-size:14px; }
    .mini-brand-text { font-family:"Cormorant Garamond",serif; font-size:15px; font-style:italic; letter-spacing:.01em; }
    .hero-dark-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
    .hero-dark-btn { min-height:44px; padding:0 18px; border:1px solid rgba(193,154,104,.32); background:#e2bb77; color:#2a1a0d; text-decoration:none; text-transform:uppercase; letter-spacing:.18em; font-size:11px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
    .hero-dark-btn.secondary { background:transparent; color:#f1e7d7; border-color:rgba(255,255,255,.18); }
    .hero-dark-center { flex:1; display:grid; place-items:center; text-align:center; padding:40px 0 64px; }
    .hero-dark-mark { width:74px; height:74px; margin:0 auto 28px; border-radius:50%; border:1px solid rgba(193,154,104,.72); box-shadow: inset 0 0 0 4px rgba(193,154,104,.06); display:grid; place-items:center; color:#d3a35f; font-family:"Cormorant Garamond",serif; font-size:44px; }
    .hero-dark-kicker { color:#c79c5f; font-size:12px; letter-spacing:.34em; text-transform:uppercase; margin-bottom:24px; }
    .hero-dark-title { margin:0; font-family:"Cormorant Garamond",serif; font-size:clamp(58px,6vw,102px); line-height:.95; font-weight:500; letter-spacing:-.03em; }
    .hero-dark-chip { display:inline-block; margin:16px auto 24px; background:#2458df; color:white; padding:4px 8px; font-size:12px; letter-spacing:.22em; text-transform:uppercase; }
    .hero-dark-line { width:28px; height:1px; margin:0 auto 22px; background:#d0a05e; }
    .hero-dark-name { font-family:"Cormorant Garamond",serif; font-size:32px; }
    .hero-dark-role { color:#8c7758; font-size:12px; letter-spacing:.3em; text-transform:uppercase; margin-top:8px; }
    .hero-dark-foot { position:absolute; right:26px; bottom:12px; color:rgba(255,255,255,.16); font-size:12px; }
    .contact-trigger { border:0; }
    .popup-modal { position:fixed; inset:0; display:none; align-items:center; justify-content:center; z-index:160; background:rgba(14,11,10,.46); backdrop-filter: blur(14px); padding:20px; }
    .popup-modal.open { display:flex; }
    .popup-card { width:min(680px,100%); background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.92)); border:1px solid rgba(24,20,18,.08); border-radius:30px; box-shadow:var(--shadow-strong); padding:28px; position:relative; }
    .popup-close { position:absolute; top:16px; right:16px; width:40px; height:40px; border-radius:50%; border:0; background:rgba(24,20,18,.06); cursor:pointer; font-size:18px; }
    .popup-card h3 { margin:0 0 8px; font-family:"Cormorant Garamond",serif; font-size:46px; line-height:.95; font-weight:600; }
    .popup-card p { margin:0 0 18px; color:var(--muted); line-height:1.8; }
    .form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
    .field, .field-full { display:grid; gap:8px; }
    .field-full { grid-column:1 / -1; }
    .field label, .field-full label { color:var(--gold); font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
    .field input, .field-full input, .field-full textarea { width:100%; border:1px solid rgba(24,20,18,.10); border-radius:16px; background:rgba(246,240,232,.72); padding:14px 16px; font:inherit; color:var(--ink); }
    .field-full textarea { min-height:150px; resize:vertical; }
    .popup-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:18px; }

    @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
    
    .sample-card { isolation: isolate; }
    .sample-card::after {
      content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
      background: linear-gradient(180deg, rgba(255,255,255,.0), rgba(255,255,255,.08));
      opacity: 0; transition: opacity .35s ease;
    }
    .sample-card:hover::after { opacity: 1; }
    .sample-card:hover { transform: translateY(-10px) scale(1.006); }
    .sample-card:hover .sample-content { transform: translateY(-4px); }
    .sample-content { transition: transform .35s ease; }
    .sample-visual::after {
      content: ""; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.22), transparent 28%);
      opacity: 0; transition: opacity .35s ease;
    }
    .sample-card:hover .sample-visual::after { opacity: 1; }
    .sample-overlay { align-items: center; }
    .sample-view, .sample-select { transition: transform .28s ease, box-shadow .28s ease, background .28s ease; }
    .sample-view:hover, .sample-select:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 16px 30px rgba(24,20,18,.18); }

    .hero-premium {
      padding: 34px 0 18px;
    }
    .hero-premium-grid {
      display: grid; grid-template-columns: 1.08fr .92fr; gap: 26px; align-items: stretch;
    }
    .hero-premium-main {
      padding: 40px; min-height: 760px;
      background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
      border: 1px solid rgba(255,255,255,.9); border-radius: 42px; box-shadow: var(--shadow); position: relative; overflow: hidden;
    }
    .hero-premium-main::before {
      content: ""; position: absolute; inset: 0; pointer-events: none;
      background: radial-gradient(circle at 15% 12%, rgba(185,138,87,.10), transparent 22%), radial-gradient(circle at 90% 8%, rgba(255,255,255,.75), transparent 18%), linear-gradient(180deg, rgba(255,255,255,.18), transparent 35%);
    }
    .hero-premium-copy { position: relative; z-index: 1; display:grid; grid-template-rows:auto 1fr auto; min-height: 100%; }
    .hero-premium-top { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom: 34px; }
    .hero-premium-mini { display:flex; align-items:center; gap:14px; }
    .hero-premium-mark { width:58px; height:58px; border-radius:50%; display:grid; place-items:center; font-family:"Cormorant Garamond", serif; font-size:34px; color: var(--gold); border:1px solid rgba(185,138,87,.38); background: rgba(255,255,255,.78); box-shadow: inset 0 0 0 9px rgba(185,138,87,.05); }
    .hero-premium-mini strong { display:block; font-size:13px; text-transform:uppercase; letter-spacing:.2em; }
    .hero-premium-mini small { display:block; color: var(--muted); font-size:10px; letter-spacing:.2em; text-transform:uppercase; margin-top:5px; }
    .hero-premium-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end; }
    .hero-premium-btn {
      min-height:46px; padding:0 18px; border-radius:999px; border:1px solid rgba(24,20,18,.08); background: rgba(255,255,255,.72); color: var(--ink); text-transform:uppercase; letter-spacing:.18em; font-size:11px; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
    }
    .hero-premium-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px rgba(24,20,18,.1); background: rgba(255,255,255,.94); }
    .hero-premium-btn.primary { background: linear-gradient(135deg, #2a201b, #76553a); color:#fff; border:0; }
    .hero-premium-editorial {
      display:grid; grid-template-columns: 1.15fr .85fr; gap: 22px; align-items: stretch;
    }
    .hero-premium-copyblock {
      display:flex; flex-direction:column; justify-content:space-between; gap:18px;
    }
    .hero-premium-title {
      margin: 0; font-family: "Cormorant Garamond", serif; font-size: clamp(66px, 7vw, 118px); line-height: .88; letter-spacing: -.055em; font-weight: 600; max-width: 8.2ch;
    }
    .hero-premium-chip {
      display: inline-flex; align-items:center; gap:10px; margin: 20px 0 18px; padding: 8px 12px; border-radius: 999px;
      background: rgba(255,255,255,.82); border: 1px solid rgba(24,20,18,.08); color: var(--gold); font-size: 11px; letter-spacing: .24em; text-transform: uppercase;
    }
    .hero-premium-lead { max-width: 54ch; color: #5d544c; font-size: 15px; line-height: 1.9; }
    .hero-premium-author { margin-top: 10px; display:grid; gap:6px; }
    .hero-premium-author strong { font-family: "Cormorant Garamond", serif; font-size: 34px; font-weight: 600; }
    .hero-premium-author span { color: var(--gold); font-size: 11px; letter-spacing:.28em; text-transform: uppercase; }
    .hero-premium-rail {
      padding: 18px; border-radius: 26px; background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.56));
      border: 1px solid rgba(24,20,18,.07); display:grid; gap:14px;
    }
    .hero-premium-note { color: var(--gold); font-size:11px; letter-spacing:.24em; text-transform:uppercase; }
    .hero-premium-quote { font-family:"Cormorant Garamond", serif; font-size: 36px; line-height:.95; letter-spacing:-.03em; font-weight:600; margin:0; }
    .hero-premium-summary { color: var(--muted); font-size:14px; line-height:1.85; }
    .hero-premium-microgrid { display:grid; grid-template-columns: repeat(2,1fr); gap:12px; }
    .hero-premium-microgrid .house-item { min-height: 112px; }
    .hero-premium-stats { position: relative; z-index:1; display:grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 26px; }
    .hero-premium-stat { padding: 16px 18px; border-radius: 22px; background: rgba(255,255,255,.62); border: 1px solid rgba(24,20,18,.07); min-height: 104px; display:grid; align-content:space-between; }
    .hero-premium-stat span { color: var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.18em; }
    .hero-premium-stat strong { font-family:"Cormorant Garamond",serif; font-size:28px; font-weight:600; line-height:1; }
    .hero-premium-side { display:grid; grid-template-rows: .78fr 1.22fr; gap: 24px; }
    .hero-premium-card { padding: 26px; background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(255,255,255,.74)); border: 1px solid rgba(255,255,255,.88); border-radius: 34px; box-shadow: var(--shadow); position: relative; overflow:hidden; }
    .hero-premium-card::before { content:""; position:absolute; inset:0; pointer-events:none; background: linear-gradient(160deg, rgba(255,255,255,.28), transparent 35%); }
    .hero-premium-card > * { position: relative; z-index:1; }
    .hero-premium-card h2 { margin: 14px 0 16px; font-family:"Cormorant Garamond", serif; font-size: clamp(34px, 3.5vw, 54px); line-height: .94; font-weight: 600; letter-spacing:-.03em; }
    .hero-premium-card p { color: var(--muted); font-size: 14px; line-height: 1.85; }
    .hero-premium-gridlist { display:grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-top: 22px; }
    .hero-premium-gridlist .house-item { background: rgba(255,255,255,.66); }
    .hero-premium-showcase {
      min-height: 420px; border-radius: 28px; overflow:hidden; position:relative; background:#e8dfd5;
      display:grid; grid-template-rows: 1fr auto;
    }
    .hero-premium-showcase img { width:100%; height:100%; object-fit:cover; display:block; transition: transform 1.2s ease; }
    .hero-premium-showcase:hover img { transform: scale(1.07); }
    .hero-premium-showcase::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,255,255,.02) 0%, rgba(24,20,18,.18) 76%, rgba(24,20,18,.32) 100%); }
    .hero-premium-showcase-copy { position:absolute; left:20px; right:20px; bottom:20px; z-index:2; color:#fff; }
    .hero-premium-showcase-copy span { display:block; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color: rgba(255,255,255,.72); margin-bottom:10px; }
    .hero-premium-showcase-copy strong { display:block; font-family:"Cormorant Garamond", serif; font-size:42px; line-height:.9; font-weight:600; }
    .hero-premium-showcase-meta {
      position:absolute; left:20px; top:20px; z-index:2; display:flex; gap:10px; flex-wrap:wrap;
    }
    .hero-premium-tag {
      padding:8px 12px; border-radius:999px; background: rgba(255,255,255,.74); border:1px solid rgba(255,255,255,.48);
      color: var(--ink); font-size:10px; letter-spacing:.18em; text-transform:uppercase; backdrop-filter: blur(8px);
    }

    .modal-card { position: relative; }
    .modal-media { overflow: hidden; cursor: zoom-in; }
    .modal-media img { transition: transform .35s ease, transform-origin .2s ease; }
    .modal-action-row { display:flex; gap:12px; flex-wrap:wrap; margin-top: 10px; }
    .modal-select-btn { min-height: 50px; padding:0 20px; }

    .footer-redesign {
      padding: 56px 0 18px;
    }
    .footer-shell {
      background: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255,255,255,.76));
      border: 1px solid rgba(255,255,255,.9); border-radius: 42px; box-shadow: var(--shadow); overflow: hidden;
    }
    .footer-top {
      display:grid; grid-template-columns: .82fr 1.18fr; gap:0; align-items:stretch;
    }
    .footer-panel { padding: 44px; }
    .footer-panel + .footer-panel { border-left: 1px solid rgba(24,20,18,.07); }
    .footer-kicker { color: var(--gold); font-size:11px; letter-spacing:.24em; text-transform:uppercase; margin-bottom: 22px; }
    .footer-panel h3 { margin:0; font-family:"Cormorant Garamond", serif; font-size: clamp(48px, 5vw, 76px); line-height:.9; font-weight:600; letter-spacing:-.03em; }
    .footer-panel p, .footer-panel a, .footer-subline { color: var(--muted); font-size:14px; line-height:1.85; text-decoration:none; }
    .footer-subline { margin-top: 14px; text-transform: uppercase; letter-spacing: .24em; font-size: 11px; color: #8c93a3; }
    .footer-lines { display:grid; gap: 12px; margin-top: 24px; }
    .footer-lines a { display:flex; gap:10px; align-items:center; font-family:"Cormorant Garamond", serif; font-size: 24px; color: #8a3c64; }
    .footer-metrics { margin-top: 26px; display:grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
    .footer-metric { padding: 16px 18px; border-radius: 20px; background: rgba(255,255,255,.62); border: 1px solid rgba(24,20,18,.06); }
    .footer-metric span { display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color: var(--muted); margin-bottom:8px; }
    .footer-metric strong { font-family:"Cormorant Garamond", serif; font-size: 24px; font-weight:600; line-height:1; }
    .footer-bottom {
      padding: 26px 44px 34px; border-top: 1px solid rgba(24,20,18,.07); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    }
    .footer-bottom-left { display:flex; align-items:center; gap:14px; }
    .footer-stamp { width:40px; height:40px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(185,138,87,.4); color: var(--gold); font-family:"Cormorant Garamond", serif; font-size:24px; }
    .footer-bottom small { color: rgba(24,20,18,.42); font-size: 12px; }
    .footer-bottom-nav { display:flex; gap:12px; flex-wrap:wrap; }
    .footer-link-chip { padding: 10px 14px; border-radius:999px; background: rgba(255,255,255,.66); border:1px solid rgba(24,20,18,.08); color: var(--ink); text-decoration:none; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }

    @media (max-width: 1180px) {
      .hero-grid, .editorial-grid, .logic-section, .contact-grid, .modal-card { grid-template-columns: 1fr; }
      .hero-side { grid-template-rows: auto; }
      .sample-card { grid-column: span 6; }
      .contact-col + .contact-col { border-left: 0; padding-left: 0; border-top: 1px solid rgba(24,20,18,.08); padding-top: 32px; }
      .modal-media { min-height: 420px; }
    }
    @media (max-width: 760px) {
      :root { --container: min(1460px, calc(100% - 28px)); --title-size: clamp(34px, 9vw, 52px); }
      .house-card, .showcase-card, .editorial-band, .step-card, .contact-grid, .popup-card { padding: 24px; }
      .hero-premium-grid, .editorial-grid, .logic-section, .footer-top { grid-template-columns: 1fr; }
      .hero-premium-editorial { grid-template-columns: 1fr; }
      .hero-premium-side { grid-template-rows: auto; }
      .hero-premium-main, .hero-premium-card, .footer-panel, .footer-bottom { padding: 28px; }
      .hero-premium-side { grid-template-rows: auto; }
      .hero-premium-top { flex-direction: column; align-items: flex-start; }
      .hero-premium-title { font-size: 64px; }
      .hero-premium-stats, .footer-metrics { grid-template-columns: repeat(2, 1fr); }
      .footer-panel + .footer-panel { border-left: 0; border-top: 1px solid rgba(24,20,18,.07); }
      .hero-title { font-size: 52px; }
      .hero-stats, .house-grid { grid-template-columns: 1fr 1fr; }
      .section-head { flex-direction: column; align-items: flex-start; }
      .sample-card { grid-column: span 12; }
      .phone-row .number { font-size: 22px; }
      .confidential p { font-size: 22px; }
      .modal-copy { padding: 24px; }
      .selection-drawer { left: 14px; right: 14px; bottom: 14px; width: auto; }
      .toast { left: 14px; right: 14px; bottom: 14px; min-width: 0; }
    }
    @media (max-width: 560px) {
      .hero-stats, .house-grid { grid-template-columns: 1fr; }
      .sample-overlay { opacity: 1; }
      .sample-overlay { flex-wrap: wrap; align-items: end; }
    }

    /* =========================
       V10 HERO REDESIGN
       ========================= */
    .hero-premium { padding: 28px 0 18px; }
    .hero-premium-grid { display:grid; grid-template-columns: 1.12fr .88fr; gap:26px; align-items:stretch; }
    .hero-premium-main,
    .hero-premium-card {
      background: linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.76));
      border: 1px solid rgba(255,255,255,.92);
      border-radius: 42px;
      box-shadow: var(--shadow);
      overflow: hidden;
    }
    .hero-premium-main { padding: 34px 38px 36px; min-height: 760px; display:flex; flex-direction:column; }
    .hero-premium-top { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
    .hero-premium-mini { display:flex; align-items:center; gap:16px; }
    .hero-premium-mark { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(185,138,87,.4); color:var(--gold); background:rgba(255,255,255,.7); font-family:"Cormorant Garamond",serif; font-size:31px; box-shadow: inset 0 0 0 8px rgba(185,138,87,.05); }
    .hero-premium-mini strong { display:block; font-size:14px; text-transform:uppercase; letter-spacing:.18em; }
    .hero-premium-mini small { display:block; color:var(--muted); font-size:11px; letter-spacing:.18em; text-transform:uppercase; margin-top:4px; }
    .hero-premium-actions { display:flex; gap:12px; flex-wrap:wrap; }
    .hero-premium-btn { min-height:48px; padding:0 20px; border-radius:999px; background:rgba(255,255,255,.74); border:1px solid rgba(24,20,18,.08); color:var(--ink); letter-spacing:.16em; text-transform:uppercase; font-size:11px; font-weight:700; cursor:pointer; transition:transform .3s ease, box-shadow .3s ease, background .3s ease; }
    .hero-premium-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 24px rgba(24,20,18,.10); }
    .hero-premium-btn.primary { background: linear-gradient(135deg, #36251a, #6a4a33); color:white; border-color: transparent; }
    .hero-premium-layout { display:grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr); gap:28px; margin-top:42px; align-items:start; flex:1; }
    .hero-premium-copyblock { display:flex; flex-direction:column; justify-content:space-between; min-height:100%; }
    .hero-premium-title { max-width: 7.5ch; margin-top: 16px; }
    .hero-premium-chip { display:inline-flex; width:max-content; padding:7px 14px; border-radius:999px; border:1px solid rgba(24,20,18,.08); background:rgba(255,255,255,.72); color:var(--gold); text-transform:uppercase; letter-spacing:.2em; font-size:11px; font-weight:700; margin-top:18px; }
    .hero-premium-lead { max-width: 54ch; margin-top: 26px; color:#5c534b; }
    .hero-premium-author { margin-top: 34px; }
    .hero-premium-author strong { font-family:"Cormorant Garamond",serif; font-size: clamp(26px, 2.2vw, 38px); font-weight:600; display:block; }
    .hero-premium-author span { display:block; margin-top:8px; color:var(--gold); font-size:11px; letter-spacing:.24em; text-transform:uppercase; font-weight:700; }
    .hero-premium-sidecol { display:grid; gap:18px; align-content:start; }
    .hero-premium-givenchy { padding: 26px; border-radius: 30px; background: linear-gradient(180deg, rgba(255,255,255,.74), rgba(248,244,239,.88)); border:1px solid rgba(24,20,18,.08); }
    .hero-premium-givenchy-top { display:flex; align-items:center; gap:18px; }
    .hero-premium-logo-wrap { width:88px; height:88px; border-radius:28px; background:#fff; border:1px solid rgba(24,20,18,.08); display:grid; place-items:center; box-shadow: 0 14px 30px rgba(24,20,18,.06); }
    .hero-premium-logo-wrap img { width:58px; height:58px; object-fit:contain; }
    .hero-premium-givenchy span { color:var(--gold); font-size:11px; letter-spacing:.24em; text-transform:uppercase; display:block; margin-bottom:8px; font-weight:700; }
    .hero-premium-givenchy strong { font-family:"Cormorant Garamond",serif; font-size: clamp(30px, 2.8vw, 42px); line-height:.96; font-weight:600; display:block; }
    .hero-premium-givenchy p { margin-top:18px; color:var(--muted); }
    .hero-premium-mini-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:14px; }
    .hero-premium-mini-card { padding:18px; border-radius:24px; background:rgba(255,255,255,.68); border:1px solid rgba(24,20,18,.08); }
    .hero-premium-mini-card span { display:block; color:var(--muted); font-size:10px; letter-spacing:.18em; text-transform:uppercase; margin-bottom:8px; }
    .hero-premium-mini-card strong { font-family:"Cormorant Garamond",serif; font-size: 26px; line-height:1.02; font-weight:600; }
    .hero-premium-stats { display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; margin-top:34px; }
    .hero-premium-stat { min-height:126px; padding:18px; border-radius:24px; background: rgba(255,255,255,.66); border:1px solid rgba(24,20,18,.08); display:flex; flex-direction:column; justify-content:space-between; }
    .hero-premium-stat span { display:block; color:var(--muted); font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
    .hero-premium-stat strong { font-family:"Cormorant Garamond",serif; font-size: 27px; line-height:1.02; font-weight:600; }
    .hero-premium-side { display:grid; gap:22px; }
    .hero-premium-card { padding: 26px; }
    .hero-premium-card h2 { margin-top: 16px; max-width: 12ch; }
    .hero-premium-showcase { position:relative; min-height: 380px; border-radius: 28px; overflow:hidden; background:#e9dfd3; }
    .hero-premium-showcase img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition: transform 1s ease; }
    .hero-premium-showcase:hover img { transform: scale(1.05); }
    .hero-premium-showcase::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(24,20,18,.25)); }
    .hero-premium-showcase-meta { position:absolute; left:18px; right:18px; top:18px; display:flex; gap:10px; flex-wrap:wrap; z-index:2; }
    .hero-premium-tag { padding:7px 10px; border-radius:999px; background: rgba(255,255,255,.82); border:1px solid rgba(24,20,18,.08); color:var(--muted); font-size:10px; letter-spacing:.16em; text-transform:uppercase; }
    .hero-premium-showcase-copy { position:absolute; left:18px; right:18px; bottom:24px; z-index:2; color:#fff; }
    .hero-premium-showcase-copy span { display:block; font-size:10px; letter-spacing:.18em; text-transform:uppercase; opacity:.88; margin-bottom:6px; }
    .hero-premium-showcase-copy strong { font-family:"Cormorant Garamond",serif; font-size: clamp(28px,2.6vw,42px); line-height:.96; font-weight:600; }

    /* Card hover and CTA positioning */
    .sample-card { overflow: hidden; }
    .sample-card::before { content:""; position:absolute; inset:0; background: radial-gradient(circle at var(--mx,50%) var(--my,50%), rgba(255,255,255,.22), transparent 30%); opacity:0; transition: opacity .35s ease; pointer-events:none; z-index:0; }
    .sample-card:hover::before { opacity: 1; }
    .sample-card:hover { transform: translateY(-10px) scale(1.008); }
    .sample-visual { height: 362px; }
    .sample-overlay { opacity: 1; background: linear-gradient(180deg, rgba(255,255,255,0) 30%, rgba(24,20,18,.08) 68%, rgba(24,20,18,.22) 100%); }
    .sample-overlay::after { bottom: 8px; height: 86px; opacity:.20; }
    .sample-action-row { position:absolute; left:18px; right:18px; bottom:12px; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:12px; }
    .sample-view, .sample-select { position: static; min-width: 136px; min-height: 46px; }
    .sample-view { background: rgba(255,255,255,.90); }
    .sample-select { background: rgba(24,20,18,.90); }
    .sample-card:hover .sample-view, .sample-card:hover .sample-select { transform: translateY(-1px); }

    /* Modal zoom redesign */
    .modal-card { position: relative; }
    .modal-media { position: relative; overflow: hidden; cursor: crosshair; background: #ece2d8; }
    .modal-media img { transition: transform .18s ease-out; will-change: transform, transform-origin; }
    .zoom-toolbar { position:absolute; left:18px; bottom:24px; z-index:3; display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:999px; background: rgba(255,255,255,.86); border:1px solid rgba(24,20,18,.08); box-shadow: 0 12px 28px rgba(24,20,18,.12); backdrop-filter: blur(10px); }
    .zoom-toolbar button { width:34px; height:34px; border-radius:50%; border:1px solid rgba(24,20,18,.08); background:white; cursor:pointer; font-size:18px; }
    .zoom-toolbar input[type=range] { width: 130px; }
    .zoom-hint { position:absolute; right:18px; bottom:24px; z-index:3; padding:9px 12px; border-radius:999px; background: rgba(24,20,18,.72); color:#fff; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
    .modal-action-row { display:flex; gap:12px; margin-top: 6px; }
    .modal-action-row .btn { flex:1; }

    @media (max-width: 1180px) {
      .hero-premium-grid { grid-template-columns: 1fr; }
      .hero-premium-layout { grid-template-columns: 1fr; }
      .hero-premium-stats { grid-template-columns: repeat(2, 1fr); }
      .hero-premium-card h2 { max-width: none; }
      .modal-card { grid-template-columns: 1fr; }
      .modal-media { min-height: 420px; }
    }
    @media (max-width: 760px) {
      .hero-premium-main { padding: 22px; min-height: auto; }
      .hero-premium-top { flex-direction: column; align-items: stretch; }
      .hero-premium-actions { width:100%; }
      .hero-premium-btn { flex:1; }
      .hero-premium-stats { grid-template-columns: 1fr 1fr; }
      .hero-premium-mini-grid { grid-template-columns: 1fr; }
      .sample-action-row { left:12px; right:12px; bottom:10px; }
      .sample-view, .sample-select { min-width: 0; flex:1; padding: 0 12px; }
      .zoom-toolbar { left:12px; right:12px; width:auto; justify-content:space-between; border-radius:22px; }
      .zoom-toolbar input[type=range] { flex:1; }
      .zoom-hint { display:none; }
    }


/* ===== V12 corrected hero ===== */
.hero-v12-grid{
  align-items:stretch;
}
.hero-v12-main{
  padding:28px 36px 34px;
}
.hero-v12-content{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.62fr);
  gap:18px;
  align-items:start;
  margin-top:12px;
}
.hero-v12-left{
  min-width:0;
}
.hero-v12-right{
  display:grid;
  gap:18px;
}
.hero-v12-title{
  max-width:6.5ch;
  margin-top:10px;
}
.hero-v12-note{
  background:rgba(255,255,255,.48);
  border:1px solid var(--line);
  border-radius:28px;
  padding:22px 18px;
  min-height:388px;
}
.hero-v12-note-label{
  display:inline-block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
  font-weight:600;
  margin-bottom:12px;
}
.hero-v12-note h2{
  margin:0 0 18px;
  font-size:clamp(34px,4vw,56px);
  line-height:.92;
  letter-spacing:-.03em;
  font-family:"Cormorant Garamond", serif;
  font-weight:600;
}
.hero-v12-note p{
  margin:0;
  color:var(--muted);
  line-height:1.8;
  font-size:15px;
}
.hero-v12-mini-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.hero-v12-lead{
  max-width:34ch;
}
.hero-v12-author{
  margin-top:72px;
}
.hero-v12-side .hero-premium-card:first-child{
  min-height:342px;
}

@media (max-width: 1220px){
  .hero-v12-content{
    grid-template-columns:1fr;
  }
  .hero-v12-note{
    min-height:auto;
  }
  .hero-v12-author{
    margin-top:32px;
  }
}
@media (max-width: 768px){
  .hero-v12-main{
    padding:22px 20px 24px;
  }
  .hero-v12-mini-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width: 560px){
  .hero-v12-mini-grid{
    grid-template-columns:1fr;
  }
}


/* ===== V13 Editorial Hero ===== */
.hero-editorial{
  position: relative;
}
.hero-editorial::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 85% 18%, rgba(0,0,0,.03), transparent 28%),
    radial-gradient(circle at 0% 0%, rgba(201,166,116,.06), transparent 22%);
  border-radius: 36px;
}
.hero-editorial-grid{
  display:grid;
  grid-template-columns: 1fr;
  max-width: 1120px;
  margin: 0 auto;
}
.hero-editorial-main{
  padding: 28px 40px 34px;
  min-height: auto;
}
.hero-editorial-body{
  max-width: 820px;
  margin-top: 26px;
}
.hero-editorial-title{
  max-width: 6.4ch;
  margin: 12px 0 10px;
  font-size: clamp(74px, 8vw, 118px);
  line-height: .86;
  letter-spacing: -.05em;
}
.hero-editorial-lead{
  max-width: 32ch;
  margin-top: 24px;
  font-size: clamp(18px, 1.25vw, 22px);
  line-height: 1.85;
}
.hero-editorial-author{
  margin-top: 56px;
}
.hero-editorial-stats{
  margin-top: 44px;
}
.hero-editorial-stats .hero-premium-stat{
  min-height: 110px;
}
@media (max-width: 1024px){
  .hero-editorial-main{
    padding: 24px 26px 28px;
  }
  .hero-editorial-title{
    font-size: clamp(62px, 10vw, 96px);
    max-width: 7.1ch;
  }
  .hero-editorial-lead{
    max-width: 34ch;
  }
}
@media (max-width: 640px){
  .hero-editorial-main{
    padding: 22px 18px 24px;
  }
  .hero-editorial-title{
    font-size: clamp(48px, 14vw, 76px);
    line-height: .9;
    max-width: 8ch;
  }
  .hero-editorial-author{
    margin-top: 36px;
  }
  .hero-editorial-stats{
    margin-top: 28px;
  }
}


/* ===== V14 Hero centered ===== */
.hero-editorial-grid{
  max-width: 1120px;
}
.hero-editorial-main{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding: 28px 40px 34px;
}
.hero-premium-top{
  width:100%;
}
.hero-editorial-body{
  max-width: 760px;
  margin-top: 26px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-editorial .eyebrow{
  justify-content:center;
}
.hero-editorial-title{
  max-width: 7.2ch;
  text-align:center;
}
.hero-premium-chip{
  margin-left:auto;
  margin-right:auto;
}
.hero-editorial-lead{
  max-width: 28ch;
  text-align:center;
}
.hero-editorial-author{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.hero-editorial-stats{
  width:100%;
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.hero-editorial-stats .hero-premium-stat{
  text-align:left;
}

@media (max-width: 640px){
  .hero-editorial-body{
    max-width: 100%;
  }
  .hero-editorial-lead{
    max-width: 100%;
  }
}


/* ===== V15 Hero full-width content ===== */
.hero-editorial-main{
  padding-left: 88px;
  padding-right: 88px;
}
.hero-editorial-body{
  width: 100%;
  max-width: 100%;
}
.hero-editorial-title{
  max-width: 100%;
  width: 100%;
}
.hero-editorial-lead{
  max-width: 100%;
  width: 100%;
  margin-top: 26px;
}
.hero-editorial-author{
  margin-top: 52px;
}
.hero-editorial-title,
.hero-editorial-lead,
.hero-editorial-author{
  width: min(100%, 980px);
}
@media (max-width: 1024px){
  .hero-editorial-main{
    padding-left: 42px;
    padding-right: 42px;
  }
  .hero-editorial-title,
  .hero-editorial-lead,
  .hero-editorial-author{
    width: min(100%, 860px);
  }
}
@media (max-width: 640px){
  .hero-editorial-main{
    padding-left: 20px;
    padding-right: 20px;
  }
  .hero-editorial-title,
  .hero-editorial-lead,
  .hero-editorial-author{
    width: 100%;
  }
}


/* ===== V16 Harmonisation globale ===== */

/* même largeur toutes sections */
.section,
.hero-premium,
.hero-editorial{
  max-width: 1200px;
  margin-left:auto;
  margin-right:auto;
}

/* padding cohérent */
.section{
  padding-left: 60px;
  padding-right: 60px;
}

/* TITRES plus équilibrés */
h1, .hero-editorial-title{
  font-size: clamp(52px, 5vw, 84px) !important;
  line-height: 1.05;
}

h2{
  font-size: clamp(32px, 3vw, 44px);
}

h3{
  font-size: clamp(24px, 2vw, 30px);
}

h4{
  font-size: 20px;
}

h5{
  font-size: 16px;
}

h6{
  font-size: 14px;
}

p{
  font-size: 16px;
  line-height: 1.7;
}

/* HERO spacing plus clean */
.hero-editorial-body{
  gap: 18px;
}

/* alignement des cards */
.hero-premium-stats{
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}

/* responsive ipad */
@media (max-width: 1024px){
  .section{
    padding-left: 30px;
    padding-right: 30px;
  }

  .hero-premium-stats{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* mobile */
@media (max-width: 640px){
  h1{
    font-size: 44px !important;
  }

  .hero-premium-stats{
    grid-template-columns: 1fr;
  }
}


/* ===== V17 FULL WIDTH GLOBAL ===== */

/* reset container width */
.section,
.hero-premium,
.hero-editorial {
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
}

/* global spacing */
.section {
  padding: 100px 80px;
}

/* hero full width */
.hero-editorial-main {
  padding-left: 80px;
  padding-right: 80px;
}

/* keep readability */
.hero-editorial-body,
.section-content {
  max-width: 1100px;
}

/* align left premium style */
.hero-editorial-body {
  margin-left: 0;
}

/* stats full width grid */
.hero-premium-stats {
  max-width: 1100px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px){
  .section{
    padding: 80px 40px;
  }

  .hero-editorial-main{
    padding-left: 40px;
    padding-right: 40px;
  }
}

@media (max-width: 640px){
  .section{
    padding: 60px 20px;
  }

  .hero-editorial-main{
    padding-left: 20px;
    padding-right: 20px;
  }
}


/* ===== V18 TRUE FULL WIDTH (NO INNER LIMIT) ===== */

/* remove ALL internal width limits */
* {
  max-width: none !important;
}

/* sections fully edge-to-edge */
.section,
.hero-premium,
.hero-editorial,
.hero-editorial-main,
.hero-editorial-body,
.hero-premium-stats {
  width: 100% !important;
  max-width: 100% !important;
}

/* remove container constraints */
.container,
.section-content {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 80px;
  padding-right: 80px;
}

/* HERO */
.hero-editorial-main {
  padding-left: 80px;
  padding-right: 80px;
}

/* stats stretch */
.hero-premium-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px){
  .container,
  .section-content,
  .hero-editorial-main {
    padding-left: 40px;
    padding-right: 40px;
  }

  .hero-premium-stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px){
  .container,
  .section-content,
  .hero-editorial-main {
    padding-left: 20px;
    padding-right: 20px;
  }

  .hero-premium-stats {
    grid-template-columns: 1fr;
  }
}


/* ===== V19 requested refinements ===== */

/* full width everywhere */
html, body, main.shell, .shell, .page-shell {
  width: 100% !important;
  max-width: 100% !important;
}
main.shell{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.section,
.hero-premium,
.hero-editorial,
.editorial-band,
.section-head,
.sample-grid,
.footer-contact,
.confidentiality-block {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* align top header left and keep one action */
.hero-premium-top{
  justify-content: space-between !important;
  align-items: center;
}
.hero-premium-mini{
  justify-content: flex-start !important;
  text-align: left !important;
}
.hero-premium-mini div:last-child{
  text-align: left !important;
}
.hero-premium-actions{
  margin-left: auto;
}

/* smaller titles globally */
:root{
  --fs-h1: clamp(38px, 4.3vw, 62px) !important;
  --fs-h2: clamp(28px, 2.7vw, 40px) !important;
  --fs-h3: clamp(22px, 2vw, 28px) !important;
  --fs-h4: clamp(18px, 1.6vw, 24px) !important;
  --fs-h5: 16px !important;
  --fs-h6: 14px !important;
  --fs-p: 15px !important;
}
h1, .hero-editorial-title, .hero-premium-title{
  font-size: clamp(46px, 5.4vw, 78px) !important;
  line-height: .96 !important;
  letter-spacing: -.04em !important;
}
h2{
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.05 !important;
}
h3{
  font-size: clamp(22px, 2vw, 30px) !important;
}
.sample-content h3,
.modal-copy h3{
  font-size: clamp(24px, 2.4vw, 40px) !important;
}
p, .hero-premium-lead, .hero-editorial-lead, .section-head p, .editorial-band p{
  font-size: 15px !important;
  line-height: 1.9 !important;
}

/* make hero title block more balanced */
.hero-editorial-main{
  padding-left: 56px !important;
  padding-right: 56px !important;
}
.hero-editorial-body{
  width: 100% !important;
  max-width: 100% !important;
}
.hero-editorial-title,
.hero-editorial-lead,
.hero-editorial-author{
  width: min(100%, 1240px) !important;
}
.hero-editorial-title{
  max-width: 12.5ch !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero-editorial-lead{
  max-width: 900px !important;
}

/* reset button cleaner and visible */
.zoom-toolbar{
  gap: 10px;
}
#zoomResetBtn{
  min-width: 72px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid rgba(24,20,18,.12);
  background: rgba(255,255,255,.96);
  color: #5c5148;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .02em;
  box-shadow: 0 8px 24px rgba(24,20,18,.08);
}
#zoomResetBtn:hover{
  background: #fff;
  transform: translateY(-1px);
}

/* keep sections edge-to-edge but readable */
.section{
  padding: 88px 56px !important;
}
.editorial-band,
.footer-contact,
.confidentiality-block{
  border-radius: 0 !important;
}
.section-head{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.sample-grid{
  gap: 24px !important;
}

@media (max-width: 1024px){
  .hero-editorial-main{
    padding-left: 36px !important;
    padding-right: 36px !important;
  }
  .section{
    padding: 72px 36px !important;
  }
  h1, .hero-editorial-title, .hero-premium-title{
    font-size: clamp(40px, 6.4vw, 62px) !important;
  }
}
@media (max-width: 640px){
  .hero-editorial-main{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .section{
    padding: 56px 20px !important;
  }
  h1, .hero-editorial-title, .hero-premium-title{
    font-size: clamp(34px, 9vw, 48px) !important;
  }
  #zoomResetBtn{
    min-width: 62px;
    height: 40px;
    padding: 0 12px;
    font-size: 12px;
  }
}


/* ===== V20 refinements ===== */

/* 90% centered sections */
.section,
.hero-premium,
.hero-editorial,
.editorial-band,
.sample-grid{
  width: 90% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* rounded editorial block */
.editorial-band{
  border-radius: 28px !important;
  overflow: hidden;
}

/* zoom hint top */
.zoom-hint.top{
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  bottom: auto;
}

/* language switch */
.lang-switch{
  display: flex;
  gap: 8px;
  margin-right: 16px;
}
.lang-switch button{
  border: 1px solid rgba(0,0,0,.1);
  background: transparent;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  cursor: pointer;
}
.lang-switch button.active{
  background: #111;
  color: #fff;
}

/* smoother edges */
body{
  background: linear-gradient(180deg,#f5efe7 0%,#f2ece4 100%);
}


/* ===== V27 premium carousels on selected samples ===== */
.sample-visual{
  overflow:hidden;
}
.sample-carousel{
  position:absolute;
  inset:0;
  z-index:1;
}
.sample-carousel-track{
  position:relative;
  width:100%;
  height:100%;
}
.sample-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .65s cubic-bezier(.2,.7,.2,1), transform .65s cubic-bezier(.2,.7,.2,1);
  transform:scale(1.035);
}
.sample-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.sample-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.sample-carousel-nav{
  position:absolute;
  left:16px;
  right:16px;
  bottom:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  z-index:3;
  pointer-events:none;
}
.sample-carousel-btn,
.sample-dot{
  pointer-events:auto;
}
.sample-carousel-btn{
  width:36px;
  height:36px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(8px);
  color:#4d433c;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(24,20,18,.10);
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.sample-carousel-btn:hover{
  transform:translateY(-1px) scale(1.03);
  background:#fff;
}
.sample-carousel-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  flex:1;
}
.sample-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.52);
  cursor:pointer;
  transition:all .25s ease;
}
.sample-dot.is-active{
  width:26px;
  background:rgba(255,255,255,.98);
}
.sample-overlay{
  z-index:4;
}
.sample-card[data-image*="-alt"] .sample-kicker::after{
  content:" · Detail view";
  opacity:.7;
}
@media (max-width: 768px){
  .sample-carousel-nav{
    bottom:54px;
    left:12px;
    right:12px;
  }
  .sample-carousel-btn{
    width:34px;
    height:34px;
  }
}


/* ===== V28 modal gallery sync ===== */
.modal-carousel-frame{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}
.modal-carousel-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.86);
  color:#4d433c;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(24,20,18,.10);
  z-index:3;
}
.modal-carousel-btn.prev{left:16px}
.modal-carousel-btn.next{right:16px}
.modal-carousel-dots{
  position:absolute;
  left:50%;
  top:18px;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:3;
}
.modal-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.5);
  cursor:pointer;
  transition:all .25s ease;
}
.modal-dot.is-active{
  width:24px;
  background:#fff;
}
@media (max-width:768px){
  .modal-carousel-btn{
    width:34px;
    height:34px;
  }
}


/* ===== V29 fixed carousels ===== */
.sample-carousel-nav{
  bottom: 78px !important;
}
.sample-carousel-btn{
  position: relative;
  z-index: 6;
  pointer-events: auto !important;
}
.sample-carousel-dots{
  pointer-events: auto !important;
}
.sample-dot{
  position: relative;
  z-index: 6;
}
.sample-overlay{
  z-index: 5;
}
.sample-carousel{
  z-index: 1;
}
.sample-carousel-frame{
  position:absolute;
  inset:0;
}
.modal-carousel-frame{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
}
.modal-carousel-btn{
  position:absolute;
  top: 20px;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.9);
  color:#4d433c;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(24,20,18,.10);
  z-index:8;
}
.modal-carousel-btn.prev{ left: 18px; }
.modal-carousel-btn.next{ right: 18px; }
.modal-carousel-dots{
  position:absolute;
  top: 24px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:8;
}
.modal-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.5);
  cursor:pointer;
  transition:all .25s ease;
}
.modal-dot.is-active{
  width:24px;
  background:#fff;
}
.zoom-hint{
  top: 18px !important;
}



/* ===== V30 UI Polish ===== */

/* Cards carousel polish */
.sample-carousel-btn{
  width: 40px !important;
  height: 40px !important;
  font-size: 18px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  box-shadow: 0 12px 28px rgba(24,20,18,.12) !important;
  color: #4d433c !important;
}
.sample-carousel-btn.prev,
.sample-carousel-btn.next{
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.sample-carousel-btn.prev{
  left: 18px !important;
}
.sample-carousel-btn.next{
  right: 18px !important;
}
.sample-carousel-dots{
  bottom: 96px !important;
  top: auto !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  gap: 8px !important;
}
.sample-dot{
  width: 8px !important;
  height: 8px !important;
  background: rgba(255,255,255,.58) !important;
}
.sample-dot.is-active{
  width: 28px !important;
  background: rgba(255,255,255,.98) !important;
}
.sample-slide{
  transition: opacity .85s cubic-bezier(.22,.61,.36,1), transform .85s cubic-bezier(.22,.61,.36,1) !important;
}

/* Modal carousel polish */
.modal-carousel-btn{
  width: 42px !important;
  height: 42px !important;
  font-size: 18px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(255,255,255,.84) !important;
  box-shadow: 0 14px 30px rgba(24,20,18,.12) !important;
  color: #4d433c !important;
}
.modal-carousel-btn.prev,
.modal-carousel-btn.next{
  top: 50% !important;
  transform: translateY(-50%) !important;
}
.modal-carousel-btn.prev{
  left: 18px !important;
}
.modal-carousel-btn.next{
  right: 18px !important;
}
.modal-carousel-dots{
  top: 22px !important;
  gap: 8px !important;
}
.modal-dot{
  width: 8px !important;
  height: 8px !important;
  background: rgba(255,255,255,.58) !important;
}
.modal-dot.is-active{
  width: 28px !important;
  background: rgba(255,255,255,.98) !important;
}
#modalImage{
  transition: transform .85s cubic-bezier(.22,.61,.36,1), opacity .85s cubic-bezier(.22,.61,.36,1) !important;
}

/* More Givenchy-like minimal luxe feel */
.sample-carousel-btn:hover,
.modal-carousel-btn:hover{
  background: #fff !important;
  transform: translateY(-50%) scale(1.03) !important;
}
.sample-dot,
.modal-dot{
  box-shadow: 0 4px 12px rgba(24,20,18,.08);
}

@media (max-width: 768px){
  .sample-carousel-btn{
    width: 36px !important;
    height: 36px !important;
  }
  .modal-carousel-btn{
    width: 38px !important;
    height: 38px !important;
  }
  .sample-carousel-dots{
    bottom: 88px !important;
  }
}


/* ===== V31 runway progress indicator ===== */
.sample-carousel-dots{
  position:absolute !important;
  left:50% !important;
  bottom:36px !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:0 8px !important;
  min-width:72px;
  height:12px;
  z-index:7 !important;
}

.sample-dot{
  width:10px !important;
  height:2px !important;
  border-radius:999px !important;
  border:0 !important;
  background:rgba(255,255,255,.34) !important;
  box-shadow:none !important;
  transition:
    width .55s cubic-bezier(.22,.61,.36,1),
    background-color .55s cubic-bezier(.22,.61,.36,1),
    opacity .55s cubic-bezier(.22,.61,.36,1),
    transform .55s cubic-bezier(.22,.61,.36,1) !important;
  opacity:.9;
  padding:0 !important;
}

.sample-dot.is-active{
  width:34px !important;
  height:2px !important;
  background:rgba(255,255,255,.98) !important;
  opacity:1 !important;
  transform:translateY(0);
}

/* more runway-like card arrows */
.sample-carousel-btn{
  width:42px !important;
  height:42px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
}

.sample-carousel-btn:hover{
  transform:translateY(-50%) scale(1.03) !important;
}

/* modal indicator as thin animated bar */
.modal-carousel-dots{
  position:absolute !important;
  top:22px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:72px;
  height:12px;
  z-index:8 !important;
}

.modal-dot{
  width:10px !important;
  height:2px !important;
  border-radius:999px !important;
  border:0 !important;
  background:rgba(255,255,255,.34) !important;
  transition:
    width .55s cubic-bezier(.22,.61,.36,1),
    background-color .55s cubic-bezier(.22,.61,.36,1),
    opacity .55s cubic-bezier(.22,.61,.36,1) !important;
  opacity:.9;
  padding:0 !important;
}

.modal-dot.is-active{
  width:34px !important;
  background:#fff !important;
  opacity:1 !important;
}

/* optional runway frame line */
.sample-carousel-dots::before,
.modal-carousel-dots::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:1px;
  background:rgba(255,255,255,.12);
  transform:translateY(-50%);
  z-index:-1;
}

/* better optical position */
@media (max-width: 768px){
  .sample-carousel-dots{
    bottom:88px !important;
  }
  .sample-dot.is-active,
  .modal-dot.is-active{
    width:28px !important;
  }
}


/* ===== V32 centered bottom runway progress bar ===== */

/* hide old dots completely */
.sample-carousel-dots,
.modal-carousel-dots{
  position:absolute !important;
  left:50% !important;
  bottom:36px !important;
  top:auto !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  width:68px !important;
  height:2px !important;
  min-width:68px !important;
  padding:0 !important;
  background:rgba(255,255,255,.22) !important;
  border-radius:999px !important;
  overflow:hidden !important;
  z-index:7 !important;
  box-shadow:none !important;
}
.modal-carousel-dots{
  top:auto !important;
  bottom:24px !important;
  width:74px !important;
  min-width:74px !important;
  background:rgba(255,255,255,.18) !important;
}

/* remove decorative baseline if present */
.sample-carousel-dots::before,
.modal-carousel-dots::before{
  display:none !important;
  content:none !important;
}

/* dots become invisible carriers */
.sample-dot,
.modal-dot{
  flex:1 1 0 !important;
  width:auto !important;
  height:100% !important;
  min-width:0 !important;
  border-radius:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  opacity:1 !important;
  box-shadow:none !important;
  transition:none !important;
}

/* active segment becomes ultra-fine centered bar */
.sample-dot.is-active,
.modal-dot.is-active{
  background:rgba(255,255,255,.98) !important;
  border-radius:999px !important;
}

/* polish bar alignment */
.sample-carousel-nav{
  bottom:78px !important;
}
@media (max-width: 768px){
  .sample-carousel-dots{
    bottom:90px !important;
    width:60px !important;
    min-width:60px !important;
  }
  .modal-carousel-dots{
    bottom:16px !important;
    width:64px !important;
    min-width:64px !important;
  }
}

/* ===== V34 Header Fix ===== */

/* align language selector left */
.header-right{
  display:flex;
  align-items:center;
  gap:12px;
}

.lang-switch{
  order:-1;
  margin-left:20px;
}

/* dark contact button */
.header .btn-contact{
  background:#2b2420 !important;
  color:#fff !important;
  border:none !important;
}

.header .btn-contact:hover{
  background:#000 !important;
}
