    /* ── RESET ─────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      /* Brand palette */
      --navy:        #090126;
      --navy-2:      #0e0535;
      --navy-3:      #160a45;
      --crimson:     #A6142F;
      --crimson-2:   #c41a39;
      --crimson-dim: #6b0d1e;
      --orange:      #D97823;
      --orange-2:    #e8922e;
      --orange-dim:  #8a4b10;
      --cream:       #F2C299;
      --cream-2:     #fad5b5;
      --cream-dim:   #b07a4e;
      --red:         #BF0F0F;
      --green:       #4a7c59;
      --text:        #d4b89a;
      --text-dim:    #8a6d55;
      --white:       #fff8f0;
      --r:           6px;
      --t:           .35s cubic-bezier(.4,0,.2,1);
    }

    html { scroll-behavior: smooth; overflow-x: hidden; }
    body { font-family: 'Inter', sans-serif; background: var(--navy); color: var(--text); line-height: 1.7; overflow-x: hidden; max-width: 100vw; }
    img  { display: block; width: 100%; object-fit: cover; }
    a    { text-decoration: none; color: inherit; }
    ul   { list-style: none; }

    .container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
    section { padding: 100px 0; overflow: hidden; }

    /* ── TYPOGRAPHY ─────────────────────────────────── */
    h1, h2, h3, h4 { font-family: 'Playfair Display', serif; color: var(--cream); line-height: 1.2; }

    .section-tag {
      font-family: 'Cormorant Garamond', serif;
      font-style: italic;
      font-size: 1rem;
      color: var(--orange);
      letter-spacing: .2em;
      text-transform: uppercase;
      margin-bottom: 10px;
      display: block;
    }
    .section-title { font-size: clamp(1.8rem, 4vw, 2.8rem); margin-bottom: 18px; }
    .section-lead {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1rem, 2vw, 1.2rem);
      color: var(--text);
      max-width: 660px;
    }
    .section-header { margin-bottom: 60px; }
    .section-header.centered { text-align: center; }
    .section-header.centered .section-lead { margin: 0 auto; }

    /* ── ORNAMENT ───────────────────────────────────── */
    .ornament {
      display: flex; align-items: center; gap: 12px; margin: 18px 0;
    }
    .ornament::before, .ornament::after {
      content: ''; flex: 1; height: 1px;
      background: linear-gradient(90deg, transparent, var(--orange-dim), transparent);
    }
    .ornament i { color: var(--orange); font-size: .75rem; }

    /* ── BUTTONS ────────────────────────────────────── */
    .btn {
      display: inline-flex; align-items: center; gap: 10px;
      padding: 13px 34px; border-radius: var(--r);
      font-family: 'Raleway', sans-serif; font-size: .82rem; font-weight: 600;
      letter-spacing: .1em; text-transform: uppercase;
      cursor: pointer; transition: var(--t); border: none;
    }
    .btn-crimson {
      background: linear-gradient(135deg, var(--crimson) 0%, var(--crimson-2) 50%, var(--crimson) 100%);
      color: #fff;
      box-shadow: 0 4px 24px rgba(166,20,47,.4);
    }
    .btn-crimson:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(166,20,47,.6); }

    .btn-orange {
      background: linear-gradient(135deg, var(--orange) 0%, var(--orange-2) 50%, var(--orange) 100%);
      color: var(--navy);
      box-shadow: 0 4px 24px rgba(217,120,35,.35);
    }
    .btn-orange:hover { transform: translateY(-2px); box-shadow: 0 8px 32px rgba(217,120,35,.5); }

    .btn-outline {
      border: 1px solid var(--orange-dim);
      color: var(--orange);
      background: transparent;
    }
    .btn-outline:hover { background: rgba(217,120,35,.1); border-color: var(--orange); }

    /* ── NAVBAR ─────────────────────────────────────── */
    #navbar {
      position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
      padding: 0 24px; transition: var(--t);
    }
    #navbar.scrolled {
      background: rgba(9,1,38,.96);
      backdrop-filter: blur(14px);
      box-shadow: 0 2px 30px rgba(0,0,0,.7);
    }
    .nav-inner {
      max-width: 1200px; margin: 0 auto;
      display: flex; align-items: center; justify-content: space-between; height: 70px;
    }
    .nav-logo { display: flex; align-items: center; gap: 12px; }
    .nav-logo-img {
      width: 44px; height: 44px; object-fit: contain;
      filter: drop-shadow(0 0 8px rgba(217,120,35,.4));
    }
    .nav-logo-text {
      font-family: 'Raleway', sans-serif; font-size: 1.2rem;
      font-weight: 700; color: var(--cream);
      letter-spacing: .12em;
    }
    .nav-logo-sub {
      font-family: 'Cormorant Garamond', serif; font-size: 15px; font-weight: 500; color: beige;;
       letter-spacing: .18em; display: block; margin-top: -4px;
    }
    .nav-links {
      display: flex; align-items: center; gap: 30px;
    }
    .nav-links a {
      font-family: 'Raleway', sans-serif; font-size: .72rem; font-weight: 600;
      letter-spacing: .12em; text-transform: uppercase;
      color: var(--text); transition: color var(--t); position: relative;
    }
    .nav-links a::after {
      content: ''; position: absolute; bottom: -4px; left: 0; right: 0;
      height: 1px; background: var(--orange);
      transform: scaleX(0); transition: transform var(--t);
    }
    .nav-links a:hover { color: var(--orange); }
    .nav-links a:hover::after { transform: scaleX(1); }

    .nav-right { display: flex; align-items: center; gap: 18px; }

    .lang-switch { display: flex; gap: 3px; }
    .lang-btn {
      font-family: 'Raleway', sans-serif; font-size: .68rem; font-weight: 600;
      letter-spacing: .08em; padding: 4px 8px;
      border-radius: 3px; border: 1px solid transparent;
      background: transparent; color: var(--text-dim);
      cursor: pointer; transition: var(--t);
    }
    .lang-btn.active, .lang-btn:hover { border-color: var(--orange-dim); color: var(--orange); }

    .nav-toggle { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
    .nav-toggle span { display: block; width: 24px; height: 2px; background: var(--orange); border-radius: 2px; transition: var(--t); }

    /* ── HERO ───────────────────────────────────────── */
    #hero {
      min-height: 100vh; position: relative;
      display: flex; align-items: center; justify-content: center;
      text-align: center; overflow: hidden;
    }
    .hero-bg-img {
      position: absolute; inset: 0;
    }
    .hero-bg-img img {
      width: 100%; height: 100%; object-fit: cover;
      filter: brightness(.25) saturate(1.3);
    }
    .hero-overlay {
      position: absolute; inset: 0;
      background:
        radial-gradient(ellipse 70% 60% at 50% 40%, rgba(166,20,47,.18) 0%, transparent 65%),
        radial-gradient(ellipse 50% 50% at 80% 80%, rgba(217,120,35,.1) 0%, transparent 55%),
        linear-gradient(to bottom, rgba(9,1,38,.3) 0%, rgba(9,1,38,.7) 100%);
    }

    /* particles */
    .particles { position: absolute; inset: 0; pointer-events: none; }
    .particle {
      position: absolute; width: 2px; height: 2px;
      background: var(--orange); border-radius: 50%;
      animation: float-p linear infinite; opacity: 0;
    }
    @keyframes float-p {
      0%   { transform: translateY(100vh); opacity: 0; }
      10%  { opacity: .5; }
      90%  { opacity: .3; }
      100% { transform: translateY(-20px) translateX(20px); opacity: 0; }
    }

    .hero-content {
      position: relative; z-index: 2;
      max-width: 860px; padding: 130px 24px 90px;
    }
    .hero-logo-wrap {
      width: 150px; height: 150px; margin: 0 auto 36px;
      display: flex; align-items: center; justify-content: center;
    }
    .hero-logo-wrap img {
      width: 100%; height: 100%; object-fit: contain;
      filter: drop-shadow(0 0 30px rgba(217,120,35,.55));
      animation: glow-pulse 3s ease-in-out infinite alternate;
    }
    @keyframes glow-pulse {
      from { filter: drop-shadow(0 0 18px rgba(217,120,35,.35)); }
      to   { filter: drop-shadow(0 0 45px rgba(217,120,35,.75)); }
    }
    .hero-eyebrow {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: 1.1rem; color: var(--orange-dim);
      letter-spacing: .22em; margin-bottom: 14px;
    }
    .hero-title {
      font-family: 'Playfair Display', serif;
      font-size: clamp(3.2rem, 9vw, 6.5rem); font-weight: 700;
      letter-spacing: .15em; line-height: 1;
      background: linear-gradient(135deg, var(--orange-dim) 0%, var(--cream-2) 45%, var(--orange) 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
      margin-bottom: 8px;
    }
    .hero-subtitle {
      font-family: 'Cormorant Garamond', serif;
      font-size: clamp(1rem, 2.5vw, 1.4rem);
      color: var(--cream-dim); letter-spacing: .1em; margin-bottom: 24px;
    }
    .hero-desc {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: clamp(1rem, 2vw, 1.18rem); color: var(--text-dim);
      max-width: 600px; margin: 0 auto 44px;
    }
    .hero-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

    .hero-scroll {
      position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
      display: flex; flex-direction: column; align-items: center; gap: 7px;
      color: var(--orange-dim); font-family: 'Raleway', sans-serif; font-weight: 600;
      font-size: .58rem; letter-spacing: .2em; text-transform: uppercase;
      animation: bounce-s 2s ease-in-out infinite;
    }
    @keyframes bounce-s {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50%       { transform: translateX(-50%) translateY(8px); }
    }

    /* ── ABOUT ──────────────────────────────────────── */
    #about { background: var(--navy-2); }

    .about-grid {
      display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
    }
    .about-imgs {
      position: relative; height: 540px;
    }
    .about-img-main {
      position: absolute; top: 0; left: 0; width: 70%; height: 78%;
      border-radius: var(--r); overflow: hidden;
      box-shadow: 0 20px 60px rgba(0,0,0,.5);
    }
    .about-img-main img { height: 100%; }
    .about-img-accent {
      position: absolute; bottom: 0; right: 0; width: 55%; height: 52%;
      border-radius: var(--r); overflow: hidden; border: 3px solid var(--navy-2);
      box-shadow: 0 20px 60px rgba(0,0,0,.5);
    }
    .about-img-accent img { height: 100%; }
    .about-badge {
      position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
      width: 84px; height: 84px; border-radius: 50%;
      background: var(--navy-2); border: 2px solid var(--crimson);
      display: flex; align-items: center; justify-content: center; z-index: 3;
    }
    .about-badge img { width: 52px; height: 52px; object-fit: contain; }
    .about-badge i { font-size: 2rem; color: var(--crimson); }

    .about-text p { color: var(--text); margin-bottom: 14px; font-size: .95rem; }
    .about-text p:last-of-type { margin-bottom: 32px; }

    .about-stats {
      display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 36px;
    }
    .stat-card {
      background: var(--navy-3); border: 1px solid rgba(217,120,35,.15);
      border-radius: var(--r); padding: 22px; text-align: center; transition: var(--t);
    }
    .stat-card:hover { border-color: var(--orange-dim); }
    .stat-num { font-family: 'Playfair Display', serif; font-size: 2rem; color: var(--orange); line-height: 1; }
    .stat-label { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: .9rem; color: var(--text-dim); margin-top: 5px; }

    /* ── PHILOSOPHY ─────────────────────────────────── */
    #philosophy { background: var(--navy); }

    .phil-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }

    .phil-card {
      background: var(--navy-2); border: 1px solid rgba(217,120,35,.1);
      border-radius: var(--r); padding: 40px 28px; text-align: center;
      position: relative; overflow: hidden; transition: var(--t);
    }
    .phil-card::before {
      content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
      background: linear-gradient(90deg, transparent, var(--crimson), transparent);
      transform: scaleX(0); transition: transform var(--t);
    }
    .phil-card:hover { transform: translateY(-5px); border-color: var(--crimson-dim); }
    .phil-card:hover::before { transform: scaleX(1); }

    .phil-icon {
      width: 66px; height: 66px; margin: 0 auto 22px;
      background: rgba(166,20,47,.1); border: 1px solid var(--crimson-dim);
      border-radius: 50%; display: flex; align-items: center; justify-content: center;
    }
    .phil-icon i { font-size: 1.5rem; color: var(--crimson-2); }
    .phil-card h3 { font-size: 1.1rem; margin-bottom: 12px; color: var(--cream); }
    .phil-card p  { font-size: .88rem; color: var(--text-dim); }

    /* ── SERVICES ───────────────────────────────────── */
    #services { background: var(--navy-2); }

    .services-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 24px; }

    .svc-card {
      display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: start;
      background: var(--navy-3); border: 1px solid rgba(217,120,35,.1);
      border-radius: var(--r); padding: 28px; transition: var(--t);
    }
    .svc-card:hover { border-color: var(--orange-dim); background: var(--navy-2); }
    .svc-icon {
      width: 52px; height: 52px; background: rgba(217,120,35,.08);
      border: 1px solid var(--orange-dim); border-radius: var(--r);
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .svc-icon i { font-size: 1.3rem; color: var(--orange); }
    .svc-body h3 { font-size: 1rem; margin-bottom: 9px; color: var(--cream); }
    .svc-body p  { font-size: .87rem; color: var(--text-dim); }

    /* ── CEREMONY ───────────────────────────────────── */
    #ceremony {
      background: var(--navy); position: relative; overflow: hidden;
    }
    #ceremony::before {
      content: ''; position: absolute; top: -30%; left: 50%; transform: translateX(-50%);
      width: 700px; height: 700px;
      background: radial-gradient(circle, rgba(166,20,47,.08) 0%, transparent 65%);
      pointer-events: none;
    }
    .ceremony-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }

    .ceremony-img {
      height: 560px; border-radius: var(--r); overflow: hidden;
      box-shadow: 0 24px 60px rgba(0,0,0,.5);
      position: relative;
    }
    .ceremony-img img { height: 100%; object-fit: cover; object-position: top; }
    .ceremony-img-badge {
      position: absolute; bottom: 24px; left: 24px;
      background: rgba(9,1,38,.85); backdrop-filter: blur(8px);
      border: 1px solid var(--crimson-dim); border-radius: var(--r);
      padding: 14px 20px; display: flex; align-items: center; gap: 12px;
    }
    .ceremony-img-badge i { color: var(--crimson-2); font-size: 1.2rem; }
    .ceremony-img-badge span {
      font-family: 'Raleway', sans-serif; font-weight: 600; font-size: .75rem; color: var(--cream); letter-spacing: .08em;
    }

    .ceremony-steps { display: flex; flex-direction: column; gap: 28px; margin-top: 36px; }
    .step { display: flex; gap: 18px; align-items: flex-start; }
    .step-num {
      font-family: 'Playfair Display', serif; font-size: 1.8rem;
      color: rgba(217,120,35,.2); line-height: 1; flex-shrink: 0; width: 44px;
    }
    .step-body h4 { font-size: .98rem; margin-bottom: 5px; color: var(--orange); }
    .step-body p  { font-size: .87rem; color: var(--text-dim); }

    /* ── TEAM ───────────────────────────────────────── */
    #team { background: var(--navy-2); }

    .team-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }

    .team-card {
      background: var(--navy-3); border: 1px solid rgba(217,120,35,.1);
      border-radius: var(--r); overflow: hidden; transition: var(--t);
      text-align: center;
    }
    .team-card:hover { transform: translateY(-6px); border-color: var(--crimson-dim); }
    .team-photo { height: 320px; overflow: hidden; position: relative; }
    .team-photo img { height: 100%; object-fit: cover; object-position: top; transition: transform .5s ease; }
    .team-card:hover .team-photo img { transform: scale(1.04); }
    .team-info { padding: 24px; }
    .team-name { font-size: 1.05rem; color: var(--cream); margin-bottom: 6px; }
    .team-role {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: .95rem; color: var(--orange-dim);
    }
    .team-divider {
      width: 40px; height: 1px; background: var(--crimson-dim);
      margin: 12px auto; border-radius: 1px;
    }
    .team-desc { font-size: .83rem; color: var(--text-dim); }

    /* ── GALLERY ────────────────────────────────────── */
    #gallery { background: var(--navy); }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(4,1fr);
      grid-auto-rows: 220px;
      gap: 14px;
    }
    .g-item {
      border-radius: var(--r); overflow: hidden; cursor: pointer;
      position: relative; transition: var(--t);
    }
    .g-item:hover { transform: scale(1.02); z-index: 2; }
    .g-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
    .g-item:hover img { transform: scale(1.07); }
    .g-item.wide { grid-column: span 2; }
    .g-item.tall { grid-row: span 2; }
    .g-overlay {
      position: absolute; inset: 0;
      background: rgba(9,1,38,.0); transition: var(--t);
      display: flex; align-items: center; justify-content: center;
    }
    .g-overlay i { color: white; font-size: 1.5rem; opacity: 0; transition: var(--t); }
    .g-item:hover .g-overlay { background: rgba(9,1,38,.35); }
    .g-item:hover .g-overlay i { opacity: 1; }

    /* ── TESTIMONIALS ───────────────────────────────── */
    #testimonials { background: var(--navy-2); }

    .testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
    .testi-card {
      background: var(--navy-3); border: 1px solid rgba(217,120,35,.1);
      border-radius: var(--r); padding: 32px; position: relative;
    }
    .testi-card::before {
      content: '\201C'; font-family: 'Playfair Display', serif;
      font-size: 4rem; color: var(--crimson-dim); opacity: .4;
      position: absolute; top: 10px; left: 22px; line-height: 1;
    }
    .testi-stars { color: var(--orange); margin-bottom: 14px; font-size: .82rem; }
    .testi-text {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: 1.03rem; color: var(--text); margin-bottom: 22px; line-height: 1.8;
    }
    .testi-author { display: flex; align-items: center; gap: 12px; }
    .testi-av {
      width: 42px; height: 42px; border-radius: 50%;
      border: 1px dashed var(--orange-dim); overflow: hidden; flex-shrink: 0;
      display: flex; align-items: center; justify-content: center;
    }
    .testi-av img { width: 100%; height: 100%; object-fit: cover; }
    .testi-av i { color: var(--orange-dim); font-size: 1.2rem; }
    .testi-name { font-family: 'Raleway', sans-serif; font-weight: 600; font-size: .78rem; color: var(--cream); }
    .testi-role { font-size: .76rem; color: var(--text-dim); margin-top: 2px; }

    /* ── CONTACT ────────────────────────────────────── */
    #contact { background: var(--navy); }

    .contact-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 72px; align-items: start; }

    .contact-items { display: flex; flex-direction: column; gap: 16px; }
    .contact-item {
      display: flex; gap: 14px; align-items: flex-start;
      padding: 18px; background: var(--navy-2);
      border: 1px solid rgba(217,120,35,.1); border-radius: var(--r); transition: var(--t);
    }
    .contact-item:hover { border-color: var(--orange-dim); }
    .ci-icon {
      width: 42px; height: 42px; background: rgba(217,120,35,.08);
      border-radius: var(--r); display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .ci-icon i { color: var(--orange); font-size: .95rem; }
    .ci-label {
      font-family: 'Raleway', sans-serif; font-weight: 600; font-size: .66rem; letter-spacing: .12em;
      color: var(--orange-dim); text-transform: uppercase; margin-bottom: 3px;
    }
    .ci-val { font-family: 'Cormorant Garamond', serif; font-size: 1rem; color: var(--text); font-style: italic; }

    .social-row { display: flex; gap: 10px; margin-top: 24px; }
    .soc-btn {
      width: 42px; height: 42px; border: 1px solid var(--orange-dim);
      border-radius: var(--r); display: flex; align-items: center; justify-content: center;
      color: var(--orange-dim); transition: var(--t); font-size: .95rem;
    }
    .soc-btn:hover { background: rgba(217,120,35,.1); color: var(--orange); border-color: var(--orange); }

    .map-ph {
      margin-top: 28px; height: 190px; border-radius: var(--r);
      background: var(--navy-2); border: 1px dashed var(--orange-dim);
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      gap: 10px; color: var(--orange-dim);
    }
    .map-ph i { font-size: 2rem; }
    .map-ph span { font-family: 'Raleway', sans-serif; font-weight: 600; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }

    .contact-form {
      background: var(--navy-2); border: 1px solid rgba(217,120,35,.12);
      border-radius: var(--r); padding: 42px;
    }
    .contact-form h3 { font-size: 1.25rem; margin-bottom: 28px; color: var(--cream); }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .form-group { display: flex; flex-direction: column; gap: 7px; margin-bottom: 18px; }
    .form-group label {
      font-family: 'Raleway', sans-serif; font-weight: 600; font-size: .64rem;
      letter-spacing: .12em; text-transform: uppercase; color: var(--orange-dim);
    }
    .form-group input,
    .form-group select,
    .form-group textarea {
      background: var(--navy-3); border: 1px solid rgba(217,120,35,.15);
      border-radius: var(--r); padding: 11px 14px;
      color: var(--cream); font-family: 'Cormorant Garamond', serif;
      font-size: 1rem; outline: none; transition: var(--t);
    }
    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus { border-color: var(--orange-dim); }
    .form-group textarea { resize: vertical; min-height: 105px; }
    .form-group select option { background: var(--navy-3); }

    /* ── FOOTER ─────────────────────────────────────── */
    footer {
      background: var(--navy-2);
      border-top: 1px solid rgba(217,120,35,.1);
      padding: 60px 0 28px;
    }
    .footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.2fr; gap: 44px; margin-bottom: 44px; }
    .footer-brand p {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: .98rem; color: var(--text-dim); max-width: 270px; line-height: 1.6;
    }
    .footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
    .footer-logo img { width: 38px; height: 38px; object-fit: contain; }

    .footer-col h4 {
      font-family: 'Raleway', sans-serif; font-weight: 700; font-size: .7rem; letter-spacing: .14em;
      text-transform: uppercase; color: var(--orange-dim); margin-bottom: 18px;
    }
    .footer-col ul li { margin-bottom: 9px; }
    .footer-col ul li a {
      font-family: 'Cormorant Garamond', serif; font-size: .95rem;
      color: var(--text-dim); transition: color var(--t);
    }
    .footer-col ul li a:hover { color: var(--orange); }

    .footer-newsletter p {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: .95rem; color: var(--text-dim); margin-bottom: 14px;
    }
    .footer-form {
      display: flex; border: 1px solid rgba(217,120,35,.2);
      border-radius: var(--r); overflow: hidden;
    }
    .footer-form input {
      flex: 1; background: var(--navy-3); border: none;
      padding: 10px 13px; color: var(--cream);
      font-family: 'Cormorant Garamond', serif; font-size: .95rem; outline: none;
    }
    .footer-form button {
      background: var(--orange); border: none; padding: 10px 14px;
      color: var(--navy); cursor: pointer; transition: var(--t);
    }
    .footer-form button:hover { background: var(--orange-2); }

    .footer-bottom {
      border-top: 1px solid rgba(217,120,35,.08);
      padding-top: 22px; display: flex;
      justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px;
    }
    .footer-copy { font-size: .78rem; color: var(--text-dim); font-family: 'Cormorant Garamond', serif; }

    /* ── RESPONSIVE ─────────────────────────────────── */
    @media (max-width: 900px) {
      .nav-links { display: none; }
      .nav-toggle { display: flex; }
      .about-grid, .ceremony-inner, .contact-grid { grid-template-columns: 1fr; gap: 40px; }
      .phil-grid, .testi-grid, .team-grid { grid-template-columns: 1fr 1fr; }
      .services-grid { grid-template-columns: 1fr; }
      .gallery-grid { grid-template-columns: repeat(2,1fr); }
      .g-item.wide { grid-column: span 1; }
      .footer-grid { grid-template-columns: 1fr 1fr; }
      .about-imgs { height: 420px; }
      .ceremony-img { height: 420px; }
      section { padding: 70px 0; }
    }
    @media (max-width: 580px) {
      section { padding: 56px 0; }
      .section-header { margin-bottom: 36px; }

      /* nav */
      .nav-logo-sub.active { display: block !important; font-size: .6rem; letter-spacing: .12em; }
      #navbar { padding: 0 16px; }

      /* hero */
      .hero-content { padding: 110px 20px 70px; }
      .hero-logo-wrap { width: 110px; height: 110px; margin-bottom: 24px; }
      .hero-actions { flex-direction: column; align-items: center; }
      .hero-actions .btn { width: 100%; max-width: 280px; justify-content: center; }

      /* about */
      .about-imgs { height: 320px; }
      .about-img-main { width: 75%; height: 72%; }
      .about-img-accent { width: 60%; height: 50%; }
      .about-stats { grid-template-columns: 1fr 1fr; gap: 14px; }

      /* grids */
      .phil-grid, .testi-grid, .team-grid { grid-template-columns: 1fr; }
      .services-grid { grid-template-columns: 1fr; }
      .gallery-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
      .footer-grid { grid-template-columns: 1fr; }
      .form-row { grid-template-columns: 1fr; }

      /* видимость разделов на телефонах управляется из админки (см. динамический <style> в index.php) */

      /* typography scale-up */
      .section-title { font-size: 1.9rem; }
      .section-lead { font-size: 1.05rem; }
      .hero-eyebrow { font-size: 1rem; }
      .hero-subtitle { font-size: 1.15rem; }
      .hero-desc { font-size: 1.05rem; }
      .phil-card h3, .svc-body h3, .step-body h4, .testi-text { font-size: 1rem; }
      .phil-card p, .svc-body p, .step-body p, .about-text p { font-size: .95rem; }
      .stat-num { font-size: 1.7rem; }
      .stat-label { font-size: .9rem; }
      .btn { font-size: .85rem; padding: 14px 28px; }
      .footer-col p, .footer-col li, .footer-copy { font-size: .9rem; }
      .ci-label { font-size: .85rem; }
      .ci-val { font-size: .9rem; }
      .form-group label { font-size: .88rem; }
      .testi-name { font-size: 1rem; }
      .testi-loc { font-size: .88rem; }
      .section-tag { font-size: .78rem; }
      .nav-logo-text { font-size: 1.1rem; }
      .nav-logo-sub.active { font-size: .8rem !important; }

      /* ceremony */
      .ceremony-img { height: 280px; }
      .ceremony-img-badge { bottom: 14px; left: 14px; padding: 10px 14px; }
      .ceremony-inner { gap: 32px; }

      /* contact info items */
      .contact-items { gap: 12px; }

      /* footer */
      .footer-bottom { flex-direction: column; text-align: center; }

      /* band */
      .band-inner { flex-direction: column; text-align: center; gap: 12px; }
    }

    @media (max-width: 400px) {
      .hero-title { letter-spacing: .08em; }
      .gallery-grid { grid-template-columns: 1fr; }
      .lang-btn { padding: 3px 6px; font-size: .6rem; }
    }
    /* ── ВЫЕЗЖАЮЩЕЕ МОБИЛЬНОЕ МЕНЮ ──────────────────── */
    body.nav-mobile-open { overflow: hidden; }

    /* логотип, переключатель языка и крестик — поверх оверлея меню */
    .nav-mobile-open .nav-logo,
    .nav-mobile-open .nav-right { position: relative; z-index: 1001; }

    /* гамбургер → крестик */
    .nav-mobile-open .nav-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
    .nav-mobile-open .nav-toggle span:nth-child(2) { opacity: 0; }
    .nav-mobile-open .nav-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

    .nav-mobile-open .nav-links {
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      position: fixed; inset: 0;
      min-height: 100vh; min-height: 100dvh;
      gap: 0; padding: 96px 32px 48px;
      background:
        radial-gradient(ellipse 90% 45% at 50% 0%, rgba(166,20,47,.18), transparent 62%),
        linear-gradient(165deg, var(--navy) 0%, var(--navy-2) 55%, var(--navy-3) 100%);
      z-index: 998;
      animation: menu-fade .4s cubic-bezier(.4,0,.2,1);
    }
    @keyframes menu-fade { from { opacity: 0; } to { opacity: 1; } }

    /* декоративная линия сверху */
    .nav-mobile-open .nav-links::before {
      content: ''; width: 44px; height: 2px; margin-bottom: 28px; flex: none;
      background: linear-gradient(90deg, transparent, var(--orange), transparent);
    }

    .nav-mobile-open .nav-links li {
      width: 100%; max-width: 300px; text-align: center;
      border-bottom: 1px solid rgba(217,120,35,.14);
      opacity: 0; animation: menu-item .45s ease forwards;
    }
    .nav-mobile-open .nav-links li:last-child { border-bottom: none; }
    .nav-mobile-open .nav-links li:nth-child(1) { animation-delay: .08s; }
    .nav-mobile-open .nav-links li:nth-child(2) { animation-delay: .14s; }
    .nav-mobile-open .nav-links li:nth-child(3) { animation-delay: .20s; }
    .nav-mobile-open .nav-links li:nth-child(4) { animation-delay: .26s; }
    .nav-mobile-open .nav-links li:nth-child(5) { animation-delay: .32s; }
    @keyframes menu-item { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

    .nav-mobile-open .nav-links a {
      display: block; padding: 24px 0;
      font-family: 'Playfair Display', serif; font-weight: 600;
      font-size: 1.55rem; letter-spacing: .14em; text-transform: uppercase;
      color: var(--cream); transition: color .25s ease;
    }
    .nav-mobile-open .nav-links a::after { display: none; }
    .nav-mobile-open .nav-links a:hover,
    .nav-mobile-open .nav-links a:active { color: var(--orange); }

    /* ── LANG VISIBILITY ────────────────────────────── */
    [data-lang]         { display: none; }
    [data-lang].active  { display: block; }
    [data-lang-i]       { display: none; }
    [data-lang-i].active { display: inline; }

    /* ── CRIMSON BAND ───────────────────────────────── */
    .crimson-band {
      background: var(--crimson);
      padding: 20px 0;
    }
    .band-inner {
      max-width: 1200px; margin: 0 auto; padding: 0 24px;
      display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px;
    }
    .band-text {
      font-family: 'Cormorant Garamond', serif; font-style: italic;
      font-size: 1.05rem; color: rgba(255,255,255,.9);
    }
    .band-cta {
      font-family: 'Raleway', sans-serif; font-weight: 600; font-size: .78rem; letter-spacing: .1em;
      color: var(--cream-2); border-bottom: 1px solid rgba(242,194,153,.4);
      padding-bottom: 2px; transition: var(--t);
    }
    .band-cta:hover { color: #fff; border-color: #fff; }

    /* ── ФОРМА ОТЗЫВА ───────────────────────────────── */
    .review-cta-wrap { text-align: center; margin-top: 44px; }
    .review-form {
      display: none; max-width: 640px; margin: 30px auto 0;
      background: var(--navy-3); border: 1px solid rgba(217,120,35,.14);
      border-radius: var(--r); padding: 34px;
    }
    .review-form.open { display: block; }
    .review-form h3 {
      font-family: 'Playfair Display', serif;
      font-size: 1.2rem; color: var(--cream); margin-bottom: 22px;
    }
    .review-form select option { background: var(--navy-3); }
