/* ── Global anchor reset ── */
a { text-decoration: none !important; color: inherit; }
a:hover { text-decoration: none !important; }
/* ── Page layout ── */
main { flex: 1; display: flex; flex-direction: column; }

    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    :root {
      --gold: #B8A06A; --gold-light: #D4BC8A; --gold-dark: #8C7245;
      --ink: #1A1814; --ink-mid: #3D3930; --muted: #7A7568;
      --warm: #EDE9E0; --warm-mid: #D4CEBC; --white: #FDFCFA; --page: #F5F2EC;
      --border: rgba(184,160,106,0.25); --border-strong: rgba(184,160,106,0.5);
      --green: #2D6A4F; --red: #7B2D2D;
    }
    html { scroll-behavior: smooth; }
    body { font-family: 'Jost', sans-serif; background: var(--page); color: var(--ink); font-weight: 400; font-size: 15px; line-height: 1.7; padding-top: 64px; display: flex; flex-direction: column; min-height: 100vh; }
    h1 { font-family: 'Cormorant Garamond', serif; font-weight: 300; line-height: 1.2; }
    h2, h3, h4 { font-family: 'Cormorant Garamond', serif; font-weight: 400; line-height: 1.2; }
    .nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(245,242,236,0.97); backdrop-filter: blur(8px); border-bottom: 0.5px solid var(--border); padding: 0 48px; height: 64px; display: flex; align-items: center; justify-content: space-between; }
    .nav-logo { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 400; letter-spacing: 0.12em; color: var(--ink); text-transform: uppercase; text-decoration: none; }
    .nav-logo span { color: var(--gold); }
    .nav-links { display: flex; gap: 32px; list-style: none; }
    .nav-links a { font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); text-decoration: none; cursor: pointer; transition: color 0.2s; display: inline-flex; flex-direction: column; align-items: center; font-weight: 400; }
    .nav-links a::after { content: attr(data-text); font-weight: 600; height: 0; visibility: hidden; overflow: hidden; pointer-events: none; letter-spacing: 0.15em; }
    .nav-links a:hover, .nav-links a.active { color: var(--ink); font-weight: 600; }
    
    
    .section { padding: 96px 48px; }
    .container { max-width: 1080px; margin: 0 auto; }
    .section-label { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
    .section-title { font-size: clamp(28px, 3.5vw, 44px); color: var(--ink); margin-bottom: 16px; }
    .divider { width: 48px; height: 1px; background: var(--gold); margin: 24px 0; }
    .btn { display: inline-block; padding: 14px 32px; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; transition: all 0.2s; border: none; }
    .btn-primary { background: var(--ink); color: var(--white); }
    .btn-primary:hover { background: var(--ink-mid); }
    .btn-outline { border: 0.5px solid var(--gold); color: var(--ink); background: transparent; }
    .btn-outline:hover { background: var(--gold); color: var(--white); }
    .fade-in { animation: fadeIn 0.4s ease; }
    @keyframes fadeIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
    .hero { min-height: calc(100vh - 64px); display: flex; align-items: center; background: var(--warm); position: relative; overflow: hidden; }
    .hero::before { content: ''; position: absolute; right: -10%; top: 0; bottom: 0; width: 55%; background: var(--warm-mid); }
    .hero-content { position: relative; z-index: 1; max-width: 520px; }
    .hero-eyebrow { font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; }
    .hero h1 { font-size: clamp(40px, 5vw, 64px); font-weight: 300; color: var(--ink); margin-bottom: 24px; line-height: 1.1; }
    .hero h1 em { font-style: italic; color: var(--gold-dark); }
    .hero-sub { font-size: 15px; color: var(--muted); max-width: 420px; margin-bottom: 40px; line-height: 1.8; }
    .hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
    .strengths-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; background: var(--border); }
    .strength-card { background: var(--white); padding: 48px 40px; transition: background 0.2s; }
    .strength-card:hover { background: var(--warm); }
    .strength-num { font-family: 'Cormorant Garamond', serif; font-size: 48px; color: var(--gold-light); line-height: 1; margin-bottom: 16px; font-weight: 300; }
    .strength-title { font-family: 'Cormorant Garamond', serif; font-size: 22px; margin-bottom: 12px; color: var(--ink); }
    .strength-text { font-size: 14px; color: var(--muted); line-height: 1.8; }
    .brands-strip { background: var(--warm); padding: 64px 48px; }
    .brands-row { display: flex; flex-wrap: wrap; border: 0.5px solid var(--border); }
    .brand-item { flex: 1; min-width: 150px; padding: 32px 24px; text-align: center; border-right: 0.5px solid var(--border); transition: background 0.2s; }
    .brand-item:last-child { border-right: none; }
    .brand-item:hover { background: var(--white); }
    .brand-name { font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--ink-mid); letter-spacing: 0.05em; }
    .brand-origin { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-top: 4px; }
    .about-teaser { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
    .teaser-quote { font-family: 'Cormorant Garamond', serif; font-size: 28px; font-weight: 300; font-style: italic; color: var(--ink-mid); line-height: 1.4; border-left: 2px solid var(--gold); padding-left: 32px; }
    .link-arrow { font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold-dark); text-decoration: none; cursor: pointer; margin-top: 24px; display: inline-flex; align-items: center; gap: 8px; }
    .link-arrow:hover { color: var(--ink); }
    .portfolio-intro { text-align: center; max-width: 600px; margin: 0 auto 64px; }
    .portfolio-intro .divider { margin: 24px auto; }
    .brand-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); max-width: 1080px; margin: 0 auto; }
    .brand-card { background: var(--white); padding: 40px 32px; transition: background 0.2s; }
    .brand-card:hover .brand-card-name { font-weight: 500; }
    .brand-card:hover { background: var(--warm); }
    .brand-card:hover .brand-card-name { color: var(--gold); }
    .brand-card:hover { background: var(--warm); }
    .brand-card-flag { font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
    .brand-card-name { font-family: 'Cormorant Garamond', serif; font-size: 26px; color: var(--ink); margin-bottom: 16px; }
    .brand-card-text { font-size: 13px; color: var(--muted); line-height: 1.8; }
    .boutique-section { max-width: 1080px; margin: 2px auto 0; background: var(--warm); }
    .boutique-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
    .boutique-content { padding: 56px 48px; }
    .boutique-badge { display: inline-block; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; background: var(--ink); color: var(--white); padding: 5px 14px; margin-bottom: 24px; }
    .boutique-name { font-family: 'Cormorant Garamond', serif; font-size: 38px; color: var(--ink); margin-bottom: 8px; }
    .boutique-location { font-size: 12px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold-dark); margin-bottom: 24px; }
    .boutique-text { font-size: 14px; color: var(--muted); line-height: 1.9; margin-bottom: 16px; }
    .boutique-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); margin-top: 32px; }
    .meta-item { background: var(--white); padding: 16px 20px; }
    .meta-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
    .meta-value { font-size: 13px; color: var(--ink-mid); }
    .boutique-photo { background: var(--warm-mid); display: flex; flex-direction: column; min-height: 420px; }
    .boutique-photo img { width: 100%; flex: 1; object-fit: cover; display: block; min-height: 0; }
    .photo-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 12px 16px; background: rgba(26,24,20,0.55); font-size: 11px; letter-spacing: 0.1em; color: rgba(255,255,255,0.8); z-index: 2; }
    .services-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); margin-bottom: 64px; }
    .service-block { background: var(--white); padding: 48px 40px; transition: background 0.2s; }
    .service-block:hover { background: var(--warm); }
    .service-icon { width: 36px; height: 1px; background: var(--gold); margin-bottom: 24px; }
    .service-title { font-family: 'Cormorant Garamond', serif; font-size: 22px; margin-bottom: 12px; }
    .service-text { font-size: 14px; color: var(--muted); line-height: 1.8; }

    /* ── SERVICE TRACKER ── */
    .tracker-section { background: var(--warm); padding: 64px 48px; }
    .tracker-box { max-width: 560px; margin: 0 auto; }
    .tracker-title { font-family: 'Cormorant Garamond', serif; font-size: 32px; margin-bottom: 8px; text-align: center; }
    .tracker-sub { font-size: 14px; color: var(--muted); text-align: center; margin-bottom: 32px; }
    .tracker-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-bottom: 0; }
    .tracker-input {
      padding: 14px 20px; border: 0.5px solid var(--border-strong);
      background: var(--white); font-family: 'Jost', sans-serif;
      font-size: 14px; color: var(--ink); outline: none;
    }
    .tracker-input:focus { border-color: var(--gold); }
    .tracker-input::placeholder { color: var(--muted); font-size: 13px; }
    .tracker-btn {
      padding: 14px 28px; background: var(--ink); color: var(--white);
      font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.15em;
      text-transform: uppercase; cursor: pointer; border: none;
      transition: background 0.2s; white-space: nowrap;
      position: relative; display: inline-flex; align-items: center; justify-content: center;
      min-width: 96px;
    }
    .tracker-btn:hover { background: var(--gold-dark); }
    .tracker-btn:disabled { background: var(--muted); cursor: not-allowed; }
    .tracker-btn .btn-label { display: inline-block; }
    .tracker-btn.searching .btn-label { opacity: 0; position: absolute; pointer-events: none; }
    .tracker-btn #hg-canvas { display: none; position: absolute; }
    .tracker-btn.searching #hg-canvas { display: block; }
    .tracker-row { display: flex; gap: 0; }
    .tracker-error { font-size: 13px; color: var(--red); margin-top: 12px; text-align: center; display: none; }
    .tracker-error.visible { display: block; }

    /* Result card */
    .tracker-result { margin-top: 32px; background: var(--white); border: 0.5px solid var(--border); display: none; overflow: hidden; }
    .tracker-result.visible { display: block; }
    .tracker-result-bar { height: 2px; background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold)); }
    .result-header { padding: 24px 32px; border-bottom: 0.5px solid var(--border); display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 16px; }
    .result-field { }
    .result-field-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
    .result-field-value { font-family: 'Cormorant Garamond', serif; font-size: 20px; color: var(--ink); }
    .warranty-badge { display: inline-block; font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; padding: 4px 12px; background: var(--warm-mid); color: var(--green); border: 0.5px solid rgba(45,106,79,0.3); margin-top: 8px; }

    /* Progress bar */
    .progress-wrap { padding: 28px 32px; border-bottom: 0.5px solid var(--border); }
    .progress-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
    .progress-label { font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--muted); }
    .warranty-badge-progress { display: inline-block; font-size: 9px; letter-spacing: 0.15em; text-transform: uppercase; padding: 4px 12px; background: var(--warm-mid); color: var(--green); border: 0.5px solid rgba(45,106,79,0.3); }
    .progress-steps { display: flex; align-items: flex-start; position: relative; }
    .progress-steps::before { content: ''; position: absolute; top: 12px; left: 12px; right: 12px; height: 2px; background: var(--border); z-index: 0; }
    .progress-track { position: absolute; top: 12px; left: 12px; height: 2px; background: var(--gold); z-index: 1; transition: width 0.6s ease; }
    .step-item { flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; z-index: 2; }
    .step-dot { width: 24px; height: 24px; border-radius: 50%; background: var(--warm-mid); border: 2px solid var(--border); display: flex; align-items: center; justify-content: center; font-size: 10px; color: var(--muted); transition: all 0.3s; margin-bottom: 8px; }
    .step-dot.done { background: var(--gold); border-color: var(--gold); color: var(--white); }
    .step-dot.current { width: 27px; height: 27px; background: var(--ink); border-color: var(--ink); color: var(--white); }
    .step-dot.rejected { background: var(--red); border-color: var(--red); color: var(--white); }
    .step-label { font-size: 10px; color: var(--muted); text-align: center; line-height: 1.4; max-width: 64px; }
    .step-label.done { color: var(--gold-dark); }
    .step-label.current { color: var(--ink); font-weight: 500; }

    /* Status detail */
    .status-detail { padding: 28px 32px; }
    .status-eyebrow { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
    .status-eyebrow.red { color: var(--red); opacity: 0.8; }
    .status-text { font-family: 'Cormorant Garamond', serif; font-size: 26px; color: var(--ink); margin-bottom: 10px; line-height: 1.2; }
    .status-sub { font-size: 13px; color: var(--muted); line-height: 1.85; }
    .status-rule { width: 32px; height: 1px; background: var(--border-strong); margin: 16px 0; }
    .status-rule.red { background: rgba(123,45,45,0.25); }
    .status-notify { font-size: 12px; color: var(--muted); line-height: 1.85; padding: 14px 18px; background: var(--warm); border-left: 2px solid var(--gold); }
    .status-notify.red { background: rgba(123,45,45,0.04); border-left-color: rgba(123,45,45,0.3); }
    .quotation-box { margin-top: 16px; padding: 20px 24px; background: var(--warm); border: 0.5px solid var(--border); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
    .quotation-amount { font-family: 'Cormorant Garamond', serif; font-size: 28px; color: var(--ink); }
    .quotation-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
    .collection-box { margin-top: 16px; padding: 20px 24px; background: var(--warm); border: 0.5px solid var(--border); }
    .collection-label { font-size: 9px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
    .collection-name { font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--ink); margin-bottom: 6px; }
    .collection-address { font-size: 13px; color: var(--muted); line-height: 1.8; }
    .collection-hours { font-size: 11px; color: var(--gold); letter-spacing: 0.1em; margin-top: 8px; }

    /* About / Contact */
    .about-hero { background: var(--warm); padding: 120px 48px 96px; text-align: center; }
    .about-body { display: grid; grid-template-columns: 5fr 4fr; gap: 80px; padding: 96px 48px; }
    .about-text h3 { font-family: 'Cormorant Garamond', serif; font-size: 28px; margin-bottom: 24px; color: var(--ink); }
    .about-text p { font-size: 15px; color: var(--muted); line-height: 1.9; margin-bottom: 20px; }
    .sidebar-block { padding: 32px; background: var(--warm); margin-bottom: 2px; }
    .sidebar-block h4 { font-family: 'Cormorant Garamond', serif; font-size: 18px; margin-bottom: 12px; color: var(--ink); }
    .sidebar-block p { font-size: 13px; color: var(--muted); margin-bottom: 16px; line-height: 1.7; }
    .sidebar-block ul { list-style: none; }
    .sidebar-block li { font-size: 13px; color: var(--muted); padding: 6px 0; border-bottom: 0.5px solid var(--border); line-height: 1.6; }
    .sidebar-block li:last-child { border-bottom: none; }
    .sidebar-block li::before { content: '—'; color: var(--gold); margin-right: 10px; }
    .contact-layout { display: grid; grid-template-columns: 5fr 4fr; gap: 80px; padding: 96px 48px; }
    .form-row { margin-bottom: 20px; }
    .form-row label { display: block; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
    .form-row input, .form-row select, .form-row textarea { width: 100%; padding: 12px 16px; border: 0.5px solid var(--border-strong); background: var(--white); font-family: 'Jost', sans-serif; font-size: 14px; color: var(--ink); outline: none; transition: border-color 0.2s; }
    .form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color: var(--gold); }
    .form-row select { appearance: none; cursor: pointer; }
    .form-row textarea { resize: vertical; min-height: 120px; }
    .form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .info-block { padding: 32px 0; border-bottom: 0.5px solid var(--border); }
    .info-block:first-child { padding-top: 0; }
    .info-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
    .info-value { font-size: 15px; color: var(--ink-mid); line-height: 1.7; }
    .form-success { display: none; text-align: center; padding: 60px 24px; background: var(--warm); border: 0.5px solid var(--border); }
    .form-success.visible { display: block; }
    .form-success-line { width: 48px; height: 1px; background: var(--gold); margin: 0 auto 28px; }
    .form-success h3 { font-family: 'Cormorant Garamond', serif; font-size: 30px; font-weight: 300; color: var(--ink); margin-bottom: 14px; line-height: 1.2; }
    .form-success p { font-size: 14px; color: var(--muted); line-height: 1.85; }
    .form-field-error { display: none; font-size: 11px; letter-spacing: 0.06em; color: #8C3A1E; margin-top: 6px; }
    .form-field-error.visible { display: block; }
    input.field-invalid, textarea.field-invalid, select.field-invalid { border-color: rgba(140,58,30,0.4) !important; }
    .payment-success-banner { display: none; position: fixed; top: 64px; left: 0; right: 0; z-index: 200; background: #2D6A4F; color: #fff; padding: 16px 48px; text-align: center; font-family: 'Jost', sans-serif; font-size: 13px; letter-spacing: 0.1em; }
    .payment-success-banner.visible { display: block; }
    /* ── PAYMENT BOX ── */
    .payment-box { margin-top: 24px; border: 0.5px solid var(--border); overflow: hidden; }
    .payment-header { padding: 32px 32px 28px; background: var(--warm); border-bottom: 0.5px solid var(--border); text-align: center; }
    .payment-eyebrow { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
    .payment-amount-row { display: flex; align-items: baseline; gap: 8px; justify-content: center; }
    .payment-currency { font-size: 14px; color: var(--muted); letter-spacing: 0.1em; }
    .payment-amount { font-family: 'Cormorant Garamond', serif; font-size: 56px; font-weight: 300; color: var(--ink); line-height: 1; }
    .payment-ref { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); margin-top: 10px; }
    .payment-body { padding: 24px 32px 28px; background: var(--white); }
    .payment-note { font-size: 12px; color: var(--muted); line-height: 1.9; padding-bottom: 20px; border-bottom: 0.5px solid var(--border); margin-bottom: 24px; }
    .payment-note strong { color: var(--ink-mid); font-weight: 500; }
    .cta-wrap { position: relative; margin-bottom: 12px; }
    .cta-badge { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--white); font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; padding: 3px 14px; white-space: nowrap; font-family: 'Jost', sans-serif; z-index: 1; pointer-events: none; }
    .payment-btn { display: block; width: 100%; padding: 18px 16px; background: #1A1814; color: #FDFCFA; font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; text-align: center; cursor: pointer; border: 2px solid #1A1814; text-decoration: none; transition: background 0.2s, color 0.2s; font-family: 'Jost', sans-serif; -webkit-appearance: none; appearance: none; }
    .payment-btn:hover, .payment-btn:visited, .payment-btn:active { background: #8C7245; color: #FDFCFA; border-color: #8C7245; text-decoration: none; }
    .trust-row { display: flex; justify-content: center; gap: 20px; margin: 12px 0 20px; padding-bottom: 20px; border-bottom: 0.5px solid var(--border); }
    .trust-item { display: flex; align-items: center; gap: 5px; font-size: 10px; color: var(--muted); }
    .trust-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); flex-shrink: 0; }
    .payment-divider { display: flex; align-items: center; gap: 16px; margin: 16px 0; }
    .payment-divider::before, .payment-divider::after { content: ''; flex: 1; height: 0.5px; background: var(--border); }
    .payment-divider span { font-size: 9px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
    .payment-qr { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px; background: var(--warm); border: 0.5px solid var(--border); }
    .payment-qr-label { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); }
    #qr-code canvas, #qr-code img { display: block; border: 6px solid var(--white); box-shadow: 0 4px 20px rgba(26,24,20,0.09); }
    .decline-section { background: var(--warm-mid); border-top: 0.5px solid var(--border); padding: 10px 32px; text-align: center; }
    .payment-btn-decline { background: none; border: none; padding: 0; font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.12em; color: #3D3930; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; transition: color 0.2s; }
    .payment-btn-decline:hover { color: #7B2D2D; }
    /* declined state */
    .declined-box { margin-top: 24px; border: 0.5px solid rgba(123,45,45,0.25); overflow: hidden; display: none; }
    .declined-header { padding: 28px 32px; background: rgba(123,45,45,0.04); border-bottom: 0.5px solid rgba(123,45,45,0.15); text-align: center; }
    .declined-eyebrow { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: #7B2D2D; margin-bottom: 10px; }
    .declined-title { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 400; color: var(--ink); line-height: 1.3; }
    .declined-body { padding: 28px 32px; background: var(--white); }
    .declined-text { font-size: 13px; color: var(--muted); line-height: 1.9; }
    .declined-rule { width: 32px; height: 1px; background: rgba(123,45,45,0.25); margin: 18px auto; }
    /* confirm modal */
    .confirm-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(26,24,20,0.65); z-index: 200; align-items: center; justify-content: center; }
    .confirm-overlay.visible { display: flex; }
    .confirm-modal { background: var(--white); border: 0.5px solid var(--border); padding: 44px 40px; max-width: 380px; width: 90%; text-align: center; }
    .confirm-modal-eyebrow { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
    .confirm-modal-title { font-family: 'Cormorant Garamond', serif; font-size: 28px; color: var(--ink); margin-bottom: 12px; line-height: 1.2; }
    .confirm-modal-text { font-size: 12px; color: var(--muted); line-height: 1.85; margin-bottom: 32px; }
    .confirm-modal-text strong { color: var(--ink-mid); font-weight: 500; }
    .confirm-return-wrap { position: relative; margin-bottom: 12px; }
    .confirm-return-badge { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); background: var(--gold); color: var(--white); font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; padding: 3px 14px; white-space: nowrap; font-family: 'Jost', sans-serif; z-index: 1; }
    .confirm-no { display: block; width: 100%; padding: 18px; background-color: #1A1814 !important; color: #FDFCFA !important; font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase; cursor: pointer; border: none; font-family: 'Jost', sans-serif; transition: background 0.2s; }
    .confirm-no:hover { background-color: #8C7245 !important; }
    .modal-divider { display: flex; align-items: center; gap: 12px; margin: 16px 0; }
    .modal-divider::before, .modal-divider::after { content: ''; flex: 1; height: 0.5px; background: var(--border); }
    .modal-divider span { font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
    .confirm-yes-wrap { background: var(--warm-mid); padding: 16px; border: 0.5px solid var(--border); }
    .confirm-yes-label { font-size: 11px; color: var(--muted); line-height: 1.7; margin-bottom: 10px; }
    .confirm-yes { background: none; border: none; padding: 0; font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.1em; color: #3D3930; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; transition: color 0.2s; }
    .confirm-yes:hover { color: #7B2D2D; }
    /* success page */
    .success-box { margin-top: 24px; border: 0.5px solid var(--border); overflow: hidden; display: none; }
    .success-bar { height: 3px; background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold)); }
    .success-header { padding: 36px 32px 28px; text-align: center; border-bottom: 0.5px solid var(--border); }
    .success-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--warm); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center; margin: 0 auto 18px; font-size: 16px; color: var(--gold-dark); }
    .success-eyebrow { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
    .success-title { font-family: 'Cormorant Garamond', serif; font-size: 28px; font-weight: 300; color: var(--ink); line-height: 1.2; margin-bottom: 8px; }
    .success-sub { font-size: 13px; color: var(--muted); line-height: 1.8; }
    .success-summary { padding: 24px 32px; background: var(--warm); border-bottom: 0.5px solid var(--border); }
    .summary-row { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 0; border-bottom: 0.5px solid var(--border); }
    .summary-row:last-child { border-bottom: none; }
    .summary-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); }
    .summary-value { font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--ink); }
    .summary-value.gold { color: var(--gold-dark); }
    .success-next { padding: 24px 32px; background: var(--white); border-bottom: 0.5px solid var(--border); }
    .next-label { font-size: 10px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
    .next-item { display: flex; gap: 16px; align-items: flex-start; padding: 10px 0; border-bottom: 0.5px solid var(--border); }
    .next-item:last-child { border-bottom: none; }
    .next-num { font-family: 'Cormorant Garamond', serif; font-size: 20px; color: var(--gold); line-height: 1; flex-shrink: 0; width: 20px; }
    .next-text { font-size: 13px; color: var(--muted); line-height: 1.7; }
    .next-text strong { color: var(--ink-mid); font-weight: 500; }
    .success-footer { padding: 18px 32px; background: var(--warm); text-align: center; }
    .success-footer-text { font-size: 11px; color: var(--muted); line-height: 1.7; }
    .success-footer-brand { font-family: 'Cormorant Garamond', serif; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink); margin-top: 10px; }
    .success-footer-brand span { color: var(--gold); }
    .footer { background: var(--ink); padding: 48px; display: flex; justify-content: space-between; align-items: center; flex-shrink: 0; margin-top: auto; }
    .footer-logo { font-family: 'Cormorant Garamond', serif; font-size: 18px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--white); }
    .footer-logo span { color: var(--gold); }
    .footer-text { font-size: 12px; color: rgba(255,255,255,0.4); letter-spacing: 0.1em; }
    .footer-entity { font-size: 9px; color: rgba(255,255,255,0.5); letter-spacing: 0.1em; margin-bottom: 4px; font-family: 'Jost', sans-serif; }
    .footer-copy { font-size: 9px; color: rgba(255,255,255,0.35); letter-spacing: 0.08em; font-family: 'Jost', sans-serif; }
    .footer { flex-direction: column; align-items: flex-start; gap: 12px; }
    @media (min-width: 768px) {
      .footer { flex-direction: row; justify-content: space-between; align-items: center; }
      .footer > div:nth-of-type(2),
      .footer > div:nth-of-type(3) { text-align: right; }
    }

    /* ── ORDER RESULT ── */
    .order-result { margin-top: 32px; background: var(--white); border: 0.5px solid var(--border); display: none; overflow: hidden; }
    .order-result.visible { display: block; }
    .order-result-bar { height: 2px; background: linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold)); }
    .order-status-badge { display: inline-block; padding: 3px 12px; font-size: 9px; letter-spacing: 0.15em; text-transform: uppercase; border: 0.5px solid; margin-top: 4px; }
    .order-status-pending   { color: #8C7245; border-color: rgba(140,114,69,0.4); background: rgba(140,114,69,0.06); }
    .order-status-processed { color: #2D5C3A; border-color: rgba(45,92,58,0.4);  background: rgba(45,92,58,0.06); }
    .order-status-ready     { color: var(--ink); border-color: var(--border-strong); }
    .order-status-collected { color: var(--muted); border-color: var(--border); }

    /* ── BOOKING OVERLAY ── */
    .booking-overlay{position:fixed;inset:0;z-index:200;background:rgba(26,24,20,0.7);display:none;align-items:center;justify-content:center;padding:24px;}
    .booking-overlay.open{display:flex;}
    .booking-modal{background:var(--white);max-width:560px;width:100%;max-height:90vh;overflow-y:auto;position:relative;}
    .booking-top-bar{height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light),var(--gold));}
    .booking-header{padding:32px 40px 0;display:flex;justify-content:space-between;align-items:flex-start;}
    .booking-eyebrow{font-size:9px;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
    .booking-title{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--ink);line-height:1.2;}
    .booking-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--muted);padding:4px;line-height:1;margin-left:16px;flex-shrink:0;}
    .booking-close:hover{color:var(--ink);}
    .booking-body{padding:24px 40px 40px;}
    .booking-steps{display:flex;gap:0;margin-bottom:32px;border-bottom:0.5px solid var(--border);}
    .booking-step-tab{flex:1;padding:12px 8px;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);text-align:center;border-bottom:2px solid transparent;margin-bottom:-0.5px;}
    .booking-step-tab.active{color:var(--ink);border-bottom-color:var(--gold);}
    .booking-step-tab.done{color:var(--gold-dark);}
    .booking-panel{display:none;}
    .booking-panel.active{display:block;}
    .booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:24px;}
    .cal-header{grid-column:span 7;display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
    .cal-month{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--ink);}
    .cal-nav{background:none;border:0.5px solid var(--border);color:var(--muted);cursor:pointer;padding:6px 12px;font-size:12px;transition:all 0.2s;}
    .cal-nav:hover{border-color:var(--gold);color:var(--ink);}
    .cal-day-label{font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0;}
    .cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink);cursor:pointer;border:0.5px solid transparent;transition:all 0.15s;font-family:'Jost',sans-serif;font-weight:300;}
    .cal-day:hover:not(.disabled):not(.empty){border-color:var(--gold);color:var(--ink);}
    .cal-day.selected{background:var(--ink);color:var(--white);border-color:var(--ink);}
    .cal-day.disabled{color:var(--muted);opacity:0.35;cursor:not-allowed;}
    .cal-day.empty{cursor:default;}
    .cal-day.today{border-color:rgba(184,160,106,0.4);}
    .slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px;}
    .slot-pill{padding:10px 4px;text-align:center;font-size:12px;letter-spacing:0.05em;color:var(--ink);border:0.5px solid var(--border);cursor:pointer;transition:all 0.15s;font-family:'Jost',sans-serif;}
    .slot-pill:hover:not(.taken){border-color:var(--gold);color:var(--ink);}
    .slot-pill.selected{background:var(--ink);color:var(--white);border-color:var(--ink);}
    .slot-pill.taken{color:var(--muted);opacity:0.4;cursor:not-allowed;text-decoration:line-through;}
    .booking-field{margin-bottom:20px;}
    .booking-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:block;}
    .booking-input{width:100%;padding:12px 16px;border:0.5px solid var(--border-strong);background:var(--warm);font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);outline:none;transition:border-color 0.2s;}
    .booking-input:focus{border-color:var(--gold);}
    .booking-input::placeholder{color:var(--muted);opacity:0.6;}
    .booking-textarea{resize:vertical;min-height:80px;}
    .booking-panels-wrap{position:relative;}
    .booking-panel{display:none;}
    .booking-panel.active{display:block;}
    .booking-panel.animating-out{display:block;position:absolute;top:0;left:0;width:100%;pointer-events:none;}
    .booking-summary{background:var(--warm);border:0.5px solid var(--border);margin-bottom:24px;overflow:hidden;}
    .booking-summary-row{display:flex;justify-content:space-between;align-items:baseline;padding:12px 20px;border-bottom:0.5px solid var(--border);}
    .booking-summary-row:last-child{border-bottom:none;}
    .booking-summary-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);flex-shrink:0;width:38%;}
    .booking-summary-value{font-size:13px;color:var(--ink);text-align:right;flex:1;}
    .booking-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;}
    .booking-back{background:none;border:none;font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);cursor:pointer;padding:0;transition:color 0.2s;}
    .booking-back:hover{color:var(--ink);}
    .booking-success{text-align:center;padding:0 0 16px;}
    .booking-success-title{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--ink);margin-bottom:16px;}
    .booking-success-sub{font-size:13px;color:var(--muted);line-height:1.85;max-width:360px;margin:0 auto 12px;}
    .booking-cancel-note{font-size:11px;color:var(--muted);margin-bottom:24px;line-height:1.7;}
    .booking-error{font-size:12px;color:var(--red);margin-top:8px;display:none;}
    .booking-error.visible{display:block;}
    /* Confirm button hourglass */
    .booking-btn-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;}
    #btn-confirm{position:relative;display:inline-flex;align-items:center;justify-content:center;width:200px;height:46px;padding:0;border:0.5px solid var(--ink);transition:background 0.25s,border-color 0.25s;}
    #btn-confirm .btn-label{position:absolute;transition:opacity 0.2s;white-space:nowrap;}
    #btn-confirm.searching{background:transparent;border-color:var(--gold);}
    #btn-confirm.searching .btn-label{opacity:0;pointer-events:none;}
    #btn-confirm #bk-hg-canvas{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity 0.2s;}
    #btn-confirm.searching #bk-hg-canvas{opacity:1;}
    .booking-selection-strip{display:flex;gap:0;margin-bottom:24px;border:0.5px solid var(--border);background:var(--warm);}
    .booking-selection-strip .strip-item{flex:1;padding:12px 16px;border-right:0.5px solid var(--border);}
    .booking-selection-strip .strip-item:last-child{border-right:none;}
    .booking-selection-strip .strip-label{font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
    .booking-selection-strip .strip-value{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--ink);}
    .booking-consent-wrap{padding:16px;border:0.5px solid var(--border);background:var(--warm);margin-bottom:8px;transition:border-color 0.2s,background 0.2s;}
    .booking-consent-wrap:hover{border-color:var(--gold);}
    .booking-consent-wrap.consent-error{border-color:rgba(123,45,45,0.5);background:rgba(123,45,45,0.03);}
    .booking-consent-wrap.ticked{border-color:var(--gold);background:#FDFCFA;}
    .booking-success-card{background:var(--warm);border:0.5px solid var(--border);padding:16px 20px;margin:16px 0 20px;text-align:left;}
    .bk-sc-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:0.5px solid var(--border);}
    .bk-sc-row:last-child{border-bottom:none;}
    .bk-sc-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);}
    .bk-sc-val{font-size:13px;color:var(--ink);text-align:right;}
    .booking-cancel-note{font-size:11px;color:var(--muted);margin-bottom:20px;line-height:1.7;}
    /* Consent inside wrap */
    .booking-consent-wrap .booking-consent{display:flex;gap:12px;align-items:flex-start;}
    .booking-consent-wrap .booking-consent label{font-size:12px;color:var(--muted);line-height:1.7;cursor:pointer;}
    .consent-tick{width:18px;height:18px;border:0.5px solid rgba(184,160,106,0.5);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent;background:transparent;transition:all 0.2s;margin-top:1px;}
    .booking-consent-wrap.ticked .consent-tick{border-color:var(--gold);color:var(--gold);background:rgba(184,160,106,0.08);}

    /* ═══════════════════════════════════════════════════════════════
       MOBILE HAMBURGER NAV
    ═══════════════════════════════════════════════════════════════ */
    .nav-hamburger {
      display: none;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 5px;
      background: none;
      border: none;
      cursor: pointer;
      padding: 8px;
      width: 40px;
      height: 40px;
      flex-shrink: 0;
    }
    .nav-hamburger span {
      display: block;
      width: 22px;
      height: 0.5px;
      background: var(--ink);
      transition: all 0.25s ease;
      transform-origin: center;
    }
    .nav-hamburger.open span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
    .nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
    .nav-hamburger.open span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

    /* ═══════════════════════════════════════════════════════════════
       RESPONSIVE BREAKPOINTS
    ═══════════════════════════════════════════════════════════════ */

    /* ── TABLET (≤768px) ── */
    @media (max-width: 768px) {

      /* NAV */
      .nav { padding: 0 20px; }
      .nav-hamburger { display: flex; }
      .nav-links {
        display: none;
        position: fixed;
        top: 64px;
        left: 0; right: 0;
        background: rgba(253,252,250,0.98);
        backdrop-filter: blur(12px);
        flex-direction: column;
        gap: 0;
        border-bottom: 0.5px solid var(--border);
        padding: 8px 0 16px;
        z-index: 99;
      }
      .nav-links.mobile-open { display: flex; }
      .nav-links li { width: 100%; }
      .nav-links a {
        display: block;
        padding: 14px 24px;
        font-size: 11px;
        letter-spacing: 0.18em;
        color: var(--ink-mid);
        width: 100%;
        text-align: left;
        border-bottom: 0.5px solid var(--border);
      }
      .nav-links li:last-child a { border-bottom: none; }
      .nav-links a.active, .nav-links a:hover { color: var(--gold-dark); font-weight: 500; }

      /* SECTIONS */
      .section { padding: 60px 20px; }
      .container { padding: 0; }

      /* HERO */
      .hero { min-height: calc(100svh - 64px); padding: 48px 20px 64px; align-items: flex-end; }
      .hero::before { display: none; }
      .hero-content { max-width: 100%; }
      .hero h1 { font-size: clamp(34px, 9vw, 48px); margin-bottom: 20px; }
      .hero-eyebrow { margin-bottom: 16px; }
      .hero-sub { font-size: 14px; margin-bottom: 32px; max-width: 100%; }
      .hero .btn-primary { display: block; text-align: center; margin-bottom: 12px; }
      .hero .btn-outline { display: block; text-align: center; margin-left: 0; }
      .hero-ctas { flex-direction: column; align-items: stretch; }

      /* STRENGTHS GRID */
      .strengths-grid { grid-template-columns: 1fr; gap: 1px; }
      .strength-card { padding: 36px 24px; }

      /* BRANDS STRIP */
      .brands-strip { padding: 48px 20px; }
      .brands-row { flex-direction: column; }
      .brand-item {
        min-width: unset;
        width: 100%;
        border-right: none;
        border-bottom: 0.5px solid var(--border);
        padding: 20px 16px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        text-align: left;
      }
      .brand-item:last-child { border-bottom: none; }
      .brand-origin { margin-top: 0; }

      /* ABOUT TEASER */
      .about-teaser { grid-template-columns: 1fr; gap: 40px; }
      .teaser-quote { font-size: 22px; }

      /* PORTFOLIO */
      .brand-cards { grid-template-columns: 1fr; }
      .brand-card { padding: 32px 24px; }
      div[style*="padding: 32px 48px"], div[style*="padding: 48px 48px"] {
        padding-left: 20px !important;
        padding-right: 20px !important;
      }

      /* BOUTIQUE */
      .boutique-inner { grid-template-columns: 1fr; }
      .boutique-content { padding: 36px 24px; }
      .boutique-name { font-size: 30px; }
      .boutique-photo { min-height: 240px; order: -1; }
      .boutique-meta { grid-template-columns: 1fr 1fr; }

      /* SERVICES LAYOUT */
      .services-layout { grid-template-columns: 1fr; margin-bottom: 0; }
      .service-block { padding: 36px 24px; }

      /* TRACKER */
      .tracker-section { padding: 48px 20px; }
      .tracker-fields { grid-template-columns: 1fr; }
      .tracker-row { flex-direction: column; gap: 0; }
      .tracker-input { border-left: 0.5px solid var(--border-strong) !important; border-bottom: none; }
      .tracker-input:last-of-type { border-bottom: 0.5px solid var(--border-strong); }
      .tracker-btn { width: 100%; padding: 14px; margin-top: 0; border-top: none; }
      .result-header { flex-direction: column; gap: 16px; }

      /* ABOUT PAGE */
      .about-hero { padding: 80px 20px 60px; }
      .about-body { grid-template-columns: 1fr; gap: 0; padding: 48px 20px; }
      .contact-layout { grid-template-columns: 1fr; gap: 40px; padding: 48px 20px; }
      .form-grid { grid-template-columns: 1fr; gap: 0; }

      /* FOOTER */
      .footer {
        padding: 32px 20px;
        flex-direction: column;
        gap: 12px;
        text-align: center;
      }

      /* BOOKING MODAL */
      .booking-overlay { padding: 0; align-items: flex-end; }
      .booking-modal {
        max-width: 100%;
        max-height: 92svh;
        border-radius: 0;
      }
      .booking-header { padding: 24px 20px 0; }
      .booking-body { padding: 16px 20px 32px; }
      .booking-title { font-size: 22px; }
      .slots-grid { grid-template-columns: repeat(3, 1fr); }

      /* PAYMENT / SUCCESS BOXES */
      .payment-box { margin-top: 16px; }
      .payment-header { padding: 24px 20px; }
      .payment-body { padding: 16px 20px 20px; }
      .payment-amount { font-size: 44px; }
      .decline-section { padding: 10px 20px; }
      .declined-header, .declined-body { padding: 20px; }
      .success-header, .success-summary, .success-next, .success-footer { padding: 20px; }
      .confirm-modal { padding: 32px 24px; }

      /* PROGRESS STEPS — smaller labels on mobile */
      .step-label { font-size: 9px; max-width: 50px; }

      /* PAYMENT SUCCESS BANNER */
      .payment-success-banner { padding: 12px 20px; font-size: 12px; }
    }

    /* ── SMALL PHONE (≤420px) ── */
    @media (max-width: 420px) {
      .hero h1 { font-size: clamp(30px, 8vw, 40px); }
      .section-title { font-size: clamp(24px, 7vw, 36px); }
      .strength-num { font-size: 40px; }
      .boutique-meta { grid-template-columns: 1fr; }
      .booking-step-tab { font-size: 8px; letter-spacing: 0.1em; padding: 10px 4px; }
      .slots-grid { grid-template-columns: repeat(2, 1fr); }
      .tracker-title { font-size: 26px; }
      .payment-amount { font-size: 38px; }
      .trust-row { flex-wrap: wrap; gap: 10px; justify-content: center; }
      .bk-sc-row { flex-direction: column; gap: 2px; }
      .bk-sc-val { text-align: left; }
    }
  
    /* ── JOURNAL INDEX ── */
    /* ── JOURNAL: constrained to 1080px, consistent with site container ── */
    .journal-header { background: var(--warm); border-bottom: 2px solid var(--gold); }
    .journal-header-inner { max-width: 1080px; margin: 0 auto; padding: 72px 48px 56px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; }
    .journal-header-left {}
    .journal-header-right { padding-bottom: 4px; }
    .journal-filters-wrap { border-bottom: 0.5px solid var(--border); background: var(--page); }
    .journal-filters { display: flex; gap: 0; padding: 0 48px; max-width: 1080px; margin: 0 auto; overflow-x: auto; }
    .journal-filter { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; padding: 16px 20px; cursor: pointer; color: var(--muted); border: none; border-bottom: 2px solid transparent; background: transparent; font-family: 'Jost', sans-serif; transition: all 0.15s; white-space: nowrap; margin-bottom: -0.5px; }
    .journal-filter:hover { color: var(--ink); }
    .journal-filter.active { color: var(--ink); border-bottom: 2px solid var(--gold); }
    .journal-grid-wrap { max-width: 1080px; margin: 0 auto; }
    .journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); }
    .journal-card { background: var(--white); padding: 40px 36px; transition: background 0.25s; display: flex; flex-direction: column; }
    .journal-card:hover { background: var(--warm); }
    .journal-card[data-cat].hidden { display: none; }
    .journal-card-eyebrow { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
    .journal-card-cat { font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-dark); }
    .journal-card-date { font-size: 8px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); }
    .journal-card-rule { width: 24px; height: 1px; background: var(--gold); margin-bottom: 18px; opacity: 0.7; }
    .journal-card-title { font-family: 'Cormorant Garamond', serif; font-size: 21px; font-weight: 400; color: var(--ink); line-height: 1.2; margin-bottom: 14px; flex: 1; }
    .journal-card-excerpt { font-size: 11px; color: var(--muted); line-height: 1.8; margin-bottom: 24px; }
    .journal-card-footer { display: flex; align-items: center; justify-content: space-between; border-top: 0.5px solid var(--border); padding-top: 16px; margin-top: auto; }
    .journal-card-read { font-size: 8px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-dark); }
    .journal-card-arrow { font-size: 12px; color: var(--gold); }

    /* ── JOURNAL ENTRY ── */
    .entry-header { padding: 72px 48px 48px; border-bottom: 0.5px solid var(--border); }
    .entry-header-inner { max-width: 720px; margin: 0 auto; }
    .entry-eyebrow { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
    .entry-cat { font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-dark); border: 0.5px solid var(--border-strong); padding: 2px 8px; }
    .entry-date { font-size: 9px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); }
    .entry-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(28px, 3.5vw, 44px); font-weight: 300; color: var(--ink); line-height: 1.12; margin-bottom: 24px; }
    .entry-rule { width: 40px; height: 1px; background: var(--gold); }
    .entry-body { padding: 56px 48px 72px; }
    .entry-body-inner { max-width: 720px; margin: 0 auto; }
    .entry-body-inner p { font-size: 15px; color: var(--ink-mid); line-height: 1.9; margin-bottom: 22px; }
    .entry-body-inner h2 { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 400; color: var(--ink); margin: 40px 0 16px; }
    .entry-pullquote { border-left: 2px solid var(--gold); padding: 6px 0 6px 28px; margin: 36px 0; font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 300; font-style: italic; color: var(--ink-mid); line-height: 1.4; }
    .entry-back { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--gold-dark); display: inline-flex; align-items: center; gap: 8px; margin-bottom: 48px; }
    .entry-back:hover { color: var(--ink); }
    .entry-related { padding: 48px 48px 64px; background: var(--warm); border-top: 0.5px solid var(--border); }
    .entry-related-inner { max-width: 720px; margin: 0 auto; }
    .entry-related-label { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 28px; }
    .entry-related-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 0.5px solid var(--border); border-left: 0.5px solid var(--border); }
    .entry-related-card { background: var(--white); padding: 24px 24px; transition: background 0.15s; border-right: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); }
    .entry-related-card:hover { background: var(--warm-mid); }
    .entry-related-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
    .entry-related-cat { font-size: 8px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold-dark); border: 0.5px solid var(--border-strong); padding: 2px 7px; }
    .entry-related-date { font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
    .entry-related-title { font-family: 'Cormorant Garamond', serif; font-size: 16px; font-weight: 400; color: var(--ink); line-height: 1.3; }

    @media (max-width: 768px) {
      .journal-header-inner { grid-template-columns: 1fr; gap: 24px; padding: 48px 20px 36px; }
      .journal-filters { padding: 0 20px; }
      .journal-grid { grid-template-columns: 1fr; }
      .journal-card { padding: 28px 20px; }
      .entry-header { padding: 48px 20px 36px; }
      .entry-body { padding: 36px 20px 48px; }
      .entry-related { padding: 36px 20px 48px; }
      .entry-related-grid { grid-template-columns: 1fr; }
    }

    /* ── JOURNAL ENTRY IMAGES ── */
    .entry-hero-img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: center; display: block; margin-bottom: 0; }
    .entry-img { width: 100%; display: block; aspect-ratio: 4/5; object-fit: cover; }
    .entry-img-full { width: 100%; display: block; aspect-ratio: 16/7; object-fit: cover; object-position: center top; }
    .entry-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--border); margin: 40px 0; }
    .entry-img-grid img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
    .entry-img-caption { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); margin-top: 10px; text-align: center; }
    .entry-img-single { margin: 40px 0; }
    .entry-spec-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: var(--border); margin: 36px 0; }
    .entry-spec-item { background: var(--warm); padding: 20px 24px; }
    .entry-spec-label { font-size: 9px; letter-spacing: 0.25em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; }
    .entry-spec-value { font-family: 'Cormorant Garamond', serif; font-size: 18px; color: var(--ink); font-weight: 400; line-height: 1.3; }
    .entry-cta-block { background: var(--ink); padding: 48px; margin: 48px 0; text-align: center; }
    .entry-cta-eyebrow { font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 16px; }
    .entry-cta-title { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 300; color: var(--white); margin-bottom: 10px; line-height: 1.2; }
    .entry-cta-sub { font-size: 13px; color: rgba(255,255,255,0.5); margin-bottom: 28px; line-height: 1.7; }
    .entry-cta-btn { display: inline-block; padding: 14px 36px; border: 0.5px solid var(--gold); color: var(--gold); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; transition: all 0.2s; font-family: 'Jost', sans-serif; }
    .entry-cta-btn:hover { background: var(--gold); color: var(--ink); }
    @media (max-width: 768px) {
      .entry-img-grid { grid-template-columns: 1fr; }
      .entry-spec-grid { grid-template-columns: 1fr 1fr; }
      .entry-cta-block { padding: 36px 20px; }
    }

    /* ── JOURNAL ENTRY VIDEO ── */
    .entry-video-wrap { margin: 48px 0; position: relative; }
    .entry-video-wrap video { width: 100%; display: block; aspect-ratio: 16/9; object-fit: cover; }
    .entry-video-caption { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); margin-top: 10px; text-align: center; }

    /* ── FIGURE / FIGCAPTION (semantic image markup) ── */
    figure { margin: 0; }
    figcaption.entry-img-caption { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); margin-top: 10px; text-align: center; display: block; }
    figure.entry-hero-figure { display: block; }
    figcaption.entry-hero-caption { font-size: 9px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); text-align: center; padding: 8px 0 0; background: var(--warm); }
    figure.entry-img-single { margin: 40px 0; }
    figure.entry-img-single img { width: 100%; display: block; aspect-ratio: 4/5; object-fit: cover; }
    figure.entry-img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 0.5px solid var(--border); border-left: 0.5px solid var(--border); margin: 40px 0; }
    figure.entry-img-grid img { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; border-right: 0.5px solid var(--border); border-bottom: 0.5px solid var(--border); }
    figure.entry-img-grid figcaption { grid-column: 1 / -1; background: var(--white); }

    /* ── JOURNAL GRID: empty cells transparent, no bleed ── */
    .journal-grid .journal-card:last-child:nth-child(3n - 1) { grid-column: span 1; }

    /* ── PORTFOLIO PAGE UPDATES ── */
    .brand-card-link { font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-dark); border-bottom: 0.5px solid rgba(184,160,106,0.4); padding-bottom: 1px; display: inline-block; margin-bottom: 12px; }
    .brand-card-region { font-size: 8px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); border-top: 0.5px solid var(--border); padding-top: 10px; margin-top: 12px; }
    .brand-card-journal { font-size: 8px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold-dark); border-bottom: 0.5px solid rgba(184,160,106,0.4); padding-bottom: 1px; display: inline-block; margin-top: 10px; }
    .boutique-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 28px; }
    .boutique-btn-book { grid-column: 1 / -1; text-align: center; }
    .boutique-btn-secondary { text-align: center; }

    .entry-body-h2 { font-family: 'Cormorant Garamond', serif; font-size: 26px; font-weight: 400; color: var(--ink); margin: 40px 0 6px; font-style: italic; }

    /* ── LEGIBILITY: medium weight for small uppercase labels ── */
    .booking-label,
    .booking-step-tab,
    .entry-related-cat,
    .warranty-badge,
    .brand-card-region,
    .entry-cat,
    .boutique-badge,
    .summary-label,
    .quotation-label,
    .booking-back,
    .meta-label,
    .brand-card-journal,
    .strip-label,
    .hero-eyebrow,
    .result-field-label,
    .section-label,
    .confirm-no,
    .journal-card-read,
    .progress-label,
    .info-label,
    .cta-badge,
    .entry-back,
    .booking-summary-label,
    .journal-card-cat,
    .payment-btn,
    .collection-label,
    .entry-date,
    .success-eyebrow,
    .journal-filter,
    .journal-card-date,
    .booking-eyebrow,
    .bk-sc-label,
    .confirm-return-badge,
    .status-eyebrow,
    .warranty-badge-progress,
    .next-label,
    .entry-spec-label,
    .entry-img-caption,
    .entry-video-caption,
    .brand-origin,
    .declined-eyebrow,
    .order-status-badge,
    .entry-cta-btn,
    .payment-ref,
    .entry-hero-caption,
    .btn,
    .confirm-modal-eyebrow,
    .payment-eyebrow,
    .brand-card-link,
    .tracker-btn,
    .entry-related-date,
    .entry-related-label,
    .entry-cta-eyebrow,
    .cal-day-label,
    .brand-card-flag,
    .payment-qr-label { font-weight: 500; }

    /* Footer entity declaration — sentence-case, raise weight for thin small text */
    .footer-entity, .footer-copy { font-weight: 500; }
