
  :root {
    --white: #F5F1EE;
    --cream: #EFEAE5;
    --cream-soft: #F4F0EC;
    --cream-deep: #DCD6CE;
    --bordeaux: #1F1D1A;
    --bordeaux-2: #0F0E0D;
    --bordeaux-soft: #3A3936;
    --wine: #6E1F2E;
    --wine-deep: #5A1725;
    --wine-soft: rgba(110, 31, 46, 0.10);
    --brown-mid: #7A7672;
    --text-mute: #7A7672;
    --line: rgba(31, 29, 26, 0.10);
    --line-strong: rgba(31, 29, 26, 0.20);
    --line-cream: rgba(31, 29, 26, 0.24);
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  html {
    scroll-behavior: smooth;
    /* Prevent iOS text auto-resize when device rotates */
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    /* Better mobile font rendering */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  body {
    /* Prevent horizontal scroll bug on mobile */
    overflow-x: hidden;
    /* Better touch scrolling on iOS */
    -webkit-overflow-scrolling: touch;
  }
  /* Tap highlight removal - we handle visual feedback ourselves */
  a, button {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    touch-action: manipulation;
  }
  /* Inputs at 16px to prevent iOS auto-zoom on focus */
  input, textarea, select {
    font-size: 16px !important;
  }
  @media (min-width: 760px) {
    input, textarea, select {
      font-size: inherit !important;
    }
  }
  /* Better image rendering on mobile */
  img, svg {
    max-width: 100%;
    height: auto;
    display: block;
  }
  ::selection { background: var(--bordeaux); color: var(--cream); }

  body {
    background: var(--white);
    color: var(--bordeaux);
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    letter-spacing: -0.005em;
  }

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

  /* ─────────── NAV ─────────── */
  nav.top {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 100;
    padding: 22px 40px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    background: rgba(245, 241, 238, 0.94);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid transparent;
    transition: border-color .35s ease;
  }
  nav.top.scrolled { border-bottom-color: var(--line); }
  .nav-left, .nav-right {
    display: flex;
    gap: 28px;
    list-style: none;
    align-items: center;
  }
  .nav-right { justify-content: flex-end; }
  .nav-divider {
    width: 1px;
    height: 14px;
    background: var(--line-strong);
    display: inline-block;
  }
  .nav-left a, .nav-right a, .nav-right button {
    font-family: 'Inter', sans-serif;
    color: var(--bordeaux);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -0.005em;
    padding: 6px 0;
    position: relative;
    background: none;
    border: none;
    cursor: pointer;
    white-space: nowrap;
  }
  .nav-left a.subtle { font-weight: 400; color: var(--text-mute); }
  .nav-left a.subtle:hover { color: var(--bordeaux); }
  .nav-left a::after, .nav-right a::after, .nav-right button::after {
    content: "";
    position: absolute;
    left: 0; bottom: 2px;
    width: 0; height: 1px;
    background: var(--bordeaux);
    transition: width .4s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .nav-left a:hover::after, .nav-left a.active::after,
  .nav-right a:hover::after, .nav-right button:hover::after { width: 100%; }
  .brand-mark {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 17px;
    letter-spacing: 0.18em;
    color: var(--bordeaux);
    text-decoration: none;
    cursor: pointer;
    text-align: center;
    padding-right: 0;
    margin-right: -0.18em;
  }

  /* ─────────── PAGE ─────────── */
  .page { display: block; animation: pageIn .5s cubic-bezier(0.16, 1, 0.3, 1) both; }
  .page.active { display: block; }
  @keyframes pageIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* ─────────── HERO ─────────── */
  .hero {
    padding: 120px 40px 0;
    background: var(--cream);
    color: var(--bordeaux);
    position: relative;
  }
  .hero-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
    min-height: calc(100vh - 120px);
    padding-bottom: 80px;
  }
  .hero-text .label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-bottom: 32px;
  }
  .hero-text .label::before {
    content: "";
    width: 24px;
    height: 1px;
    background: var(--bordeaux);
  }
  .hero-title {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(48px, 6.5vw, 100px);
    line-height: 0.98;
    letter-spacing: -0.04em;
    margin-bottom: 36px;
  }
  .hero-title b { font-weight: 600; }
  .hero-text p {
    font-size: 17px;
    line-height: 1.55;
    color: var(--bordeaux-soft);
    max-width: 480px;
    margin-bottom: 40px;
  }
  .hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
  }
  .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--bordeaux);
    color: var(--cream);
    padding: 16px 24px;
    border: 1px solid var(--bordeaux);
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all .3s;
    text-decoration: none;
  }
  .btn:hover { background: var(--bordeaux-2); }
  .btn .arr { font-size: 14px; transition: transform .3s; }
  .btn:hover .arr { transform: translateX(4px); }
  .btn-ghost {
    background: transparent;
    color: var(--bordeaux);
    border-color: var(--bordeaux);
  }
  .btn-ghost:hover { background: var(--bordeaux); color: var(--cream); }

  .hero-visual {
    aspect-ratio: 4/5;
    background: var(--bordeaux);
    overflow: hidden;
    position: relative;
  }
  .hero-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .hero-visual .badge {
    position: absolute;
    top: 24px; right: 24px;
    background: var(--cream);
    color: var(--bordeaux);
    padding: 10px 14px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.5;
  }
  .hero-visual .badge small {
    display: block;
    font-weight: 400;
    font-size: 10px;
    color: var(--text-mute);
    margin-top: 2px;
  }

  .hero-meta {
    border-top: 1px solid var(--line-cream);
    margin-top: 40px;
    padding: 28px 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    max-width: 1640px;
    margin-left: auto;
    margin-right: auto;
  }
  .hero-meta .item .lab {
    font-size: 11px;
    color: var(--text-mute);
    font-weight: 500;
    letter-spacing: 0.02em;
    margin-bottom: 6px;
  }
  .hero-meta .item .val {
    font-size: 13px;
    color: var(--bordeaux);
    font-weight: 500;
  }

  /* ─────────── HOMEPAGE INDICATOR ─────────── */
  .home-indicator {
    text-align: center;
    padding: 80px 40px 0;
    background: var(--white);
  }
  .home-indicator .dot-line {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  .home-indicator .dot-line::before,
  .home-indicator .dot-line::after {
    content: "";
    width: 32px;
    height: 1px;
    background: var(--line-strong);
  }

  /* ─────────── CATEGORIES STRIP ─────────── */
  .categories {
    padding: 60px 40px 100px;
    background: var(--white);
  }
  .cat-inner { max-width: 1640px; margin: 0 auto; }
  .section-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 56px;
    flex-wrap: wrap;
    gap: 24px;
  }
  .section-head .num {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-mute);
    margin-bottom: 14px;
    letter-spacing: 0.04em;
  }
  .section-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 4.5vw, 72px);
    line-height: 1;
    letter-spacing: -0.035em;
    max-width: 800px;
  }
  .section-head h2 b { font-weight: 600; }
  .section-head .right { text-align: right; }
  .section-head .right .lab {
    font-size: 11px;
    color: var(--text-mute);
    font-weight: 500;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
  }
  .section-head .right .val { font-size: 13px; font-weight: 500; }

  .cat-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .cat-card {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    display: block;
    background: var(--cream-soft);
    transition: background .4s ease;
  }
  .cat-card:hover { background: var(--cream); }
  .cat-card .cat-img {
    aspect-ratio: 4/5;
    overflow: hidden;
    position: relative;
    background: var(--cream);
  }
  .cat-card .cat-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .cat-card:hover .cat-img img { transform: scale(1.04); }
  .cat-card .cat-img .num {
    position: absolute;
    top: 18px; left: 18px;
    background: var(--cream);
    color: var(--bordeaux);
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
  }
  .cat-card .cat-body { padding: 28px; }
  .cat-card h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 32px;
    letter-spacing: -0.03em;
    line-height: 1.05;
    margin-bottom: 14px;
  }
  .cat-card h3 b { font-weight: 600; }
  .cat-card p {
    color: var(--text-mute);
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 22px;
  }
  .cat-card .cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--bordeaux);
    border-bottom: 1px solid var(--bordeaux);
    padding-bottom: 2px;
    transition: gap .3s;
  }
  .cat-card:hover .cta { gap: 14px; }

  /* ─────────── COLLECTION ─────────── */
  .collection {
    padding: 100px 40px;
    background: var(--white);
  }
  .col-inner { max-width: 1640px; margin: 0 auto; }
  .filter-bar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--line);
    margin-bottom: 40px;
  }
  .filter {
    background: transparent;
    border: 1px solid var(--line-strong);
    padding: 10px 16px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-mute);
    cursor: pointer;
    transition: all .3s;
  }
  .filter:hover { color: var(--bordeaux); border-color: var(--bordeaux); }
  .filter.active {
    background: var(--bordeaux);
    color: var(--cream);
    border-color: var(--bordeaux);
  }
  .product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 16px;
  }
  .product {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    display: block;
  }
  .product-img {
    aspect-ratio: 4/5;
    background: var(--cream-soft);
    margin-bottom: 14px;
    overflow: hidden;
    position: relative;
  }
  .product-img img,
  .product-img svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .product:hover .product-img img,
  .product:hover .product-img svg { transform: scale(1.045); }
  .product-tag {
    position: absolute;
    top: 14px; left: 14px;
    background: var(--cream);
    color: var(--bordeaux);
    padding: 5px 9px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
  }
  .product-info {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 4px 0;
  }
  .product h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: -0.005em;
    line-height: 1.3;
  }
  .product .product-coll {
    font-size: 12px;
    color: var(--text-mute);
    margin-top: 2px;
  }
  .product .price-num {
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
  }

  /* ─────────── EDITORIAL ─────────── */
  .editorial {
    padding: 100px 40px;
    background: var(--cream);
  }
  .ed-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 80px;
    align-items: center;
  }
  .ed-text .label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--bordeaux);
    margin-bottom: 28px;
  }
  .ed-text .label::before {
    content: "";
    width: 24px;
    height: 1px;
    background: var(--bordeaux);
  }
  .ed-text h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 5vw, 80px);
    line-height: 1;
    letter-spacing: -0.04em;
    margin-bottom: 32px;
  }
  .ed-text h2 b { font-weight: 600; }
  .ed-text p {
    font-size: 16px;
    line-height: 1.65;
    color: var(--bordeaux-soft);
    margin-bottom: 18px;
    max-width: 520px;
  }
  .ed-stats {
    margin-top: 40px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding-top: 32px;
    border-top: 1px solid var(--line-cream);
  }
  .ed-stat .num {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 56px;
    letter-spacing: -0.04em;
    line-height: 1;
  }
  .ed-stat .lab {
    margin-top: 10px;
    font-size: 12px;
    color: var(--text-mute);
    font-weight: 500;
    letter-spacing: 0.02em;
  }
  .ed-visual {
    aspect-ratio: 4/5;
    background: var(--bordeaux);
    overflow: hidden;
  }
  .ed-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* ─────────── COURSES PREVIEW ─────────── */
  .courses-prev {
    padding: 100px 40px;
    background: var(--white);
  }
  .cp-inner { max-width: 1640px; margin: 0 auto; }
  .courses-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .course-card {
    background: var(--cream-soft);
    text-decoration: none;
    color: inherit;
    padding: 32px 28px 28px;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    transition: background .4s ease;
    position: relative;
  }
  .course-card:hover { background: var(--cream); }
  .course-card .top {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 32px;
  }
  .course-card .tier {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--bordeaux);
  }
  .course-card .price-tag {
    font-size: 11px;
    font-weight: 500;
    color: var(--text-mute);
  }
  .course-card h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 32px;
    letter-spacing: -0.03em;
    line-height: 1.05;
    margin-bottom: 22px;
  }
  .course-card h3 b { font-weight: 600; }
  .course-card .specs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    padding: 16px 0;
    border-top: 1px solid var(--line-cream);
    border-bottom: 1px solid var(--line-cream);
    margin-bottom: 20px;
  }
  .course-card .specs .row .k {
    font-size: 10px;
    color: var(--text-mute);
    font-weight: 500;
    letter-spacing: 0.02em;
    margin-bottom: 3px;
  }
  .course-card .specs .row .v {
    font-size: 13px;
    font-weight: 500;
    color: var(--bordeaux);
  }
  .course-card p {
    font-size: 14px;
    color: var(--text-mute);
    line-height: 1.6;
    flex: 1;
    margin-bottom: 24px;
  }
  .course-card .foot {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-top: 18px;
    border-top: 1px solid var(--line-cream);
  }
  .course-card .foot .price {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 22px;
    letter-spacing: -0.02em;
  }
  .course-card .foot .arrow {
    font-size: 13px;
    font-weight: 500;
    color: var(--bordeaux);
  }

  /* ─────────── PROIECTE STRIP (subtle, documentary) ─────────── */
  .projects-strip {
    padding: 100px 40px;
    background: var(--white);
    border-top: 1px solid var(--line);
  }
  .ps-inner {
    max-width: 1640px;
    margin: 0 auto;
  }
  .ps-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 50px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--line);
  }
  .ps-head .lab-line {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 24px;
  }
  .ps-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.4vw, 64px);
    line-height: 1.05;
    letter-spacing: -0.03em;
  }
  .ps-head h2 b { font-weight: 600; }
  .ps-head .desc {
    font-size: 15px;
    color: var(--text-mute);
    line-height: 1.65;
    max-width: 460px;
    align-self: end;
  }
  .ps-card {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 60px;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    align-items: center;
  }
  .ps-card .ps-img {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--cream);
  }
  .ps-card .ps-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(20%);
    transition: all 1s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .ps-card:hover .ps-img img {
    filter: grayscale(0%);
    transform: scale(1.03);
  }
  .ps-card .ps-text .meta-row {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-bottom: 20px;
    font-size: 11px;
    font-weight: 500;
    color: var(--text-mute);
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .ps-card .ps-text .meta-row .status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--bordeaux);
    font-weight: 600;
  }
  .ps-card .ps-text .meta-row .status::before {
    content: "";
    width: 6px; height: 6px;
    background: #2D9B5C;
    border-radius: 50%;
  }
  .ps-card .ps-text h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(32px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    margin-bottom: 24px;
  }
  .ps-card .ps-text h3 b { font-weight: 600; }
  .ps-card .ps-text p {
    color: var(--text-mute);
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 28px;
    max-width: 480px;
  }
  .ps-card .ps-text .partners {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    padding-top: 24px;
    border-top: 1px solid var(--line);
  }
  .ps-card .ps-text .partners .lab {
    font-size: 10px;
    color: var(--text-mute);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .ps-card .ps-text .partners .partner-tag {
    padding: 6px 12px;
    background: var(--cream-soft);
    color: var(--bordeaux);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    border: 1px solid var(--line-strong);
  }
  .ps-card .ps-text .arrow-link {
    margin-top: 24px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--bordeaux);
    border-bottom: 1px solid var(--bordeaux);
    padding-bottom: 2px;
    transition: gap .3s;
  }
  .ps-card:hover .arrow-link { gap: 14px; }

  /* ─────────── DARK STRIP ─────────── */
  .dark-strip {
    background: var(--bordeaux);
    color: var(--cream);
    padding: 100px 40px;
  }
  .ds-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: center;
  }
  .dark-strip .label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    color: var(--cream-deep);
    margin-bottom: 28px;
  }
  .dark-strip .label::before {
    content: "";
    width: 24px;
    height: 1px;
    background: var(--cream-deep);
  }
  .dark-strip h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 5vw, 80px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    margin-bottom: 32px;
  }
  .dark-strip h2 b { font-weight: 600; }
  .dark-strip p {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(239, 234, 229, 0.75);
    margin-bottom: 36px;
    max-width: 520px;
  }
  .dark-strip .btn {
    background: var(--cream);
    color: var(--bordeaux);
    border-color: var(--cream);
  }
  .dark-strip .btn:hover { background: transparent; color: var(--cream); border-color: var(--cream); }
  .dark-strip .right {
    aspect-ratio: 1/1;
    background: var(--bordeaux-2);
    overflow: hidden;
  }
  .dark-strip .right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* ─────────── NEWSLETTER ─────────── */
  .newsletter {
    padding: 100px 40px;
    background: var(--cream-soft);
    text-align: center;
  }
  .newsletter h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 5vw, 76px);
    letter-spacing: -0.035em;
    line-height: 1;
    max-width: 800px;
    margin: 0 auto 24px;
  }
  .newsletter h2 b { font-weight: 600; }
  .newsletter p {
    color: var(--text-mute);
    margin-bottom: 36px;
    font-size: 16px;
  }
  .nl-form {
    display: flex;
    max-width: 480px;
    margin: 0 auto;
    border: 1px solid var(--bordeaux);
  }
  .nl-form input {
    flex: 1;
    padding: 16px 20px;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: 14px;
    color: var(--bordeaux);
    outline: none;
  }
  .nl-form input::placeholder { color: var(--text-mute); }
  .nl-form button {
    background: var(--bordeaux);
    color: var(--cream);
    border: none;
    padding: 0 28px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background .3s;
  }
  .nl-form button:hover { background: var(--bordeaux-2); }

  /* ─────────── FOOTER ─────────── */
  footer {
    background: var(--bordeaux);
    color: var(--cream);
    padding: 80px 40px 32px;
  }
  .footer-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
    gap: 50px;
    padding-bottom: 60px;
    border-bottom: 1px solid rgba(239, 234, 229, 0.14);
  }
  .footer-brand {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 28px;
    letter-spacing: 0.16em;
    margin-bottom: 20px;
  }
  .footer-tag {
    color: rgba(239, 234, 229, 0.6);
    font-size: 14px;
    line-height: 1.55;
    max-width: 320px;
  }
  footer h5 {
    font-size: 11px;
    color: var(--cream);
    margin-bottom: 22px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  footer ul { list-style: none; display: flex; flex-direction: column; gap: 12px; }
  footer ul a {
    color: rgba(239, 234, 229, 0.74);
    text-decoration: none;
    font-size: 14px;
    transition: color .3s;
  }
  footer ul a:hover { color: var(--cream); }
  .footer-bottom {
    max-width: 1640px;
    margin: 24px auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 12px;
    color: rgba(239, 234, 229, 0.4);
  }

  /* ─────────── PAGE HEAD ─────────── */
  .page-head {
    padding: 140px 40px 80px;
    background: var(--cream);
  }
  .ph-inner { max-width: 1640px; margin: 0 auto; }
  .crumbs {
    font-size: 13px;
    color: var(--text-mute);
    margin-bottom: 50px;
    font-weight: 500;
  }
  .crumbs a { color: var(--text-mute); text-decoration: none; }
  .crumbs a:hover { color: var(--bordeaux); }
  .crumbs .here { color: var(--bordeaux); }
  .ph-inner h1 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(56px, 9vw, 144px);
    letter-spacing: -0.05em;
    line-height: 0.95;
    max-width: 1100px;
  }
  .ph-inner h1 b { font-weight: 600; }
  .ph-level {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 600;
    font-size: clamp(22px, 2vw, 30px);
    color: var(--wine);
    margin-bottom: 10px;
  }
  .ph-inner h1.ph-serif em {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 600;
    letter-spacing: -0.015em;
    color: var(--wine);
  }
  .course-summary .price-block .amt {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-style: italic;
    font-weight: 500;
    color: var(--wine);
    letter-spacing: -0.01em;
  }
  .ph-inner .lede {
    margin-top: 36px;
    max-width: 720px;
    font-size: 18px;
    color: var(--bordeaux-soft);
    line-height: 1.6;
  }

  /* ─────────── ATELIER ─────────── */
  .atelier-process {
    padding: 100px 40px;
    background: var(--white);
  }
  .ap-inner { max-width: 1640px; margin: 0 auto; }
  .ap-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 80px;
  }
  .ap-grid .col-head {
    position: sticky;
    top: 110px;
    align-self: start;
  }
  .ap-grid .col-head .lab {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-mute);
    margin-bottom: 18px;
    letter-spacing: 0.04em;
  }
  .ap-grid .col-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4vw, 60px);
    line-height: 1;
    letter-spacing: -0.035em;
  }
  .ap-grid .col-head h2 b { font-weight: 600; }
  .ap-grid .col-head p {
    margin-top: 20px;
    color: var(--text-mute);
    font-size: 15px;
    line-height: 1.6;
    max-width: 380px;
  }
  .steps { display: flex; flex-direction: column; }
  .step {
    padding: 32px 0;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 32px;
  }
  .step:last-child { border-bottom: 1px solid var(--line); }
  .step-num {
    font-size: 13px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.04em;
  }
  .step h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: 10px;
  }
  .step p {
    color: var(--text-mute);
    font-size: 14px;
    line-height: 1.65;
    max-width: 640px;
  }

  .services {
    padding: 100px 40px;
    background: var(--cream-soft);
  }
  .sv-inner { max-width: 1640px; margin: 0 auto; }
  .sv-head {
    margin-bottom: 56px;
    max-width: 800px;
  }
  .sv-head .lab {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-mute);
    margin-bottom: 16px;
    letter-spacing: 0.04em;
  }
  .sv-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.5vw, 64px);
    line-height: 1;
    letter-spacing: -0.035em;
  }
  .sv-head h2 b { font-weight: 600; }
  .sv-sub {
    margin-top: 16px;
    font-size: clamp(18px, 2vw, 24px);
    font-weight: 400;
    color: var(--text-mute);
    letter-spacing: -0.01em;
  }
  .service-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--line-strong);
    border: 1px solid var(--line-strong);
  }
  .service-item {
    background: var(--cream-soft);
    padding: 32px 28px;
  }
  .service-item .lab {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    margin-bottom: 14px;
    letter-spacing: 0.04em;
  }
  .service-item h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: -0.02em;
    margin-bottom: 10px;
    line-height: 1.15;
  }
  .service-item p {
    font-size: 14px;
    color: var(--text-mute);
    line-height: 1.6;
    margin-bottom: 16px;
  }
  .service-item .from {
    font-size: 12px;
    font-weight: 600;
    color: var(--bordeaux);
  }
  .capab-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--line-strong);
    border: 1px solid var(--line-strong);
  }
  .capab {
    background: var(--cream-soft);
    padding: 30px 30px;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    position: relative;
    overflow: hidden;
    transition: background .4s ease;
  }
  .capab::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: var(--bordeaux);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .capab:hover { background: var(--white); }
  .capab:hover::before { transform: scaleY(1); }
  .capab-idx {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 26px;
    line-height: 1;
    color: var(--bordeaux);
    opacity: 0.32;
    letter-spacing: -0.02em;
    flex-shrink: 0;
    transition: opacity .35s ease;
  }
  .capab:hover .capab-idx { opacity: 1; }
  .capab-body { flex: 1; display: flex; flex-direction: column; gap: 6px; }
  .capab h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: var(--ink);
    line-height: 1.2;
  }
  .capab span {
    font-size: 13.5px;
    color: var(--text-mute);
    line-height: 1.45;
  }
  .capab-arr {
    flex-shrink: 0;
    font-size: 18px;
    color: var(--bordeaux);
    opacity: 0;
    transform: translateX(-6px);
    transition: opacity .35s ease, transform .4s cubic-bezier(0.16, 1, 0.3, 1);
    align-self: center;
  }
  .capab:hover .capab-arr { opacity: 1; transform: translateX(0); }
  .capab-note {
    margin-top: 20px;
    font-size: 13px;
    color: var(--text-mute);
    font-style: italic;
  }
  @media (max-width: 860px) {
    .capab-grid { grid-template-columns: 1fr; }
    .capab-arr { display: none; }
  }
  .courses-full {
    padding: 72px 40px 120px;
    background: var(--white);
  }
  .cf-inner { max-width: 1640px; margin: 0 auto; }
  .cf-intro {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 60px;
    align-items: start;
    margin-bottom: 48px;
  }
  .cf-title {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(34px, 4vw, 58px);
    line-height: 1.02;
    letter-spacing: -0.035em;
    color: var(--bordeaux);
  }
  .cf-title em {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 500;
    color: var(--wine);
    letter-spacing: -0.01em;
  }
  .cf-lead {
    font-size: 16.5px;
    font-weight: 450;
    line-height: 1.6;
    color: var(--bordeaux-soft);
    max-width: 520px;
    padding-top: 12px;
  }
  .courses-deck {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    align-items: stretch;
  }
  .course-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--cream-soft);
    border: 1px solid var(--line-strong);
    padding: 40px 34px 34px;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
    transition: transform .45s cubic-bezier(0.16,1,0.3,1), box-shadow .45s ease, background .45s ease;
  }
  .course-card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--wine);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .5s cubic-bezier(0.16,1,0.3,1);
  }
  .course-card:hover {
    transform: translateY(-8px);
    background: var(--white);
    box-shadow: 0 30px 60px -30px rgba(31,29,26,0.32);
  }
  .course-card:hover::before { transform: scaleX(1); }
  .course-card.is-featured {
    background: var(--bordeaux-2);
    color: var(--cream);
    border-color: var(--bordeaux-2);
  }
  .course-card.is-featured::before { transform: scaleX(1); }
  .cc-flag {
    position: absolute;
    top: 3px; left: 0;
    background: var(--wine);
    color: var(--cream);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    padding: 7px 16px;
  }
  .cc-level {
    display: block;
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 600;
    font-size: 19px;
    color: var(--wine);
    margin-bottom: 6px;
  }
  .is-featured .cc-level { color: #C4899A; margin-top: 20px; }
  .cc-title {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(26px, 2.4vw, 32px);
    line-height: 1.05;
    letter-spacing: -0.03em;
    margin-bottom: 18px;
  }
  .cc-title em {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  .is-featured .cc-title em { color: #E8B4C2; }
  .cc-desc {
    font-size: 15.5px;
    font-weight: 450;
    line-height: 1.55;
    color: var(--bordeaux-soft);
    margin-bottom: 30px;
  }
  .is-featured .cc-desc { color: rgba(239,234,229,0.9); }
  .cc-specs {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
  }
  .cc-specs > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--line);
  }
  .is-featured .cc-specs > div { border-bottom-color: rgba(239,234,229,0.16); }
  .cc-specs dt {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bordeaux-soft);
  }
  .is-featured .cc-specs dt { color: rgba(239,234,229,0.62); }
  .cc-specs dd {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--bordeaux);
    text-align: right;
  }
  .is-featured .cc-specs dd { color: var(--cream); }
  .cc-foot { margin-top: auto; }
  .cc-plabel {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bordeaux-soft);
    margin-bottom: 8px;
  }
  .is-featured .cc-plabel { color: rgba(239,234,229,0.62); }
  .cc-price {
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-style: italic;
    font-weight: 500;
    font-size: 42px;
    line-height: 1;
    color: var(--wine);
    letter-spacing: -0.01em;
  }
  .is-featured .cc-price { color: #E8B4C2; }
  .cc-note {
    font-size: 13px;
    font-weight: 500;
    color: var(--bordeaux-soft);
    margin-top: 8px;
  }
  .is-featured .cc-note { color: rgba(239,234,229,0.68); }
  .cc-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 26px;
    padding-top: 16px;
    border-top: 1px solid var(--line-strong);
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    color: var(--bordeaux);
  }
  .cc-cta.is-solid {
    background: var(--wine);
    color: var(--cream);
    border-top: 0;
    padding: 17px 22px;
    transition: background .35s ease;
  }
  .course-card:hover .cc-cta.is-solid { background: var(--wine-deep); }
  .is-featured .cc-cta.is-solid {
    background: var(--cream);
    color: var(--bordeaux-2);
  }
  .is-featured:hover .cc-cta.is-solid { background: #fff; }
  .cc-arr { transition: transform .4s cubic-bezier(0.16,1,0.3,1); }
  .course-card:hover .cc-arr { transform: translateX(6px); }

  /* ─────────── COURSE DETAIL ─────────── */
  .course-hero {
    padding: 80px 40px;
    background: var(--white);
  }
  .ch-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 80px;
    align-items: start;
  }
  .ch-text .tier-pill {
    display: inline-block;
    background: var(--cream);
    color: var(--bordeaux);
    padding: 8px 14px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin-bottom: 24px;
  }
  .ch-text h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1;
    letter-spacing: -0.035em;
    margin-bottom: 28px;
  }
  .ch-text h2 b { font-weight: 600; }
  .ch-text p {
    font-size: 16px;
    color: var(--text-mute);
    line-height: 1.7;
    margin-bottom: 16px;
    max-width: 560px;
  }
  .course-summary {
    background: var(--cream);
    padding: 40px 32px;
  }
  .course-summary .row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 14px 0;
    border-bottom: 1px solid var(--line-cream);
    font-size: 13px;
  }
  .course-summary .row:last-of-type { border-bottom: none; }
  .course-summary .row .k { color: var(--text-mute); font-weight: 500; }
  .course-summary .row .v { color: var(--bordeaux); font-weight: 600; }
  .course-summary .price-block {
    margin-top: 20px;
    padding-top: 24px;
    border-top: 1px solid var(--bordeaux);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }
  .course-summary .price-block .amt {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 44px;
    letter-spacing: -0.03em;
  }
  .course-summary .price-block .lbl {
    font-size: 11px;
    color: var(--text-mute);
    text-align: right;
    line-height: 1.6;
    font-weight: 500;
  }
  .enroll-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    background: var(--bordeaux);
    color: var(--cream);
    padding: 18px;
    border: none;
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    margin-top: 24px;
    cursor: pointer;
    transition: background .3s;
  }
  .enroll-btn:hover { background: var(--bordeaux-2); }
  .enroll-meta {
    margin-top: 14px;
    text-align: center;
    font-size: 12px;
    color: var(--text-mute);
    font-weight: 500;
  }

  .curriculum {
    padding: 100px 40px;
    background: var(--cream-soft);
  }
  .curr-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.8fr;
    gap: 80px;
  }
  .curriculum .lab {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-mute);
    margin-bottom: 16px;
    letter-spacing: 0.04em;
  }
  .curriculum h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4vw, 60px);
    line-height: 1;
    letter-spacing: -0.035em;
    position: sticky;
    top: 110px;
  }
  .curriculum h2 b { font-weight: 600; }
  .modules { display: flex; flex-direction: column; }
  .module {
    border-top: 1px solid var(--line-strong);
    padding: 28px 0;
  }
  .module:last-child { border-bottom: 1px solid var(--line-strong); }
  .module-head {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 24px;
    align-items: baseline;
  }
  .module-num {
    font-size: 12px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.04em;
  }
  .module-name {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 22px;
    letter-spacing: -0.02em;
    line-height: 1.15;
  }
  .module-meta {
    font-size: 11px;
    color: var(--text-mute);
    font-weight: 500;
    letter-spacing: 0.02em;
  }
  .module p {
    margin-top: 14px;
    margin-left: 104px;
    color: var(--text-mute);
    font-size: 14px;
    line-height: 1.65;
    max-width: 720px;
  }

  .deliverables {
    padding: 100px 40px;
    background: var(--white);
  }
  .dv-inner { max-width: 1640px; margin: 0 auto; }
  .dv-head {
    margin-bottom: 50px;
    max-width: 800px;
  }
  .dv-head .lab {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-mute);
    margin-bottom: 16px;
    letter-spacing: 0.04em;
  }
  .dv-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.5vw, 64px);
    line-height: 1;
    letter-spacing: -0.035em;
  }
  .dv-head h2 b { font-weight: 600; }
  .dv-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--line-strong);
    border: 1px solid var(--line-strong);
  }
  .dv-item {
    background: var(--white);
    padding: 32px 28px;
  }
  .dv-item .num {
    font-size: 12px;
    font-weight: 600;
    color: var(--bordeaux);
    margin-bottom: 14px;
    letter-spacing: 0.04em;
  }
  .dv-item h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 20px;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin-bottom: 12px;
  }
  .dv-item p {
    color: var(--text-mute);
    font-size: 14px;
    line-height: 1.6;
  }

  /* ─────────── SHOP ─────────── */
  .shop-grid-full {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px 24px;
  }

  /* ─────────── PROIECTE INDEX ─────────── */
  .proiecte-list {
    padding: 60px 40px 100px;
    background: var(--white);
  }
  .pl-inner { max-width: 1640px; margin: 0 auto; }
  .proiect-row {
    padding: 60px 0;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: 60px;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: padding .4s ease;
    align-items: center;
  }
  .proiect-row:last-of-type { border-bottom: 1px solid var(--line); }
  .proiect-row:hover { padding-left: 16px; }
  .proiect-row .pr-img {
    aspect-ratio: 4/3;
    overflow: hidden;
    background: var(--cream);
  }
  .proiect-row .pr-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .proiect-row:hover .pr-img img { transform: scale(1.04); }
  .proiect-row .pr-meta {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 18px;
  }
  .proiect-row .pr-meta .status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--bordeaux);
  }
  .proiect-row .pr-meta .status::before {
    content: "";
    width: 6px; height: 6px;
    background: #2D9B5C;
    border-radius: 50%;
  }
  .proiect-row .pr-meta .status.upcoming::before { background: #C58A2D; }
  .proiect-row h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(34px, 4vw, 56px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    margin-bottom: 20px;
  }
  .proiect-row h3 b { font-weight: 600; }
  .proiect-row p {
    color: var(--text-mute);
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 22px;
    max-width: 560px;
  }
  .proiect-row .pr-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--bordeaux);
    border-bottom: 1px solid var(--bordeaux);
    padding-bottom: 2px;
  }
  .proiect-empty {
    padding: 80px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    text-align: center;
    color: var(--text-mute);
    font-size: 14px;
    font-style: italic;
  }

  /* ─────────── PROIECT DETAIL ─────────── */
  .project-meta-strip {
    background: var(--bordeaux);
    color: var(--cream);
    padding: 32px 40px;
  }
  .pms-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 32px;
  }
  .pms-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .pms-item .k {
    font-size: 10px;
    color: rgba(239, 234, 229, 0.55);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .pms-item .v {
    font-size: 14px;
    color: var(--cream);
    font-weight: 500;
  }
  .pms-item .v.status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }
  .pms-item .v.status::before {
    content: "";
    width: 6px; height: 6px;
    background: #5DC189;
    border-radius: 50%;
  }

  .project-content {
    padding: 80px 40px;
    background: var(--white);
  }
  .pc-inner { max-width: 1280px; margin: 0 auto; }
  .pc-section {
    padding: 60px 0;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 200px 1fr;
    gap: 60px;
  }
  .pc-section:last-of-type { border-bottom: 1px solid var(--line); }
  .pc-section .pc-lab {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding-top: 8px;
  }
  .pc-section .pc-body h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(32px, 3.6vw, 52px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    margin-bottom: 28px;
  }
  .pc-section .pc-body h2 b { font-weight: 600; }
  .pc-section .pc-body p {
    font-size: 16px;
    color: var(--bordeaux-soft);
    line-height: 1.7;
    margin-bottom: 18px;
    max-width: 720px;
  }
  .pc-section .pc-body p.placeholder {
    color: var(--text-mute);
    font-style: italic;
    padding: 18px 22px;
    background: var(--cream-soft);
    border-left: 2px solid var(--bordeaux);
    font-size: 14px;
  }

  .timeline {
    list-style: none;
    margin-top: 24px;
  }
  .timeline-item {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 32px;
    padding: 24px 0;
    border-top: 1px solid var(--line);
  }
  .timeline-item:last-child { border-bottom: 1px solid var(--line); }
  .timeline-item .date {
    font-size: 12px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.04em;
    padding-top: 4px;
  }
  .timeline-item h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: -0.015em;
    margin-bottom: 6px;
  }
  .timeline-item p {
    color: var(--text-mute);
    font-size: 14px;
    line-height: 1.6;
    max-width: 640px;
    margin: 0;
  }
  .timeline-item .tag {
    display: inline-block;
    margin-top: 8px;
    padding: 4px 8px;
    background: var(--cream-soft);
    border: 1px solid var(--line-strong);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text-mute);
    text-transform: uppercase;
  }

  .partners-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--line-strong);
    border: 1px solid var(--line-strong);
    margin-top: 24px;
  }
  .partner {
    background: var(--white);
    padding: 28px;
  }
  .partner .role {
    font-size: 10px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 12px;
  }
  .partner h5 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: -0.01em;
    margin-bottom: 8px;
  }
  .partner p {
    font-size: 13px;
    color: var(--text-mute);
    line-height: 1.55;
  }

  .resources {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .resource {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 20px;
    padding: 18px 22px;
    background: var(--cream-soft);
    border: 1px solid var(--line-strong);
    text-decoration: none;
    color: inherit;
    align-items: center;
    transition: background .3s;
  }
  .resource:hover { background: var(--cream); }
  .resource .icon {
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.04em;
    background: var(--white);
    padding: 4px 8px;
    border: 1px solid var(--line-strong);
  }
  .resource .name {
    font-size: 14px;
    font-weight: 500;
  }
  .resource .size {
    font-size: 11px;
    color: var(--text-mute);
    font-weight: 500;
    letter-spacing: 0.04em;
  }

  .eu-disclaimer {
    margin-top: 60px;
    padding: 32px;
    background: var(--cream-soft);
    border: 1px solid var(--line-strong);
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 28px;
    align-items: center;
  }
  .eu-disclaimer .eu-flag {
    width: 80px;
    height: 53px;
    background: #003399;
    color: #FFCC00;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    letter-spacing: 0.1em;
    font-weight: 600;
  }
  .eu-disclaimer p {
    font-size: 13px;
    color: var(--text-mute);
    line-height: 1.65;
  }

  /* ─────────── CONTACT ─────────── */
  .contact-grid {
    padding: 100px 40px;
    background: var(--white);
  }
  .cg-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 80px;
  }
  .cg-grid .lab {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-mute);
    margin-bottom: 16px;
    letter-spacing: 0.04em;
  }
  .cg-grid h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4vw, 60px);
    line-height: 1;
    letter-spacing: -0.035em;
  }
  .cg-grid h2 b { font-weight: 600; }
  .contact-list { display: flex; flex-direction: column; }
  .contact-item {
    padding: 28px 0;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 32px;
  }
  .contact-item:last-child { border-bottom: 1px solid var(--line); }
  .contact-item .ck {
    font-size: 12px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.04em;
  }
  .contact-item .cv {
    font-size: 15px;
    line-height: 1.6;
    color: var(--bordeaux);
  }
  .contact-item .cv small {
    display: block;
    color: var(--text-mute);
    font-size: 13px;
    margin-top: 4px;
  }



  /* ─────────── HOME HERO — V7 PREMIUM ─────────── */
  .home-hero {
    padding: 0;
    background: var(--cream);
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: stretch;
    overflow: hidden;
  }
  .home-hero-inner {
    max-width: none;
    margin: 0;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 0;
    align-items: stretch;
    padding: 0;
    min-height: 100vh;
  }
  .hh-text {
    padding: 140px 80px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 5;
    opacity: 0;
    animation: hh-fade-in .9s cubic-bezier(0.16, 1, 0.3, 1) .3s forwards;
  }
  @keyframes hh-fade-in {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
  }
  .hh-text .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 48px;
  }
  .hh-text .eyebrow::before {
    content: "";
    width: 36px;
    height: 1px;
    background: var(--bordeaux);
  }
  .hh-text h1.hh-title {
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: clamp(80px, 10vw, 180px);
    line-height: 0.86;
    letter-spacing: -0.06em;
    margin-bottom: 36px;
    color: var(--bordeaux);
    position: relative;
  }
  .hh-text h1.hh-title .period {
    color: var(--bordeaux);
    font-weight: 300;
  }
  .hh-text .tagline {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(20px, 2.4vw, 30px);
    line-height: 1.18;
    letter-spacing: -0.02em;
    color: var(--bordeaux);
    margin-bottom: 36px;
    max-width: 540px;
  }
  .hh-text .tagline b { font-weight: 600; }
  .hh-text p.intro {
    font-size: 15px;
    line-height: 1.65;
    color: var(--bordeaux-soft);
    max-width: 460px;
    margin-bottom: 44px;
  }
  .hh-text .hero-actions {
    margin-bottom: 64px;
  }
  .hh-heritage {
    margin-top: auto;
    padding-top: 32px;
    border-top: 1px solid var(--line-cream);
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  .hh-heritage .anno {
    color: var(--bordeaux);
    font-weight: 700;
    letter-spacing: 0.12em;
  }
  .hh-heritage .div {
    width: 4px; height: 4px;
    background: var(--text-mute);
    border-radius: 50%;
    flex-shrink: 0;
  }

  /* Visual side: video + poster */
  .hh-visual {
    position: relative;
    overflow: hidden;
    background: var(--bordeaux);
    min-height: 100vh;
  }
  .hh-poster, .hh-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
  }
  .hh-poster {
    z-index: 1;
  }
  .hh-overlay {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: linear-gradient(180deg, rgba(31, 29, 26,0.0) 0%, rgba(31, 29, 26,0.0) 55%, rgba(31, 29, 26,0.45) 100%);
    pointer-events: none;
  }

  /* Brand stamp/seal in corner */
  .hh-stamp {
    position: absolute;
    top: 32px;
    right: 32px;
    z-index: 5;
    background: var(--cream);
    color: var(--bordeaux);
    padding: 18px 22px;
    text-align: right;
    border: 1px solid var(--bordeaux);
    opacity: 0;
    animation: hh-fade-in .9s cubic-bezier(0.16, 1, 0.3, 1) .8s forwards;
  }
  .hh-stamp .stamp-top {
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: var(--text-mute);
    margin-bottom: 6px;
    text-transform: uppercase;
  }
  .hh-stamp .stamp-name {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 1.1;
    margin-bottom: 4px;
  }
  .hh-stamp .stamp-bottom {
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: var(--text-mute);
    text-transform: uppercase;
    padding-top: 6px;
    border-top: 1px solid var(--line-strong);
  }

  /* Scroll cue at bottom */
  .hh-scroll-cue {
    position: absolute;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--bordeaux);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    opacity: 0;
    animation: hh-fade-in .9s cubic-bezier(0.16, 1, 0.3, 1) 1.2s forwards, scroll-bounce 2.4s ease-in-out 2s infinite;
  }
  .hh-scroll-cue .line {
    width: 1px;
    height: 32px;
    background: var(--bordeaux);
    position: relative;
    overflow: hidden;
  }
  .hh-scroll-cue .line::after {
    content: "";
    position: absolute;
    top: -20px;
    left: 0;
    width: 100%;
    height: 16px;
    background: var(--cream);
    animation: scroll-line 2.2s ease-in-out infinite;
  }
  @keyframes scroll-line {
    0%, 100% { transform: translateY(0); opacity: 0; }
    20% { opacity: 1; }
    80% { opacity: 1; }
    100% { transform: translateY(48px); opacity: 0; }
  }
  @keyframes scroll-bounce {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(-6px); }
  }
  /* Hide scroll cue on mobile - takes too much space */
  @media (max-width: 760px) {
    .hh-scroll-cue { display: none; }
  }

  /* ─── HOME META STRIP ─── */
  .home-meta-strip {
    background: var(--cream);
    padding: 0 40px 40px;
  }
  .hms-inner {
    max-width: 1640px;
    margin: 0 auto;
    border-top: 1px solid var(--line-cream);
    padding-top: 28px;
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    gap: 24px;
    align-items: center;
  }
  .hms-item .lab {
    font-size: 10px;
    color: var(--text-mute);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 6px;
  }
  .hms-item .val {
    font-size: 13px;
    color: var(--bordeaux);
    font-weight: 500;
  }
  .hms-divider {
    width: 1px;
    height: 32px;
    background: var(--line-cream);
  }

  /* ───── HOME INDICATOR (clearly: Pagina principala) ───── */
  .home-indicator-clear {
    background: var(--white);
    padding: 56px 40px 0;
    text-align: center;
  }
  .home-indicator-clear .pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--cream-soft);
    padding: 10px 18px;
    border: 1px solid var(--line-strong);
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  .home-indicator-clear .pill::before {
    content: "";
    width: 6px; height: 6px;
    background: var(--bordeaux);
    border-radius: 50%;
  }

  /* ───── ABOUT THE ATELIER ───── */
  .about-section {
    padding: 100px 40px;
    background: var(--white);
  }
  .as-inner { max-width: 1640px; margin: 0 auto; }
  .as-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
    align-items: center;
  }
  .as-text .lab {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 28px;
  }
  .as-text h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.6vw, 72px);
    line-height: 1;
    letter-spacing: -0.04em;
    margin-bottom: 32px;
  }
  .as-text h2 b { font-weight: 600; }
  .as-text p {
    font-size: 16px;
    line-height: 1.7;
    color: var(--bordeaux-soft);
    margin-bottom: 18px;
    max-width: 520px;
  }
  .as-text .signature {
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .as-text .signature .name {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 14px;
  }
  .as-text .signature .role {
    font-size: 12px;
    color: var(--text-mute);
  }
  .as-text .signature::before {
    content: "—";
    font-size: 18px;
    color: var(--text-mute);
  }
  .as-photo {
    aspect-ratio: 4/5;
    overflow: hidden;
    background: var(--cream);
  }
  .as-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }

  /* ───── EDITORIAL GALLERY ───── */
  .editorial-gallery {
    padding: 100px 40px;
    background: var(--cream-soft);
  }
  .eg-inner { max-width: 1640px; margin: 0 auto; }
  .eg-head {
    text-align: center;
    margin-bottom: 60px;
  }
  .eg-head .lab {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 24px;
  }
  .eg-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.6vw, 72px);
    line-height: 1;
    letter-spacing: -0.035em;
    max-width: 900px;
    margin: 0 auto;
  }
  .eg-head h2 b { font-weight: 600; }
  .eg-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
  }
  .eg-photo {
    overflow: hidden;
    background: var(--cream);
    position: relative;
  }
  .eg-photo:nth-child(1) {
    grid-column: 1;
    aspect-ratio: 3/4;
  }
  .eg-photo:nth-child(2) {
    grid-column: 2;
    aspect-ratio: 3/4;
    margin-top: 80px;
  }
  .eg-photo:nth-child(3) {
    grid-column: 3;
    aspect-ratio: 3/4;
  }
  .eg-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.4s cubic-bezier(0.16, 1, 0.3, 1);
    display: block;
  }
  .eg-photo:hover img { transform: scale(1.04); }
  .eg-caption {
    position: absolute;
    bottom: 16px;
    left: 16px;
    background: var(--cream);
    color: var(--bordeaux);
    padding: 8px 12px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    z-index: 3;
    pointer-events: none;
  }

  /* ───── 3 DIRECTIONS — SIMPLE TAGS ───── */
  .directions {
    padding: 100px 40px;
    background: linear-gradient(180deg, #F1E9E7 0%, var(--white) 55%);
    border-top: 1px solid var(--wine-soft);
  }
  .dir-inner { max-width: 1640px; margin: 0 auto; }
  .dir-head {
    text-align: center;
    margin-bottom: 56px;
  }
  .dir-head .lab {
    font-size: 11px;
    font-weight: 600;
    color: var(--wine);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 20px;
  }
  .dir-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.4vw, 64px);
    line-height: 1.06;
    letter-spacing: -0.035em;
    margin-bottom: 16px;
  }
  .dir-head h2 b {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: var(--wine);
    font-size: 1em;
    letter-spacing: -0.01em;
    line-height: inherit;
  }
  .dir-head p {
    color: var(--text-mute);
    font-size: 15px;
    max-width: 580px;
    margin: 0 auto;
    line-height: 1.6;
  }
  .dir-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
  .dir-tag {
    display: block;
    padding: 46px 32px 40px;
    background: var(--cream-soft);
    border: 1px solid var(--wine-soft);
    border-top: 3px solid var(--wine);
    box-shadow: 0 10px 30px -18px rgba(90, 20, 40, 0.35);
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: all .4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .dir-tag:hover {
    background: var(--wine);
    color: var(--cream);
    border-color: var(--wine-deep);
    box-shadow: 0 20px 44px -20px rgba(90, 20, 40, 0.55);
  }
  .dir-tag .top-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 32px;
  }
  .dir-tag .num {
    color: var(--wine);
    font-size: 11px;
    font-weight: 700;
    color: var(--wine);
    letter-spacing: 0.16em;
    transition: color .4s;
  }
  .dir-tag:hover .num { color: rgba(239, 234, 229, 0.6); }
  .dir-tag .arrow {
    color: var(--wine);
    font-size: 18px;
    transition: transform .4s, color .4s;
  }
  .dir-tag:hover .arrow { transform: translate(4px, -4px); color: var(--cream); }
  .dir-tag h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1;
    letter-spacing: -0.035em;
    margin-bottom: 16px;
  }
  .dir-tag h3 b { font-weight: 600; }
  .dir-tag p {
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-mute);
    transition: color .4s;
  }
  .dir-tag:hover p { color: rgba(239, 234, 229, 0.85); }
  .dir-tag .cta-line {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--line-strong);
    color: var(--wine);
    font-size: 13.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transition: border-color .4s, color .4s;
  }
  .dir-tag:hover .cta-line { color: var(--cream); }
  .dir-tag:hover .cta-line { border-color: rgba(239, 234, 229, 0.2); }

  /* ───── HOME CTA ───── */
  .home-cta {
    background: var(--bordeaux);
    color: var(--cream);
    padding: 100px 40px;
  }
  .hc-inner {
    max-width: 1640px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
  }
  .hc-text .lab {
    font-size: 11px;
    font-weight: 600;
    color: var(--cream-deep);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 28px;
  }
  .hc-text h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 5vw, 80px);
    line-height: 1.05;
    letter-spacing: -0.04em;
    margin-bottom: 32px;
  }
  .hc-text h2 b { font-weight: 600; }
  .hc-text p {
    color: rgba(239, 234, 229, 0.75);
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 36px;
    max-width: 480px;
  }
  .hc-text .btn {
    background: var(--cream);
    color: var(--bordeaux);
    border-color: var(--cream);
  }
  .hc-text .btn:hover { background: transparent; color: var(--cream); }
  .hc-photo {
    aspect-ratio: 4/5;
    overflow: hidden;
    max-height: 600px;
  }
  .hc-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }


  /* ─────────── PER-PAGE THEMING (BOLD VARIANT) ─────────── */
  /* Default body — used by home, atelier, contact, proiecte */
  body {
    transition: background-color .5s ease, color .5s ease;
  }

  /* ───── CURSURI THEME — white with subtle technical grid ───── */
  body.theme-cursuri {
    background:
      linear-gradient(rgba(31, 29, 26, 0.025) 1px, transparent 1px),
      linear-gradient(90deg, rgba(31, 29, 26, 0.025) 1px, transparent 1px),
      var(--white);
    background-size: 56px 56px;
    background-position: 0 0;
  }
  body.theme-cursuri .page-head {
    background: rgba(245, 235, 211, 0.5);
    backdrop-filter: blur(20px);
  }
  body.theme-cursuri .courses-full {
    background: transparent;
  }
  body.theme-cursuri .course-row:hover {
    background: rgba(239, 234, 229, 0.55);
  }
  body.theme-cursuri .services {
    background: rgba(245, 235, 211, 0.6);
  }
  body.theme-cursuri .atelier-process {
    background: transparent;
  }
  body.theme-cursuri .course-hero,
  body.theme-cursuri .deliverables {
    background: transparent;
  }
  body.theme-cursuri .curriculum {
    background: rgba(245, 235, 211, 0.6);
  }
  /* Add a subtle "academic" accent on cursuri */
  body.theme-cursuri .ph-inner h1,
  body.theme-cursuri .lab,
  body.theme-cursuri .row-num,
  body.theme-cursuri .module-num,
  body.theme-cursuri .step-num,
  body.theme-cursuri .dv-item .num,
  body.theme-cursuri .crumbs .here {
    color: #5F7558;
  }
  body.theme-cursuri .tier-pill {
    background: #5F7558;
    color: var(--white);
  }
  body.theme-cursuri .ph-inner h1 b {
    color: var(--bordeaux);
  }

  /* ───── SHOP THEME — Light airy (Arket-style minimalism) ───── */
  body.theme-shop {
    background: #EFEAE5;
    color: var(--bordeaux);
  }
  body.theme-shop nav.top {
    background: rgba(239, 234, 229, 0.92);
    border-bottom-color: rgba(31, 29, 26, 0.10);
  }
  body.theme-shop nav.top.scrolled {
    border-bottom-color: rgba(31, 29, 26, 0.16);
  }
  body.theme-shop nav.top a,
  body.theme-shop nav.top button,
  body.theme-shop .brand-mark {
    color: var(--bordeaux);
  }
  body.theme-shop nav.top a.subtle {
    color: rgba(31, 29, 26, 0.55);
  }
  body.theme-shop nav.top a.subtle:hover {
    color: var(--bordeaux);
  }
  body.theme-shop nav.top a::after,
  body.theme-shop nav.top button::after {
    background: var(--bordeaux);
  }
  body.theme-shop .nav-divider {
    background: rgba(31, 29, 26, 0.16);
  }
  body.theme-shop .menu-toggle span { background: var(--bordeaux); }

  /* Page head — same light tone, NO dramatic contrast (true minimalism) */
  body.theme-shop .page-head {
    background: #EFEAE5;
    color: var(--bordeaux);
    padding-top: 130px;
    padding-bottom: 80px;
  }
  body.theme-shop .crumbs,
  body.theme-shop .crumbs a {
    color: rgba(31, 29, 26, 0.5);
  }
  body.theme-shop .crumbs a:hover { color: var(--bordeaux); }
  body.theme-shop .crumbs .here { color: var(--bordeaux); }
  body.theme-shop .ph-inner h1 { color: var(--bordeaux); }
  body.theme-shop .ph-inner h1 b { color: var(--bordeaux); }
  body.theme-shop .ph-inner .lede { color: rgba(31, 29, 26, 0.7); }

  body.theme-shop .collection {
    background: #EFEAE5;
  }
  body.theme-shop .filter-bar {
    border-bottom-color: rgba(31, 29, 26, 0.14);
  }
  body.theme-shop .filter {
    background: transparent;
    border-color: rgba(31, 29, 26, 0.20);
    color: rgba(31, 29, 26, 0.72);
  }
  body.theme-shop .filter:hover {
    color: var(--bordeaux);
    border-color: var(--bordeaux);
  }
  body.theme-shop .filter.active {
    background: var(--bordeaux);
    color: var(--white);
    border-color: var(--bordeaux);
  }
  body.theme-shop .product h4 { color: var(--bordeaux); }
  body.theme-shop .product .product-coll {
    color: rgba(31, 29, 26, 0.55);
  }
  body.theme-shop .product .price-num { color: var(--bordeaux); }
  body.theme-shop .product-tag {
    background: var(--bordeaux);
    color: var(--white);
  }
  /* Product cards pop nicely on the soft warm light background */

  /* Footer already dark — keep as is */


  /* ─────────── HYBRID CTA — DUAL ACTION BUTTONS ─────────── */
  .enroll-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
  }
  .enroll-btn-primary {
    background: var(--bordeaux);
    color: var(--white);
    border: 1px solid var(--bordeaux);
    padding: 16px 18px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    transition: all .3s;
    width: 100%;
  }
  .enroll-btn-primary:hover {
    background: var(--bordeaux-2);
    border-color: var(--bordeaux-2);
  }
  .enroll-btn-primary .price-tag {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }
  .enroll-btn-primary .price-tag .label {
    font-size: 10px;
    font-weight: 500;
    opacity: 0.7;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .enroll-btn-primary .price-tag .price {
    font-size: 14px;
    font-weight: 600;
  }
  .enroll-btn-primary .arr {
    font-size: 14px;
    transition: transform .3s;
  }
  .enroll-btn-primary:hover .arr {
    transform: translateX(4px);
  }
  .enroll-btn-secondary {
    background: transparent;
    color: var(--bordeaux);
    border: 1px solid var(--line-strong);
    padding: 14px 18px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all .3s;
    width: 100%;
    text-align: center;
  }
  .enroll-btn-secondary:hover {
    border-color: var(--bordeaux);
    background: var(--cream-soft);
  }
  .enroll-meta-payment {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
    font-size: 10px;
    line-height: 1.5;
    color: var(--text-mute);
    letter-spacing: 0.04em;
  }
  .enroll-meta-payment strong {
    color: var(--bordeaux);
    font-weight: 600;
  }
  .payment-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    flex-wrap: wrap;
  }
  .pay-badge {
    display: inline-flex;
    padding: 3px 8px;
    background: var(--cream);
    border: 1px solid var(--line-strong);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bordeaux);
  }

  /* ─────────── SUCCESS PAGES ─────────── */
  .success-hero {
    min-height: 100vh;
    background: var(--cream);
    padding: 140px 40px 80px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sh-inner {
    max-width: 720px;
    width: 100%;
    text-align: center;
  }
  .sh-inner .crumbs {
    margin-bottom: 56px;
    text-align: center;
  }
  .success-mark {
    margin-bottom: 56px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
  }
  .checkmark-circle {
    width: 88px;
    height: 88px;
    border: 2px solid var(--bordeaux);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bordeaux);
    font-size: 38px;
    line-height: 1;
    animation: success-scale .6s cubic-bezier(0.16, 1, 0.3, 1) backwards;
  }
  @keyframes success-scale {
    0% { transform: scale(0); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
  }
  .success-stamp {
    border: 1px solid var(--bordeaux);
    padding: 14px 22px;
    background: var(--white);
    text-align: center;
  }
  .success-stamp .stamp-top {
    display: block;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: var(--text-mute);
    margin-bottom: 4px;
    text-transform: uppercase;
  }
  .success-stamp .stamp-num {
    display: block;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.08em;
    color: var(--bordeaux);
    margin-bottom: 4px;
  }
  .success-stamp .stamp-bottom {
    display: block;
    font-size: 9px;
    font-weight: 500;
    letter-spacing: 0.18em;
    color: var(--text-mute);
    text-transform: uppercase;
  }
  .success-hero h1 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 5vw, 64px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    margin-bottom: 24px;
    color: var(--bordeaux);
  }
  .success-hero h1 b { font-weight: 600; }
  .success-hero .lede {
    font-size: 17px;
    line-height: 1.6;
    color: var(--bordeaux-soft);
    margin-bottom: 60px;
    max-width: 580px;
    margin-left: auto;
    margin-right: auto;
  }
  .success-hero .lede b { font-weight: 600; color: var(--bordeaux); }

  .next-steps {
    background: var(--white);
    padding: 48px 40px;
    text-align: left;
    margin-bottom: 40px;
    border: 1px solid var(--line);
  }
  .next-steps h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-mute);
    margin-bottom: 32px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
  }
  .next-steps .ns-step {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 24px;
    margin-bottom: 28px;
    align-items: start;
  }
  .next-steps .ns-step:last-child { margin-bottom: 0; }
  .next-steps .ns-step .num {
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.08em;
    padding-top: 4px;
  }
  .next-steps .ns-step h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: -0.01em;
    margin-bottom: 6px;
    color: var(--bordeaux);
  }
  .next-steps .ns-step p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--bordeaux-soft);
  }
  .next-steps .ns-step p b { font-weight: 600; color: var(--bordeaux); }

  .success-footer {
    padding-top: 32px;
    border-top: 1px solid var(--line);
    text-align: center;
  }
  .success-footer p {
    font-size: 13px;
    color: var(--text-mute);
    margin-bottom: 24px;
  }
  .success-footer p a {
    color: var(--bordeaux);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
  }

  /* ───── PROIECTE CMS template hint ───── */
  .ps-template-card {
    border: 1.5px dashed var(--line-strong);
    background: transparent;
    padding: 40px;
    text-align: center;
    color: var(--text-mute);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 260px;
  }
  .ps-template-card .lab {
    font-size: 10px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  .ps-template-card h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--bordeaux-soft);
    max-width: 320px;
  }
  .ps-template-card p {
    font-size: 13px;
    color: var(--text-mute);
    max-width: 380px;
    line-height: 1.5;
  }


  /* ─────────── COURSE GUIDE MOCKUPS ─────────── */
  .guide-mockup-wrap {
    background: linear-gradient(135deg, #2a2725 0%, #0f0e0d 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 60px 40px;
    position: relative;
    overflow: hidden;
    min-height: 480px;
  }
  .guide-mockup-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      radial-gradient(circle at 30% 20%, rgba(239, 234, 229, 0.04) 0%, transparent 40%),
      radial-gradient(circle at 70% 80%, rgba(239, 234, 229, 0.03) 0%, transparent 50%);
    pointer-events: none;
  }
  .guide-mockup {
    width: 80%;
    max-width: 360px;
    aspect-ratio: 3/4;
    box-shadow:
      0 2px 4px rgba(0, 0, 0, 0.2),
      0 30px 60px rgba(0, 0, 0, 0.4),
      0 60px 120px rgba(0, 0, 0, 0.3);
    transform: rotate(-2.5deg);
    transition: transform .8s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
  }
  .guide-mockup::before {
    /* Second booklet behind to suggest "stack" */
    content: "";
    position: absolute;
    top: 8px;
    left: -8px;
    right: 14px;
    bottom: -6px;
    background: #DCD6CE;
    z-index: -1;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
  }
  .guide-mockup:hover {
    transform: rotate(-1deg) scale(1.02);
  }
  .guide-mockup svg {
    display: block;
    width: 100%;
    height: 100%;
  }
  .guide-mockup-label {
    position: absolute;
    bottom: 32px;
    left: 32px;
    color: rgba(239, 234, 229, 0.65);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    z-index: 5;
  }
  .guide-mockup-label::before {
    content: "";
    display: inline-block;
    width: 24px;
    height: 1px;
    background: rgba(239, 234, 229, 0.5);
    vertical-align: middle;
    margin-right: 10px;
  }

  /* Triptych of 3 guides for cursuri index */
  .guides-triptych {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 60px 30px;
    position: relative;
    perspective: 1200px;
  }
  .guides-triptych .guide-mockup {
    width: 26%;
    max-width: 200px;
    aspect-ratio: 3/4;
    box-shadow:
      0 2px 4px rgba(0, 0, 0, 0.2),
      0 20px 40px rgba(0, 0, 0, 0.3);
    transition: all .6s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .guides-triptych .guide-mockup::before {
    display: none;
  }
  .guides-triptych .guide-mockup:nth-child(1) {
    transform: rotate(-8deg) translateX(20px) translateY(15px);
    z-index: 1;
  }
  .guides-triptych .guide-mockup:nth-child(2) {
    transform: rotate(0deg) translateY(-15px);
    z-index: 3;
    width: 30%;
    max-width: 220px;
  }
  .guides-triptych .guide-mockup:nth-child(3) {
    transform: rotate(8deg) translateX(-20px) translateY(15px);
    z-index: 1;
  }
  .guides-triptych:hover .guide-mockup:nth-child(1) {
    transform: rotate(-12deg) translateX(-20px) translateY(15px);
  }
  .guides-triptych:hover .guide-mockup:nth-child(3) {
    transform: rotate(12deg) translateX(20px) translateY(15px);
  }

  @media (max-width: 760px) {
    .guide-mockup-wrap {
      padding: 40px 20px;
      min-height: 380px;
    }
    .guide-mockup {
      max-width: 280px;
    }
    .guides-triptych {
      padding: 40px 16px;
    }
    .guides-triptych .guide-mockup {
      width: 28%;
    }
  }


  /* ─────────── MOBILE HAMBURGER MENU ─────────── */
  .menu-toggle, .mobile-cart {
    display: none;
  }
  .menu-toggle {
    display: none;
    background: transparent;
    border: none;
    padding: 12px;
    margin: -12px;
    cursor: pointer;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    z-index: 110;
    position: relative;
  }
  .menu-toggle span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: var(--bordeaux);
    transition: transform .35s, opacity .35s;
    transform-origin: center;
  }
  body.menu-open .menu-toggle span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
  }
  body.menu-open .menu-toggle span:nth-child(2) {
    opacity: 0;
  }
  body.menu-open .menu-toggle span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
  }
  /* On dark shop theme, hamburger is cream */
  body.theme-shop .menu-toggle span {
    background: var(--cream);
  }

  /* Mobile menu overlay */
  .mobile-menu {
    position: fixed;
    inset: 0;
    background: var(--cream);
    z-index: 105;
    opacity: 0;
    pointer-events: none;
    transition: opacity .4s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    /* iOS safe area */
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
  body.menu-open .mobile-menu {
    opacity: 1;
    pointer-events: auto;
  }
  .mm-inner {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 90px 28px 40px;
    max-width: 600px;
    margin: 0 auto;
    width: 100%;
  }
  .mm-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .mm-links li {
    border-bottom: 1px solid var(--line);
  }
  .mm-links li:first-child { border-top: 1px solid var(--line); }
  .mm-links a {
    display: flex;
    align-items: baseline;
    gap: 18px;
    padding: 22px 4px;
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(28px, 7vw, 40px);
    line-height: 1;
    letter-spacing: -0.025em;
    color: var(--bordeaux);
    text-decoration: none;
    transition: padding .3s, color .3s;
    opacity: 0;
    transform: translateY(20px);
  }
  body.menu-open .mm-links a {
    animation: mm-link-in .5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  }
  body.menu-open .mm-links li:nth-child(1) a { animation-delay: 0.10s; }
  body.menu-open .mm-links li:nth-child(2) a { animation-delay: 0.16s; }
  body.menu-open .mm-links li:nth-child(3) a { animation-delay: 0.22s; }
  body.menu-open .mm-links li:nth-child(4) a { animation-delay: 0.28s; }
  body.menu-open .mm-links li:nth-child(5) a { animation-delay: 0.34s; }
  body.menu-open .mm-links li:nth-child(6) a { animation-delay: 0.40s; }
  @keyframes mm-link-in {
    to { opacity: 1; transform: translateY(0); }
  }
  .mm-links a:active {
    padding-left: 12px;
  }
  .mm-links .num {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    flex-shrink: 0;
    width: 32px;
    align-self: flex-start;
    padding-top: 6px;
  }
  .mm-links a span:nth-child(2) {
    flex: 1;
  }
  .mm-links a b { font-weight: 600; }
  .mm-footer {
    padding-top: 40px;
    border-top: 1px solid var(--line);
    font-size: 13px;
    color: var(--text-mute);
    line-height: 1.7;
    margin-top: 40px;
  }
  .mm-footer a {
    color: var(--bordeaux);
    text-decoration: none;
    font-weight: 500;
  }
  .mm-footer .mm-tag {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--text-mute);
    margin-bottom: 12px;
    display: block;
  }
  /* Lock body scroll when menu open */
  body.menu-open {
    overflow: hidden;
  }

  /* Visible X close button INSIDE the menu (top right) */
  .mm-close {
    position: absolute;
    top: 18px;
    right: 18px;
    top: max(18px, env(safe-area-inset-top));
    right: max(18px, env(safe-area-inset-right));
    width: 48px;
    height: 48px;
    background: transparent;
    border: none;
    cursor: pointer;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--bordeaux);
  }
  .mm-close::before,
  .mm-close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 22px;
    height: 1.5px;
    background: var(--bordeaux);
    transform-origin: center;
  }
  .mm-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .mm-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .mm-close:active::before,
  .mm-close:active::after {
    background: var(--bordeaux-soft);
  }
  /* Small "Închide" label next to X for clarity (optional, hidden on smaller phones) */
  .mm-close-label {
    position: absolute;
    top: 30px;
    right: 76px;
    top: max(30px, calc(env(safe-area-inset-top) + 12px));
    right: max(76px, calc(env(safe-area-inset-right) + 58px));
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-mute);
    z-index: 200;
    pointer-events: none;
  }
  @media (max-width: 380px) {
    .mm-close-label { display: none; }
  }


  /* ─────────── PRODUCT DETAIL PAGE ─────────── */
  .pdp {
    padding: 100px 40px 80px;
    max-width: 1400px;
    margin: 0 auto;
    padding-top: max(100px, calc(env(safe-area-inset-top) + 80px));
  }
  .pdp-crumbs {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(31, 29, 26, 0.6);
    margin-bottom: 40px;
  }
  .pdp-crumbs a {
    color: rgba(31, 29, 26, 0.6);
    text-decoration: none;
    transition: color .3s;
  }
  .pdp-crumbs a:hover { color: var(--bordeaux); }
  .pdp-crumbs .here { color: var(--bordeaux); }

  .pdp-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 60px;
    align-items: flex-start;
  }

  /* GALLERY */
  .pdp-gallery {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 16px;
    position: sticky;
    top: 100px;
  }
  .pdp-thumbs {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .pdp-thumb {
    aspect-ratio: 3/4;
    background: rgba(245, 241, 238, 0.6);
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color .3s, opacity .3s;
    overflow: hidden;
    opacity: 0.65;
  }
  .pdp-thumb.active {
    border-color: var(--bordeaux);
    opacity: 1;
  }
  .pdp-thumb:hover { opacity: 1; }
  .pdp-thumb svg { width: 100%; height: 100%; display: block; }

  .pdp-main-img {
    aspect-ratio: 3/4;
    background: rgba(245, 241, 238, 0.6);
    overflow: hidden;
    position: relative;
  }
  .pdp-main-img svg { width: 100%; height: 100%; display: block; }
  .pdp-main-img .img-tag {
    position: absolute;
    top: 16px;
    left: 16px;
    background: var(--bordeaux);
    color: var(--bordeaux);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 6px 10px;
  }

  /* INFO COLUMN */
  .pdp-info { padding-top: 8px; }
  .pdp-collection {
    font-size: 10px;
    font-weight: 600;
    color: rgba(31, 29, 26, 0.6);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 14px;
  }
  .pdp-name {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(34px, 4vw, 52px);
    line-height: 1.05;
    letter-spacing: -0.025em;
    color: var(--bordeaux);
    margin-bottom: 18px;
  }
  .pdp-name b { font-weight: 600; }
  .pdp-price {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 28px;
    padding-bottom: 28px;
    border-bottom: 1px solid rgba(31, 29, 26, 0.18);
  }
  .pdp-price .amt {
    font-size: 28px;
    font-weight: 500;
    color: var(--bordeaux);
    letter-spacing: -0.01em;
  }
  .pdp-price .vat {
    font-size: 11px;
    color: rgba(31, 29, 26, 0.6);
    letter-spacing: 0.06em;
  }

  .pdp-short-desc {
    font-size: 14px;
    line-height: 1.7;
    color: rgba(31, 29, 26, 0.85);
    margin-bottom: 32px;
  }

  /* SELECTOR LABELS */
  .pdp-selector-label {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--bordeaux);
    margin-bottom: 14px;
  }
  .pdp-selector-label .current {
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0.02em;
    color: rgba(31, 29, 26, 0.75);
    font-size: 12px;
  }
  .pdp-selector-label .size-guide-link {
    background: transparent;
    border: none;
    color: var(--bordeaux);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: none;
    cursor: pointer;
    padding: 0;
    text-decoration: underline;
    text-decoration-color: rgba(31, 29, 26, 0.4);
    text-underline-offset: 4px;
    transition: text-decoration-color .3s;
  }
  .pdp-selector-label .size-guide-link:hover {
    text-decoration-color: var(--bordeaux);
  }

  /* COLOR SWATCHES */
  .pdp-colors {
    display: flex;
    gap: 12px;
    margin-bottom: 28px;
  }
  .pdp-color {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    position: relative;
    padding: 3px;
    background: transparent;
    transition: border-color .3s;
  }
  .pdp-color::before {
    content: "";
    position: absolute;
    inset: 3px;
    border-radius: 50%;
    background: var(--swatch);
    border: 1px solid rgba(31, 29, 26, 0.22);
  }
  .pdp-color.active {
    border-color: var(--bordeaux);
  }
  .pdp-color:hover { border-color: rgba(31, 29, 26, 0.4); }

  /* SIZE GRID */
  .pdp-sizes {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    margin-bottom: 28px;
  }
  .pdp-size {
    aspect-ratio: 1.4/1;
    background: transparent;
    border: 1px solid rgba(31, 29, 26, 0.22);
    color: var(--bordeaux);
    font-family: inherit;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .3s, background .3s, color .3s;
    min-height: 48px;
  }
  .pdp-size:hover {
    border-color: var(--bordeaux);
  }
  .pdp-size.active {
    background: rgba(245, 241, 238, 0.6);
    color: var(--bordeaux);
    border-color: var(--bordeaux);
  }
  .pdp-size.unavailable {
    opacity: 0.3;
    cursor: not-allowed;
    text-decoration: line-through;
  }
  .pdp-size.unavailable:hover { border-color: rgba(31, 29, 26, 0.22); }

  /* QUANTITY + ADD TO CART */
  .pdp-qty-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 10px;
    margin-bottom: 12px;
  }
  .pdp-qty {
    display: flex;
    align-items: center;
    border: 1px solid rgba(31, 29, 26, 0.22);
  }
  .pdp-qty button {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--bordeaux);
    font-size: 18px;
    font-weight: 400;
    cursor: pointer;
    height: 56px;
    transition: background .3s;
  }
  .pdp-qty button:hover {
    background: rgba(31, 29, 26, 0.10);
  }
  .pdp-qty .qty-value {
    flex: 1;
    text-align: center;
    color: var(--bordeaux);
    font-size: 14px;
    font-weight: 500;
  }
  .pdp-add-cart {
    background: var(--bordeaux);
    color: var(--white);
    border: 1px solid var(--bordeaux);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    cursor: pointer;
    height: 56px;
    transition: background .3s, color .3s;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
  .pdp-add-cart:hover {
    background: var(--bordeaux-2);
    border-color: var(--bordeaux-2);
  }
  .pdp-wishlist {
    width: 100%;
    background: transparent;
    border: 1px solid rgba(31, 29, 26, 0.22);
    color: var(--bordeaux);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.04em;
    cursor: pointer;
    height: 48px;
    transition: border-color .3s;
    margin-bottom: 32px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  .pdp-wishlist:hover { border-color: var(--bordeaux); }

  /* Trust bar */
  .pdp-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 22px 0;
    border-top: 1px solid rgba(31, 29, 26, 0.18);
    border-bottom: 1px solid rgba(31, 29, 26, 0.18);
    margin-bottom: 32px;
  }
  .pdp-trust-item {
    text-align: center;
  }
  .pdp-trust-item .label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bordeaux);
    margin-bottom: 4px;
  }
  .pdp-trust-item .desc {
    font-size: 11px;
    color: rgba(31, 29, 26, 0.6);
    line-height: 1.4;
  }

  /* ACCORDIONS */
  .pdp-accordion {
    border-top: 1px solid rgba(31, 29, 26, 0.18);
  }
  .pdp-accordion:last-of-type {
    border-bottom: 1px solid rgba(31, 29, 26, 0.18);
  }
  .pdp-acc-toggle {
    width: 100%;
    background: transparent;
    border: none;
    padding: 22px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--bordeaux);
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    text-align: left;
  }
  .pdp-acc-toggle .icon {
    width: 14px;
    height: 14px;
    position: relative;
    flex-shrink: 0;
  }
  .pdp-acc-toggle .icon::before,
  .pdp-acc-toggle .icon::after {
    content: "";
    position: absolute;
    background: rgba(245, 241, 238, 0.6);
    transition: transform .3s;
  }
  .pdp-acc-toggle .icon::before {
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    transform: translateY(-50%);
  }
  .pdp-acc-toggle .icon::after {
    left: 50%;
    top: 0;
    height: 100%;
    width: 1px;
    transform: translateX(-50%);
  }
  .pdp-accordion.open .pdp-acc-toggle .icon::after {
    transform: translateX(-50%) rotate(90deg);
  }
  .pdp-acc-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease;
  }
  .pdp-accordion.open .pdp-acc-content {
    max-height: 1200px;
  }
  .pdp-acc-content-inner {
    padding: 0 0 28px;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(31, 29, 26, 0.85);
  }
  .pdp-acc-content-inner ul {
    list-style: none;
    padding: 0;
    margin: 12px 0;
  }
  .pdp-acc-content-inner li {
    padding: 4px 0;
    padding-left: 18px;
    position: relative;
  }
  .pdp-acc-content-inner li::before {
    content: "·";
    position: absolute;
    left: 4px;
    color: rgba(31, 29, 26, 0.5);
  }
  .pdp-acc-content-inner b { color: var(--bordeaux); font-weight: 600; }

  /* SIZE GUIDE TABLE */
  .pdp-size-guide-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 13px;
  }
  .pdp-size-guide-table th,
  .pdp-size-guide-table td {
    padding: 12px 8px;
    text-align: left;
    border-bottom: 1px solid rgba(31, 29, 26, 0.18);
  }
  .pdp-size-guide-table th {
    color: var(--bordeaux);
    font-weight: 600;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }
  .pdp-size-guide-table td {
    color: rgba(31, 29, 26, 0.85);
  }
  .pdp-size-guide-table tr:hover td {
    color: var(--bordeaux);
  }
  .pdp-size-guide-note {
    font-size: 12px;
    color: rgba(31, 29, 26, 0.6);
    line-height: 1.6;
    margin-top: 16px;
    padding: 16px;
    background: rgba(31, 29, 26, 0.04);
    border-left: 2px solid rgba(31, 29, 26, 0.22);
  }

  /* RELATED PRODUCTS */
  .pdp-related {
    padding: 80px 40px;
    max-width: 1400px;
    margin: 0 auto;
    border-top: 1px solid rgba(31, 29, 26, 0.18);
  }
  .pdp-related-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
  }
  .pdp-related-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(28px, 3vw, 40px);
    color: var(--bordeaux);
    letter-spacing: -0.02em;
  }
  .pdp-related-head h2 b { font-weight: 600; }
  .pdp-related-head a {
    font-size: 12px;
    color: var(--bordeaux);
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: rgba(31, 29, 26, 0.4);
  }
  .pdp-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  /* MOBILE STICKY CART BAR */
  .pdp-sticky-cart {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(15, 14, 13, 0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(31, 29, 26, 0.18);
    padding: 14px 18px;
    padding-bottom: max(14px, env(safe-area-inset-bottom));
    z-index: 90;
    grid-template-columns: 1fr auto;
    gap: 14px;
    align-items: center;
  }
  .pdp-sticky-cart .info {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
  .pdp-sticky-cart .info .name {
    font-size: 12px;
    color: var(--white);
    font-weight: 500;
  }
  .pdp-sticky-cart .info .price {
    font-size: 14px;
    color: var(--white);
    font-weight: 600;
  }
  .pdp-sticky-cart button {
    background: var(--white);
    color: var(--bordeaux);
    border: none;
    padding: 14px 20px;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
  }

  /* PDP RESPONSIVE */
  @media (max-width: 1100px) {
    .pdp-grid { grid-template-columns: 1fr; gap: 32px; }
    .pdp-gallery { position: static; }
    .pdp-related-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 760px) {
    .pdp {
      padding: 90px 18px 100px;
      padding-top: max(90px, calc(env(safe-area-inset-top) + 80px));
    }
    .pdp-crumbs { margin-bottom: 24px; font-size: 10px; }
    .pdp-gallery {
      grid-template-columns: 1fr;
      gap: 12px;
    }
    .pdp-thumbs {
      flex-direction: row;
      order: 2;
    }
    .pdp-thumb {
      width: 64px;
      flex-shrink: 0;
    }
    .pdp-main-img { order: 1; }
    .pdp-name { font-size: clamp(28px, 8vw, 40px); }
    .pdp-price .amt { font-size: 24px; }
    .pdp-sizes { grid-template-columns: repeat(4, 1fr); }
    .pdp-trust { grid-template-columns: 1fr; gap: 12px; padding: 18px 0; }
    .pdp-trust-item { display: flex; justify-content: space-between; text-align: left; }
    .pdp-trust-item .label { font-size: 10px; }
    .pdp-trust-item .desc { font-size: 11px; }
    .pdp-related { padding: 60px 18px; }
    .pdp-related-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .pdp-related-head { flex-direction: column; align-items: flex-start; gap: 8px; }
    /* Show sticky cart on mobile */
    .pdp-sticky-cart { display: grid; }
    /* Hide normal add-to-cart on mobile (sticky version takes its place) */
    .pdp-add-cart-desktop { display: none; }
    /* Hide wishlist below the fold; can keep it but compact */
    .pdp-wishlist { margin-bottom: 24px; }
  }


  /* ─────────── DE CE CATALEYA — EDITORIAL ROWS ─────────── */
  .why-cataleya {
    padding: 110px 40px 90px;
    background: var(--cream-soft);
  }
  .wc-inner {
    max-width: 1320px;
    margin: 0 auto;
  }
  .wc-head {
    margin-bottom: 64px;
    max-width: 720px;
  }
  .wc-head .lab {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 24px;
  }
  .wc-head .lab::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--bordeaux);
  }
  .wc-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 5.5vw, 72px);
    line-height: 1.02;
    letter-spacing: -0.035em;
    color: var(--bordeaux);
  }
  .wc-head h2 b { font-weight: 600; }
  .wc-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--line-strong);
    border: 1px solid var(--line-strong);
  }
  .wc-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 36px 32px 40px;
    background: var(--cream-soft);
    position: relative;
    transition: background .35s ease, transform .35s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .wc-row::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--bordeaux);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .wc-row:hover {
    background: var(--white);
    transform: translateY(-4px);
  }
  .wc-row:hover::before { transform: scaleX(1); }
  .wc-row:hover .wc-num { color: var(--bordeaux); opacity: 1; }
  .wc-num {
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: 52px;
    line-height: 0.85;
    color: var(--bordeaux);
    opacity: 0.35;
    letter-spacing: -0.04em;
    transition: opacity .35s ease;
  }
  .wc-content { padding-top: 4px; }
  .wc-content h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 19px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--bordeaux);
    margin-bottom: 10px;
  }
  .wc-content p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--bordeaux-soft);
  }
  .wc-marker {
    display: block;
    font-size: 10.5px;
    font-weight: 600;
    color: var(--text-mute);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 6px;
  }

  /* Brand quote at bottom of section */
  .wc-quote {
    margin-top: 80px;
    padding: 56px 64px;
    background: var(--white);
    border-left: 3px solid var(--bordeaux);
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(20px, 2.4vw, 30px);
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--bordeaux);
    max-width: 980px;
  }
  .wc-quote::before {
    content: "„";
    font-size: 1.4em;
    font-weight: 600;
    line-height: 0;
    color: var(--bordeaux);
    margin-right: 4px;
  }

  @media (max-width: 1100px) {
    .wc-list {
      grid-template-columns: repeat(2, 1fr);
    }
    .wc-marker { display: block; }
  }
  @media (max-width: 760px) {
    .why-cataleya { padding: 72px 20px; }
    .wc-head { margin-bottom: 40px; }
    .wc-list {
      grid-template-columns: 1fr;
    }
    .wc-row {
      padding: 28px 24px 30px;
    }
    .wc-row:hover { transform: none; }
    .wc-num { font-size: 44px; }
    .wc-content h4 { font-size: 19px; margin-bottom: 10px; }
    .wc-content p { font-size: 14px; line-height: 1.6; }
    .wc-quote {
      margin-top: 48px;
      padding: 32px 28px;
      font-size: 17px;
    }
  }


  /* ─────────── FITTING FORM ─────────── */
  .fitting-form-section {
    background: var(--cream);
    padding: 100px 40px;
  }
  .ff-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 80px;
    align-items: flex-start;
  }
  .ff-form-col {
    background: var(--white);
    padding: 56px 56px 48px;
    border: 1px solid var(--line);
  }
  .ff-form-col .lab {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 18px;
  }
  .ff-form-col .lab::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--bordeaux);
  }
  .ff-form-col h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(34px, 4vw, 48px);
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: var(--bordeaux);
    margin-bottom: 14px;
  }
  .ff-form-col h2 b { font-weight: 600; }
  .ff-form-col p.ff-intro {
    font-size: 14px;
    line-height: 1.6;
    color: var(--text-mute);
    margin-bottom: 48px;
    max-width: 540px;
  }

  .ff-section {
    border-top: 1px solid var(--line);
    padding-top: 36px;
    margin-top: 36px;
  }
  .ff-section:first-of-type {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
  .ff-section-head {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 24px;
  }
  .ff-section-num {
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.16em;
    flex-shrink: 0;
  }
  .ff-section-title {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: var(--bordeaux);
    letter-spacing: -0.01em;
  }

  /* Field row */
  .ff-row {
    margin-bottom: 22px;
  }
  .ff-row.two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .ff-label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    margin-bottom: 8px;
  }
  .ff-label .req { color: #B83A3A; margin-left: 4px; }
  .ff-input,
  .ff-select,
  .ff-textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--line-strong);
    background: var(--white);
    font-family: inherit;
    color: var(--bordeaux);
    transition: border-color .3s;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
  }
  .ff-input:focus,
  .ff-select:focus,
  .ff-textarea:focus {
    outline: none;
    border-color: var(--bordeaux);
    box-shadow: 0 0 0 1px var(--bordeaux);
  }
  .ff-input::placeholder,
  .ff-textarea::placeholder {
    color: rgba(31, 29, 26, 0.35);
  }
  .ff-textarea {
    resize: vertical;
    min-height: 100px;
    line-height: 1.6;
    font-family: inherit;
  }
  .ff-select {
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231F1D1A' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 38px;
  }

  /* Radio cards (selection cards) */
  .ff-radio-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .ff-radio-grid.three-col {
    grid-template-columns: repeat(3, 1fr);
  }
  .ff-radio-card {
    position: relative;
    cursor: pointer;
    display: block;
  }
  .ff-radio-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
  }
  .ff-radio-card .card-body {
    padding: 14px 16px;
    border: 1px solid var(--line-strong);
    background: transparent;
    transition: all .25s;
    color: var(--bordeaux);
    min-height: 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
  }
  .ff-radio-card .cb-title {
    font-size: 14px;
    line-height: 1.3;
    font-weight: 500;
    color: var(--bordeaux);
    letter-spacing: -0.005em;
  }
  .ff-radio-card .cb-sub {
    font-size: 11px;
    line-height: 1.3;
    font-weight: 400;
    color: var(--text-mute);
    letter-spacing: 0.01em;
  }
  .ff-radio-card .card-body b {
    font-weight: 600;
  }
  .ff-radio-card:hover .card-body {
    border-color: var(--bordeaux);
  }
  .ff-radio-card input:checked + .card-body,
  .ff-radio-card input:checked + .card-body .cb-title,
  .ff-radio-card input:checked + .card-body .cb-sub,
  .ff-radio-card input:checked + .card-body b {
    background: var(--bordeaux);
    color: var(--white);
    border-color: var(--bordeaux);
  }
  .ff-radio-card input:focus-visible + .card-body {
    box-shadow: 0 0 0 2px rgba(31, 29, 26, 0.12);
  }

  /* Checkbox (GDPR) */
  .ff-checkbox-row {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 28px;
    cursor: pointer;
  }
  .ff-checkbox-row input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--bordeaux);
    cursor: pointer;
  }
  .ff-checkbox-row label {
    font-size: 12px;
    line-height: 1.55;
    color: var(--text-mute);
    cursor: pointer;
  }
  .ff-checkbox-row label a {
    color: var(--bordeaux);
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  /* Submit button */
  .ff-submit {
    width: 100%;
    background: var(--bordeaux);
    color: var(--white);
    border: 1px solid var(--bordeaux);
    padding: 20px 28px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 60px;
    transition: background .3s, color .3s;
  }
  .ff-submit:hover {
    background: var(--bordeaux-2);
    border-color: var(--bordeaux-2);
  }
  .ff-submit .arr {
    transition: transform .3s;
  }
  .ff-submit:hover .arr {
    transform: translateX(4px);
  }
  .ff-submit-note {
    margin-top: 14px;
    font-size: 11px;
    text-align: center;
    color: var(--text-mute);
    letter-spacing: 0.04em;
  }

  /* Right column: What happens next */
  .ff-aside {
    position: sticky;
    top: 100px;
  }
  .ff-aside-block {
    background: var(--bordeaux);
    color: var(--white);
    padding: 48px 44px;
    margin-bottom: 24px;
  }
  .ff-aside-block .lab {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 600;
    color: rgba(245, 241, 238, 0.7);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 18px;
  }
  .ff-aside-block .lab::before {
    content: "";
    width: 28px;
    height: 1px;
    background: rgba(245, 241, 238, 0.5);
  }
  .ff-aside-block h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: 32px;
  }
  .ff-aside-block h3 b { font-weight: 600; }
  .ff-aside-step {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(245, 241, 238, 0.15);
  }
  .ff-aside-step:last-child { border-bottom: none; padding-bottom: 0; }
  .ff-aside-step:first-child { padding-top: 0; }
  .ff-aside-step .step-num {
    font-size: 11px;
    font-weight: 600;
    color: rgba(245, 241, 238, 0.6);
    letter-spacing: 0.10em;
    padding-top: 2px;
  }
  .ff-aside-step .step-text h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 4px;
    color: var(--white);
  }
  .ff-aside-step .step-text p {
    font-size: 13px;
    line-height: 1.55;
    color: rgba(245, 241, 238, 0.7);
  }
  .ff-aside-block.alt {
    background: var(--white);
    color: var(--bordeaux);
    border: 1px solid var(--line);
    padding: 36px;
  }
  .ff-aside-block.alt .lab {
    color: var(--text-mute);
  }
  .ff-aside-block.alt .lab::before {
    background: var(--text-mute);
  }
  .ff-aside-block.alt p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--text-mute);
    margin-bottom: 6px;
  }
  .ff-aside-block.alt p a {
    color: var(--bordeaux);
    font-weight: 500;
    text-decoration: none;
  }
  .ff-aside-block.alt p a:hover { text-decoration: underline; text-underline-offset: 3px; }

  /* RESPONSIVE */
  @media (max-width: 1100px) {
    .ff-inner { grid-template-columns: 1fr; gap: 32px; }
    .ff-aside { position: static; }
    .ff-form-col { padding: 48px 40px 40px; }
  }
  @media (max-width: 760px) {
    .fitting-form-section { padding: 60px 18px; }
    .ff-form-col { padding: 32px 24px 30px; }
    .ff-form-col h2 { font-size: clamp(28px, 8vw, 36px); }
    .ff-row.two-col { grid-template-columns: 1fr; gap: 0; }
    .ff-row.two-col > .ff-row-inner { margin-bottom: 22px; }
    .ff-radio-grid { grid-template-columns: 1fr; }
    .ff-radio-grid.three-col { grid-template-columns: 1fr; }
    .ff-aside-block { padding: 32px 28px; }
    .ff-aside-block h3 { font-size: 22px; }
    .ff-section { padding-top: 28px; margin-top: 28px; }
  }



  /* ─────────── CE COASEM PE COMANDĂ — categorii pe atelier ─────────── */
  .ce-coasem {
    padding: 100px 40px 80px;
    background: var(--white);
    border-bottom: 1px solid var(--line);
  }
  .cc-inner {
    max-width: 1320px;
    margin: 0 auto;
  }
  .cc-head {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: end;
    margin-bottom: 64px;
  }
  .cc-head .lab {
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 18px;
  }
  .cc-head h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.5vw, 60px);
    line-height: 1.02;
    letter-spacing: -0.035em;
    color: var(--bordeaux);
    margin: 0;
  }
  .cc-head h2 b { font-weight: 600; }
  .cc-head .cc-intro {
    font-size: 15px;
    line-height: 1.7;
    color: var(--bordeaux-soft);
    max-width: 480px;
  }
  .cc-head .cc-intro b {
    color: var(--bordeaux);
    font-weight: 500;
  }

  /* Grid de carduri */
  .cc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .cc-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: var(--cream);
    border: 1px solid var(--line);
    aspect-ratio: 4 / 3;
    overflow: hidden;
    cursor: pointer;
    transition: transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s ease;
    text-decoration: none;
    color: inherit;
  }

  @media (hover: hover) {
    .cc-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 24px 60px -20px rgba(31, 29, 26, 0.25);
    }
    .cc-card:hover .cc-bg-numeral {
      transform: scale(1.05) translate(-12px, -12px);
      opacity: 0.18;
    }
    .cc-card:hover .cc-cta-arrow {
      transform: translateX(6px);
    }
  }

  /* Background charcoal pattern */
  .cc-card-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--bordeaux) 0%, var(--bordeaux-2) 100%);
    z-index: 1;
  }

  .cc-bg-numeral {
    position: absolute;
    top: -40px;
    right: -20px;
    font-family: 'Inter', sans-serif;
    font-weight: 200;
    font-size: clamp(280px, 28vw, 420px);
    line-height: 0.8;
    letter-spacing: -0.06em;
    color: var(--white);
    opacity: 0.10;
    pointer-events: none;
    transition: transform .8s cubic-bezier(.2,.8,.2,1), opacity .8s ease;
    z-index: 2;
  }

  /* Texture pattern overlay subtil */
  .cc-card-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: 
      repeating-linear-gradient(
        90deg,
        transparent 0,
        transparent 60px,
        rgba(245, 241, 238, 0.025) 60px,
        rgba(245, 241, 238, 0.025) 61px
      );
    pointer-events: none;
  }

  .cc-content {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 36px 36px 32px;
    height: 100%;
    color: var(--white);
  }

  .cc-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .cc-num {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 12px;
    letter-spacing: 0.2em;
    color: rgba(245, 241, 238, 0.6);
    text-transform: uppercase;
  }
  .cc-num b {
    color: var(--white);
    font-weight: 600;
    margin-right: 10px;
  }

  .cc-body h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(28px, 2.8vw, 38px);
    line-height: 1.06;
    letter-spacing: -0.025em;
    color: var(--white);
    margin: 0 0 18px;
  }
  .cc-body h3 b { font-weight: 600; }

  .cc-subcats {
    list-style: none;
    padding: 0;
    margin: 0 0 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
  }
  .cc-subcats li {
    display: inline-flex;
    align-items: center;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: rgba(245, 241, 238, 0.85);
    padding: 0;
  }
  .cc-subcats li::after {
    content: "·";
    margin: 0 10px;
    color: rgba(245, 241, 238, 0.35);
  }
  .cc-subcats li:last-child::after { content: ""; margin: 0; }

  .cc-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 20px;
    border-top: 1px solid rgba(245, 241, 238, 0.18);
  }
  .cc-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--white);
  }
  .cc-cta-arrow {
    display: inline-block;
    transition: transform .4s cubic-bezier(.2,.8,.2,1);
  }
  .cc-meta-tag {
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: rgba(245, 241, 238, 0.5);
  }

  /* Card II variant — Arket-light (semnătură atelier) */
  .cc-card.cc-signature .cc-card-bg {
    background: var(--cream);
  }
  .cc-card.cc-signature .cc-card-bg::after {
    background-image: 
      repeating-linear-gradient(
        90deg,
        transparent 0,
        transparent 60px,
        rgba(31, 29, 26, 0.025) 60px,
        rgba(31, 29, 26, 0.025) 61px
      );
  }
  .cc-card.cc-signature .cc-bg-numeral {
    color: var(--bordeaux);
    opacity: 0.07;
  }
  .cc-card.cc-signature .cc-content {
    color: var(--bordeaux);
  }
  .cc-card.cc-signature .cc-num {
    color: var(--text-mute);
  }
  .cc-card.cc-signature .cc-num b {
    color: var(--bordeaux);
  }
  .cc-card.cc-signature .cc-body h3 {
    color: var(--bordeaux);
  }
  .cc-card.cc-signature .cc-subcats li {
    color: var(--bordeaux-soft);
  }
  .cc-card.cc-signature .cc-subcats li::after {
    color: rgba(31, 29, 26, 0.3);
  }
  .cc-card.cc-signature .cc-bottom {
    border-top-color: rgba(31, 29, 26, 0.12);
  }
  .cc-card.cc-signature .cc-cta {
    color: var(--bordeaux);
  }
  .cc-card.cc-signature .cc-meta-tag {
    color: var(--text-mute);
  }
  .cc-card.cc-signature:hover .cc-bg-numeral {
    opacity: 0.12;
  }

  /* Strip rezumat sub grid */
  .cc-footer {
    margin-top: 56px;
    padding-top: 32px;
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 48px;
    align-items: center;
  }
  .cc-footer p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--bordeaux-soft);
    margin: 0;
    max-width: 720px;
  }
  .cc-footer p b {
    color: var(--bordeaux);
    font-weight: 600;
  }
  .cc-footer-cta {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--bordeaux);
    color: var(--white);
    padding: 16px 26px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid var(--bordeaux);
    transition: all .3s ease;
    white-space: nowrap;
  }
  .cc-footer-cta:hover {
    background: transparent;
    color: var(--bordeaux);
  }

  /* RESPONSIVE */
  @media (max-width: 1100px) {
    .cc-head {
      grid-template-columns: 1fr;
      gap: 20px;
      align-items: start;
    }
    .cc-grid {
      grid-template-columns: 1fr;
    }
    .cc-card {
      aspect-ratio: 5 / 3;
    }
    .cc-bg-numeral {
      font-size: clamp(220px, 36vw, 320px);
    }
    .cc-footer {
      grid-template-columns: 1fr;
      gap: 24px;
    }
    .cc-footer-cta {
      justify-self: start;
    }
  }
  @media (max-width: 760px) {
    .ce-coasem {
      padding: 64px 18px 56px;
    }
    .cc-head {
      gap: 16px;
      margin-bottom: 40px;
    }
    .cc-head h2 {
      font-size: clamp(28px, 8vw, 40px);
    }
    .cc-head .cc-intro {
      font-size: 14px;
    }
    .cc-grid {
      gap: 14px;
    }
    .cc-card {
      aspect-ratio: 4 / 3.5;
    }
    .cc-content {
      padding: 24px 22px 22px;
    }
    .cc-body h3 {
      font-size: 24px;
      margin-bottom: 12px;
    }
    .cc-subcats li {
      font-size: 11px;
    }
    .cc-subcats li::after {
      margin: 0 6px;
    }
    .cc-bg-numeral {
      top: -20px;
      right: -10px;
      font-size: clamp(180px, 50vw, 260px);
    }
    .cc-bottom {
      padding-top: 14px;
    }
    .cc-cta {
      font-size: 11px;
    }
    .cc-footer {
      margin-top: 36px;
      padding-top: 24px;
    }
    .cc-footer p {
      font-size: 13px;
    }
    .cc-footer-cta {
      padding: 14px 22px;
      font-size: 11px;
    }
  }

  /* ─────────── THREAD PROJECT PAGE ─────────── */
  .thread-page {
    background: var(--white);
  }

  /* Hero */
  .thread-hero {
    padding: 120px 40px 80px;
    padding-top: max(120px, calc(env(safe-area-inset-top) + 100px));
    background: var(--cream);
    border-bottom: 1px solid var(--line);
  }
  .th-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 60px;
    align-items: flex-end;
  }
  .th-text .crumbs {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-mute);
    margin-bottom: 32px;
  }
  .th-text .crumbs a {
    color: var(--text-mute);
    text-decoration: none;
  }
  .th-text .crumbs a:hover { color: var(--bordeaux); }
  .th-text .crumbs .here { color: var(--bordeaux); }
  .th-status {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    background: var(--bordeaux);
    color: var(--white);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    margin-bottom: 28px;
  }
  .th-status::before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6BBF7B;
    animation: pulse 2s ease-in-out infinite;
  }
  @keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
  }

  .th-text h1 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(56px, 8vw, 120px);
    line-height: 0.96;
    letter-spacing: -0.04em;
    color: var(--bordeaux);
    margin-bottom: 24px;
  }
  .th-text h1 b { font-weight: 600; }
  .th-text .tagline {
    font-size: clamp(18px, 1.6vw, 22px);
    line-height: 1.5;
    color: var(--bordeaux-soft);
    max-width: 620px;
    font-weight: 300;
    letter-spacing: -0.01em;
  }

  /* THREAD LOGO MARK */
  .thread-logo {
    width: 240px;
    flex-shrink: 0;
  }
  .thread-logo svg {
    width: 100%;
    height: auto;
    display: block;
  }

  /* Project meta strip */
  .thread-meta {
    background: var(--bordeaux);
    color: var(--white);
    padding: 36px 40px;
  }
  .tm-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 32px;
  }
  .tm-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }
  .tm-item .lab {
    font-size: 10px;
    font-weight: 600;
    color: rgba(245, 241, 238, 0.55);
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }
  .tm-item .val {
    font-size: 14px;
    font-weight: 500;
    color: var(--white);
    letter-spacing: -0.005em;
  }

  /* Project content sections */
  .thread-section {
    padding: 100px 40px;
    border-bottom: 1px solid var(--line);
  }
  .thread-section.alt-bg {
    background: var(--cream);
  }
  .thread-section.dark-bg {
    background: var(--bordeaux);
    color: var(--white);
  }
  .thread-section.dark-bg h2,
  .thread-section.dark-bg h3 {
    color: var(--white);
  }
  .thread-section.dark-bg p {
    color: rgba(245, 241, 238, 0.85);
  }
  .ts-inner {
    max-width: 1100px;
    margin: 0 auto;
  }
  .ts-inner.wide {
    max-width: 1320px;
  }
  .ts-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--bordeaux);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 24px;
  }
  .ts-eyebrow::before {
    content: "";
    width: 32px;
    height: 1px;
    background: var(--bordeaux);
  }
  .thread-section.dark-bg .ts-eyebrow {
    color: rgba(245, 241, 238, 0.7);
  }
  .thread-section.dark-bg .ts-eyebrow::before {
    background: rgba(245, 241, 238, 0.5);
  }
  .ts-inner h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(36px, 4.5vw, 56px);
    line-height: 1.06;
    letter-spacing: -0.03em;
    color: var(--bordeaux);
    margin-bottom: 40px;
    max-width: 880px;
  }
  .ts-inner h2 b { font-weight: 600; }
  .ts-inner p {
    font-size: 16px;
    line-height: 1.75;
    color: var(--bordeaux-soft);
    margin-bottom: 24px;
    max-width: 760px;
  }
  .ts-inner p b { color: var(--bordeaux); font-weight: 600; }

  /* Stat numbers */
  .ts-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-top: 56px;
    padding-top: 40px;
    border-top: 1px solid var(--line-strong);
  }
  .ts-stat {
    text-align: left;
  }
  .ts-stat .num {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 4vw, 56px);
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--bordeaux);
    margin-bottom: 10px;
  }
  .ts-stat .num b { font-weight: 600; }
  .ts-stat .lab {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-mute);
    line-height: 1.5;
    max-width: 200px;
  }

  /* List of bullets — editorial */
  .ts-list {
    list-style: none;
    padding: 0;
    margin: 24px 0;
    border-top: 1px solid var(--line);
  }
  .ts-list li {
    padding: 18px 0 18px 36px;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
    line-height: 1.6;
    color: var(--bordeaux-soft);
    position: relative;
  }
  .ts-list li::before {
    content: "—";
    position: absolute;
    left: 0;
    top: 18px;
    color: var(--bordeaux);
    font-weight: 600;
  }
  .ts-list li b { color: var(--bordeaux); font-weight: 600; }
  .thread-section.dark-bg .ts-list li {
    color: rgba(245, 241, 238, 0.85);
    border-bottom-color: rgba(245, 241, 238, 0.15);
  }
  .thread-section.dark-bg .ts-list li::before {
    color: var(--white);
  }
  .thread-section.dark-bg .ts-list li b {
    color: var(--white);
  }
  .thread-section.dark-bg .ts-list {
    border-top-color: rgba(245, 241, 238, 0.15);
  }

  /* Pull quote */
  .ts-quote {
    margin: 48px 0;
    padding: 40px 0 40px 56px;
    border-left: 3px solid var(--bordeaux);
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.4;
    letter-spacing: -0.02em;
    color: var(--bordeaux);
    max-width: 880px;
  }
  .ts-quote::before {
    content: "„";
    font-size: 1.3em;
    line-height: 0;
    margin-right: 4px;
    font-weight: 500;
  }
  .ts-quote-source {
    margin-top: 18px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-mute);
  }

  /* Two column layout */
  .ts-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    margin-top: 56px;
  }
  .ts-two-col .col h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: var(--bordeaux);
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--line-strong);
    letter-spacing: -0.01em;
  }

  /* Italy block — visual */
  .italy-visual {
    margin-top: 48px;
    background: var(--bordeaux);
    color: var(--white);
    padding: 56px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 56px;
    align-items: center;
  }
  .italy-visual .iv-flag {
    width: 120px;
    height: 80px;
    display: flex;
    border: 1px solid rgba(245, 241, 238, 0.2);
  }
  .italy-visual .iv-flag span {
    flex: 1;
  }
  .italy-visual .iv-flag span:nth-child(1) { background: #008C45; }
  .italy-visual .iv-flag span:nth-child(2) { background: #F4F1EC; }
  .italy-visual .iv-flag span:nth-child(3) { background: #CD212A; }
  .italy-visual .iv-logo {
    width: 120px;
    height: 120px;
    object-fit: contain;
    flex-shrink: 0;
  }
  .italy-visual .iv-text h4 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 28px;
    margin-bottom: 8px;
    letter-spacing: -0.02em;
    color: var(--white);
  }
  .italy-visual .iv-text p {
    color: rgba(245, 241, 238, 0.75);
    font-size: 14px;
    line-height: 1.55;
    max-width: 480px;
  }

  /* Gallery placeholder */
  .thread-gallery {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    margin-top: 56px;
  }
  .thread-gallery .gal-col {
    display: grid;
    gap: 16px;
  }
  .thread-gallery .gal-col.right {
    grid-template-rows: 1fr 1fr;
  }
  .thread-gallery .gal-img {
    aspect-ratio: 4/3;
    background: var(--cream);
    border: 1px solid var(--line);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
  }
  .thread-gallery .gal-img.tall { aspect-ratio: 3/4; }
  .thread-gallery .gal-img .gal-placeholder {
    font-size: 11px;
    font-weight: 500;
    color: var(--text-mute);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    padding: 14px;
    text-align: center;
  }
  .thread-gallery .gal-img .gal-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: var(--bordeaux);
    color: var(--white);
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 5px 9px;
  }

  /* Instagram feed */
  .ig-feed { margin-top: 48px; }
  .ig-fallback {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  .ig-tile {
    position: relative;
    aspect-ratio: 1/1;
    background: linear-gradient(150deg, #F1E9E7 0%, var(--cream) 100%);
    border: 1px solid var(--line);
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 18px;
    overflow: hidden;
    transition: all .4s cubic-bezier(0.16,1,0.3,1);
  }
  .ig-tile::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 25%, rgba(110,31,46,0.10), transparent 60%);
    opacity: 0;
    transition: opacity .4s;
  }
  .ig-tile:hover {
    background: var(--wine);
    border-color: var(--wine-deep);
    transform: translateY(-3px);
  }
  .ig-tile:hover::before { opacity: 1; }
  .ig-tile .ig-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--wine);
    transition: color .4s;
  }
  .ig-tile:hover .ig-tag { color: rgba(245,241,238,0.8); }
  .ig-tile .ig-cap {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--bordeaux);
    transition: color .4s;
  }
  .ig-tile:hover .ig-cap { color: var(--white); }
  .ig-follow {
    margin-top: 40px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--wine);
    color: var(--white);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.01em;
    padding: 15px 26px;
    transition: background .4s;
  }
  .ig-follow:hover { background: var(--wine-deep); }
  .ig-follow .ig-ic { display: inline-flex; }
  @media (max-width: 760px) {
    .ig-fallback { grid-template-columns: repeat(2, 1fr); }
    .ig-follow { width: 100%; justify-content: center; }
  }
  .thread-event {
    background: var(--bordeaux);
    color: var(--white);
    padding: 100px 40px;
    text-align: center;
  }
  .thread-event .te-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 600;
    color: rgba(245, 241, 238, 0.7);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 24px;
  }
  .thread-event .te-eyebrow::before,
  .thread-event .te-eyebrow::after {
    content: "";
    width: 28px;
    height: 1px;
    background: rgba(245, 241, 238, 0.5);
  }
  .thread-event h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(40px, 5.5vw, 72px);
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: var(--white);
    margin-bottom: 18px;
    max-width: 880px;
    margin-left: auto;
    margin-right: auto;
  }
  .thread-event h2 b { font-weight: 600; }
  .thread-event .te-date {
    font-size: clamp(28px, 3.5vw, 44px);
    font-weight: 300;
    letter-spacing: -0.02em;
    color: var(--white);
    margin-bottom: 24px;
  }
  .thread-event p {
    font-size: 16px;
    line-height: 1.7;
    color: rgba(245, 241, 238, 0.85);
    max-width: 640px;
    margin: 0 auto 40px;
  }
  .thread-event .te-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--white);
    color: var(--bordeaux);
    padding: 18px 28px;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .3s;
    border: 1px solid var(--white);
  }
  .thread-event .te-cta:hover {
    background: transparent;
    color: var(--white);
  }

  /* EU disclaimer */
  .thread-disclaimer {
    padding: 48px 40px;
    background: var(--cream);
    text-align: center;
    border-top: 1px solid var(--line);
  }
  .thread-disclaimer .td-inner {
    max-width: 880px;
    margin: 0 auto;
  }
  .thread-disclaimer .td-flag {
    width: 56px;
    height: 38px;
    background: #003399;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFCC00;
    font-size: 12px;
  }
  .thread-disclaimer p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-mute);
  }

  /* RESPONSIVE */
  @media (max-width: 1100px) {
    .th-inner { grid-template-columns: 1fr; gap: 40px; align-items: flex-start; }
    .thread-logo { width: 180px; }
    .tm-inner { grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .ts-stats { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .ts-two-col { grid-template-columns: 1fr; gap: 32px; }
    .thread-gallery { grid-template-columns: 1fr; }
    .thread-gallery .gal-col.right { grid-template-rows: auto auto; }
  }
  @media (max-width: 760px) {
    .thread-hero {
      padding: 100px 18px 60px;
      padding-top: max(100px, calc(env(safe-area-inset-top) + 90px));
    }
    .th-inner { gap: 32px; }
    .thread-logo { width: 140px; }
    .th-text h1 { font-size: clamp(44px, 14vw, 72px); }
    .th-text .tagline { font-size: 16px; }
    .thread-meta { padding: 28px 20px; }
    .tm-inner { grid-template-columns: 1fr 1fr; gap: 20px; }
    .tm-item .val { font-size: 13px; }
    .thread-section { padding: 64px 18px; }
    .ts-inner h2 { font-size: clamp(28px, 8vw, 40px); margin-bottom: 28px; }
    .ts-inner p { font-size: 15px; line-height: 1.65; }
    .ts-stats {
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-top: 36px;
      padding-top: 28px;
    }
    .ts-stat .num { font-size: 36px; }
    .ts-stat .lab { font-size: 11px; }
    .ts-quote {
      padding: 24px 0 24px 28px;
      font-size: 18px;
      margin: 32px 0;
    }
    .italy-visual {
      padding: 36px 28px;
      grid-template-columns: 1fr;
      gap: 24px;
    }
    .italy-visual .iv-flag { width: 88px; height: 60px; }
    .italy-visual .iv-logo { width: 96px; height: 96px; }
    .italy-visual .iv-text h4 { font-size: 22px; }
    .thread-event { padding: 64px 18px; }
    .thread-event .te-date { font-size: 28px; }
    .thread-disclaimer { padding: 32px 18px; }
  }



  /* ─────────── THREAD — FORMULAR ABONARE EVENIMENT ─────────── */
  .te-subscribe {
    max-width: 520px;
    margin: 40px auto 0;
  }
  .te-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .te-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
  .te-input {
    width: 100%;
    background: transparent;
    border: 1px solid rgba(245, 241, 238, 0.3);
    color: var(--white);
    padding: 16px 18px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    letter-spacing: -0.005em;
    transition: border-color .25s ease, background .25s ease;
    -webkit-appearance: none;
    border-radius: 0;
  }
  .te-input::placeholder {
    color: rgba(245, 241, 238, 0.5);
  }
  .te-input:focus {
    outline: none;
    border-color: rgba(245, 241, 238, 0.85);
    background: rgba(245, 241, 238, 0.04);
  }
  .te-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: var(--white);
    color: var(--bordeaux);
    padding: 17px 28px;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: 1px solid var(--white);
    cursor: pointer;
    transition: background .3s ease, color .3s ease;
    margin-top: 4px;
  }
  .te-submit:hover {
    background: transparent;
    color: var(--white);
  }
  .te-consent {
    font-size: 12px;
    line-height: 1.55;
    color: rgba(245, 241, 238, 0.55);
    margin-top: 6px;
    text-align: center;
  }
  /* Mesaj succes după abonare */
  .te-success {
    display: none;
    max-width: 520px;
    margin: 40px auto 0;
    padding: 32px 28px;
    border: 1px solid rgba(245, 241, 238, 0.3);
    background: rgba(245, 241, 238, 0.05);
    text-align: center;
  }
  .te-success.is-visible { display: block; }
  .te-success .ts-check {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 1.5px solid var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    font-size: 22px;
    color: var(--white);
  }
  .te-success h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: var(--white);
    margin: 0 0 10px;
    letter-spacing: -0.01em;
  }
  .te-success p {
    font-size: 14px !important;
    color: rgba(245, 241, 238, 0.75) !important;
    margin: 0 auto !important;
    max-width: 380px !important;
  }

  @media (max-width: 760px) {
    .te-subscribe { margin-top: 32px; }
    .te-form-row { grid-template-columns: 1fr; gap: 12px; }
    .te-input { padding: 15px 16px; font-size: 16px; }
    .te-submit { padding: 16px 24px; }
    .te-success { margin-top: 32px; padding: 28px 22px; }
  }

  /* ─────────── THREAD — GHID DESCĂRCABIL ─────────── */
  .guide-download {
    margin-top: 56px;
    background: var(--cream);
    border: 1px solid var(--line-strong);
    display: grid;
    grid-template-columns: 280px 1fr;
    overflow: hidden;
  }
  .guide-cover {
    background: linear-gradient(150deg, var(--bordeaux) 0%, var(--bordeaux-2) 100%);
    aspect-ratio: 3 / 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 28px;
    position: relative;
    border-right: 1px solid var(--line-strong);
  }
  .guide-cover .gc-upload {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    text-align: center;
    padding: 28px;
  }
  .guide-cover .gc-icon {
    width: 56px;
    height: 56px;
    border: 1.5px dashed rgba(245, 241, 238, 0.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(245, 241, 238, 0.7);
    font-size: 24px;
    font-weight: 300;
  }
  .guide-cover .gc-label {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(245, 241, 238, 0.65);
    line-height: 1.5;
  }
  .guide-cover .gc-title {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 26px;
    letter-spacing: -0.02em;
    color: var(--white);
    text-align: center;
    line-height: 1.1;
  }
  .guide-cover .gc-sub {
    margin-top: 12px;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(245, 241, 238, 0.55);
  }
  .guide-info {
    padding: 44px 48px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .guide-info .gi-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    align-self: flex-start;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bordeaux);
    padding: 6px 12px;
    border: 1px solid var(--line-strong);
    margin-bottom: 20px;
  }
  .guide-info h3 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(24px, 2.6vw, 32px);
    line-height: 1.1;
    letter-spacing: -0.025em;
    color: var(--bordeaux);
    margin: 0 0 16px;
  }
  .guide-info h3 b { font-weight: 600; }
  .guide-info p {
    font-size: 14px;
    line-height: 1.7;
    color: var(--bordeaux-soft);
    margin: 0 0 28px;
    max-width: 520px;
  }
  .guide-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    align-items: center;
  }
  .guide-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--bordeaux);
    color: var(--white);
    padding: 15px 24px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border: 1px solid var(--bordeaux);
    transition: all .3s ease;
    cursor: pointer;
  }
  .guide-btn:hover {
    background: transparent;
    color: var(--bordeaux);
  }
  .guide-btn.is-disabled {
    background: var(--cream-deep);
    border-color: var(--cream-deep);
    color: var(--text-mute);
    cursor: not-allowed;
    pointer-events: none;
  }
  .guide-note {
    font-size: 12px;
    color: var(--text-mute);
    font-style: italic;
  }

  /* Partener Modena */
  .modena-partner {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
  }
  .modena-logo-slot {
    width: 120px;
    height: 72px;
    border: 1px dashed var(--line-strong);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 9px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-mute);
    background: var(--white);
    padding: 8px;
    flex-shrink: 0;
    line-height: 1.4;
  }
  .modena-text {
    flex: 1;
    min-width: 240px;
  }
  .modena-text .mt-lab {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--text-mute);
    margin-bottom: 6px;
  }
  .modena-text .mt-name {
    font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--bordeaux);
    letter-spacing: -0.01em;
    margin-bottom: 4px;
  }
  .modena-text p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--bordeaux-soft);
    margin: 0;
    max-width: 460px;
  }

  /* ─────────── THREAD — ERASMUS+ FUNDING ─────────── */
  .erasmus-section {
    padding: 90px 40px;
    background: var(--bordeaux);
    color: var(--white);
    border-bottom: 1px solid rgba(245, 241, 238, 0.12);
  }
  .erasmus-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 56px;
    align-items: center;
  }
  .erasmus-emblem {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    flex-shrink: 0;
  }
  .ee-logo {
    display: block;
    background: #fff;
    padding: 20px 26px;
    width: 260px;
    height: auto;
    object-fit: contain;
    border-radius: 2px;
  }
  .ee-logo.eu { padding: 26px 26px; }
  .eu-flag {
    width: 160px;
    height: 107px;
    background: #003399;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  .eu-flag svg { width: 100%; height: 100%; display: block; }
  .erasmus-emblem .ee-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(245, 241, 238, 0.65);
    text-align: center;
    max-width: 160px;
    line-height: 1.5;
  }
  .erasmus-text .et-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    font-weight: 600;
    color: rgba(245, 241, 238, 0.7);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    margin-bottom: 20px;
  }
  .erasmus-text .et-eyebrow::before {
    content: "";
    width: 32px;
    height: 1px;
    background: rgba(245, 241, 238, 0.5);
  }
  .erasmus-text h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: clamp(28px, 3.4vw, 42px);
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--white);
    margin: 0 0 20px;
  }
  .erasmus-text h2 b { font-weight: 600; }
  .erasmus-text p {
    font-size: 15px;
    line-height: 1.7;
    color: rgba(245, 241, 238, 0.85);
    margin: 0 0 16px;
    max-width: 640px;
  }
  .erasmus-text p b { color: var(--white); font-weight: 600; }
  .erasmus-text .et-disclaimer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(245, 241, 238, 0.18);
    font-size: 12px;
    line-height: 1.6;
    color: rgba(245, 241, 238, 0.6);
    max-width: 640px;
  }

  @media (max-width: 1100px) {
    .guide-download { grid-template-columns: 220px 1fr; }
    .erasmus-inner { gap: 40px; }
  }
  @media (max-width: 760px) {
    .guide-download { grid-template-columns: 1fr; }
    .guide-cover { aspect-ratio: 16 / 10; }
    .guide-info { padding: 32px 24px; }
    .guide-actions { gap: 10px; }
    .guide-btn { padding: 14px 20px; font-size: 11px; }
    .modena-partner { gap: 18px; }
    .erasmus-section { padding: 56px 18px; }
    .erasmus-inner {
      grid-template-columns: 1fr;
      gap: 32px;
      text-align: center;
    }
    .erasmus-emblem { margin: 0 auto; max-width: 320px; }
    .ee-logo { width: 100%; }
    .erasmus-text .et-eyebrow { justify-content: center; }
    .erasmus-text .et-eyebrow::before { display: none; }
    .erasmus-text h2 { font-size: clamp(24px, 7vw, 34px); }
    .eu-flag { width: 132px; height: 88px; }
  }

  /* ─────────── RESPONSIVE — MOBILE-FIRST OPTIMIZED ─────────── */

  /* ───── TABLET — up to 1100px ───── */
  @media (max-width: 1100px) {
    .hero-inner, .ed-inner, .ds-inner, .ch-inner, .cg-inner, .ps-card, .ps-head, .pc-section, .proiect-row, .as-grid, .hc-inner { grid-template-columns: 1fr; gap: 40px; }
    .home-hero { min-height: auto; }
    .home-hero-inner { grid-template-columns: 1fr; min-height: auto; }
    .hh-text { padding: 110px 40px 60px; }
    .hh-visual { min-height: 65vh; min-height: 65dvh; aspect-ratio: 4/5; }
    .hh-text h1.hh-title { font-size: clamp(64px, 14vw, 120px); }
    .hms-inner { grid-template-columns: 1fr 1fr; gap: 20px; }
    .hms-divider { display: none; }
    .eg-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
    .eg-photo:nth-child(2) { margin-top: 0; }
    .eg-photo:nth-child(3) { grid-column: span 2; aspect-ratio: 16/9; }
    .dir-grid { grid-template-columns: 1fr; gap: 12px; }
    .dir-tag { min-height: auto; padding: 32px 28px; }
    .hero-meta { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .cat-grid, .product-grid, .courses-row, .service-grid, .dv-grid, .partners-grid { grid-template-columns: repeat(2, 1fr); }
    .courses-row { grid-template-columns: 1fr; }
    .ap-grid, .curr-inner { grid-template-columns: 1fr; gap: 40px; }
    .ap-grid .col-head, .curriculum h2 { position: static; }
    .courses-deck { grid-template-columns: 1fr; gap: 16px; }
    .cf-intro { grid-template-columns: 1fr; gap: 20px; }
    .cf-lead { padding-top: 0; }
    .footer-inner { grid-template-columns: 1fr 1fr; gap: 40px; }
    .pms-inner { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  }

  /* ───── TABLET PORTRAIT — show hamburger nav from 1023px ───── */
  @media (max-width: 1023px) {
    nav.top {
      grid-template-columns: auto 1fr auto;
      gap: 12px;
    }
    .nav-left { display: none; }
    .nav-right { display: none; }
    .menu-toggle { display: flex; }
    .mobile-cart {
      display: flex;
      align-items: center;
      justify-content: center;
      min-width: 44px;
      height: 44px;
      margin: -12px -8px;
      padding: 12px 8px;
      background: transparent;
      border: none;
      color: var(--bordeaux);
      font-size: 12px;
      font-weight: 500;
      letter-spacing: 0.04em;
      cursor: pointer;
      white-space: nowrap;
    }
    body.theme-shop .mobile-cart { color: var(--cream); }
  }

  /* ───── MOBILE & SMALL TABLET — up to 760px ───── */
  @media (max-width: 760px) {
    /* ── NAVIGATION ── */
    nav.top {
      padding: 16px 18px;
      padding-top: max(16px, env(safe-area-inset-top));
      padding-left: max(18px, env(safe-area-inset-left));
      padding-right: max(18px, env(safe-area-inset-right));
      grid-template-columns: auto 1fr auto;
      gap: 12px;
    }
    .nav-left { display: none; }
    .nav-right { display: none; }
    .menu-toggle { display: flex; }
    .brand-mark {
      font-size: 14px;
      letter-spacing: 0.14em;
      text-align: center;
    }
    /* Show cart icon on mobile in nav-right area */
    .mobile-cart {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 44px;
      height: 44px;
      margin: -12px;
      padding: 12px;
      background: transparent;
      border: none;
      color: var(--bordeaux);
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      cursor: pointer;
    }
    body.theme-shop .mobile-cart { color: var(--cream); }

    /* ── GLOBAL PADDING — tighter on mobile ── */
    .hero, .home-hero, .home-meta-strip, .about-section, .editorial-gallery, .directions, .home-cta, .categories, .collection, .editorial, .courses-prev, .projects-strip, .dark-strip, .newsletter, .page-head, .atelier-process, .services, .courses-full, .course-hero, .curriculum, .deliverables, .contact-grid, .proiecte-list, .project-content, .project-meta-strip, footer {
      padding-left: 20px;
      padding-right: 20px;
      padding-left: max(20px, env(safe-area-inset-left));
      padding-right: max(20px, env(safe-area-inset-right));
    }

    /* ── HOMEPAGE HERO ── */
    .home-hero { padding: 0; min-height: auto; }
    .home-hero-inner { grid-template-columns: 1fr; padding: 0; gap: 0; min-height: auto; }
    .hh-text {
      padding: 100px 22px 56px;
      padding-top: max(100px, calc(env(safe-area-inset-top) + 90px));
    }
    .hh-text h1.hh-title { font-size: clamp(56px, 17vw, 92px); margin-bottom: 26px; }
    .hh-text .tagline { font-size: clamp(19px, 5.5vw, 26px); margin-bottom: 26px; }
    .hh-text .eyebrow { font-size: 10px; margin-bottom: 32px; }
    .hh-text p.intro { font-size: 15px; line-height: 1.6; max-width: 100%; margin-bottom: 36px; }
    .hh-text .hero-actions { margin-bottom: 40px; }
    .hh-text .hero-actions .btn { width: 100%; justify-content: center; }
    .hh-visual {
      min-height: 70vh;
      min-height: 70dvh;
      aspect-ratio: auto;
    }
    .hh-stamp {
      top: 16px;
      right: 16px;
      padding: 12px 14px;
    }
    .hh-stamp .stamp-name { font-size: 11px; }
    .hh-stamp .stamp-top, .hh-stamp .stamp-bottom { font-size: 8px; }

    /* ── META STRIP ── */
    .hms-inner { grid-template-columns: 1fr; gap: 16px; padding-top: 28px; }
    .hms-divider { display: none; }
    .hms-item .lab { font-size: 9px; }
    .hms-item .val { font-size: 14px; }

    /* ── ABOUT / EDITORIAL / DIRECTIONS / CTA ── */
    .about-section, .editorial-gallery, .directions, .home-cta, .projects-strip, .newsletter { padding-top: 72px; padding-bottom: 72px; }
    .as-text h2, .eg-head h2, .dir-head h2, .hc-text h2 { font-size: clamp(34px, 9vw, 48px); }
    .as-text p { font-size: 15px; }
    .eg-grid { grid-template-columns: 1fr; gap: 18px; }
    .eg-photo:nth-child(2), .eg-photo:nth-child(3) { margin-top: 0; aspect-ratio: 4/5; }
    .eg-photo:nth-child(3) { grid-column: 1; }
    .dir-tag {
      padding: 32px 24px;
      min-height: 180px;
    }
    .dir-tag h3 { font-size: clamp(28px, 8vw, 38px); }

    /* ── BUTTONS — full width on mobile, 48px+ tap target ── */
    .hero { padding-top: 90px; }
    .hero-actions { flex-direction: column; align-items: stretch; gap: 12px; }
    .btn {
      justify-content: center;
      width: 100%;
      min-height: 52px;
      padding: 16px 24px;
      font-size: 13px;
    }

    /* ── PAGE-HEAD on subpages ── */
    .page-head { padding-top: 100px; padding-bottom: 60px; }
    .ph-inner h1 { font-size: clamp(48px, 12vw, 80px); }
    .ph-inner .lede { font-size: 15px; line-height: 1.6; }

    /* ── ATELIER ── */
    .atelier-process .ap-inner, .services .sv-inner { padding-top: 0; }
    .step {
      grid-template-columns: 48px 1fr;
      gap: 16px;
      align-items: start;
    }
    .step-num { font-size: 11px; padding-top: 4px; }
    .step h3 { font-size: 19px; margin-bottom: 6px; }
    .step p { font-size: 14px; line-height: 1.6; }
    .service-grid { grid-template-columns: 1fr !important; gap: 16px; }
    .service-item { padding: 28px 24px; }
    .service-item h4 { font-size: 18px; }
    .service-item p { font-size: 14px; line-height: 1.6; }
    .service-item .from { font-size: 12px; }

    /* ── CURSURI INDEX — course deck ── */
    .courses-full { padding: 48px 20px 80px; }
    .cf-title { font-size: clamp(30px, 8.5vw, 40px); }
    .course-card { padding: 32px 24px 28px; }
    .cc-title { font-size: clamp(24px, 7vw, 30px); }
    .cc-price { font-size: 36px; }

    /* ── CURSURI DETAIL PAGE — sidebar SHOWS FIRST on mobile ── */
    .course-hero .ch-inner {
      grid-template-columns: 1fr;
      gap: 32px;
    }
    /* Move sidebar (price + CTA) BEFORE long-form text on mobile */
    .course-summary { order: -1; }
    .course-summary {
      position: static !important;
      padding: 28px 24px;
    }
    .course-summary .price-block .amt { font-size: 36px; }
    .course-summary .row { padding: 10px 0; font-size: 13px; }

    /* Hybrid CTA buttons full-width on mobile */
    .enroll-actions { gap: 10px; }
    .enroll-btn-primary {
      padding: 18px 18px;
      min-height: 56px;
      font-size: 13px;
    }
    .enroll-btn-primary .price-tag .price { font-size: 15px; }
    .enroll-btn-secondary {
      padding: 16px 18px;
      min-height: 52px;
      font-size: 13px;
    }
    .payment-badges .pay-badge { font-size: 9px; padding: 4px 8px; }

    /* Curriculum + Deliverables on mobile */
    .module {
      padding: 22px 0;
    }
    .module-head {
      grid-template-columns: 60px 1fr;
      gap: 8px;
      align-items: baseline;
    }
    .module-head .module-num { font-size: 11px; }
    .module-head .module-name { font-size: 16px; line-height: 1.25; }
    .module-head .module-meta { grid-column: 1/-1; padding-left: 60px; font-size: 11px; margin-top: 4px; }
    .module p { margin-left: 60px; font-size: 14px; line-height: 1.55; }
    .dv-grid { grid-template-columns: 1fr !important; gap: 16px; }
    .dv-item { padding: 24px 22px; }
    .dv-item h4 { font-size: 16px; }
    .dv-item p { font-size: 13px; line-height: 1.55; }

    /* Course guide mockups on mobile */
    .guide-mockup-wrap { padding: 50px 28px; min-height: 420px; }
    .guide-mockup { max-width: 240px; }
    .guides-triptych {
      padding: 40px 16px 60px;
      gap: 0;
    }
    .guides-triptych .guide-mockup {
      width: 30%;
      max-width: 130px;
    }
    .guides-triptych .guide-mockup:nth-child(1) {
      transform: rotate(-6deg) translateX(8px) translateY(8px);
    }
    .guides-triptych .guide-mockup:nth-child(2) {
      transform: rotate(0deg) translateY(-8px);
      width: 32%;
      max-width: 140px;
    }
    .guides-triptych .guide-mockup:nth-child(3) {
      transform: rotate(6deg) translateX(-8px) translateY(8px);
    }

    /* ── SHOP — important for mobile! ── */
    .collection { padding-top: 32px; padding-bottom: 80px; }
    .filter-bar {
      gap: 8px;
      flex-wrap: nowrap;
      overflow-x: auto;
      padding-bottom: 12px;
      margin-bottom: 24px;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .filter-bar::-webkit-scrollbar { display: none; }
    .filter {
      flex-shrink: 0;
      padding: 9px 14px;
      font-size: 12px;
      min-height: 40px;
    }
    .product-grid, .shop-grid-full {
      grid-template-columns: repeat(2, 1fr) !important;
      gap: 14px 12px;
    }
    .product .product-img {
      aspect-ratio: 3/4;
    }
    .product h4 {
      font-size: 13px;
      line-height: 1.3;
      margin-top: 12px;
    }
    .product .product-coll {
      font-size: 11px;
      margin-top: 2px;
    }
    .product .price-num {
      font-size: 13px;
      margin-top: 6px;
    }
    /* Lookbook on mobile - simpler stacking */
    .shop-lookbook {
      grid-template-columns: 1fr !important;
      gap: 32px !important;
    }
    .shop-lookbook .product:nth-of-type(n) {
      grid-column: span 1 !important;
    }
    .shop-lookbook .product .product-img {
      aspect-ratio: 3/4 !important;
    }

    /* ── PROIECTE ── */
    .proiect-row {
      grid-template-columns: 1fr;
      gap: 24px;
    }
    .pr-img { aspect-ratio: 16/10; }
    .pr-content h3 { font-size: 26px; }
    .pr-content p { font-size: 14px; line-height: 1.6; }
    .ps-template-card {
      padding: 32px 24px;
      min-height: 220px;
    }
    .ps-template-card h4 { font-size: 19px; }

    /* ── PROIECT DETAIL PAGE ── */
    .pms-inner { grid-template-columns: 1fr 1fr; }
    .eu-disclaimer { grid-template-columns: 1fr; }
    .pms-item .lab { font-size: 9px; }
    .pms-item .val { font-size: 13px; }

    /* ── HOME META / FOOTER ── */
    .footer-inner { grid-template-columns: 1fr; gap: 40px; }
    .footer-bottom { flex-direction: column; gap: 12px; align-items: flex-start; }
    .footer-tag { font-size: 13px; line-height: 1.6; }

    /* ── SECTION HEADS / GENERIC ── */
    .section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
    .section-head .right { text-align: left; }
    .timeline-item, .contact-item { grid-template-columns: 1fr; gap: 8px; }
    .hero-meta { grid-template-columns: 1fr 1fr; gap: 18px; }

    /* ── SUCCESS PAGES ── */
    .success-hero {
      padding: 100px 22px 60px;
      padding-top: max(100px, calc(env(safe-area-inset-top) + 90px));
    }
    .success-hero h1 { font-size: clamp(34px, 8vw, 48px); }
    .success-hero .lede { font-size: 15px; line-height: 1.55; margin-bottom: 40px; }
    .next-steps { padding: 32px 24px; margin-bottom: 32px; }
    .next-steps .ns-step { gap: 16px; margin-bottom: 24px; }
    .next-steps .ns-step h4 { font-size: 15px; }
    .next-steps .ns-step p { font-size: 13px; line-height: 1.55; }
    .checkmark-circle { width: 72px; height: 72px; font-size: 32px; }

    /* ── NEWSLETTER ── */
    .nl-form { flex-direction: column; gap: 10px; }
    .nl-form input, .nl-form button {
      width: 100%;
      min-height: 52px;
    }

    /* ── CONTACT ── */
    .ci-grid { grid-template-columns: 1fr; gap: 24px; }
    .contact-item { padding: 24px 0; }
  }

  /* ───── SMALL PHONES — 480px and below ───── */
  @media (max-width: 480px) {
    .hh-text { padding: 90px 18px 48px; }
    .hh-text h1.hh-title { font-size: clamp(48px, 16vw, 76px); }
    .hh-text .tagline { font-size: clamp(17px, 5.2vw, 22px); }
    .hh-text p.intro { font-size: 14px; }

    .hh-stamp { padding: 10px 12px; top: 12px; right: 12px; }
    .hh-stamp .stamp-name { font-size: 10px; }
    .hh-stamp .stamp-top, .hh-stamp .stamp-bottom { font-size: 7.5px; letter-spacing: 0.15em; }

    .as-text h2, .eg-head h2, .dir-head h2, .hc-text h2 { font-size: clamp(28px, 9vw, 36px); }

    .ph-inner h1 { font-size: clamp(40px, 12vw, 64px); }

    .product-grid, .shop-grid-full {
      gap: 12px 10px;
    }
    .product h4 { font-size: 12px; }

    .row-title { font-size: clamp(20px, 6vw, 24px); }

    .footer-inner { padding: 50px 0; }

    /* Tighter padding on smallest devices */
    .hero, .home-hero, .home-meta-strip, .about-section, .editorial-gallery, .directions, .home-cta, .categories, .collection, .editorial, .courses-prev, .projects-strip, .dark-strip, .newsletter, .page-head, .atelier-process, .services, .courses-full, .course-hero, .curriculum, .deliverables, .contact-grid, .proiecte-list, .project-content, .project-meta-strip, footer {
      padding-left: 16px;
      padding-right: 16px;
      padding-left: max(16px, env(safe-area-inset-left));
      padding-right: max(16px, env(safe-area-inset-right));
    }
  }

  /* ───── HOVER-CAPABLE DEVICES ONLY (skip on touch) ───── */
  @media (hover: hover) {
    .dir-tag:hover { transform: translateY(-2px); }
    .product:hover .product-img img { transform: scale(1.04); }
  }

  /* ───── REDUCED MOTION (accessibility) ───── */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
    }
  }



/* Footer legal links */
.footer-legal a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.footer-legal a:hover {
  opacity: 0.7;
  text-decoration: underline;
}


/* ─────────── Footer ANPC + SOL pictograms ─────────── */
.footer-bottom {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.footer-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.footer-anpc {
  display: flex;
  gap: 16px;
  align-items: center;
  flex-wrap: wrap;
}
.footer-anpc a {
  display: inline-block;
  opacity: 0.85;
  transition: opacity 0.2s ease;
}
.footer-anpc a:hover {
  opacity: 1;
}
.footer-anpc img {
  display: block;
  height: 40px;
  width: auto;
}
@media (max-width: 760px) {
  .footer-bottom-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .footer-anpc {
    gap: 12px;
  }
  .footer-anpc img {
    height: 36px;
  }
}


/* ── Accordion liste lungi (mobil) ── */
.acc-chev { display: none; }
.acc-desc.has-sep::before { content: " · "; }
@media (max-width: 768px) {
  .ts-list li.acc-item { list-style: none; border-bottom: 1px solid var(--line); padding: 2px 0; }
  .ts-list li.acc-item .acc-head {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    cursor: pointer; padding: 12px 0; -webkit-tap-highlight-color: transparent;
  }
  .ts-list li.acc-item .acc-chev,
  .b2b-svc.acc-item .acc-chev {
    display: inline-flex; align-items: center; justify-content: center;
    width: 26px; height: 26px; flex: none;
    border: 1px solid var(--line-strong); border-radius: 50%;
    font-size: 16px; font-weight: 400; color: var(--bordeaux);
  }
  .ts-list li.acc-item .acc-desc { display: none; }
  .ts-list li.acc-item.open .acc-desc { display: block; padding: 0 0 14px; color: var(--text-mute); font-size: 14px; line-height: 1.6; }
  .ts-list li.acc-item .acc-desc.has-sep::before { content: none; }
  .b2b-svc.acc-item { cursor: pointer; }
  .b2b-svc.acc-item h4 { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
  .b2b-svc.acc-item p { display: none; }
  .b2b-svc.acc-item.open p { display: block; }
}
/* ── Polish suplimentar mobil/tabletă ── */
@media (max-width: 768px) {
  .ff-radio-grid, .ff-radio-grid.three-col { grid-template-columns: 1fr 1fr; }
  .ff-row.two-col { grid-template-columns: 1fr; }
  .guide-download { grid-template-columns: 1fr !important; }
  .b2b-steps { grid-template-columns: 1fr !important; }
  .b2b-pull { padding: 70px 24px !important; }
  .b2b-split { grid-template-columns: 1fr !important; gap: 32px !important; }
  .b2b-svc { grid-template-columns: 56px 1fr !important; padding-right: 0 !important; }
  .b2b-svc .num { font-size: 36px !important; }
}
@media (max-width: 480px) {
  .ff-radio-grid, .ff-radio-grid.three-col { grid-template-columns: 1fr; }
}


/* ── Footer pliabil pe mobil ── */
.f-acc-chev { display: none; }
@media (max-width: 768px) {
  footer .footer-inner { gap: 0 !important; }
  footer .f-acc { border-bottom: 1px solid rgba(244, 240, 236, 0.14); }
  footer .f-acc h5 {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    margin: 0 !important; padding: 16px 0; cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }
  footer .f-acc .f-acc-chev {
    display: inline-flex; align-items: center; justify-content: center;
    width: 24px; height: 24px; flex: none;
    border: 1px solid rgba(244, 240, 236, 0.3); border-radius: 50%;
    font-size: 15px; font-weight: 400; opacity: 0.8;
  }
  footer .f-acc ul { display: none; margin: 0 !important; padding: 0 0 16px; }
  footer .f-acc.open ul { display: block; }
}


/* ── Scroll-reveal ── */
@media (prefers-reduced-motion: no-preference) {
  .rv {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .75s ease, transform .75s cubic-bezier(.22, .61, .21, 1);
    will-change: opacity, transform;
  }
  .rv.rv-in { opacity: 1; transform: none; }
  /* imaginile din galerii intră cu un zoom fin */
  .eg-photo img, .as-photo img, .hc-photo img, .b2b-photo img {
    transition: transform 1.1s cubic-bezier(.22, .61, .21, 1);
  }
  .rv:not(.rv-in) .eg-photo img, .eg-photo.rv:not(.rv-in) img,
  .as-photo.rv:not(.rv-in) img, .hc-photo.rv:not(.rv-in) img, .b2b-photo.rv:not(.rv-in) img { transform: scale(1.07); }
  /* hero: text intră în cascadă la încărcare */
  .hh-text > * { opacity: 0; transform: translateY(22px); animation: heroIn .8s cubic-bezier(.22,.61,.21,1) forwards; }
  .hh-text > *:nth-child(1) { animation-delay: .1s; }
  .hh-text > *:nth-child(2) { animation-delay: .22s; }
  .hh-text > *:nth-child(3) { animation-delay: .34s; }
  .hh-text > *:nth-child(4) { animation-delay: .46s; }
  .hh-text > *:nth-child(5) { animation-delay: .58s; }
  .hh-text > *:nth-child(6) { animation-delay: .7s; }
  @keyframes heroIn { to { opacity: 1; transform: none; } }
}
