    :root {
      --blush: #f2b8b8; --blush-light: #fce8e8; --blush-pale: #fdf5f5;
      --rose: #d4727a; --rose-deep: #b85c63;
      --warm-brown: #5c3d36; --brown-mid: #7a4f48; --brown-light: #a87b74;
      --cream: #fdf9f7; --white: #ffffff;
      --text-dark: #2c1f1f; --text-mid: #5a3d3a; --text-light: #8a6a67;
      --nav-h: 72px;
    }
    *, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { font-family:'Jost',sans-serif; background:var(--cream); color:var(--text-dark); overflow-x:hidden; }
    img { display:block; max-width:100%; }
    a { color:inherit; }

    /* ─── NAV ─── */
    nav {
      position:fixed; top:0; width:100%; z-index:1000;
      display:flex; align-items:center; justify-content:space-between;
      padding:0 48px; height:var(--nav-h);
      background:rgba(253,249,247,0.94); backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(242,184,184,0.25);
      transition:box-shadow .3s;
    }
    .nav-logo img {  padding-top: 8px;height:100px; object-fit:contain; }
    .nav-links { display:flex; gap:36px; list-style:none; }
    .nav-links a {
      text-decoration:none; font-size:11.5px; font-weight:500;
      letter-spacing:2px; text-transform:uppercase; color:var(--warm-brown);
      transition:color .25s; position:relative; padding-bottom:2px;
    }
    .nav-links a::after {
      content:''; position:absolute; bottom:-2px; left:0;
      width:0; height:1.5px; background:var(--rose); transition:width .3s;
    }
    .nav-links a:hover { color:var(--rose); }
    .nav-links a:hover::after { width:100%; }
    .nav-cta {
      background:var(--warm-brown) !important; color:var(--white) !important;
      padding:9px 22px !important; border-radius:50px;
    }
    .nav-cta::after { display:none !important; }
    .nav-cta:hover { background:var(--rose-deep) !important; color:var(--white) !important; }

    /* hamburger */
    .hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; background:none; border:none; }
    .hamburger span { width:24px; height:2px; background:var(--warm-brown); border-radius:2px; transition:.3s; }
    .hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
    .hamburger.open span:nth-child(2) { opacity:0; }
    .hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }
    .mobile-menu {
      display:none; position:fixed; top:var(--nav-h); left:0; width:100%;
      background:rgba(253,249,247,0.98); backdrop-filter:blur(20px);
      z-index:999; padding:24px 32px 32px; border-bottom:1px solid var(--blush);
      flex-direction:column; gap:4px;
    }
    .mobile-menu.open { display:flex; }
    .mobile-menu a {
      text-decoration:none; font-size:13px; font-weight:500; letter-spacing:2px;
      text-transform:uppercase; color:var(--warm-brown); padding:14px 0;
      border-bottom:1px solid rgba(242,184,184,0.3); transition:color .2s;
    }
    .mobile-menu a:last-child { border-bottom:none; }
    .mobile-menu a:hover { color:var(--rose); }

    /* ─── PAGES ─── */
    .page { display:none; min-height:100vh; padding-top:var(--nav-h); }
    .page.active { display:block; }

    /* ─── HERO ─── */
    .hero {
      min-height:calc(100vh - var(--nav-h));
      display:grid; grid-template-columns:1fr 1fr;
      position:relative; overflow:hidden;
    }
    .hero-left {
      display:flex; flex-direction:column; justify-content:center;
      padding:72px 56px 72px 72px; position:relative; z-index:2;
    }
    .hero-eyebrow {
      font-size:10.5px; letter-spacing:4px; text-transform:uppercase;
      color:var(--rose); margin-bottom:22px; font-weight:500;
    }
    .hero-title {
      font-family:'Playfair Display',serif;
      font-size:clamp(40px,5vw,68px); line-height:1.08;
      color:var(--warm-brown); margin-bottom:24px;
    }
    .hero-title em { font-style:italic; color:var(--rose); }
    .hero-tagline {
      font-family:'Cormorant Garamond',serif; font-size:19px;
      font-weight:300; line-height:1.75; color:var(--text-mid);
      max-width:400px; margin-bottom:44px;
    }
    .hero-btns { display:flex; gap:14px; flex-wrap:wrap; }
    .btn-primary {
      background:var(--warm-brown); color:var(--white);
      padding:15px 34px; border-radius:50px;
      font-family:'Jost',sans-serif; font-size:11.5px; font-weight:600;
      letter-spacing:2px; text-transform:uppercase;
      text-decoration:none; border:none; cursor:pointer;
      transition:all .3s; display:inline-block;
    }
    .btn-primary:hover { background:var(--rose-deep); transform:translateY(-2px); box-shadow:0 12px 36px rgba(180,90,100,.28); }
    .btn-secondary {
      background:transparent; color:var(--warm-brown);
      padding:15px 34px; border-radius:50px;
      font-family:'Jost',sans-serif; font-size:11.5px; font-weight:600;
      letter-spacing:2px; text-transform:uppercase;
      text-decoration:none; border:2px solid var(--blush); cursor:pointer;
      transition:all .3s; display:inline-block;
    }
    .btn-secondary:hover { background:var(--blush-light); border-color:var(--rose); transform:translateY(-2px); }
    .btn-full { width:100%; text-align:center; justify-content:center; }

    .hero-right { position:relative; overflow:hidden; }
    .hero-img { width:100%; height:100%; object-fit:cover; object-position:center top; }
    .hero-img-overlay { position:absolute; inset:0; background:linear-gradient(to right, var(--cream) 0%, transparent 28%); }

    /* Instagram badge — top right of image */
    .hero-badge {
      position:absolute; top:28px; right:24px;
      background:var(--white); border-radius:18px;
      padding:12px 18px; box-shadow:0 16px 48px rgba(90,40,40,.18);
      text-decoration:none; display:flex; align-items:center; gap:12px;
      animation:float 4s ease-in-out infinite;
      transition:transform .3s, box-shadow .3s;
      z-index:10;
    }
    .hero-badge:hover { transform:translateY(-4px) scale(1.03); box-shadow:0 22px 52px rgba(90,40,40,.22); }
    .badge-ig-icon {
      width:42px; height:42px; border-radius:12px; flex-shrink:0;
      background:linear-gradient(135deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
      display:flex; align-items:center; justify-content:center; font-size:21px;
    }
    .badge-text-wrap { text-align:left; }
    .badge-handle { font-family:'Jost',sans-serif; font-size:13px; font-weight:600; color:var(--warm-brown); display:block; line-height:1.2; }
    .badge-sub { font-size:9.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--text-light); }
    @keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

    /* ─── ABOUT ─── */
    .about-section {
      padding:100px 80px; display:grid; grid-template-columns:1fr 1fr;
      gap:72px; align-items:center; background:var(--white);
    }
    .about-img-wrap { position:relative; }
    .about-img { width:100%; border-radius:24px; object-fit:cover; height:560px; }
    .about-img-badge {
      position:absolute; top:-22px; right:-22px;
      background:var(--blush); width:130px; height:130px; border-radius:50%;
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      text-align:center; box-shadow:0 12px 36px rgba(212,114,122,.3);
    }
    .about-img-badge span:first-child { font-family:'Playfair Display',serif; font-size:28px; color:var(--warm-brown); font-style:italic; }
    .about-img-badge span:last-child { font-size:8.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--brown-mid); padding:0 8px; text-align:center; }
    .section-label { font-size:10.5px; letter-spacing:4px; text-transform:uppercase; color:var(--rose); margin-bottom:18px; display:block; font-weight:500; }
    .section-title { font-family:'Playfair Display',serif; font-size:clamp(30px,3.5vw,46px); line-height:1.2; color:var(--warm-brown); margin-bottom:24px; }
    .section-title em { font-style:italic; color:var(--rose); }
    .about-text { font-family:'Cormorant Garamond',serif; font-size:17.5px; line-height:1.85; color:var(--text-mid); margin-bottom:18px; }
    .about-creds { display:flex; gap:28px; margin-top:36px; padding-top:36px; border-top:1px solid var(--blush-light); }
    .cred-num { font-family:'Playfair Display',serif; font-size:34px; color:var(--rose); display:block; }
    .cred-label { font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--text-light); }

    /* ─── PILLARS ─── */
    .pillars-section { padding:90px 80px; background:var(--blush-pale); }
    .pillars-header { text-align:center; margin-bottom:56px; }
    .pillars-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
    .pillar-card {
      background:var(--white); border-radius:22px; padding:44px 32px;
      text-align:center; transition:all .4s; border:1px solid transparent; cursor:default;
    }
    .pillar-card:hover { transform:translateY(-8px); box-shadow:0 24px 56px rgba(180,90,100,.14); border-color:var(--blush); }
    .pillar-icon {
      width:68px; height:68px; background:linear-gradient(135deg,var(--blush),var(--blush-light));
      border-radius:50%; display:flex; align-items:center; justify-content:center;
      margin:0 auto 24px; font-size:26px;
    }
    .pillar-title { font-family:'Playfair Display',serif; font-size:21px; color:var(--warm-brown); margin-bottom:14px; }
    .pillar-text { font-size:14px; line-height:1.8; color:var(--text-light); }

    /* ─── TESTIMONIAL ─── */
    .testimonial-section {
      padding:90px 80px; background:var(--warm-brown);
      text-align:center; position:relative; overflow:hidden;
    }
    .testimonial-section::before {
      content:'"'; position:absolute; top:-60px; left:50%; transform:translateX(-50%);
      font-family:'Playfair Display',serif; font-size:280px;
      color:rgba(242,184,184,.08); line-height:1; pointer-events:none;
    }
    .testimonial-text {
      font-family:'Playfair Display',serif; font-size:clamp(20px,2.8vw,34px);
      font-style:italic; color:var(--blush-light); max-width:760px;
      margin:0 auto 28px; line-height:1.65; position:relative; z-index:2;
    }
    .testimonial-author { font-size:10.5px; letter-spacing:3px; text-transform:uppercase; color:var(--blush); position:relative; z-index:2; }

    /* ─── GALLERY SECTION ─── */
    .gallery-section { padding:90px 80px; background:var(--white); }
    .gallery-section-header { text-align:center; margin-bottom:56px; }
    .gallery-workshops-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
    .gallery-workshop-card {
      border-radius:24px; overflow:hidden; cursor:pointer;
      transition:all .4s; border:1px solid var(--blush-light);
      position:relative;
    }
    .gallery-workshop-card:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(90,40,40,.14); }
    .gallery-workshop-cover {
      height:260px; display:flex; flex-direction:column;
      align-items:center; justify-content:center; position:relative;
      overflow:hidden;
    }
    .gallery-workshop-cover-emoji { font-size:64px; position:relative; z-index:2; }
    .gallery-cover-overlay {
      position:absolute; inset:0;
      background:linear-gradient(to bottom, transparent 40%, rgba(44,31,31,.6) 100%);
      z-index:1;
    }
    .gallery-cover-label {
      position:absolute; bottom:20px; left:0; right:0;
      text-align:center; z-index:3;
      font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2px;
      text-transform:uppercase; color:rgba(255,255,255,.85);
    }
    .gallery-workshop-info { padding:24px 28px 28px; }
    .gallery-workshop-name { font-family:'Playfair Display',serif; font-size:20px; color:var(--warm-brown); margin-bottom:6px; }
    .gallery-workshop-meta { font-size:12px; color:var(--text-light); letter-spacing:1px; margin-bottom:16px; }
    .gallery-thumbs { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
    .gallery-thumb {
      aspect-ratio:1; border-radius:12px; overflow:hidden;
      display:flex; align-items:center; justify-content:center;
      font-size:28px; cursor:pointer; transition:transform .3s;
    }
    .gallery-thumb:hover { transform:scale(1.05); }

    /* ─── GALLERY LIGHTBOX ─── */
    .gallery-modal {
      display:none; position:fixed; inset:0; z-index:10000;
      background:rgba(20,10,10,.92); backdrop-filter:blur(12px);
      flex-direction:column; align-items:center; justify-content:center; padding:24px;
    }
    .gallery-modal.open { display:flex; }
    .gallery-modal-close {
      position:absolute; top:20px; right:24px; font-size:28px; cursor:pointer;
      color:rgba(255,255,255,.7); background:none; border:none; line-height:1;
      transition:color .2s;
    }
    .gallery-modal-close:hover { color:var(--blush); }
    .gallery-modal-title {
      font-family:'Playfair Display',serif; font-size:clamp(20px,3vw,28px);
      color:var(--white); margin-bottom:24px; text-align:center;
    }
    .gallery-grid-full {
      display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
      gap:16px; width:100%; max-width:1100px; max-height:70vh; overflow-y:auto;
      transition: grid-template-columns .3s;
    }
    .gallery-grid-full.size-sm  { grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:10px; }
    .gallery-grid-full.size-md  { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
    .gallery-grid-full.size-lg  { grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:20px; }
    .gallery-size-bar {
      display:flex; align-items:center; gap:10px; margin-bottom:18px;
    }
    .gallery-size-bar span {
      font-family:'Jost',sans-serif; font-size:10px; letter-spacing:2px;
      text-transform:uppercase; color:rgba(255,255,255,.45); margin-right:4px;
    }
    .size-btn {
      background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15);
      color:rgba(255,255,255,.6); border-radius:8px; cursor:pointer;
      font-family:'Jost',sans-serif; font-size:10px; font-weight:600;
      letter-spacing:1px; padding:6px 14px; transition:all .2s;
    }
    .size-btn.active, .size-btn:hover {
      background:var(--blush); border-color:var(--blush); color:var(--warm-brown);
    }
    /* Fullscreen single-photo view */
    .photo-fullscreen {
      display:none; position:fixed; inset:0; z-index:20000;
      background:rgba(10,5,5,.97); align-items:center; justify-content:center;
      padding:20px;
    }
    .photo-fullscreen.open { display:flex; }
    .photo-fullscreen img {
      max-width:100%; max-height:92vh; border-radius:12px;
      object-fit:contain; box-shadow:0 24px 80px rgba(0,0,0,.6);
    }
    .photo-fullscreen-close {
      position:absolute; top:18px; right:22px; font-size:28px;
      color:rgba(255,255,255,.7); cursor:pointer; background:none; border:none;
      transition:color .2s; line-height:1;
    }
    .photo-fullscreen-close:hover { color:var(--blush); }
    .photo-fullscreen-caption {
      position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
      font-family:'Cormorant Garamond',serif; font-size:16px;
      color:rgba(255,255,255,.7); text-align:center; white-space:nowrap;
    }
    .photo-fullscreen-nav {
      position:absolute; top:50%; transform:translateY(-50%);
      background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2);
      color:rgba(255,255,255,.85); font-size:36px; line-height:1;
      cursor:pointer; border-radius:50%; width:52px; height:52px;
      display:flex; align-items:center; justify-content:center;
      transition:background .2s; z-index:10;
    }
    .photo-fullscreen-nav:hover { background:rgba(255,255,255,.25); }
    #photoNavPrev { left:24px; }
    #photoNavNext { right:24px; }
    .gallery-grid-full::-webkit-scrollbar { width:4px; }
    .gallery-grid-full::-webkit-scrollbar-track { background:rgba(255,255,255,.05); }
    .gallery-grid-full::-webkit-scrollbar-thumb { background:var(--blush); border-radius:4px; }
    .gallery-item {
      aspect-ratio:1; border-radius:16px; overflow:hidden;
      display:flex; align-items:center; justify-content:center;
      position:relative; cursor:pointer;
    }
    .gallery-item-emoji { font-size:48px; position:relative; z-index:2; }
    .gallery-item img {
      width:100%; height:100%; object-fit:cover;
      position:absolute; inset:0; border-radius:16px;
    }
    .gallery-thumb img {
      width:100%; height:100%; object-fit:cover;
      position:absolute; inset:0; border-radius:12px;
    }
    .gallery-thumb { position:relative; }
    .gallery-item-caption {
      position:absolute; bottom:0; left:0; right:0; z-index:3;
      background:linear-gradient(to top, rgba(44,31,31,.8) 0%, transparent 100%);
      padding:20px 12px 12px; font-size:10.5px; color:rgba(255,255,255,.9);
      text-align:center; line-height:1.4;
    }

    /* ─── SHOP PAGE ─── */
    .shop-hero {
      background:linear-gradient(135deg,var(--blush-pale) 0%,var(--white) 50%,var(--blush-light) 100%);
      padding:72px 80px; text-align:center;
    }
    .shop-hero .section-title { margin:12px 0 18px; }
    .shop-subtitle { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--text-mid); max-width:480px; margin:0 auto 44px; }
    .shop-filters { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
    .filter-btn {
      padding:9px 22px; border-radius:50px; font-family:'Jost',sans-serif;
      font-size:10.5px; font-weight:500; letter-spacing:2px; text-transform:uppercase;
      border:1.5px solid var(--blush); background:transparent; color:var(--warm-brown);
      cursor:pointer; transition:all .3s;
    }
    .filter-btn.active, .filter-btn:hover { background:var(--warm-brown); color:var(--white); border-color:var(--warm-brown); }
    .shop-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; padding:56px 80px; }
    .product-card {
      background:var(--white); border-radius:20px; overflow:hidden;
      transition:all .4s; cursor:pointer; border:1px solid var(--blush-light);
    }
    .product-card:hover { transform:translateY(-8px); box-shadow:0 24px 56px rgba(180,90,100,.14); }
    .product-img-ph {
      width:100%; height:240px; display:flex; align-items:center;
      justify-content:center; font-size:56px;
    }
    .product-info { padding:22px; }
    .product-tag { font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--rose); margin-bottom:8px; }
    .product-name { font-family:'Playfair Display',serif; font-size:19px; color:var(--warm-brown); margin-bottom:10px; }
    .product-desc { font-size:13px; color:var(--text-light); line-height:1.75; margin-bottom:18px; }
    .product-footer { display:flex; align-items:center; justify-content:space-between; }
    .product-price { font-family:'Playfair Display',serif; font-size:21px; color:var(--warm-brown); font-weight:700; }
    .add-to-cart {
      background:var(--warm-brown); color:var(--white); padding:9px 18px;
      border-radius:50px; font-family:'Jost',sans-serif; font-size:10.5px;
      font-weight:600; letter-spacing:1.5px; text-transform:uppercase;
      border:none; cursor:pointer; transition:all .3s;
    }
    .add-to-cart:hover { background:var(--rose-deep); transform:scale(1.05); }

    /* ─── WORKSHOPS PAGE ─── */
    .workshop-hero {
      background:linear-gradient(135deg,var(--warm-brown),var(--brown-mid));
      padding:90px 80px; color:var(--white); text-align:center;
    }
    .workshop-hero .section-label { color:var(--blush); }
    .workshop-hero .section-title { color:var(--white); }
    .workshop-hero .section-title em { color:var(--blush); }
    .workshop-hero-sub { font-family:'Cormorant Garamond',serif; font-size:18.5px; color:rgba(255,255,255,.75); max-width:500px; margin:0 auto; }
    .workshops-container { padding:72px 80px; }
    .workshops-loading { text-align:center; padding:60px; color:var(--text-light); font-size:14px; }

    .workshop-card {
      background:var(--white); border-radius:24px; overflow:hidden;
      display:grid; grid-template-columns:1fr 1fr; margin-bottom:36px;
      border:1px solid var(--blush-light); transition:all .4s;
    }
    .workshop-card:hover { box-shadow:0 20px 56px rgba(90,50,50,.12); transform:translateY(-4px); }
    .workshop-card-img { position:relative; overflow:hidden; }
    .workshop-card-bg {
      width:100%; height:100%; min-height:320px;
      display:flex; flex-direction:column; align-items:center; justify-content:center;
      font-size:64px; position:relative;
    }
    .workshop-date-badge {
      position:absolute; top:22px; left:22px;
      background:var(--white); border-radius:14px; padding:10px 14px;
      text-align:center; box-shadow:0 8px 24px rgba(0,0,0,.1);
    }
    .workshop-date-day { font-family:'Playfair Display',serif; font-size:30px; color:var(--rose); display:block; line-height:1; }
    .workshop-date-month { font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--warm-brown); }
    .workshop-card-content { padding:44px 38px; display:flex; flex-direction:column; justify-content:center; }
    .workshop-badge {
      display:inline-block; background:var(--blush-light); color:var(--rose-deep);
      padding:5px 14px; border-radius:50px; font-size:9.5px; font-weight:600;
      letter-spacing:2px; text-transform:uppercase; margin-bottom:18px; width:fit-content;
    }
    .workshop-title { font-family:'Playfair Display',serif; font-size:26px; color:var(--warm-brown); margin-bottom:14px; line-height:1.3; }
    .workshop-desc { font-family:'Cormorant Garamond',serif; font-size:16.5px; color:var(--text-mid); line-height:1.85; margin-bottom:22px; }
    .workshop-meta { display:flex; gap:20px; margin-bottom:28px; flex-wrap:wrap; }
    .workshop-meta-item { display:flex; align-items:center; gap:7px; font-size:12.5px; color:var(--text-light); }
    .workshop-price-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
    .workshop-price { font-family:'Playfair Display',serif; font-size:26px; color:var(--warm-brown); }
    .coming-soon-tag {
      display:inline-block; background:rgba(242,184,184,.3); color:var(--rose-deep);
      padding:10px 20px; border-radius:50px; font-size:10.5px; font-weight:600;
      letter-spacing:2px; text-transform:uppercase;
    }

    /* ─── CONTACT PAGE ─── */
    .contact-hero { background:linear-gradient(135deg,var(--blush-pale),var(--white)); padding:72px 80px; text-align:center; }
    .contact-grid { display:grid; grid-template-columns:1fr 1fr; min-height:580px; }
    .contact-form-side { padding:72px 80px; background:var(--white); }
    .contact-info-side { background:var(--warm-brown); padding:72px 64px; color:var(--white); display:flex; flex-direction:column; justify-content:center; }
    .contact-info-side .section-label { color:var(--blush); }
    .contact-info-side .section-title { color:var(--white); margin-bottom:28px; }
    .contact-info-side .section-title em { color:var(--blush); }
    .contact-item { display:flex; align-items:flex-start; gap:18px; margin-bottom:28px; }
    .contact-icon {
      width:46px; height:46px; background:rgba(242,184,184,.2); border-radius:50%;
      display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:18px;
    }
    .contact-item-label { font-size:9.5px; letter-spacing:2px; text-transform:uppercase; color:var(--blush); margin-bottom:5px; }
    .contact-item-value { font-family:'Cormorant Garamond',serif; font-size:17px; color:rgba(255,255,255,.9); }
    .contact-item-value a { color:rgba(255,255,255,.9); text-decoration:none; transition:color .3s; }
    .contact-item-value a:hover { color:var(--blush); }
    .instagram-link {
      display:flex; align-items:center; gap:14px;
      background:rgba(242,184,184,.15); border:1px solid rgba(242,184,184,.3);
      border-radius:18px; padding:18px 22px; text-decoration:none; color:var(--white);
      transition:all .3s; margin-top:12px;
    }
    .instagram-link:hover { background:rgba(242,184,184,.25); transform:translateX(4px); }
    .ig-icon {
      width:44px; height:44px;
      background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);
      border-radius:12px; display:flex; align-items:center; justify-content:center;
      font-size:22px; flex-shrink:0;
    }
    .ig-text strong { display:block; font-size:14px; margin-bottom:2px; }
    .ig-text span { font-size:11.5px; color:rgba(255,255,255,.6); }

    /* ─── FORMS ─── */
    .form-group { margin-bottom:18px; }
    .form-label { display:block; font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--warm-brown); margin-bottom:7px; font-weight:500; }
    .form-input {
      width:100%; padding:13px 16px; border:1.5px solid var(--blush);
      border-radius:12px; font-family:'Jost',sans-serif; font-size:14px;
      color:var(--text-dark); background:var(--blush-pale);
      transition:border-color .3s, box-shadow .3s; outline:none;
    }
    .form-input:focus { border-color:var(--rose); box-shadow:0 0 0 4px rgba(212,114,122,.1); }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }

    /* ─── MODAL ─── */
    .modal-overlay {
      display:none; position:fixed; inset:0;
      background:rgba(44,31,31,.6); backdrop-filter:blur(8px);
      z-index:9999; align-items:center; justify-content:center; padding:20px;
    }
    .modal-overlay.open { display:flex; }
    .modal {
      background:var(--white); border-radius:28px; padding:48px;
      max-width:500px; width:100%; max-height:90vh; overflow-y:auto;
      position:relative; animation:slideUp .4s cubic-bezier(.34,1.56,.64,1);
    }
    .modal::-webkit-scrollbar { width:4px; }
    .modal::-webkit-scrollbar-thumb { background:var(--blush); border-radius:4px; }
    @keyframes slideUp { from{transform:translateY(40px);opacity:0} to{transform:translateY(0);opacity:1} }
    .modal-close { position:absolute; top:18px; right:22px; font-size:22px; cursor:pointer; color:var(--text-light); background:none; border:none; transition:color .2s; }
    .modal-close:hover { color:var(--rose); }
    .modal-title { font-family:'Playfair Display',serif; font-size:26px; color:var(--warm-brown); margin-bottom:6px; }
    .modal-subtitle { font-family:'Cormorant Garamond',serif; font-size:15.5px; color:var(--text-mid); margin-bottom:28px; }
    .payment-section { background:var(--blush-pale); border-radius:16px; padding:22px; margin:22px 0; border:1px solid var(--blush); }
    .payment-section h4 { font-family:'Playfair Display',serif; font-size:15px; color:var(--warm-brown); margin-bottom:14px; }
    .yoco-badge { display:flex; align-items:center; gap:10px; font-size:12.5px; color:var(--text-mid); margin-bottom:14px; }
    .yoco-logo { background:#00d4aa; color:white; font-weight:700; font-size:11px; padding:3px 9px; border-radius:6px; letter-spacing:1px; }
    .card-row { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; }
    .modal-total {
      display:flex; justify-content:space-between; align-items:center;
      margin:18px 0; padding:14px 0; border-top:1px solid var(--blush); border-bottom:1px solid var(--blush);
    }
    .modal-total-label { font-size:12px; text-transform:uppercase; letter-spacing:1.5px; color:var(--text-light); }
    .modal-total-price { font-family:'Playfair Display',serif; font-size:22px; color:var(--warm-brown); }

    /* ─── SUCCESS OVERLAY ─── */
    .success-overlay {
      display:none; position:fixed; inset:0; background:var(--white); z-index:99999;
      align-items:center; justify-content:center; flex-direction:column; text-align:center; padding:40px;
    }
    .success-overlay.open { display:flex; }
    .success-icon {
      width:96px; height:96px;
      background:linear-gradient(135deg,var(--blush),var(--rose));
      border-radius:50%; display:flex; align-items:center; justify-content:center;
      font-size:44px; margin:0 auto 28px;
      animation:pop .5s cubic-bezier(.34,1.56,.64,1);
    }
    @keyframes pop { from{transform:scale(0);opacity:0} to{transform:scale(1);opacity:1} }

    /* ─── FOOTER ─── */
    footer { background:var(--text-dark); color:rgba(255,255,255,.7); padding:56px 80px 36px; }
    .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr; gap:56px; margin-bottom:44px; }
    .footer-brand img { height:44px; margin-bottom:18px; }
    .footer-brand p { font-size:12.5px; line-height:1.8; max-width:260px; }
    .footer-col h4 { font-size:10.5px; letter-spacing:3px; text-transform:uppercase; color:var(--blush); margin-bottom:18px; }
    .footer-col ul { list-style:none; }
    .footer-col ul li { margin-bottom:10px; }
    .footer-col ul li a { text-decoration:none; color:rgba(255,255,255,.6); font-size:12.5px; transition:color .3s; cursor:pointer; }
    .footer-col ul li a:hover { color:var(--blush); }
    .footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:28px; display:flex; justify-content:space-between; align-items:center; font-size:11.5px; color:rgba(255,255,255,.35); flex-wrap:wrap; gap:8px; }

    /* ─── RESPONSIVE ─── */
    @media (max-width:900px) {
      nav { padding:0 24px; }
      .nav-links { display:none; }
      .hamburger { display:flex; }
      .hero { grid-template-columns:1fr; min-height:auto; display:flex; flex-direction:column; }
      .hero-left { padding:44px 28px 52px; order:2; }
      .hero-right { height:480px; order:1; flex-shrink:0; }
      .hero-img { object-position:center 20%; }
      .hero-img-overlay { background:linear-gradient(to bottom, rgba(253,249,247,0) 50%, rgba(253,249,247,0.15) 100%); }
      .hero-badge { top:16px; right:16px; padding:10px 14px; gap:9px; }
      .badge-ig-icon { width:36px; height:36px; font-size:17px; border-radius:10px; }
      .badge-handle { font-size:12px; }
      .badge-sub { font-size:8px; }
      .about-section { grid-template-columns:1fr; padding:56px 28px; gap:40px; }
      .about-img { height:340px; }
      .about-img-badge { width:110px; height:110px; top:-16px; right:-16px; }
      .pillars-grid { grid-template-columns:1fr; gap:20px; }
      .pillars-section { padding:64px 28px; }
      .testimonial-section { padding:64px 28px; }
      .gallery-section { padding:64px 28px; }
      .gallery-workshops-grid { grid-template-columns:1fr; }
      .shop-hero { padding:56px 28px; }
      .shop-grid { grid-template-columns:1fr; padding:40px 28px; gap:22px; }
      .workshop-hero { padding:64px 28px; }
      .workshops-container { padding:40px 28px; }
      .workshop-card { grid-template-columns:1fr; }
      .workshop-card-bg { min-height:220px; }
      .contact-hero { padding:56px 28px; }
      .contact-grid { grid-template-columns:1fr; }
      .contact-form-side, .contact-info-side { padding:48px 28px; }
      footer { padding:48px 28px 32px; }
      .footer-grid { grid-template-columns:1fr; gap:32px; }
      .about-creds { gap:20px; flex-wrap:wrap; }
      .form-row { grid-template-columns:1fr; }
      .card-row { grid-template-columns:1fr 1fr; }
    }
    @media (max-width:480px) {
      .hero-right { height:400px; }
      .hero-img { object-position:center 18%; }
      .hero-badge { top:12px; right:12px; }
      .hero-title { font-size:34px; }
      .hero-tagline { font-size:16px; }
      .hero-btns { flex-direction:column; }
      .btn-primary, .btn-secondary { text-align:center; }
      .workshop-meta { flex-direction:column; gap:10px; }
      .workshop-price-row { flex-direction:column; align-items:flex-start; }
      .modal { padding:32px 24px; }
      .gallery-grid-full { grid-template-columns:repeat(2,1fr); }
      nav { padding:0 20px; }
    }
