
  :root{
    --ink:#12151c;
    --bone:#ece5d6;
    --ivory:#f6f2e8;
    --charcoal:#211d1a;
    --brass:#b08d57;
    --brass-light:#d3b483;
    --wine:#7a2e2e;
    --whatsapp:#3f6b4f;
    --line: rgba(246,242,232,0.14);
    --line-dark: rgba(33,29,26,0.14);
    --display: 'Fraunces', serif;
    --body: 'Manrope', sans-serif;
    --mono: 'Space Mono', monospace;
    --ease: cubic-bezier(.22,.61,.36,1);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{background:var(--ink); color:var(--ivory); font-family:var(--body); line-height:1.5; overflow-x:hidden;}
  a{color:inherit; text-decoration:none;}
  img,svg{display:block; max-width:100%;}
  button{font-family:inherit; cursor:pointer; border:none; background:none; color:inherit;}
  input, textarea, select{font-family:inherit;}
  ::selection{background:var(--brass); color:var(--ink);}

  .wrap{max-width:1240px; margin:0 auto; padding:0 32px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }

  .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--brass-light);}
  h1,h2,h3{font-family:var(--display); font-weight:500; letter-spacing:-0.01em;}

  /* ---------- HEADER ---------- */
  header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:block;
    transition:background .4s var(--ease), border-color .4s var(--ease);
    border-bottom:1px solid transparent;
  }
  header.scrolled{ background:rgba(18,21,28,0.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  .topbar{
    display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
    padding:8px 32px; font-family:var(--mono); font-size:11px; color:rgba(246,242,232,.82);
    background:rgba(15,13,10,.55); border-bottom:1px solid var(--line);
    max-height:240px; overflow:hidden; opacity:1;
    transition:max-height .4s var(--ease), opacity .3s var(--ease), padding .4s var(--ease), border-color .4s var(--ease);
  }
  header.scrolled .topbar{ max-height:0; padding-top:0; padding-bottom:0; opacity:0; border-bottom-color:transparent; }
  .topbar-contacts{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
  .topbar-contacts a{display:inline-flex; align-items:center; gap:5px; white-space:nowrap;}
  .topbar-contacts a:hover{color:var(--brass-light);}
  .topbar-promo{font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--brass-light);}
  @media (max-width:760px){
    .topbar{ font-size:10px; padding:8px 16px; gap:6px; flex-direction:column; align-items:center; text-align:center; max-height:240px; }
    .topbar-contacts{ flex-direction:column; gap:4px; }
    .topbar-contacts span{ white-space:normal; }
    .topbar-promo{ white-space:normal; }
  }
  .header-main{
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 32px;
    background:rgba(15,13,10,.55);
    transition:padding .4s var(--ease), background .4s var(--ease);
  }
  header.scrolled .header-main{ padding:12px 32px; background:rgba(18,21,28,0.92); }
  .logo{ font-family:var(--display); font-size:20px; letter-spacing:.02em; display:flex; align-items:baseline; gap:8px; }
  .logo em{font-style:italic; color:var(--brass-light);}
  nav.main-nav{display:flex; gap:30px;}
  nav.main-nav a{ font-size:13px; letter-spacing:.04em; text-transform:uppercase; position:relative; padding-bottom:4px; }
  nav.main-nav a::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--brass-light); transition:width .3s var(--ease); }
  nav.main-nav a:hover::after{width:100%;}
  .header-actions{display:flex; align-items:center; gap:22px;}
  .icon-btn{position:relative; width:22px; height:22px; display:flex; align-items:center; justify-content:center;}
  .icon-btn svg{width:19px; height:19px; stroke:var(--ivory); fill:none; stroke-width:1.4;}
  .cart-count{ position:absolute; top:-8px; right:-10px; background:var(--brass); color:var(--ink); font-family:var(--mono); font-size:10px; font-weight:700; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .burger{display:none; flex-direction:column; gap:5px; width:24px;}
  .burger span{height:1px; background:var(--ivory); width:100%;}
  @media (max-width:900px){ nav.main-nav{display:none;} .burger{display:flex;} }

  .mobile-nav{ position:fixed; inset:0; background:var(--ink); z-index:150; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:26px; transform:translateY(-100%); transition:transform .5s var(--ease); }
  .mobile-nav.open{transform:translateY(0);}
  .mobile-nav a{font-family:var(--display); font-size:26px;}
  .mobile-close{position:absolute; top:26px; right:32px; font-size:28px; font-family:var(--display);}

  /* ---------- HERO ---------- */
  .hero{min-height:100vh; display:flex; align-items:stretch;}
  .hero-text{flex:1; display:flex; flex-direction:column; justify-content:center; padding:185px 60px 80px 32px; max-width:640px;}
  .hero-text h1{font-size:clamp(42px,6.2vw,84px); line-height:.98; margin:18px 0 26px;}
  .hero-text h1 .it{font-style:italic; color:var(--brass-light);}
  .hero-text p{font-size:16px; color:rgba(246,242,232,.7); max-width:440px; margin-bottom:34px;}
  .btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; font-size:12px; letter-spacing:.12em; text-transform:uppercase; padding:15px 28px; border:1px solid var(--brass-light); transition:background .35s var(--ease), color .35s var(--ease); }
  .btn:hover{background:var(--brass-light); color:var(--ink);}
  .btn-solid{background:var(--brass-light); color:var(--ink); border-color:var(--brass-light);}
  .btn-solid:hover{background:transparent; color:var(--ivory);}
  .btn-ghost-dark{border-color:var(--charcoal); color:var(--charcoal);}
  .btn-ghost-dark:hover{background:var(--charcoal); color:var(--ivory);}
  .btn-wa{background:var(--whatsapp); border-color:var(--whatsapp); color:var(--ivory);}
  .btn-wa:hover{opacity:.85; background:var(--whatsapp); color:var(--ivory);}
  .btn-sm{padding:11px 18px; font-size:11px;}

  .hero-visual{ flex:1; position:relative; overflow:hidden; background:#171310; display:flex; align-items:flex-end; }
  .hero-visual img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; }
  .hero-visual::before{ content:''; position:absolute; inset:0; z-index:1; background:linear-gradient(0deg, rgba(15,13,10,.85) 0%, rgba(15,13,10,.15) 45%, rgba(15,13,10,.35) 100%); }
  .hero-tag{ position:relative; z-index:2; margin:36px; padding:14px 18px; background:rgba(18,21,28,.55); backdrop-filter:blur(6px); border:1px solid var(--line); font-family:var(--mono); font-size:11px; max-width:230px; }
  .hero-tag b{display:block; font-family:var(--display); font-size:16px; font-weight:500; margin-bottom:4px; font-style:italic;}
  @media (max-width:860px){ .hero{flex-direction:column;} .hero-text{padding:190px 24px 50px; max-width:none;} .hero-visual{min-height:340px;} }

  /* ---------- SWATCH RAIL ---------- */
  .rail{border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; padding:22px 0; background:#0f1218;}
  .promo-banner{
    background:var(--wine); color:var(--ivory); text-align:center;
    padding:16px 20px; font-family:var(--mono); font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  }
  .promo-banner b{font-weight:700;}
  @media (max-width:640px){ .promo-banner{font-size:11px; padding:13px 16px;} }
  .rail-track{display:flex; width:max-content; animation:scroll-rail 34s linear infinite;}
  .rail:hover .rail-track{animation-play-state:paused;}
  @keyframes scroll-rail{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
  .swatch{ display:flex; align-items:center; gap:12px; padding:0 34px; border-right:1px solid var(--line); font-family:var(--mono); font-size:11px; letter-spacing:.06em; white-space:nowrap; color:rgba(246,242,232,.65); }
  .swatch-dot{width:12px; height:12px; border-radius:50%; flex:none; border:1px solid rgba(246,242,232,.25);}

  /* ---------- SECTION generic ---------- */
  section{padding:110px 0;}

  /* ---------- SCROLL REVEAL (sicuro: mai su intere sezioni o sull'header) ---------- */
  .reveal{opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){ .reveal{opacity:1; transform:none; transition:none;} }
  .section-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:40px; gap:24px; flex-wrap:wrap;}
  .section-head h2{font-size:clamp(30px,4vw,46px);}
  .section-sub{max-width:460px; font-size:14px; color:rgba(246,242,232,.6); margin-top:-24px; margin-bottom:44px;}
  .light{background:var(--bone); color:var(--charcoal);}
  .light .eyebrow{color:var(--wine);}
  .light .section-sub{color:rgba(33,29,26,.62);}

  /* ---------- FILTERS ---------- */
  .filter-block{margin-bottom:8px;}
  .filter-label{font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--wine); margin-bottom:10px; display:block;}
  .filters{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px;}
  .filter-btn{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; padding:9px 16px; border:1px solid var(--line-dark); color:var(--charcoal); transition:all .3s var(--ease); }
  .filter-btn.active, .filter-btn:hover{background:var(--charcoal); color:var(--bone); border-color:var(--charcoal);}
  .color-filters{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:30px;}
  .color-dot{ width:26px; height:26px; border-radius:50%; border:2px solid transparent; cursor:pointer; position:relative; transition:border-color .25s var(--ease); }
  .color-dot.active, .color-dot:hover{border-color:var(--wine);}
  .color-dot[data-color="tutti"]{ background:conic-gradient(from 0deg, #7a2e2e, #b08d57, #1c2b45, #12151c, #f6f2e8, #7a2e2e); }

  /* ---------- CATEGORY ACCORDION ---------- */
  .cat-accordion{display:flex; flex-direction:column; gap:2px; background:var(--line-dark);}
  .cat-tile{background:var(--ivory);}
  .cat-head{
    display:flex; align-items:center; gap:20px; padding:18px 22px; cursor:pointer;
    transition:background .25s var(--ease);
  }
  .cat-head:hover{background:rgba(122,46,46,.05);}
  .cat-cover{width:64px; height:80px; object-fit:cover; background:#fff; flex:none;}
  .cat-head-text{flex:1; display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;}
  .cat-name{font-family:var(--display); font-size:22px; font-style:italic;}
  .cat-count{font-family:var(--mono); font-size:11px; color:rgba(33,29,26,.55); letter-spacing:.04em;}
  .cat-chevron{ font-family:var(--display); font-size:26px; color:var(--wine); transition:transform .35s var(--ease); flex:none; line-height:1; }
  .cat-tile.open .cat-chevron{transform:rotate(45deg);}
  .cat-body{ max-height:0; overflow:hidden; transition:max-height .5s var(--ease); }
  .cat-tile.open .cat-body{max-height:6000px;}
  .cat-body-inner{padding:0 22px 26px;}
  .cat-color-filters{display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:18px;}

  /* ---------- PRODUCT GRID ---------- */
  .product-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line-dark);}
  @media (max-width:940px){ .product-grid{grid-template-columns:repeat(2,1fr);} }
  .product-card{ background:var(--ivory); color:var(--charcoal); position:relative; overflow:hidden; cursor:pointer; }
  .product-card[hidden]{display:none;}
  .p-image{aspect-ratio:3/4; position:relative; overflow:hidden; background:#fff;}
  .p-image img{width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
  .product-card:hover .p-image img{transform:scale(1.05);}
  .p-badge{ position:absolute; top:14px; left:14px; z-index:2; font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; background:var(--charcoal); color:var(--ivory); padding:5px 9px; }
  .wish-btn{ position:absolute; top:10px; right:10px; z-index:2; width:32px; height:32px; border-radius:50%; background:rgba(246,242,232,.85); display:flex; align-items:center; justify-content:center; }
  .wish-btn svg{width:14px; height:14px; stroke:var(--wine); fill:none; stroke-width:1.6;}
  .wish-btn.active svg{fill:var(--wine);}
  .p-info{padding:16px 18px 20px;}
  .p-cat{font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--wine);}
  .p-name{font-family:var(--display); font-size:18px; margin:6px 0 8px; line-height:1.2;}
  .p-row{display:flex; justify-content:space-between; align-items:center;}
  .p-price{font-family:var(--mono); font-size:14px;}
  .price-old{opacity:.5; text-decoration:line-through; font-size:.85em; margin-right:4px;}
  .price-new{color:var(--wine); font-weight:700;}
  .cart-total-row{font-family:var(--mono); font-size:13px; border-top:1px solid var(--line-dark); margin-top:6px; padding-top:12px; display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
  .promo-tag{font-size:10px; letter-spacing:.04em; text-transform:uppercase; background:var(--wine); color:var(--ivory); padding:3px 7px;}
  .p-view{font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; text-decoration:underline; text-underline-offset:3px;}

  /* ---------- OUTFIT ---------- */
  .outfit-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:2px; background:var(--line-dark);}
  .outfit-card{background:var(--ivory); color:var(--charcoal); padding:22px;}
  .outfit-imgs{display:grid; grid-template-columns:repeat(3,1fr); gap:4px; margin-bottom:16px;}
  .outfit-imgs img{width:100%; aspect-ratio:1/1; object-fit:cover; background:#fff; cursor:pointer; transition:opacity .25s var(--ease);}
  .outfit-imgs img:hover{opacity:.8;}
  .outfit-name{font-family:var(--display); font-size:20px; font-style:italic; margin-bottom:6px;}
  .outfit-occasion{font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--wine); margin-bottom:10px;}
  .outfit-items{font-size:13px; color:rgba(33,29,26,.75); line-height:1.7; margin-bottom:14px;}
  .outfit-total{font-family:var(--mono); font-size:13px; border-top:1px solid var(--line-dark); padding-top:12px;}

  /* ---------- SIZE GUIDE ---------- */
  .guide-tabs{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px;}
  .guide-table{width:100%; border-collapse:collapse; font-size:13px; display:none;}
  .guide-table.active{display:table;}
  .guide-table th, .guide-table td{ text-align:left; padding:11px 14px; border-bottom:1px solid var(--line-dark); color:var(--ivory); }
  .guide-table th{font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--brass-light);}
  .guide-note{font-size:12px; color:rgba(246,242,232,.55); margin-top:18px; max-width:520px;}

  /* ---------- STORY ---------- */
  .story{display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center;}
  @media (max-width:840px){ .story{grid-template-columns:1fr;} }
  .story p{color:rgba(33,29,26,.72); margin-bottom:18px; max-width:460px;}
  .values{display:grid; grid-template-columns:repeat(2,1fr); gap:26px; margin-top:34px;}
  .value b{font-family:var(--display); font-style:italic; display:block; margin-bottom:6px; font-size:18px; color:var(--charcoal);}
  .value span{font-size:13px; color:rgba(33,29,26,.6);}
  .story-visual{aspect-ratio:4/5; position:relative; overflow:hidden; background:#171310;}
  .story-visual img{width:100%; height:100%; object-fit:cover;}
  .story-visual::before{content:''; position:absolute; inset:18px; border:1px solid rgba(246,242,232,.35); pointer-events:none;}

  /* ---------- REVIEWS ---------- */
  /* ---------- STATS STRIP ---------- */
  .stats-strip{background:var(--charcoal); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:50px 0;}
  .stats-strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; text-align:center;}
  .stat-item{display:flex; flex-direction:column; gap:6px;}
  .stat-num{font-family:var(--display); font-style:italic; font-size:clamp(32px,4vw,44px); color:var(--brass-light);}
  .stat-label{font-family:var(--mono); font-size:11px; letter-spacing:.04em; color:rgba(246,242,232,.6);}
  @media (max-width:760px){ .stats-strip .wrap{grid-template-columns:repeat(2,1fr); gap:26px;} }

  .reviews{position:relative; max-width:720px; margin:0 auto; text-align:center;}
  .review-slide{display:none;}
  .review-slide.active{display:block; animation:fade .5s var(--ease);}
  @keyframes fade{from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);}}
  .stars{color:var(--brass-light); font-size:16px; letter-spacing:3px; margin-bottom:18px;}
  .review-slide blockquote{font-family:var(--display); font-size:clamp(20px,2.6vw,28px); font-style:italic; line-height:1.4; margin-bottom:20px;}
  .review-slide cite{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:rgba(246,242,232,.6); font-style:normal;}
  .review-dots{display:flex; justify-content:center; gap:10px; margin-top:34px;}
  .rdot{width:7px; height:7px; border-radius:50%; background:var(--line); transition:background .3s;}
  .rdot.active{background:var(--brass-light);}

  /* ---------- CONTACT ---------- */
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:60px;}
  @media (max-width:840px){ .contact-grid{grid-template-columns:1fr;} }
  .info-row{display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line-dark); align-items:center; flex-wrap:wrap;}
  .info-row b{font-family:var(--display); font-style:italic; min-width:110px; display:block;}
  .contact-cta{display:flex; gap:10px; margin-top:24px; flex-wrap:wrap;}
  .map-frame{width:100%; aspect-ratio:4/3; border:1px solid var(--line-dark); filter:grayscale(.15);}

  /* ---------- FLOATING CONTACT WIDGET ---------- */
  .float-contact{ position:fixed; right:22px; bottom:22px; z-index:250; display:flex; flex-direction:column; gap:12px; align-items:flex-end; }
  .float-btn{ width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(0,0,0,.35); position:relative; }
  .float-btn svg{width:22px; height:22px; stroke:var(--ivory); fill:none; stroke-width:1.6;}
  .float-btn.wa{background:var(--whatsapp);}
  .float-btn.call{background:var(--charcoal); border:1px solid var(--brass-light);}
  .float-btn.call svg{stroke:var(--brass-light);}
  .float-btn.top-btn{ background:var(--bone); border:1px solid var(--line-dark); opacity:0; pointer-events:none; transform:translateY(8px); transition:opacity .3s var(--ease), transform .3s var(--ease); }
  .float-btn.top-btn.show{opacity:1; pointer-events:auto; transform:translateY(0);}
  .float-btn.top-btn svg{stroke:var(--charcoal);}
  .float-tip{ position:absolute; right:64px; top:50%; transform:translateY(-50%); background:var(--charcoal); color:var(--ivory); font-family:var(--mono); font-size:11px; padding:7px 12px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .25s; }
  .float-btn:hover .float-tip{opacity:1;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--ink); padding:60px 0 30px; border-top:1px solid var(--line);}
  .foot-top{display:flex; justify-content:space-between; flex-wrap:wrap; gap:40px; margin-bottom:50px;}
  .foot-col h4{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; color:var(--brass-light);}
  .foot-col a, .foot-col span{display:block; font-size:14px; margin-bottom:10px; color:rgba(246,242,232,.7);}
  .foot-bottom{display:flex; justify-content:space-between; padding-top:26px; border-top:1px solid var(--line); font-family:var(--mono); font-size:11px; color:rgba(246,242,232,.45); flex-wrap:wrap; gap:10px;}

  /* ---------- OVERLAY / DRAWER / MODAL ---------- */
  .overlay{ position:fixed; inset:0; background:rgba(10,10,10,.6); z-index:200; opacity:0; pointer-events:none; transition:opacity .35s var(--ease); }
  .overlay.open{opacity:1; pointer-events:auto;}

  .cart-drawer{ position:fixed; top:0; right:0; bottom:0; width:400px; max-width:90vw; background:var(--bone); color:var(--charcoal); z-index:201; transform:translateX(100%); transition:transform .45s var(--ease); display:flex; flex-direction:column; padding:30px 26px; overflow-y:auto; }
  .cart-drawer.open{transform:translateX(0);}
  .cart-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:18px;}
  .cart-head h3{font-family:var(--display); font-size:22px;}
  .cart-items{display:flex; flex-direction:column; gap:14px;}
  .cart-empty{font-size:13px; color:rgba(33,29,26,.55); text-align:center; margin:30px 0;}
  .cart-item{display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line-dark); padding-bottom:12px; font-size:13px;}
  .cart-item .rm{font-family:var(--mono); font-size:11px; color:var(--wine); cursor:pointer;}
  .cart-note{font-size:12px; color:rgba(33,29,26,.65); line-height:1.6; margin:18px 0; padding:14px; background:rgba(122,46,46,.06); border-left:2px solid var(--wine);}
  .field{margin-bottom:16px;}
  .field label{display:block; font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; color:var(--wine);}
  .field input, .field textarea, .field select{ width:100%; border:none; border-bottom:1px solid var(--line-dark); background:transparent; padding:10px 2px; font-size:14px; outline:none; color:var(--charcoal); }
  .send-row{display:flex; flex-direction:column; gap:10px; margin-top:6px;}

  .modal{ position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .35s var(--ease); padding:24px; }
  .modal.open{opacity:1; pointer-events:auto;}
  .modal-inner{ width:100%; max-width:860px; max-height:88vh; overflow-y:auto; background:var(--ivory); color:var(--charcoal); display:grid; grid-template-columns:1fr 1fr; position:relative; }
  @media (max-width:700px){ .modal-inner{grid-template-columns:1fr;} }
  .modal-close{position:absolute; top:14px; right:18px; font-family:var(--display); font-size:26px; color:var(--charcoal); z-index:2;}
  .modal-img{width:100%; height:100%; min-height:320px; object-fit:cover; background:#fff;}
  .modal-body{padding:36px;}
  .modal-body .eyebrow{color:var(--wine);}
  .modal-body h3{font-size:26px; margin:10px 0 6px;}
  .modal-price{font-family:var(--mono); font-size:16px; margin-bottom:18px;}
  .modal-tags{display:flex; gap:8px; margin-bottom:18px; flex-wrap:wrap;}
  .tag{font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; border:1px solid var(--line-dark); padding:5px 10px;}
  .modal-desc{font-size:14px; line-height:1.7; margin-bottom:18px; color:rgba(33,29,26,.85);}
  .modal-spec{font-size:13px; margin-bottom:8px; line-height:1.6;}
  .modal-spec b{font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--wine); display:block; margin-bottom:4px;}
  .size-guide-link{font-size:12px; text-decoration:underline; text-underline-offset:3px; margin:6px 0 20px; display:inline-block;}
  .modal-sizes{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:20px;}
  .size-opt{ font-family:var(--mono); font-size:12px; border:1px solid var(--line-dark); padding:9px 14px; cursor:pointer; transition:all .25s var(--ease); }
  .size-opt.selected{background:var(--charcoal); color:var(--ivory); border-color:var(--charcoal);}

  .toast{ position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); background:var(--charcoal); color:var(--ivory); padding:14px 22px; font-family:var(--mono); font-size:12px; z-index:300; opacity:0; transition:all .35s var(--ease); pointer-events:none; text-align:center; max-width:88vw; }
  .toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

  /* reveal animation rimossa: causava schermo nero finché l'observer non si attivava */

/* ---------- MULTI-PAGE: nav attiva ---------- */
nav.main-nav a.active{color:var(--brass-light);}
nav.main-nav a.active::after{width:100%;}
.mobile-nav a.active{color:var(--brass-light);}

/* ---------- MULTI-PAGE: intestazione pagina interna ---------- */
.page-head{padding:150px 0 60px; text-align:center; position:relative; background-size:cover; background-position:center;}
.page-head.light{color:var(--charcoal);}
.page-head.light h1{color:var(--charcoal);}
.page-head.light .eyebrow{color:var(--wine);}
.page-head .eyebrow{display:block; margin-bottom:14px; position:relative; z-index:1;}
.page-head h1{font-size:clamp(34px,5vw,54px); position:relative; z-index:1;}
.page-head p{max-width:520px; margin:16px auto 0; font-size:14px; color:rgba(246,242,232,.65); position:relative; z-index:1;}
.page-head.light p{color:rgba(33,29,26,.62);}
.ph-collezione{background-image:linear-gradient(rgba(236,229,214,.94), rgba(236,229,214,.94)), url('images/vestito_leopardato_lungo.jpg');}
.ph-outfit{background-image:linear-gradient(rgba(18,21,28,.90), rgba(18,21,28,.90)), url('images/gonna_raso_verde.jpg');}
.ph-storia{background-image:linear-gradient(rgba(236,229,214,.94), rgba(236,229,214,.94)), url('images/Fashionista.jpg');}
.ph-contatti{background-image:linear-gradient(rgba(236,229,214,.94), rgba(236,229,214,.94)), url('images/borsa_intrecciata_marrone.jpg');}
@media (max-width:760px){ .page-head{padding:170px 0 44px;} }

/* ---------- HOME: fascia rapida info ---------- */
.quick-info{background:var(--charcoal); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.quick-info .wrap{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line);}
.quick-info-item{background:var(--charcoal); padding:26px 24px; text-align:center;}
.quick-info-item .eyebrow{display:block; margin-bottom:8px;}
.quick-info-item p{font-size:14px; color:rgba(246,242,232,.85); line-height:1.6;}
@media (max-width:760px){ .quick-info .wrap{grid-template-columns:1fr;} }

/* ---------- HOME: link alle sezioni ---------- */
.section-links{display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--line-dark);}
.section-link-card{ position:relative; aspect-ratio:3/4; overflow:hidden; display:flex; align-items:flex-end; }
.section-link-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease);}
.section-link-card:hover img{transform:scale(1.06);}
.section-link-card::before{content:''; position:absolute; inset:0; background:rgba(246,242,232,.62);}
.section-link-inner{position:relative; z-index:1; padding:26px; width:100%;}
.section-link-inner .eyebrow{color:var(--wine);}
.section-link-inner h3{font-family:var(--display); font-style:italic; font-size:26px; color:var(--charcoal); margin:8px 0 12px;}
.section-link-inner span.go{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--charcoal); border-bottom:1px solid var(--wine); padding-bottom:2px;}
@media (max-width:860px){ .section-links{grid-template-columns:1fr;} }

/* ---------- CONTATTI: pagina dedicata ---------- */
.contact-hero-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line-dark);}
@media (max-width:840px){ .contact-hero-grid{grid-template-columns:1fr;} }
.contact-hero-panel{background:var(--ivory); color:var(--charcoal); padding:44px;}
.contact-hero-panel .info-row b{color:var(--charcoal);}
.contact-hero-panel .info-row span{color:var(--charcoal);}
.contact-big-cta{display:flex; flex-direction:column; gap:14px; margin-top:30px;}
.contact-big-cta .btn{justify-content:center; padding:18px 28px; font-size:13px;}
