/* ==========================================================================
   NAILSBEAUTY BY NAJAT — DIRECTION ARTISTIQUE HAUTE COUTURE
   Style Minimaliste & Éditorial de Luxe (Inspiré des Maisons de Beauté Parisiennes)
   Palette Porcelaine de Soie, Blush Délicat, Terracotta Rose & Prune Velours
   Performance Pure, 60fps, Typographie Serif Poétique & Sans Géométrique
   ========================================================================== */

/* --- 1. DESIGN TOKENS HARMONISÉS --- */
:root {
  /* Palette Chromatique Fond & Surfaces */
  --bg-porcelain: #FAF6F7;        /* Porcelaine de soie poudrée */
  --bg-pure: #FFFFFF;
  --bg-blush-soft: #FDF2F4;       /* Voile blush aquarelle */
  --bg-blush-tint: #F9E5E9;       /* Teinte douce sélection */
  
  /* Couleurs de Marque & Accents */
  --color-dark: #20161D;          /* Prune charbon velours (Logo By Najat) */
  --color-dark-soft: #382A34;     /* Teinte secondaire pour sous-titres */
  --color-rose: #C35853;          /* Terracotta signature (Logo Nails) */
  --color-rose-deep: #A4413D;
  --color-pink-nude: #F5A8A8;     /* Corail poudré délicat */
  --color-gold-muted: #C89D7C;    /* Touche champagne / bronze couture */
  
  /* Typographie & Nuances de Texte */
  --text-main: #20161D;
  --text-muted: #7A6973;
  --text-light: #FFFFFF;
  
  /* Filets Ultra-Fins & Ombres Délicates */
  --border-hairline: 1px solid rgba(48, 40, 44, 0.08);
  --border-rose: 1px solid rgba(195, 88, 83, 0.2);
  --shadow-subtle: 0 10px 30px -10px rgba(32, 22, 29, 0.05);
  --shadow-hover: 0 25px 50px -15px rgba(32, 22, 29, 0.12);
  --shadow-modal: 0 40px 90px -20px rgba(32, 22, 29, 0.3);
  
  /* Rayons de Courbure Élégants */
  --radius-xs: 4px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-full: 9999px;
  
  /* Polices de Caractères */
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans: 'Plus Jakarta Sans', 'Figtree', -apple-system, sans-serif;
  
  /* Transitions & Fluidité */
  --ease-couture: cubic-bezier(0.16, 1, 0.3, 1);
  --duration: 0.35s;
}

/* --- 1.1 LENIS SMOOTH SCROLL STYLES (INLINED TO AVOID RENDER-BLOCKING REQUEST) --- */
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: clip; }
.lenis.lenis-smooth iframe { pointer-events: none; }

/* --- LOCAL ZERO-PAYLOAD SVG ICON SYSTEM (REPLACES 300KB FONT AWESOME) --- */
.fa, .fas, .far, .fab, .fa-solid, .fa-brands, .fa-regular {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask-image: var(--svg);
  mask-image: var(--svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-position: center;
  mask-position: center;
}
.fa-google { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20488%20512%22%3E%3Cpath%20d%3D%22M488%20261.8C488%20403.3%20391.1%20504%20248%20504%20110.8%20504%200%20393.2%200%20256S110.8%208%20248%208c66.8%200%20123%2024.5%20166.3%2064.9l-67.5%2064.9C258.5%2052.6%2094.3%20116.6%2094.3%20256c0%2086.5%2069.1%20156.6%20153.7%20156.6%2098.2%200%20135-70.4%20140.8-106.9H248v-85.3h236.1c2.3%2012.7%203.9%2024.9%203.9%2041.4z%22/%3E%3C/svg%3E"); }
.fa-instagram { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M224.1%20141c-63.6%200-114.9%2051.3-114.9%20114.9s51.3%20114.9%20114.9%20114.9S339%20319.5%20339%20255.9%20287.7%20141%20224.1%20141zm0%20189.6c-41.1%200-74.7-33.5-74.7-74.7s33.5-74.7%2074.7-74.7%2074.7%2033.5%2074.7%2074.7-33.6%2074.7-74.7%2074.7zm146.4-194.3c0%2014.9-12%2026.8-26.8%2026.8-14.9%200-26.8-12-26.8-26.8s12-26.8%2026.8-26.8%2026.8%2012%2026.8%2026.8zm76.1%2027.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9%200-35.8%201.7-67.6%209.9-93.9%2036.1s-34.4%2058-36.2%2093.9c-2.1%2037-2.1%20147.9%200%20184.9%201.7%2035.9%209.9%2067.7%2036.2%2093.9s58%2034.4%2093.9%2036.2c37%202.1%20147.9%202.1%20184.9%200%2035.9-1.7%2067.7-9.9%2093.9-36.2%2026.2-26.2%2034.4-58%2036.2-93.9%202.1-37%202.1-147.8%200-184.8zM398.8%20388c-7.8%2019.6-22.9%2034.7-42.6%2042.6-29.5%2011.7-99.5%209-132.1%209s-102.7%202.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7%209-132.1c7.8-19.6%2022.9-34.7%2042.6-42.6%2029.5-11.7%2099.5-9%20132.1-9s102.7-2.6%20132.1%209c19.6%207.8%2034.7%2022.9%2042.6%2042.6%2011.7%2029.5%209%2099.5%209%20132.1s2.7%20102.7-9%20132.1z%22/%3E%3C/svg%3E"); }
.fa-tiktok { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M448%2C209.91a210.06%2C210.06%2C0%2C0%2C1-122.77-39.25V349.38A162.55%2C162.55%2C0%2C1%2C1%2C185%2C188.31V278.2a74.62%2C74.62%2C0%2C1%2C0%2C52.23%2C71.18V0l88%2C0a121.18%2C121.18%2C0%2C0%2C0%2C1.86%2C22.17h0A122.18%2C122.18%2C0%2C0%2C0%2C381%2C102.39a121.43%2C121.43%2C0%2C0%2C0%2C67%2C20.14Z%22/%3E%3C/svg%3E"); }
.fa-whatsapp { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M380.9%2097.1C339%2055.1%20283.2%2032%20223.9%2032c-122.4%200-222%2099.6-222%20222%200%2039.1%2010.2%2077.3%2029.6%20111L0%20480l117.7-30.9c32.4%2017.7%2068.9%2027%20106.1%2027h.1c122.3%200%20224.1-99.6%20224.1-222%200-59.3-25.2-115-67.1-157zm-157%20341.6c-33.2%200-65.7-8.9-94-25.7l-6.7-4-69.8%2018.3L72%20359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2%200-101.7%2082.8-184.5%20184.6-184.5%2049.3%200%2095.6%2019.2%20130.4%2054.1%2034.8%2034.9%2056.2%2081.2%2056.1%20130.5%200%20101.8-84.9%20184.6-186.6%20184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5%202.8-3.7%205.6-14.3%2018-17.6%2021.8-3.2%203.7-6.5%204.2-12%201.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8%205.7-9.1%2016.3-30.3%201.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7%200-9.7%201.4-14.8%206.9-5.1%205.6-19.4%2019-19.4%2046.3%200%2027.3%2019.9%2053.7%2022.6%2057.4%202.8%203.7%2039.1%2059.7%2094.8%2083.8%2035.2%2015.2%2049%2016.5%2066.6%2013.9%2010.7-1.6%2032.8-13.4%2037.4-26.4%204.6-13%204.6-24.1%203.2-26.4-1.3-2.5-5-3.9-10.5-6.6z%22/%3E%3C/svg%3E"); }
.fa-clock { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M464%20256A208%20208%200%201%201%2048%20256a208%20208%200%201%201%20416%200zM0%20256a256%20256%200%201%200%20512%200A256%20256%200%201%200%200%20256zM232%20120l0%20136c0%208%204%2015.5%2010.7%2020l96%2064c11%207.4%2025.9%204.4%2033.3-6.7s4.4-25.9-6.7-33.3L280%20243.2%20280%20120c0-13.3-10.7-24-24-24s-24%2010.7-24%2024z%22/%3E%3C/svg%3E"); }
.fa-arrow-right { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M438.6%20278.6c12.5-12.5%2012.5-32.8%200-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L338.8%20224%2032%20224c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l306.7%200L233.4%20393.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200l160-160z%22/%3E%3C/svg%3E"); }
.fa-arrow-up-right-from-square { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M320%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l82.7%200L201.4%20265.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L448%20109.3l0%2082.7c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-160c0-17.7-14.3-32-32-32L320%200zM80%2032C35.8%2032%200%2067.8%200%20112L0%20432c0%2044.2%2035.8%2080%2080%2080l320%200c44.2%200%2080-35.8%2080-80l0-112c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%20112c0%208.8-7.2%2016-16%2016L80%20448c-8.8%200-16-7.2-16-16l0-320c0-8.8%207.2-16%2016-16l112%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L80%2032z%22/%3E%3C/svg%3E"); }
.fa-calendar-check { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M128%200c17.7%200%2032%2014.3%2032%2032l0%2032%20128%200%200-32c0-17.7%2014.3-32%2032-32s32%2014.3%2032%2032l0%2032%2048%200c26.5%200%2048%2021.5%2048%2048l0%2048L0%20160l0-48C0%2085.5%2021.5%2064%2048%2064l48%200%200-32c0-17.7%2014.3-32%2032-32zM0%20192l448%200%200%20272c0%2026.5-21.5%2048-48%2048L48%20512c-26.5%200-48-21.5-48-48L0%20192zM329%20305c9.4-9.4%209.4-24.6%200-33.9s-24.6-9.4-33.9%200l-95%2095-47-47c-9.4-9.4-24.6-9.4-33.9%200s-9.4%2024.6%200%2033.9l64%2064c9.4%209.4%2024.6%209.4%2033.9%200L329%20305z%22/%3E%3C/svg%3E"); }
.fa-calendar-xmark { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M128%200c17.7%200%2032%2014.3%2032%2032l0%2032%20128%200%200-32c0-17.7%2014.3-32%2032-32s32%2014.3%2032%2032l0%2032%2048%200c26.5%200%2048%2021.5%2048%2048l0%2048L0%20160l0-48C0%2085.5%2021.5%2064%2048%2064l48%200%200-32c0-17.7%2014.3-32%2032-32zM0%20192l448%200%200%20272c0%2026.5-21.5%2048-48%2048L48%20512c-26.5%200-48-21.5-48-48L0%20192zM305%20305c9.4-9.4%209.4-24.6%200-33.9s-24.6-9.4-33.9%200l-47%2047-47-47c-9.4-9.4-24.6-9.4-33.9%200s-9.4%2024.6%200%2033.9l47%2047-47%2047c-9.4%209.4-9.4%2024.6%200%2033.9s24.6%209.4%2033.9%200l47-47%2047%2047c9.4%209.4%2024.6%209.4%2033.9%200s9.4-24.6%200-33.9l-47-47%2047-47z%22/%3E%3C/svg%3E"); }
.fa-clock { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%200a256%20256%200%201%201%200%20512A256%20256%200%201%201%20256%200zM232%20120l0%20136c0%208%204%2015.5%2010.7%2020l96%2064c11%207.4%2025.9%204.4%2033.3-6.7s4.4-25.9-6.7-33.3L280%20243.2%20280%20120c0-13.3-10.7-24-24-24s-24%2010.7-24%2024z%22/%3E%3C/svg%3E"); }
.fa-diamond-turn-right { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M227.7%2011.7c15.6-15.6%2040.9-15.6%2056.6%200l216%20216c15.6%2015.6%2015.6%2040.9%200%2056.6l-216%20216c-15.6%2015.6-40.9%2015.6-56.6%200l-216-216c-15.6-15.6-15.6-40.9%200-56.6l216-216zm87.6%20137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9%208.3-9.9%2014.8l0%2056-64%200c-35.3%200-64%2028.7-64%2064l0%2048c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-48c0-8.8%207.2-16%2016-16l64%200%200%2056c0%206.5%203.9%2012.3%209.9%2014.8s12.9%201.1%2017.4-3.5l80-80c6.2-6.2%206.2-16.4%200-22.6l-80-80z%22/%3E%3C/svg%3E"); }
.fa-droplet { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20d%3D%22M192%20512C86%20512%200%20426%200%20320C0%20228.8%20130.2%2057.7%20166.6%2011.7C172.6%204.2%20181.5%200%20191.1%200l1.8%200c9.6%200%2018.5%204.2%2024.5%2011.7C253.8%2057.7%20384%20228.8%20384%20320c0%20106-86%20192-192%20192zM96%20336c0-8.8-7.2-16-16-16s-16%207.2-16%2016c0%2061.9%2050.1%20112%20112%20112c8.8%200%2016-7.2%2016-16s-7.2-16-16-16c-44.2%200-80-35.8-80-80z%22/%3E%3C/svg%3E"); }
.fa-expand { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M32%2032C14.3%2032%200%2046.3%200%2064l0%2096c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-64%2064%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L32%2032zM64%20352c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%2096c0%2017.7%2014.3%2032%2032%2032l96%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-64%200%200-64zM320%2032c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l64%200%200%2064c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-96c0-17.7-14.3-32-32-32l-96%200zM448%20352c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%2064-64%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l96%200c17.7%200%2032-14.3%2032-32l0-96z%22/%3E%3C/svg%3E"); }
.fa-gem { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M116.7%2033.8c4.5-6.1%2011.7-9.8%2019.3-9.8l240%200c7.6%200%2014.8%203.6%2019.3%209.8l112%20152c6.8%209.2%206.1%2021.9-1.5%2030.4l-232%20256c-4.5%205-11%207.9-17.8%207.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5%2039.8c-3.3%202.5-4.2%207-2.1%2010.5l57.4%2095.6L63.3%20192c-4.1%20.3-7.3%203.8-7.3%208s3.2%207.6%207.3%208l192%2016c.4%200%20.9%200%201.3%200l192-16c4.1-.3%207.3-3.8%207.3-8s-3.2-7.6-7.3-8L301.5%20179.8l57.4-95.6c2.1-3.5%201.2-8.1-2.1-10.5s-7.9-2-10.7%201L256%20172.2%20165.9%2074.6c-2.8-3-7.4-3.4-10.7-1z%22/%3E%3C/svg%3E"); }
.fa-gift { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M190.5%2068.8L225.3%20128l-1.3%200-72%200c-22.1%200-40-17.9-40-40s17.9-40%2040-40l2.2%200c14.9%200%2028.8%207.9%2036.3%2020.8zM64%2088c0%2014.4%203.5%2028%209.6%2040L32%20128c-17.7%200-32%2014.3-32%2032l0%2064c0%2017.7%2014.3%2032%2032%2032l448%200c17.7%200%2032-14.3%2032-32l0-64c0-17.7-14.3-32-32-32l-41.6%200c6.1-12%209.6-25.6%209.6-40c0-48.6-39.4-88-88-88l-2.2%200c-31.9%200-61.5%2016.9-77.7%2044.4L256%2085.5l-24.1-41C215.7%2016.9%20186.1%200%20154.2%200L152%200C103.4%200%2064%2039.4%2064%2088zm336%200c0%2022.1-17.9%2040-40%2040l-72%200-1.3%200%2034.8-59.2C329.1%2055.9%20342.9%2048%20357.8%2048l2.2%200c22.1%200%2040%2017.9%2040%2040zM32%20288l0%20176c0%2026.5%2021.5%2048%2048%2048l144%200%200-224L32%20288zM288%20512l144%200c26.5%200%2048-21.5%2048-48l0-176-192%200%200%20224z%22/%3E%3C/svg%3E"); }
.fa-hand-holding-heart { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M163.9%20136.9c-29.4-29.8-29.4-78.2%200-108s77-29.8%20106.4%200l17.7%2018%2017.7-18c29.4-29.8%2077-29.8%20106.4%200s29.4%2078.2%200%20108L310.5%20240.1c-6.2%206.3-14.3%209.4-22.5%209.4s-16.3-3.1-22.5-9.4L163.9%20136.9zM568.2%20336.3c13.1%2017.8%209.3%2042.8-8.5%2055.9L433.1%20485.5c-23.4%2017.2-51.6%2026.5-80.7%2026.5L192%20512%2032%20512c-17.7%200-32-14.3-32-32l0-64c0-17.7%2014.3-32%2032-32l36.8%200%2044.9-36c22.7-18.2%2050.9-28%2080-28l78.3%200%2016%200%2064%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-64%200-16%200c-8.8%200-16%207.2-16%2016s7.2%2016%2016%2016l120.6%200%20119.7-88.2c17.8-13.1%2042.8-9.3%2055.9%208.5zM193.6%20384c0%200%200%200%200%200l-.9%200c.3%200%20.6%200%20.9%200z%22/%3E%3C/svg%3E"); }
.fa-location-dot { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20d%3D%22M215.7%20499.2C267%20435%20384%20279.4%20384%20192C384%2086%20298%200%20192%200S0%2086%200%20192c0%2087.4%20117%20243%20168.3%20307.2c12.3%2015.3%2035.1%2015.3%2047.4%200zM192%20128a64%2064%200%201%201%200%20128%2064%2064%200%201%201%200-128z%22/%3E%3C/svg%3E"); }
.fa-lock { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M144%20144l0%2048%20160%200%200-48c0-44.2-35.8-80-80-80s-80%2035.8-80%2080zM80%20192l0-48C80%2064.5%20144.5%200%20224%200s144%2064.5%20144%20144l0%2048%2016%200c35.3%200%2064%2028.7%2064%2064l0%20192c0%2035.3-28.7%2064-64%2064L64%20512c-35.3%200-64-28.7-64-64L0%20256c0-35.3%2028.7-64%2064-64l16%200z%22/%3E%3C/svg%3E"); }
.fa-magnifying-glass { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M416%20208c0%2045.9-14.9%2088.3-40%20122.7L502.6%20457.4c12.5%2012.5%2012.5%2032.8%200%2045.3s-32.8%2012.5-45.3%200L330.7%20376c-34.4%2025.2-76.8%2040-122.7%2040C93.1%20416%200%20322.9%200%20208S93.1%200%20208%200S416%2093.1%20416%20208zM208%20352a144%20144%200%201%200%200-288%20144%20144%200%201%200%200%20288z%22/%3E%3C/svg%3E"); }
.fa-plus { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20448%20512%22%3E%3Cpath%20d%3D%22M256%2080c0-17.7-14.3-32-32-32s-32%2014.3-32%2032l0%20144L48%20224c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l144%200%200%20144c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-144%20144%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-144%200%200-144z%22/%3E%3C/svg%3E"); }
.fa-play { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20d%3D%22M73%2039c-14.8-9.1-33.4-9.4-48.5-.9S0%2062.6%200%2080L0%20432c0%2017.4%209.4%2033.4%2024.5%2041.9s33.7%208.1%2048.5-.9L361%20297c14.3-8.7%2023-24.2%2023-41s-8.7-32.2-23-41L73%2039z%22/%3E%3C/svg%3E"); }
.fa-shield-halved { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M256%200c4.6%200%209.2%201%2013.4%202.9L457.7%2082.8c22%209.3%2038.4%2031%2038.3%2057.2c-.5%2099.2-41.3%20280.7-213.6%20363.2c-16.7%208-36.1%208-52.8%200C57.3%20420.7%2016.5%20239.2%2016%20140c-.1-26.2%2016.3-47.9%2038.3-57.2L242.7%202.9C246.8%201%20251.4%200%20256%200zm0%2066.8l0%20378.1C394%20378%20431.1%20230.1%20432%20141.4L256%2066.8s0%200%200%200z%22/%3E%3C/svg%3E"); }
.fa-shield-heart { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M269.4%202.9C265.2%201%20260.7%200%20256%200s-9.2%201-13.4%202.9L54.3%2082.8c-22%209.3-38.4%2031-38.3%2057.2c.5%2099.2%2041.3%20280.7%20213.6%20363.2c16.7%208%2036.1%208%2052.8%200C454.7%20420.7%20495.5%20239.2%20496%20140c.1-26.2-16.3-47.9-38.3-57.2L269.4%202.9zM144%20221.3c0-33.8%2027.4-61.3%2061.3-61.3c16.2%200%2031.8%206.5%2043.3%2017.9l7.4%207.4%207.4-7.4c11.5-11.5%2027.1-17.9%2043.3-17.9c33.8%200%2061.3%2027.4%2061.3%2061.3c0%2016.2-6.5%2031.8-17.9%2043.3l-82.7%2082.7c-6.2%206.2-16.4%206.2-22.6%200l-82.7-82.7c-11.5-11.5-17.9-27.1-17.9-43.3z%22/%3E%3C/svg%3E"); }
.fa-star { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M316.9%2018C311.6%207%20300.4%200%20288.1%200s-23.4%207-28.8%2018L195%20150.3%2051.4%20171.5c-12%201.8-22%2010.2-25.7%2021.7s-.7%2024.2%207.9%2032.7L137.8%20329%20113.2%20474.7c-2%2012%203%2024.2%2012.9%2031.3s23%208%2033.8%202.3l128.3-68.5%20128.3%2068.5c10.8%205.7%2023.9%204.9%2033.8-2.3s14.9-19.3%2012.9-31.3L438.5%20329%20542.7%20225.9c8.6-8.5%2011.7-21.2%207.9-32.7s-13.7-19.9-25.7-21.7L381.2%20150.3%20316.9%2018z%22/%3E%3C/svg%3E"); }
.fa-temperature-arrow-up { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20576%20512%22%3E%3Cpath%20d%3D%22M128%20112c0-26.5%2021.5-48%2048-48s48%2021.5%2048%2048l0%20164.5c0%2017.3%207.1%2031.9%2015.3%2042.5C249.8%20332.6%20256%20349.5%20256%20368c0%2044.2-35.8%2080-80%2080s-80-35.8-80-80c0-18.5%206.2-35.4%2016.7-48.9c8.2-10.6%2015.3-25.2%2015.3-42.5L128%20112zM176%200C114.1%200%2064%2050.1%2064%20112l0%20164.4c0%20.1-.1%20.3-.2%20.6c-.2%20.6-.8%201.6-1.7%202.8C43.2%20304.2%2032%20334.8%2032%20368c0%2079.5%2064.5%20144%20144%20144s144-64.5%20144-144c0-33.2-11.2-63.8-30.1-88.1c-.9-1.2-1.5-2.2-1.7-2.8c-.1-.3-.2-.5-.2-.6L288%20112C288%2050.1%20237.9%200%20176%200zm0%20416c26.5%200%2048-21.5%2048-48c0-20.9-13.4-38.7-32-45.3L192%20112c0-8.8-7.2-16-16-16s-16%207.2-16%2016l0%20210.7c-18.6%206.6-32%2024.4-32%2045.3c0%2026.5%2021.5%2048%2048%2048zM480%20160l32%200c12.9%200%2024.6-7.8%2029.6-19.8s2.2-25.7-6.9-34.9l-64-64c-12.5-12.5-32.8-12.5-45.3%200l-64%2064c-9.2%209.2-11.9%2022.9-6.9%2034.9s16.6%2019.8%2029.6%2019.8l32%200%200%20288c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-288z%22/%3E%3C/svg%3E"); }
.fa-wind { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20d%3D%22M288%2032c0%2017.7%2014.3%2032%2032%2032l32%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20128c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l320%200c53%200%2096-43%2096-96s-43-96-96-96L320%200c-17.7%200-32%2014.3-32%2032zm64%20352c0%2017.7%2014.3%2032%2032%2032l32%200c53%200%2096-43%2096-96s-43-96-96-96L32%20224c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-32%200c-17.7%200-32%2014.3-32%2032zM128%20512l32%200c53%200%2096-43%2096-96s-43-96-96-96L32%20320c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l128%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-32%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032z%22/%3E%3C/svg%3E"); }
.fa-xmark { --svg: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20384%20512%22%3E%3Cpath%20d%3D%22M342.6%20150.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L192%20210.7%2086.6%20105.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L146.7%20256%2041.4%20361.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L192%20301.3%20297.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L237.3%20256%20342.6%20150.6z%22/%3E%3C/svg%3E"); }

/* --- 2. RESET ÉLÉGANT & BASE --- */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  background-color: var(--bg-porcelain);
  color: var(--text-main);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}

body.numa-theme {
  background-color: var(--bg-porcelain);
  color: var(--text-main);
  line-height: 1.65;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

picture {
  display: contents;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
  transition: all var(--duration) var(--ease-couture);
}

button, input, select, textarea {
  font-family: inherit;
  border: none;
  outline: none;
  background: none;
}

.container {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 2rem;
}

/* --- 3. TYPOGRAPHIE & ACCENTS COUTURE --- */
.font-serif {
  font-family: var(--font-serif);
}

.serif-italic {
  font-family: var(--font-serif);
  font-style: italic;
  font-weight: 400;
  color: var(--color-rose);
}

.caption-upper {
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-weight: 700;
  color: var(--text-muted);
}

.haute-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: rgba(255, 255, 255, 0.85);
  border: var(--border-hairline);
  padding: 0.45rem 1.1rem;
  border-radius: var(--radius-full);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--color-dark);
  font-weight: 600;
  backdrop-filter: blur(10px);
  margin-bottom: 1.8rem;
}

.haute-badge-pill .pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-rose);
  box-shadow: 0 0 0 3px rgba(195, 88, 83, 0.2);
}

/* Boutons Couture */
.btn-haute-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: var(--color-dark);
  color: #FFFFFF;
  padding: 0.95rem 2rem;
  border-radius: var(--radius-full);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: all 0.3s var(--ease-couture);
  box-shadow: 0 8px 25px -5px rgba(32, 22, 29, 0.25);
}

.btn-haute-primary:hover {
  background: var(--color-rose);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px -5px rgba(195, 88, 83, 0.35);
  color: #FFFFFF;
}

.btn-haute-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background: transparent;
  color: var(--color-dark);
  border: 1px solid rgba(32, 22, 29, 0.2);
  padding: 0.95rem 1.8rem;
  border-radius: var(--radius-full);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: all 0.3s var(--ease-couture);
}

.btn-haute-outline:hover {
  background: var(--bg-pure);
  border-color: var(--color-dark);
  transform: translateY(-2px);
}

.btn-haute-text {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.86rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--color-rose);
  position: relative;
  padding-bottom: 2px;
}

.btn-haute-text::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--color-rose);
  transform: scaleX(0.4);
  transform-origin: left;
  transition: transform 0.3s var(--ease-couture);
}

.btn-haute-text:hover::after {
  transform: scaleX(1);
}

/* --- 4. NAVIGATION HAUTE COUTURE AÉRIENNE --- */
.numa-nav {
  position: fixed;
  top: 1.5rem;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

.nav-island {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: var(--border-hairline);
  padding: 0.55rem 0.8rem 0.55rem 1.4rem;
  border-radius: var(--radius-full);
  box-shadow: 0 16px 40px -10px rgba(32, 22, 29, 0.08);
  transition: all 0.3s var(--ease-couture);
}

.nav-island:hover {
  border-color: rgba(195, 88, 83, 0.2);
  box-shadow: 0 20px 45px -10px rgba(195, 88, 83, 0.12);
}

.island-brand-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.nav-logo-thumb {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.nav-brand-text {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--color-dark);
}

.island-sep {
  width: 1px;
  height: 20px;
  background: rgba(48, 40, 44, 0.1);
}

.island-links {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.island-links .link-item {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  padding: 0.45rem 0.95rem;
  border-radius: var(--radius-full);
  transition: all 0.25s var(--ease-couture);
}

.island-links .link-item:hover {
  color: var(--color-dark);
  background: rgba(32, 22, 29, 0.04);
}

.island-links .link-item.active {
  color: var(--color-rose);
  background: var(--bg-blush-soft);
  font-weight: 700;
}

.btn-island-cta {
  background: var(--color-dark);
  color: #FFFFFF;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 0.6rem 1.3rem;
  border-radius: var(--radius-full);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  transition: all 0.3s var(--ease-couture);
}

.btn-island-cta:hover {
  background: var(--color-rose);
  color: #FFFFFF;
  transform: translateY(-1px);
}

.nav-btn-menu {
  display: none;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.8rem;
  border-radius: var(--radius-full);
  background: var(--bg-blush-soft);
  color: var(--color-dark);
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
}

.dots-grid {
  display: grid;
  grid-template-columns: repeat(2, 4px);
  gap: 3px;
}

.dots-grid span {
  width: 4px;
  height: 4px;
  background: var(--color-rose);
  border-radius: 50%;
}

/* --- 5. TIROIR MOBILE LATÉRAL --- */
.mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: 2000;
  pointer-events: none;
  visibility: hidden;
  transition: visibility 0.4s ease;
}

.mobile-drawer.open {
  pointer-events: auto;
  visibility: visible;
}

.drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(32, 22, 29, 0.5);
  backdrop-filter: blur(8px);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.mobile-drawer.open .drawer-backdrop {
  opacity: 1;
}

.drawer-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 85%;
  max-width: 380px;
  background: var(--bg-pure);
  padding: 2.5rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: translateX(100%);
  transition: transform 0.45s var(--ease-couture);
  box-shadow: -10px 0 40px rgba(0,0,0,0.1);
}

.mobile-drawer.open .drawer-content {
  transform: translateX(0);
}

.drawer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: var(--border-hairline);
}

.drawer-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.drawer-logo-thumb {
  width: 38px;
  height: 38px;
  border-radius: 50%;
}

.drawer-brand .b-main {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  display: block;
}

.drawer-brand .b-sub {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  color: var(--color-rose);
  text-transform: uppercase;
}

.btn-close-drawer {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bg-porcelain);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--color-dark);
}

.drawer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}

.drawer-nav-list a {
  font-size: 1.15rem;
  font-family: var(--font-serif);
  color: var(--color-dark);
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(48, 40, 44, 0.04);
}

.drawer-nav-list a.active {
  color: var(--color-rose);
  font-weight: 700;
}

.drawer-nav-list .idx {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--color-rose);
  letter-spacing: 0.1em;
}

/* --- 6. HERO ÉDITORIAL HAUTE COUTURE --- */
.haute-hero-section {
  padding: 9.5rem 0 6rem;
  position: relative;
}

.haute-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 4.5rem;
  align-items: center;
}

.haute-hero-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.haute-hero-title {
  font-family: var(--font-serif);
  font-size: 3.75rem;
  font-weight: 600;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: var(--color-dark);
  margin-bottom: 1.75rem;
}

.haute-hero-desc {
  font-size: 1.08rem;
  color: var(--text-muted);
  line-height: 1.75;
  max-width: 520px;
  margin-bottom: 2.5rem;
}

.haute-hero-actions {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.haute-hero-visual {
  position: relative;
}

.haute-frame-luxury {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-hover);
  aspect-ratio: 4 / 5;
  background: #EEE4E6;
}

.haute-frame-luxury img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-couture);
}

.haute-frame-luxury:hover img {
  transform: scale(1.04);
}

.haute-visual-stamp {
  position: absolute;
  bottom: -1.5rem;
  left: -1.5rem;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  padding: 1.25rem 1.6rem;
  border-radius: var(--radius-md);
  border: var(--border-hairline);
  box-shadow: var(--shadow-subtle);
  display: flex;
  align-items: center;
  gap: 1rem;
}

.haute-visual-stamp i {
  font-size: 1.4rem;
  color: var(--color-rose);
}

.haute-visual-stamp strong {
  display: block;
  font-size: 0.95rem;
  color: var(--color-dark);
}

.haute-visual-stamp span {
  font-size: 0.78rem;
  color: var(--text-muted);
}

/* --- 7. PILIERS DE L'ATELIER (SECTION ATOUTS ÉPURÉE) --- */
.haute-pillars-section {
  padding: 4.5rem 0;
  border-top: var(--border-hairline);
  border-bottom: var(--border-hairline);
  background: var(--bg-pure);
}

.haute-pillars-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.5rem;
}

.haute-pillar-item {
  position: relative;
}

.pillar-number {
  font-family: var(--font-serif);
  font-size: 2.2rem;
  font-style: italic;
  color: var(--color-rose);
  opacity: 0.5;
  margin-bottom: 0.5rem;
}

.haute-pillar-item h3 {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 0.75rem;
}

.haute-pillar-item p {
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.7;
}

/* --- 8. CARTE DES PRESTATIONS ÉDITORIALE (SERVICES) --- */
.haute-section-header {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 4.5rem;
}

.haute-section-title {
  font-family: var(--font-serif);
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-dark);
  margin-bottom: 1rem;
}

.haute-section-desc {
  font-size: 1rem;
  color: var(--text-muted);
  line-height: 1.7;
}

.haute-menu-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: var(--bg-pure);
  border-radius: var(--radius-lg);
  border: var(--border-hairline);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
  margin-bottom: 3.5rem;
}

.haute-menu-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  padding: 1.8rem 2.4rem;
  border-bottom: var(--border-hairline);
  gap: 2rem;
  transition: background 0.25s ease;
}

.haute-menu-row:last-child {
  border-bottom: none;
}

.haute-menu-row:hover {
  background: var(--bg-blush-soft);
}

.menu-title-group h4 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 0.35rem;
}

.menu-title-group p {
  font-size: 0.88rem;
  color: var(--text-muted);
}

.menu-meta-group {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  text-align: right;
}

.menu-duration {
  font-size: 0.82rem;
  color: var(--text-muted);
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.menu-price {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-rose);
  white-space: nowrap;
}

.menu-price span {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
}

.btn-menu-reserve {
  padding: 0.55rem 1.2rem;
  border-radius: var(--radius-full);
  background: var(--color-dark);
  color: #FFFFFF;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: all 0.25s var(--ease-couture);
  white-space: nowrap;
}

.btn-menu-reserve:hover {
  background: var(--color-rose);
  color: #FFFFFF;
}

/* --- 9. LOOKBOOK ÉDITORIAL & GALERIE --- */
.haute-gallery-filter {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
}

.haute-filter-btn {
  padding: 0.55rem 1.4rem;
  border-radius: var(--radius-full);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  background: transparent;
  border: var(--border-hairline);
  cursor: pointer;
  transition: all 0.25s var(--ease-couture);
}

.haute-filter-btn:hover {
  color: var(--color-dark);
  border-color: var(--color-dark);
}

.haute-filter-btn.active {
  background: var(--color-dark);
  color: #FFFFFF;
  border-color: var(--color-dark);
}

.haute-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.2rem;
  margin-bottom: 4rem;
}

.haute-photo-card {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--bg-pure);
  border: var(--border-hairline);
  box-shadow: var(--shadow-subtle);
  transition: all 0.4s var(--ease-couture);
  display: flex;
  flex-direction: column;
}

.haute-photo-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-hover);
  border-color: rgba(195, 88, 83, 0.25);
}

.haute-photo-media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  cursor: pointer;
}

.haute-photo-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ease-couture);
}

.haute-photo-card:hover .haute-photo-media img {
  transform: scale(1.05);
}

.haute-photo-overlay {
  position: absolute;
  inset: 0;
  background: rgba(32, 22, 29, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.haute-photo-card:hover .haute-photo-overlay {
  opacity: 1;
}

.haute-photo-overlay span {
  background: #FFFFFF;
  color: var(--color-dark);
  padding: 0.55rem 1.2rem;
  border-radius: var(--radius-full);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.haute-photo-caption {
  padding: 1.4rem;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  background: var(--bg-pure);
}

.haute-photo-caption h4 {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 0.2rem;
}

.haute-photo-caption span {
  font-size: 0.78rem;
  color: var(--text-muted);
}

.haute-photo-caption .price-label {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-rose);
}

/* --- 10. LIGHTBOX PLEIN ÉCRAN --- */
.lightbox-modal {
  position: fixed;
  inset: 0;
  background: rgba(18, 12, 16, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}

.lightbox-modal.active {
  display: flex;
}

.lightbox-content {
  background: var(--bg-pure);
  max-width: 820px;
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-modal);
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.lightbox-img-wrap {
  background: #000;
  min-height: 400px;
}

.lightbox-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lightbox-text-wrap {
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.btn-close-lightbox {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(32, 22, 29, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  color: var(--color-dark);
  transition: all 0.2s ease;
}

.btn-close-lightbox:hover {
  background: var(--color-rose);
  color: #FFFFFF;
}

/* --- 11. CHARTE HYGIÈNE & L'ATELIER --- */
.haute-story-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
  margin-bottom: 6rem;
}

.haute-story-text h2 {
  font-family: var(--font-serif);
  font-size: 2.6rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-dark);
  margin-bottom: 1.5rem;
}

.haute-story-text p {
  font-size: 1rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 1.25rem;
}

.haute-charter-box {
  background: var(--bg-pure);
  border-radius: var(--radius-lg);
  border: var(--border-hairline);
  padding: 4rem;
  box-shadow: var(--shadow-subtle);
  margin-bottom: 5rem;
}

.haute-charter-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.5rem;
  margin-top: 3rem;
}

.haute-charter-item {
  position: relative;
}

.charter-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--bg-blush-soft);
  color: var(--color-rose);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  margin-bottom: 1.25rem;
}

.haute-charter-item h4 {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 0.6rem;
}

.haute-charter-item p {
  font-size: 0.88rem;
  color: var(--text-muted);
  line-height: 1.65;
}

/* --- 12. FAQ ACCORDÉON MINIMALISTE --- */
.haute-faq-container {
  max-width: 800px;
  margin: 0 auto 5rem;
  border-top: var(--border-hairline);
}

.haute-faq-item {
  border-bottom: var(--border-hairline);
}

.haute-faq-btn {
  width: 100%;
  padding: 1.8rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  cursor: pointer;
  text-align: left;
}

.haute-faq-btn h3 {
  font-family: var(--font-serif);
  font-size: 1.22rem;
  font-weight: 600;
  color: var(--color-dark);
  line-height: 1.4;
  transition: color 0.25s ease;
}

.haute-faq-item:hover .haute-faq-btn h3 {
  color: var(--color-rose);
}

.haute-faq-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: var(--border-hairline);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-dark);
  transition: transform 0.35s var(--ease-couture), border-color 0.25s ease;
}

.haute-faq-item.open .haute-faq-icon {
  transform: rotate(45deg);
  background: var(--color-rose);
  border-color: var(--color-rose);
  color: #FFFFFF;
}

.haute-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s var(--ease-couture), padding 0.3s ease;
  padding: 0;
}

.haute-faq-item.open .haute-faq-answer {
  max-height: 1200px;
  padding-bottom: 2rem;
}

.haute-faq-answer p {
  font-size: 0.95rem;
  color: var(--text-muted);
  line-height: 1.8;
}

/* Catégorie tag & callouts FAQ */
.faq-item-cat {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-rose);
  margin-bottom: 0.35rem;
}

.faq-callout-box {
  margin-top: 1rem;
  padding: 1rem 1.3rem;
  background: var(--bg-blush-soft);
  border-left: 3px solid var(--color-rose);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.faq-callout-box p {
  font-size: 0.88rem !important;
  color: var(--color-dark) !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Barre de recherche FAQ */
.faq-search-wrapper {
  position: relative;
  max-width: 580px;
  margin: 0 auto 2.5rem;
}

.faq-search-input {
  width: 100%;
  padding: 1.1rem 1.5rem 1.1rem 3.2rem;
  font-size: 0.95rem;
  font-family: inherit;
  background: #FFFFFF;
  border: 1px solid rgba(48, 40, 44, 0.12);
  border-radius: var(--radius-full);
  box-shadow: var(--shadow-subtle);
  color: var(--color-dark);
  transition: all 0.3s var(--ease-couture);
}

.faq-search-input:focus {
  border-color: var(--color-rose);
  box-shadow: 0 10px 30px -10px rgba(195, 88, 83, 0.2);
  outline: none;
}

.faq-search-icon {
  position: absolute;
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-rose);
  font-size: 1.1rem;
  pointer-events: none;
}

/* Guide comparatif interactif */
.faq-comparateur-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 2.5rem;
}

.faq-comparateur-card {
  background: #FFFFFF;
  border-radius: var(--radius-md);
  border: var(--border-hairline);
  overflow: hidden;
  box-shadow: var(--shadow-subtle);
  transition: all 0.35s var(--ease-couture);
  display: flex;
  flex-direction: column;
}

.faq-comparateur-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-hover);
  border-color: rgba(195, 88, 83, 0.3);
}

.faq-comp-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

.faq-comp-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s var(--ease-couture);
}

.faq-comparateur-card:hover .faq-comp-media img {
  transform: scale(1.05);
}

.faq-comp-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: rgba(32, 22, 29, 0.85);
  backdrop-filter: blur(8px);
  color: #FFFFFF;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.35rem 0.8rem;
  border-radius: var(--radius-full);
}

.faq-comp-body {
  padding: 1.8rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.faq-comp-body h4 {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  color: var(--color-dark);
  margin-bottom: 0.5rem;
}

.faq-comp-body p {
  font-size: 0.88rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin-bottom: 1.2rem;
  flex: 1;
}

.faq-comp-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  border-top: var(--border-hairline);
  margin-top: auto;
}

.faq-comp-price {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-rose);
}

.faq-comp-duration {
  font-size: 0.8rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

/* --- 13. CONTACT & ACCÈS --- */
.haute-contact-split {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 4rem;
  margin-bottom: 5rem;
}

.haute-contact-info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.contact-card-minimal {
  padding: 1.6rem 2rem;
  background: var(--bg-pure);
  border-radius: var(--radius-md);
  border: var(--border-hairline);
  box-shadow: var(--shadow-subtle);
}

.contact-card-minimal h4 {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  color: var(--color-dark);
  margin-bottom: 0.4rem;
}

.contact-card-minimal p {
  font-size: 0.92rem;
  color: var(--text-muted);
}

.haute-form-card {
  background: var(--bg-pure);
  border-radius: var(--radius-lg);
  padding: 3rem;
  border: var(--border-hairline);
  box-shadow: var(--shadow-subtle);
}

.f-field {
  margin-bottom: 1.4rem;
}

.f-field label {
  display: block;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--color-dark);
  margin-bottom: 0.5rem;
}

.f-field input, .f-field select, .f-field textarea {
  width: 100%;
  padding: 0.85rem 1.2rem;
  border-radius: var(--radius-sm);
  border: var(--border-hairline);
  background: var(--bg-porcelain);
  color: var(--color-dark);
  font-size: 0.92rem;
  transition: border-color 0.25s ease;
}

.f-field input:focus, .f-field select:focus, .f-field textarea:focus {
  border-color: var(--color-rose);
  background: #FFFFFF;
}

.haute-map-container {
  width: 100%;
  height: 380px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: var(--border-hairline);
  box-shadow: var(--shadow-subtle);
  margin-bottom: 5rem;
}

.haute-map-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* --- 14. PROSE LÉGALE & CONFIDENTIALITÉ --- */
.haute-legal-wrap {
  max-width: 800px;
  margin: 0 auto 5rem;
  background: var(--bg-pure);
  padding: 3.5rem;
  border-radius: var(--radius-lg);
  border: var(--border-hairline);
  box-shadow: var(--shadow-subtle);
}

.haute-legal-block {
  margin-bottom: 2.5rem;
  padding-bottom: 2rem;
  border-bottom: var(--border-hairline);
}

.haute-legal-block:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.haute-legal-block h2 {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--color-dark);
  margin-bottom: 1rem;
}

.haute-legal-block p, .haute-legal-block li {
  font-size: 0.95rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-bottom: 0.8rem;
}

/* --- 15. PIED DE PAGE HAUTE COUTURE --- */
.haute-footer {
  background: var(--color-dark);
  color: #FFFFFF;
  padding: 5rem 0 2.5rem;
  position: relative;
}

.footer-top-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 3.5rem;
  margin-bottom: 4rem;
}

.footer-brand-header {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.25rem;
}

.footer-brand-header img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}

.footer-brand-header span {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: #FFFFFF;
}

.footer-about-text {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.75;
  margin-bottom: 1.8rem;
  max-width: 320px;
}

.footer-social-row {
  display: flex;
  gap: 0.75rem;
}

.footer-social-row a {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  font-size: 0.9rem;
  transition: all 0.25s ease;
}

.footer-social-row a:hover {
  background: var(--color-rose);
  border-color: var(--color-rose);
  transform: translateY(-2px);
}

.f-google-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 0.45rem 0.9rem;
  border-radius: var(--radius-full);
  color: #FFFFFF;
  font-size: 0.8rem;
  font-weight: 600;
  margin-top: 1.2rem;
  transition: all 0.25s ease;
}

.f-google-badge i {
  color: #EA4335;
}

.f-google-badge .stars {
  color: #FBBC04;
}

.f-google-badge:hover {
  background: rgba(255, 255, 255, 0.18);
  transform: translateY(-2px);
}

.footer-col h5 {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 600;
  color: #FFFFFF;
  margin-bottom: 1.5rem;
  letter-spacing: 0.02em;
}

.footer-links-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.footer-links-list a, .footer-col p {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.65);
  transition: color 0.2s ease;
}

.footer-links-list a:hover {
  color: #FFFFFF;
  padding-left: 3px;
}

.footer-bottom-bar {
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.45);
  flex-wrap: wrap;
  gap: 1rem;
}

/* --- 16. MODAL DE RÉSERVATION SPLIT COUTURE --- */
.booking-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(18, 12, 16, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
}

.booking-modal-overlay.active {
  display: flex;
}

.booking-modal-card {
  background: var(--bg-pure);
  max-width: 780px;
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-modal);
  position: relative;
  animation: modalEnter 0.4s var(--ease-couture);
}

@keyframes modalEnter {
  from { opacity: 0; transform: scale(0.96) translateY(15px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.btn-close-modal {
  position: absolute;
  top: 1.2rem;
  right: 1.2rem;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(32, 22, 29, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  color: var(--color-dark);
}

.popup-split-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
}

.popup-media-col {
  background: #000;
  position: relative;
}

.popup-media-col img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
}

.popup-form-col {
  padding: 2.8rem 2.5rem;
}

.popup-form-col h3 {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: var(--color-dark);
  margin-bottom: 0.4rem;
}

.popup-sub {
  font-size: 0.86rem;
  color: var(--text-muted);
  margin-bottom: 1.6rem;
}

.f-group {
  margin-bottom: 1.1rem;
}

.f-group label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-dark);
  margin-bottom: 0.35rem;
}

.f-group input, .f-group select {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: var(--radius-xs);
  border: var(--border-hairline);
  background: var(--bg-porcelain);
  font-size: 0.9rem;
  color: var(--color-dark);
}

.btn-block {
  width: 100%;
}

/* --- 17. RESPONSIVE BREAKPOINTS --- */
@media (max-width: 1024px) {
  .haute-hero-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  
  .haute-hero-title {
    font-size: 3rem;
  }
  
  .haute-pillars-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  
  .haute-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .haute-charter-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .footer-top-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5rem;
  }
}

@media (max-width: 768px) {
  .island-links, .island-sep.desktop-only {
    display: none;
  }
  
  .nav-btn-menu {
    display: flex;
  }
  
  .haute-hero-title {
    font-size: 2.3rem;
  }
  
  .haute-menu-row {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.5rem;
  }
  
  .menu-meta-group {
    justify-content: space-between;
    text-align: left;
  }
  
  .haute-gallery-grid {
    grid-template-columns: 1fr;
  }
  
  .haute-story-split, .haute-contact-split, .lightbox-content, .popup-split-grid {
    grid-template-columns: 1fr;
  }
  
  .popup-media-col {
    display: none;
  }
  
  .haute-charter-grid {
    grid-template-columns: 1fr;
  }
  
  .footer-top-grid {
    grid-template-columns: 1fr;
  }
  
  .haute-charter-box, .haute-form-card, .haute-legal-wrap {
    padding: 2rem 1.5rem;
  }
}

/* --- INSTAGRAM REELS & FEED SHOWCASE --- */
.insta-reels-section {
  padding: 5.5rem 0 6rem;
  background: var(--bg-pure);
  border-top: var(--border-hairline);
  border-bottom: var(--border-hairline);
}

.insta-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 1.1rem;
  border-radius: 9999px;
  background: rgba(184, 115, 95, 0.08);
  border: 1px solid rgba(184, 115, 95, 0.15);
  color: var(--color-terracotta);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 0.8rem;
}

.insta-reels-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 2.8rem;
}

.insta-reel-card {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 9 / 16;
  background: #111;
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.06);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
  display: block;
  text-decoration: none;
}

.insta-reel-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 45px rgba(184, 115, 95, 0.22);
}

.insta-reel-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.insta-reel-card:hover .insta-reel-thumb {
  transform: scale(1.06);
}

.insta-reel-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.1) 45%, rgba(0,0,0,0.85) 100%);
  pointer-events: none;
}

.insta-reel-top {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
}

.insta-reel-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
  padding: 0.3rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.insta-play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(6px);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-dark);
  font-size: 1rem;
  box-shadow: 0 4px 15px rgba(0,0,0,0.25);
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease;
  z-index: 2;
}

.insta-reel-card:hover .insta-play-icon {
  transform: translate(-50%, -50%) scale(1.15);
  background: #fff;
  color: var(--color-terracotta);
}

.insta-reel-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.25rem 1.1rem;
  color: #fff;
  z-index: 2;
}

.insta-reel-tag {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-blush-cream);
  margin-bottom: 0.35rem;
  display: block;
  font-weight: 500;
}

.insta-reel-title {
  font-family: var(--font-serif);
  font-size: 1.05rem;
  line-height: 1.35;
  color: #fff;
  margin-bottom: 0.5rem;
}

.insta-reel-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: rgba(255,255,255,0.85);
}

.insta-profile-bar {
  margin-top: 3.5rem;
  padding: 2.2rem 2.5rem;
  background: var(--bg-porcelain);
  border-radius: 20px;
  border: 1px solid rgba(184, 115, 95, 0.18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.insta-profile-info {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.insta-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  padding: 3px;
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.insta-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #fff;
}

.btn-instagram-follow {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.9rem 1.8rem;
  background: linear-gradient(45deg, #405de6, #5851db, #833ab4, #c13584, #e1306c, #fd1d1d);
  color: #fff;
  font-weight: 600;
  font-size: 0.9rem;
  border-radius: 9999px;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(193, 53, 132, 0.25);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.btn-instagram-follow:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(193, 53, 132, 0.35);
  color: #fff;
}

@media (max-width: 992px) {
  .insta-reels-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .insta-reels-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .insta-profile-bar {
    padding: 1.5rem;
    flex-direction: column;
    text-align: center;
  }
  .insta-profile-info {
    flex-direction: column;
  }
}

