:root{
    --ink:#0b0b0c;
    --ink-soft:#141416;
    --graphite:#1b1b1d;
    --bone:#f2f0ea;
    --bone-dim:#c9c6bd;
    --chrome:#b8babc;
    --chrome-light:#e4e5e6;
    --line: rgba(242,240,234,0.14);
    --line-strong: rgba(242,240,234,0.28);
    --ease: cubic-bezier(.16,.84,.44,1);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--ink);
    color:var(--bone);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--bone);color:var(--ink);}

  .noise{
    position:fixed; inset:0; pointer-events:none; z-index:999;
    opacity:.035; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  }

  .eyebrow{
    font-family:'JetBrains Mono',monospace;
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--chrome);
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{
    content:''; width:16px; height:1px; background:var(--chrome);
  }

  h1,h2,h3{
    font-family:'Anton',sans-serif;
    font-weight:400;
    text-transform:uppercase;
    letter-spacing:.01em;
    line-height:.92;
  }

  a{color:inherit; text-decoration:none;}
  img{display:block; max-width:100%;}
  section{position:relative;}

  .wrap{
    max-width:1280px;
    margin:0 auto;
    padding:0 24px;
  }

  /* ---------- NAV ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:500;
    background:rgba(8,8,9,.93);
    backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--line);
    transition:background .3s var(--ease), box-shadow .3s var(--ease);
  }
  header.scrolled{
    background:rgba(8,8,9,.99);
    box-shadow:0 1px 24px rgba(0,0,0,.35);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:16px 24px;
    max-width:1280px; margin:0 auto;
  }
  .logo{
    font-family:'Anton',sans-serif; font-size:19px; letter-spacing:.02em;
    text-transform:uppercase;
  }
  .logo span{color:var(--chrome);}
  .nav-links{
    display:flex; gap:32px;
    font-family:'JetBrains Mono',monospace;
    font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;
  }
  .nav-links a{position:relative; padding-bottom:3px; color:var(--bone-dim); transition:color .25s;}
  .nav-links a:hover{color:var(--bone);}
  .nav-links a::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:1px;
    background:var(--bone); transition:width .3s var(--ease);
  }
  .nav-links a:hover::after{width:100%;}
  .nav-cta{
    font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
    padding:11px 20px; border:1px solid var(--line-strong); border-radius:2px;
    transition:background .25s var(--ease), color .25s var(--ease);
  }
  .nav-cta:hover{background:var(--bone); color:var(--ink);}
  .burger{
    display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:600;
    width:26px;
  }
  .burger span{height:1px; background:var(--bone); width:100%; transition:transform .3s var(--ease), opacity .3s;}
  .burger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  .burger.open span:nth-child(2){opacity:0;}
  .burger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

  .mobile-menu{
    position:fixed; inset:0; background:var(--ink); z-index:400;
    display:flex; flex-direction:column; justify-content:center; gap:28px;
    padding:24px 32px;
    transform:translateY(-100%); transition:transform .5s var(--ease);
  }
  .mobile-menu.open{transform:translateY(0);}
  .mobile-menu a{font-family:'Anton',sans-serif; font-size:34px; text-transform:uppercase;}
  .mobile-menu .m-cta{
    margin-top:20px; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.1em;
    text-transform:uppercase; border:1px solid var(--line-strong); padding:16px; text-align:center; width:fit-content;
  }

  /* ---------- HERO ---------- */
  .hero{
    min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end;
    padding-top:120px; padding-bottom:56px;
    position:relative;
    background:
      radial-gradient(120% 90% at 15% 4%, rgba(184,186,188,.07), transparent 50%),
      linear-gradient(180deg, var(--ink) 0%, #0e0e10 100%);
  }
  .hero-visual{
    position:absolute; inset:0; z-index:0; overflow:hidden;
  }
  .lens-field{
    position:absolute; top:16%; right:-6%; width:62vw; max-width:780px; aspect-ratio:1/1;
    border-radius:50%;
    background-image:url('images/hero-regard.jpg');
    background-size:cover;
    background-position:38% 30%;
    border:1px solid var(--line-strong);
    box-shadow:0 0 0 14px rgba(11,11,12,.55), inset 0 0 60px rgba(0,0,0,.35);
    filter:grayscale(.15) contrast(1.05);
  }
  .lens-field::before{
    content:''; position:absolute; inset:0; border-radius:50%;
    background:linear-gradient(200deg, rgba(11,11,12,0) 40%, rgba(11,11,12,.5) 100%);
  }
  .grid-lines{
    position:absolute; inset:0;
    background-image:
      linear-gradient(var(--line) 1px, transparent 1px),
      linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size:100% 25%, 12.5% 100%;
    opacity:.35;
  }
  .hero-inner{position:relative; z-index:2;}
  .hero-tag{margin-bottom:26px;}
  .hero h1{
    font-size:clamp(46px, 9vw, 118px);
    max-width:15ch;
  }
  .hero h1 em{
    font-style:normal; color:transparent; -webkit-text-stroke:1px var(--bone);
  }
  .hero-sub{
    margin-top:26px; max-width:520px;
    font-size:16px; line-height:1.6; color:var(--bone-dim);
  }
  .hero-ctas{
    margin-top:40px; display:flex; gap:16px; flex-wrap:wrap;
  }
  .btn{
    font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.08em; text-transform:uppercase;
    padding:17px 30px; border-radius:2px; position:relative; overflow:hidden;
    display:inline-flex; align-items:center; gap:10px;
    transition:transform .35s var(--ease);
  }
  .btn-primary{background:var(--bone); color:var(--ink);}
  .btn-primary:hover{transform:translateY(-2px);}
  .btn-primary::after{
    content:'→'; transition:transform .3s var(--ease);
  }
  .btn-primary:hover::after{transform:translateX(4px);}
  .btn-outline{border:1px solid var(--line-strong); color:var(--bone);}
  .btn-outline:hover{border-color:var(--bone); transform:translateY(-2px);}

  .hero-meta{
    margin-top:64px; display:flex; gap:48px; flex-wrap:wrap;
    font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--bone-dim);
    letter-spacing:.05em; border-top:1px solid var(--line); padding-top:20px;
  }
  .hero-meta b{display:block; color:var(--bone); font-size:13px; margin-bottom:4px; font-weight:600;}

  /* ---------- MARQUEE ---------- */
  .marquee-strip{
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
    background:var(--graphite);
    padding:16px 0; overflow:hidden;
    display:flex;
  }
  .marquee-track{
    display:flex; gap:0; white-space:nowrap;
    animation:scroll-left 34s linear infinite;
  }
  .marquee-track span{
    font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.08em;
    text-transform:uppercase; padding:0 28px; color:var(--chrome);
    display:flex; align-items:center; gap:28px;
  }
  .marquee-track span::after{content:'—'; color:var(--line-strong);}
  @keyframes scroll-left{
    from{transform:translateX(0);} to{transform:translateX(-50%);}
  }

  /* ---------- SECTION HEADERS ---------- */
  .sec{padding:120px 0;}
  .sec-head{
    display:flex; justify-content:space-between; align-items:flex-end; gap:24px;
    margin-bottom:64px; flex-wrap:wrap;
  }
  .sec-head h2{font-size:clamp(34px,5vw,60px);}
  .sec-head p{max-width:340px; color:var(--bone-dim); font-size:14.5px; line-height:1.6;}

  .reveal{opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* ---------- BOUTIQUES ---------- */
  .stores{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);}
  .store-card{
    background:var(--ink); padding:36px 28px; min-height:340px;
    display:flex; flex-direction:column; justify-content:space-between;
    transition:background .4s var(--ease);
  }
  .store-card:hover{background:var(--ink-soft);}
  .store-top{display:flex; align-items:center; gap:12px;}
  .mall-badge{
    width:42px; height:42px; border-radius:10px; background:var(--bone);
    display:flex; align-items:center; justify-content:center; padding:7px; flex:0 0 auto;
  }
  .mall-badge img{width:100%; height:100%; object-fit:contain;}
  .store-index{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--chrome); letter-spacing:.1em;}
  .store-name{font-family:'Anton',sans-serif; font-size:26px; text-transform:uppercase; margin-top:22px;}
  .store-loc{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--bone-dim); letter-spacing:.03em; margin-top:6px;}
  .store-meta{margin-top:22px; font-size:13px; color:var(--bone-dim); line-height:1.7;}
  .store-link{
    margin-top:22px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em;
    text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; width:fit-content;
    border-bottom:1px solid var(--line-strong); padding-bottom:4px; transition:border-color .25s;
  }
  .store-link:hover{border-color:var(--bone);}

  /* ---------- UNIVERS ---------- */
  .univers{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);}
  .u-card{background:var(--ink); padding:40px 26px; min-height:280px; display:flex; flex-direction:column; justify-content:space-between;}
  .u-icon{
    width:44px; height:44px; border:1px solid var(--line-strong); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
  }
  .u-icon svg{width:20px; height:20px; stroke:var(--bone); fill:none; stroke-width:1.4;}
  .u-title{font-family:'Anton',sans-serif; font-size:19px; text-transform:uppercase; margin-top:40px;}
  .u-desc{font-size:13.5px; color:var(--bone-dim); line-height:1.6; margin-top:10px;}

  /* ---------- EDITO ---------- */
  .edito-strip{
    display:flex; gap:2px; overflow-x:auto; scroll-snap-type:x mandatory;
    padding:0 24px 32px; -webkit-overflow-scrolling:touch;
  }
  .edito-strip::-webkit-scrollbar{height:3px;}
  .edito-strip::-webkit-scrollbar-thumb{background:var(--line-strong);}
  .edito-item{
    flex:0 0 auto; width:min(72vw, 300px); aspect-ratio:3/4;
    scroll-snap-align:start; overflow:hidden; background:var(--graphite);
  }
  .edito-item img{width:100%; height:100%; object-fit:cover; object-position:top center; display:block;}

  /* ---------- MARQUES / LOOKBOOK ---------- */
  .lookbook{
    display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line);
  }
  .brand-tile{
    aspect-ratio:1/1; background:var(--graphite); display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden; padding:20%;
    transition:background .35s var(--ease);
  }
  .brand-tile img{
    width:100%; height:100%; object-fit:contain;
    transition:transform .45s var(--ease);
  }
  .brand-tile:hover{background:var(--ink-soft);}
  .brand-tile:hover img{transform:scale(1.1);}
  .brand-tile .b-name{
    position:absolute; bottom:10px; left:0; right:0; text-align:center;
    font-family:'JetBrains Mono',monospace; font-size:9px; letter-spacing:.08em; text-transform:uppercase;
    color:var(--chrome); opacity:0; transition:opacity .3s var(--ease);
  }
  .brand-tile:hover .b-name{opacity:1;}

  /* ---------- POURQUOI ---------- */
  .why{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line);}
  .why-card{background:var(--ink); padding:34px 22px; min-height:260px; display:flex; flex-direction:column; justify-content:space-between;}
  .why-num{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--chrome);}
  .why-title{font-family:'Anton',sans-serif; font-size:16.5px; text-transform:uppercase; margin-top:50px; line-height:1.15;}
  .why-desc{font-size:13px; color:var(--bone-dim); line-height:1.55; margin-top:10px;}

  /* ---------- INSTAGRAM ---------- */
  .insta-band{text-align:center;}
  .ig-link{
    display:inline-flex; align-items:center; gap:12px;
    padding:16px 30px; border-radius:999px;
    background:linear-gradient(45deg,#f9ce34,#ee2a7b 45%,#6228d7);
    color:#fff; font-family:'JetBrains Mono',monospace; font-size:13px;
    letter-spacing:.05em; text-transform:uppercase;
    transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .ig-link:hover{transform:translateY(-2px); box-shadow:0 12px 34px rgba(238,42,123,.35);}
  .ig-link svg{width:20px; height:20px; display:block; flex:0 0 auto;}

  /* ---------- AVIS ---------- */
  .reviews{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line);}
  .review-card{background:var(--ink); padding:36px 30px; min-height:260px; display:flex; flex-direction:column; justify-content:space-between;}
  .stars{font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.15em; color:var(--bone);}
  .review-text{font-size:14.5px; line-height:1.65; color:var(--bone-dim); margin-top:22px;}
  .review-who{margin-top:24px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.05em; color:var(--chrome); text-transform:uppercase;}
  .reviews-cta{text-align:center; margin-top:48px;}

  /* ---------- CONTACT ---------- */
  .contact{
    background:var(--graphite); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  .contact-inner{display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:end;}
  .contact h2{font-size:clamp(36px,6vw,72px); max-width:11ch;}
  .contact-list{display:flex; flex-direction:column; gap:0;}
  .contact-row{
    display:flex; justify-content:space-between; align-items:center;
    padding:20px 0; border-top:1px solid var(--line);
    font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:.04em;
  }
  .contact-row:last-child{border-bottom:1px solid var(--line);}
  .contact-row span:first-child{color:var(--bone-dim); text-transform:uppercase; font-size:11px; letter-spacing:.1em;}
  .contact-row a{transition:color .25s;}
  .contact-row a:hover{color:var(--chrome);}

  /* ---------- FOOTER ---------- */
  footer{padding:64px 0 32px;}
  .footer-top{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:32px; padding-bottom:40px; border-bottom:1px solid var(--line);}
  .footer-logo{font-family:'Anton',sans-serif; font-size:28px; text-transform:uppercase;}
  .footer-stores{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--bone-dim); letter-spacing:.05em; margin-top:8px;}
  .footer-social{display:flex; gap:20px; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase;}
  .footer-social a{color:var(--bone-dim); transition:color .25s;}
  .footer-social a:hover{color:var(--bone);}
  .footer-bottom{
    display:flex; justify-content:space-between; padding-top:24px;
    font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--bone-dim); letter-spacing:.05em; flex-wrap:wrap; gap:8px;
  }

  /* ---------- RESPONSIVE ---------- */
  @media (max-width:1000px){
    .nav-links{display:none;}
    .nav-cta{display:none;}
    .burger{display:flex;}
    .stores{grid-template-columns:1fr;}
    .univers{grid-template-columns:repeat(2,1fr);}
    .lookbook{grid-template-columns:repeat(3,1fr);}
    .why{grid-template-columns:repeat(2,1fr);}
    .reviews{grid-template-columns:1fr;}
    .contact-inner{grid-template-columns:1fr; gap:36px;}
    .hero-meta{gap:28px;}
  }
  @media (max-width:560px){
    .lookbook{grid-template-columns:repeat(2,1fr);}
    .sec{padding:80px 0;}
    .hero{padding-bottom:40px;}
    .lens-field{width:90vw; right:-20%; top:2%;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
  }

  /* ---------- COOKIE BANNER ---------- */
  .cookie-banner{
    position:fixed; left:16px; right:16px; bottom:16px; z-index:900;
    max-width:560px; margin:0 auto;
    background:var(--graphite); border:1px solid var(--line-strong);
    padding:22px 22px 20px; border-radius:2px;
    box-shadow:0 12px 40px rgba(0,0,0,.45);
    transform:translateY(140%); opacity:0;
    transition:transform .5s var(--ease), opacity .5s var(--ease);
  }
  .cookie-banner.show{transform:translateY(0); opacity:1;}
  .cookie-banner p{font-size:13px; line-height:1.6; color:var(--bone-dim); margin-bottom:16px;}
  .cookie-banner a{color:var(--bone); border-bottom:1px solid var(--line-strong);}
  .cookie-actions{display:flex; gap:12px; flex-wrap:wrap;}
  .cookie-actions button{
    font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
    padding:12px 20px; border-radius:2px; cursor:pointer; border:1px solid var(--line-strong);
    background:transparent; color:var(--bone); transition:background .25s, color .25s;
  }
  .cookie-actions button.accept{background:var(--bone); color:var(--ink); border-color:var(--bone);}
  .cookie-actions button:hover{opacity:.85;}