﻿:root{
      --blush:#F7EFE5;
      --blush-card:rgba(255,253,248,0.9);
      --gold:#A97D32;
      --gold-light:#DCC48E;
      --sage:#667F63;
      --sage-light:#C5D7BF;
      --text-dark:#3F2E24;
      --text-mid:#5D4B40;
      --text-light:#7E716A;
      --shadow:0 8px 28px rgba(74,55,40,0.11);
      --nav-h:72px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;overflow-x:hidden}
    body{
      margin:0;
      background:
        linear-gradient(90deg, rgba(91,67,46,.006) 1px, transparent 1px),
        linear-gradient(0deg, rgba(91,67,46,.005) 1px, transparent 1px),
        radial-gradient(ellipse at 15% 18%, rgba(232,196,168,.1), transparent 34%),
        radial-gradient(ellipse at 88% 42%, rgba(196,216,180,.1), transparent 36%),
        #F7EFE5;
      background-size:88px 88px, 96px 96px, auto, auto, auto;
      color:var(--text-mid);
      font-family:"Jost", system-ui, sans-serif;
      font-size:16px;
      font-weight:300;
      line-height:1.9;
      overflow-x:hidden;
    }
    body.menu-open{overflow:hidden}
    a{color:inherit;text-decoration:none;transition:color .2s ease}
    button{font:inherit;color:inherit}
    .page{width:min(1120px, calc(100% - 32px));margin-inline:auto}
    main{
      position:relative;
      overflow:hidden;
      isolation:isolate;
    }
    main::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 4% 4%, rgba(169,125,50,.58) 0 1.8px, transparent 2.7px),
        radial-gradient(circle at 12% 9%, rgba(102,127,99,.48) 0 3px, transparent 4px),
        radial-gradient(circle at 24% 5%, rgba(169,125,50,.44) 0 2.2px, transparent 3.2px),
        radial-gradient(circle at 42% 12%, rgba(102,127,99,.34) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 72% 7%, rgba(169,125,50,.48) 0 2px, transparent 3px),
        radial-gradient(circle at 93% 5%, rgba(102,127,99,.52) 0 3.2px, transparent 4.3px),
        radial-gradient(circle at 8% 25%, rgba(169,125,50,.38) 0 3.5px, transparent 4.7px),
        radial-gradient(circle at 16% 35%, rgba(102,127,99,.33) 0 1.7px, transparent 2.8px),
        radial-gradient(circle at 91% 30%, rgba(102,127,99,.42) 0 2.4px, transparent 3.5px),
        radial-gradient(circle at 96% 43%, rgba(169,125,50,.38) 0 1.8px, transparent 2.9px),
        radial-gradient(circle at 5% 52%, rgba(102,127,99,.44) 0 2.8px, transparent 3.9px),
        radial-gradient(circle at 18% 60%, rgba(169,125,50,.34) 0 1.6px, transparent 2.6px),
        radial-gradient(circle at 82% 55%, rgba(169,125,50,.38) 0 2.3px, transparent 3.4px),
        radial-gradient(circle at 95% 62%, rgba(102,127,99,.4) 0 3px, transparent 4.2px),
        radial-gradient(circle at 10% 76%, rgba(169,125,50,.42) 0 2px, transparent 3.2px),
        radial-gradient(circle at 24% 83%, rgba(102,127,99,.34) 0 1.7px, transparent 2.7px),
        radial-gradient(circle at 89% 77%, rgba(102,127,99,.48) 0 2.6px, transparent 3.8px),
        radial-gradient(circle at 8% 94%, rgba(102,127,99,.42) 0 3px, transparent 4px),
        radial-gradient(circle at 32% 90%, rgba(169,125,50,.38) 0 1.7px, transparent 2.7px),
        radial-gradient(circle at 61% 94%, rgba(102,127,99,.36) 0 2.3px, transparent 3.4px),
        radial-gradient(circle at 84% 92%, rgba(169,125,50,.44) 0 2.8px, transparent 3.9px),
        radial-gradient(circle at 15% 22%, rgba(255,215,0,.42) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 36% 31%, rgba(255,215,0,.34) 0 2.1px, transparent 3.2px),
        radial-gradient(circle at 57% 18%, rgba(255,215,0,.32) 0 1.3px, transparent 2.3px),
        radial-gradient(circle at 76% 38%, rgba(255,215,0,.4) 0 1.8px, transparent 2.9px),
        radial-gradient(circle at 44% 63%, rgba(255,215,0,.3) 0 1.6px, transparent 2.7px),
        radial-gradient(circle at 70% 82%, rgba(255,215,0,.36) 0 2.2px, transparent 3.4px);
      opacity:.9;
    }
    main::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 2% 14%, rgba(102,127,99,.34) 0 1.7px, transparent 2.7px),
        radial-gradient(circle at 9% 18%, rgba(169,125,50,.36) 0 2.2px, transparent 3.3px),
        radial-gradient(circle at 21% 17%, rgba(102,127,99,.3) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 79% 18%, rgba(169,125,50,.34) 0 1.7px, transparent 2.7px),
        radial-gradient(circle at 88% 14%, rgba(102,127,99,.36) 0 2.5px, transparent 3.6px),
        radial-gradient(circle at 98% 18%, rgba(169,125,50,.32) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 12% 41%, rgba(169,125,50,.32) 0 1.6px, transparent 2.6px),
        radial-gradient(circle at 3% 43%, rgba(102,127,99,.34) 0 2.2px, transparent 3.4px),
        radial-gradient(circle at 28% 48%, rgba(169,125,50,.28) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 72% 44%, rgba(102,127,99,.3) 0 1.8px, transparent 2.8px),
        radial-gradient(circle at 88% 48%, rgba(169,125,50,.34) 0 2.3px, transparent 3.4px),
        radial-gradient(circle at 97% 39%, rgba(102,127,99,.32) 0 1.6px, transparent 2.6px),
        radial-gradient(circle at 4% 67%, rgba(169,125,50,.34) 0 1.6px, transparent 2.8px),
        radial-gradient(circle at 18% 70%, rgba(102,127,99,.32) 0 2.3px, transparent 3.4px),
        radial-gradient(circle at 31% 76%, rgba(169,125,50,.28) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 69% 71%, rgba(102,127,99,.3) 0 1.9px, transparent 3px),
        radial-gradient(circle at 81% 68%, rgba(169,125,50,.36) 0 2px, transparent 3.1px),
        radial-gradient(circle at 96% 72%, rgba(102,127,99,.34) 0 2.5px, transparent 3.7px),
        radial-gradient(circle at 17% 97%, rgba(169,125,50,.32) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 47% 88%, rgba(102,127,99,.28) 0 1.6px, transparent 2.6px),
        radial-gradient(circle at 73% 98%, rgba(169,125,50,.34) 0 2px, transparent 3.1px),
        radial-gradient(circle at 96% 96%, rgba(102,127,99,.32) 0 1.8px, transparent 2.9px),
        radial-gradient(circle at 6% 57%, rgba(255,215,0,.36) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 25% 29%, rgba(255,215,0,.3) 0 1.9px, transparent 3px),
        radial-gradient(circle at 52% 42%, rgba(255,215,0,.34) 0 1.3px, transparent 2.3px),
        radial-gradient(circle at 64% 68%, rgba(255,215,0,.32) 0 2px, transparent 3.1px),
        radial-gradient(circle at 91% 58%, rgba(255,215,0,.4) 0 1.7px, transparent 2.8px);
      opacity:.78;
    }

    .site-nav{
      position:fixed;
      inset:0 0 auto;
      height:var(--nav-h);
      z-index:50;
      background:rgba(247,239,229,0);
      transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
      border-bottom:1px solid transparent;
    }
    .site-nav.scrolled,
    .site-nav.menu-active{
      background:rgba(247,239,229,.92);
      backdrop-filter:blur(12px);
      border-color:rgba(169,125,50,.2);
    }
    .nav-inner{
      height:100%;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .logo{
      font-family:"Great Vibes", cursive;
      font-size:40px;
      line-height:1;
      color:var(--gold);
      white-space:nowrap;
    }
    .nav-links{
      display:flex;
      align-items:center;
      gap:24px;
      font-size:11px;
      font-weight:500;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--text-mid);
    }
    .nav-links a{transition:color .2s ease}
    .nav-links a:hover{color:var(--gold)}
    .language-switch{
      display:inline-flex;
      align-items:center;
      gap:6px;
      color:var(--gold);
      letter-spacing:.12em;
      white-space:nowrap;
    }
    .language-switch button{
      border:0;
      background:transparent;
      padding:0;
      color:inherit;
      font:inherit;
      letter-spacing:inherit;
      text-transform:uppercase;
      cursor:pointer;
      opacity:.46;
      transition:opacity .2s ease, color .2s ease;
    }
    .language-switch button.active{
      opacity:1;
      color:var(--gold);
    }
    .language-switch .lang-divider{opacity:.42}
    .nav-links .language-switch{
      font-weight:400;
    }
    .menu-toggle{
      display:none;
      width:44px;
      height:44px;
      border:0;
      background:transparent;
      padding:0;
      color:var(--gold);
      cursor:pointer;
    }
    .menu-toggle span{
      display:block;
      width:24px;
      height:1px;
      margin:7px auto;
      background:currentColor;
      transform-origin:center;
      transition:transform .25s ease, opacity .25s ease;
    }
    .menu-active .menu-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
    .menu-active .menu-toggle span:nth-child(2){opacity:0}
    .menu-active .menu-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

    .hero{
      position:relative;
      min-height:calc(100svh + 90px);
      display:grid;
      place-items:center;
      padding:calc(var(--nav-h) + 30px) 0 148px;
      text-align:center;
      background:
        radial-gradient(ellipse at 24% 64%, rgba(196,216,180,0.18) 0%, transparent 48%),
        radial-gradient(ellipse at 76% 42%, rgba(235,197,176,0.16) 0%, transparent 46%),
        #F7EFE5;
      overflow:visible;
    }
    .hero::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 5% 18%, rgba(169,125,50,.32) 0 2px, transparent 2.7px),
        radial-gradient(circle at 10% 72%, rgba(102,127,99,.22) 0 4.6px, transparent 5.6px),
        radial-gradient(circle at 22% 43%, rgba(169,125,50,.18) 0 2.6px, transparent 3.7px),
        radial-gradient(circle at 31% 16%, rgba(102,127,99,.22) 0 1.8px, transparent 2.8px),
        radial-gradient(circle at 83% 36%, rgba(169,125,50,.22) 0 2px, transparent 2.8px),
        radial-gradient(circle at 94% 65%, rgba(102,127,99,.24) 0 3px, transparent 3.9px),
        radial-gradient(circle at 3% 32%, rgba(102,127,99,.28) 0 2.1px, transparent 3.2px),
        radial-gradient(circle at 14% 50%, rgba(169,125,50,.24) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 36% 78%, rgba(102,127,99,.24) 0 1.8px, transparent 2.8px),
        radial-gradient(circle at 66% 17%, rgba(169,125,50,.24) 0 1.7px, transparent 2.7px),
        radial-gradient(circle at 88% 20%, rgba(102,127,99,.26) 0 2.4px, transparent 3.5px),
        radial-gradient(circle at 98% 82%, rgba(169,125,50,.26) 0 1.6px, transparent 2.7px);
      opacity:.76;
    }
    .hero-content{
      position:relative;
      z-index:2;
      width:min(780px, calc(100% - 32px));
      transform:translateY(-22px);
    }
    .couple-line{
      display:block;
      width:168px;
      height:auto;
      margin:0 auto 20px;
      opacity:.86;
      mix-blend-mode:multiply;
    }
    .save-date{
      margin:0 0 10px;
      font-size:22px;
      font-weight:300;
      letter-spacing:.08em;
      color:var(--gold);
    }
    .names{
      margin:0;
      font-family:"Great Vibes", cursive;
      font-size:clamp(76px, 12vw, 156px);
      font-weight:400;
      line-height:.82;
      color:var(--gold);
    }
    .date{
      margin:42px 0 6px;
      font-family:"Jost", system-ui, sans-serif;
      font-size:15px;
      font-weight:400;
      letter-spacing:.2em;
      text-transform:uppercase;
      color:var(--text-dark);
    }
    .date strong{
      margin-inline:18px;
      font-family:"Jost", system-ui, sans-serif;
      font-size:30px;
      font-weight:600;
      color:var(--gold);
      letter-spacing:.08em;
      font-variant-numeric:lining-nums tabular-nums;
    }
    .venue{
      margin:0 0 30px;
      font-family:"Cormorant Garamond", serif;
      font-size:22px;
      color:var(--text-mid);
    }
    .hero-actions,
    .contact-actions{
      display:flex;
      justify-content:center;
      align-items:center;
      flex-wrap:wrap;
      gap:18px;
    }
    .btn{
      min-width:190px;
      min-height:48px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:13px 26px;
      border:1px solid var(--gold);
      border-radius:2px;
      font-size:10px;
      font-weight:400;
      letter-spacing:.2em;
      text-transform:uppercase;
      transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, box-shadow .25s ease;
    }
    .btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(74,55,40,.1)}
    .btn-primary{background:var(--gold);border-color:var(--gold);color:#fff;padding:14px 36px}
    .btn-secondary{background:rgba(255,253,248,.36);color:var(--gold);padding:14px 36px;border-width:1.5px}

    .botanical{
      position:absolute;
      pointer-events:none;
      color:var(--sage);
      z-index:1;
    }
    .botanical svg{display:block;width:100%;height:auto;overflow:visible}
    .botanical-img{
      position:absolute;
      display:block;
      max-width:none;
      pointer-events:none;
      user-select:none;
      mix-blend-mode:multiply;
      filter:saturate(.88) contrast(1.02);
      z-index:1;
    }
    .ribbon{
      position:absolute;
      display:block;
      max-width:none;
      pointer-events:none;
      mix-blend-mode:multiply;
      user-select:none;
    }
    .hero-ribbon{
      z-index:1;
      width:min(1480px, 112vw);
      left:50%;
      top:45%;
      opacity:.8;
      filter:blur(.55px) saturate(.78);
      transform:translate(-50%, -50%) rotate(30deg);
    }
    .color-cloud{
      position:absolute;
      border-radius:50%;
      filter:blur(58px);
      mix-blend-mode:multiply;
      pointer-events:none;
      z-index:0;
    }
    .hero-cloud-left{width:320px;height:230px;background:#D4E8C2;opacity:.13;bottom:-56px;left:-80px}
    .hero-cloud-right{width:300px;height:220px;background:#F2C4B0;opacity:.11;bottom:-50px;right:-70px}
    .countdown-cloud{width:410px;height:160px;background:#C8DEB8;opacity:.13;top:54%;left:-140px;transform:translateY(-50%)}
    .program-cloud-left{width:290px;height:220px;background:#E8C4A8;opacity:.11;top:4px;left:-120px}
    .program-cloud-right{width:280px;height:220px;background:#B8D4C0;opacity:.12;bottom:4px;right:-120px}
    .location-cloud{width:380px;height:250px;background:#F0C8B0;opacity:.13;top:54%;right:-160px;transform:translateY(-50%)}
    .confirm-cloud{width:350px;height:230px;background:#C4D8B4;opacity:.105;bottom:-70px;left:-140px}
    .confirm-section .color-cloud{filter:none}
    .story-cloud{width:400px;height:270px;background:#EEC8A8;opacity:.12;top:-34px;right:-150px}
    .long-cloud{
      position:absolute;
      pointer-events:none;
      z-index:0;
    }
    .story-cloud-sage{
      width:500px;
      height:400px;
      top:-100px;
      right:-150px;
      background:radial-gradient(ellipse, rgba(200,220,185,.22) 0%, transparent 70%);
    }
    .story-cloud-peach{
      width:400px;
      height:350px;
      bottom:12px;
      left:-100px;
      background:radial-gradient(ellipse, rgba(240,200,176,.18) 0%, transparent 70%);
    }
    .people-cloud-gold{
      width:450px;
      height:100px;
      top:50px;
      right:-80px;
      background:radial-gradient(ellipse, rgba(201,168,76,.08) 0%, transparent 70%);
    }
    .hero-botanical-img{
      width:min(420px, 52vw);
      left:-74px;
      top:0px;
      opacity:.8;
      /* transform:rotate(10deg); */
    }
    .hero-botanical-bottom{
      width:min(520px, 42vw);
      right:-118px;
      bottom:58px;
      opacity:.8;
      transform:rotate(-18deg);
      transform-origin:center;
    }
    .hero-bottom-botanical-img{
      width:min(470px, 42vw);
      right:-118px;
      bottom:96px;
      opacity:.52;
      transform:rotate(-22deg);
      transform-origin:center;
    }
    .section-decor-img{
      position:absolute;
      display:block;
      max-width:none;
      pointer-events:none;
      user-select:none;
      mix-blend-mode:multiply;
      filter:saturate(.9) contrast(1.03);
      z-index:0;
    }
    .long-botanical{
      position:absolute;
      display:block;
      max-width:none;
      pointer-events:none;
      user-select:none;
      mix-blend-mode:multiply;
      filter:saturate(.92) contrast(1.02);
      z-index:0;
    }
    .gallery-botanical-left{
      top:46px;
      left:-72px;
      width:170px;
      opacity:.0;
      transform:rotate(-12deg);
    }
    .gallery-botanical-right{
      right:-70px;
      bottom:56px;
      width:220px;
      opacity:.0;
      transform:rotate(8deg);
    }
    .decor-program-top{
      width:118px;
      left:50%;
      top:-50px;
      opacity:.8;
      transform:translateX(-50%);
    }
    .decor-program-left{
      width:390px;
      left:-280px;
      top:82px;
      opacity:.24;
      transform:rotate(-11deg);
    }
    .decor-confirm-left{
      width:560px;
      left:-162px;
      top:-132px;
      opacity:.24;
      transform:rotate(21deg);
      transform-origin:center;
    }
    .decor-confirm-right{
      width:440px;
      right:-20px;
      top:42px;
      opacity:.16;
      transform:rotate(5deg);
      transform-origin:center;
    }
    .decor-story-right{
      width:460px;
      right:64px;
      top:auto;
      bottom:12px;
      opacity:.4;
      transform:rotate(-2deg);
      transform-origin:center;
      z-index:0;
    }
    .hero-branch{
      display:none;
      width:clamp(145px, 13vw, 205px);
      top:38%;
      opacity:.18;
      animation:sway 8s ease-in-out infinite;
      transform-origin:bottom center;
    }
    .hero-branch.left{left:34px;transform:rotate(-21deg)}
    .hero-branch.right{right:26px;top:43%;transform:scaleX(-1) rotate(-13deg);animation-delay:-2.5s}
    @keyframes sway{
      0%,100%{rotate:0deg}
      50%{rotate:2deg}
    }

    section{
      position:relative;
      padding:62px 0;
      overflow:visible;
      isolation:isolate;
      scroll-margin-top:calc(var(--nav-h) + 18px);
    }
    #countdown{padding-bottom:38px}
    #program{padding-top:38px}
    section::before{
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 3% 8%, rgba(169,125,50,.52) 0 1.6px, transparent 2.5px),
        radial-gradient(circle at 9% 15%, rgba(102,127,99,.42) 0 2.8px, transparent 3.8px),
        radial-gradient(circle at 17% 5%, rgba(169,125,50,.34) 0 2.1px, transparent 3.1px),
        radial-gradient(circle at 92% 7%, rgba(102,127,99,.44) 0 2.4px, transparent 3.5px),
        radial-gradient(circle at 98% 22%, rgba(169,125,50,.42) 0 1.7px, transparent 2.8px),
        radial-gradient(circle at 84% 17%, rgba(102,127,99,.3) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 5% 88%, rgba(102,127,99,.4) 0 2.6px, transparent 3.8px),
        radial-gradient(circle at 14% 94%, rgba(169,125,50,.34) 0 1.7px, transparent 2.7px),
        radial-gradient(circle at 91% 91%, rgba(169,125,50,.48) 0 1.7px, transparent 2.8px),
        radial-gradient(circle at 98% 82%, rgba(102,127,99,.38) 0 2.5px, transparent 3.7px),
        radial-gradient(circle at 22% 24%, rgba(255,215,0,.38) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 35% 72%, rgba(255,215,0,.34) 0 1.8px, transparent 2.9px),
        radial-gradient(circle at 67% 14%, rgba(255,215,0,.32) 0 1.5px, transparent 2.5px),
        radial-gradient(circle at 86% 64%, rgba(255,215,0,.36) 0 2.1px, transparent 3.2px);
      opacity:.82;
    }
    section::after{
      content:"";
      position:absolute;
      inset:0;
      z-index:0;
      pointer-events:none;
      background:
        radial-gradient(circle at 2% 28%, rgba(169,125,50,.34) 0 1.4px, transparent 2.5px),
        radial-gradient(circle at 12% 35%, rgba(102,127,99,.3) 0 1.9px, transparent 3px),
        radial-gradient(circle at 20% 12%, rgba(102,127,99,.26) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 88% 30%, rgba(102,127,99,.32) 0 2px, transparent 3.1px),
        radial-gradient(circle at 96% 38%, rgba(169,125,50,.34) 0 1.5px, transparent 2.6px),
        radial-gradient(circle at 82% 12%, rgba(169,125,50,.28) 0 1.4px, transparent 2.4px),
        radial-gradient(circle at 8% 72%, rgba(169,125,50,.32) 0 1.7px, transparent 2.8px),
        radial-gradient(circle at 20% 84%, rgba(102,127,99,.28) 0 2px, transparent 3.1px),
        radial-gradient(circle at 78% 78%, rgba(102,127,99,.3) 0 1.5px, transparent 2.6px),
        radial-gradient(circle at 95% 72%, rgba(169,125,50,.36) 0 1.8px, transparent 2.9px),
        radial-gradient(circle at 28% 46%, rgba(255,215,0,.3) 0 1.3px, transparent 2.3px),
        radial-gradient(circle at 48% 22%, rgba(255,215,0,.34) 0 1.7px, transparent 2.8px),
        radial-gradient(circle at 62% 58%, rgba(255,215,0,.32) 0 1.5px, transparent 2.6px),
        radial-gradient(circle at 90% 18%, rgba(255,215,0,.38) 0 1.9px, transparent 3px);
      opacity:.72;
    }
    .section-title{
      position:relative;
      z-index:1;
      margin:0 0 8px;
      text-align:center;
      font-family:"Cormorant Garamond", serif;
      font-size:38px;
      font-style:italic;
      font-weight:400;
      letter-spacing:.05em;
      line-height:1.15;
      color:#A77A2E;
    }
    .title-ornament{
      position:relative;
      z-index:1;
      display:flex;
      justify-content:center;
      margin:8px auto 26px;
    }
    .reveal{
      opacity:0;
      transform:translateY(20px);
      transition:opacity 600ms ease-out, transform 600ms ease-out;
    }
    .reveal.visible{
      opacity:1;
      transform:none;
    }

    .countdown-card{
      position:relative;
      z-index:1;
      width:min(760px, 100%);
      margin:auto;
      padding:38px 54px;
      background:rgba(255,253,250,0.7);
      backdrop-filter:blur(6px);
      border:1px solid rgba(201,168,76,0.15);
      box-shadow:0 12px 32px rgba(74,55,40,.08);
      overflow:hidden;
    }
    .countdown-label{
      position:relative;
      z-index:1;
      margin:0 0 26px;
      text-align:center;
      font-family:"Cormorant Garamond", serif;
      font-size:34px;
      font-style:italic;
      color:#A77A2E;
    }
    .countdown-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:repeat(4, 1fr);
      gap:0;
    }
    .countdown-item{
      text-align:center;
      border-right:1px solid #F0E8E2;
      perspective:700px;
    }
    .countdown-item:last-child{border-right:0}
    .countdown-item strong{
      display:block;
      font-family:"Cormorant Garamond", serif;
      font-size:48px;
      font-weight:300;
      line-height:1;
      color:#3B2A21;
      transform-origin:center;
      backface-visibility:hidden;
      will-change:transform, opacity;
    }
    .countdown-item strong.flip{animation:flip .52s cubic-bezier(.2,.7,.2,1)}
    .countdown-item span{
      display:block;
      margin-top:8px;
      font-size:9px;
      font-weight:500;
      letter-spacing:.2em;
      text-transform:uppercase;
      color:#76685F;
    }
    @keyframes flip{
      0%{transform:rotateX(0deg) translateY(0);opacity:1}
      42%{transform:rotateX(78deg) translateY(-2px);opacity:.55}
      100%{transform:rotateX(0deg) translateY(0);opacity:1}
    }

    .program-title-wrap{
      position:relative;
      z-index:1;
      width:min(760px, 100%);
      margin:auto;
    }
    .timeline{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      gap:28px;
      width:min(860px, 100%);
      margin:32px auto 0;
      padding:18px 24px 20px;
      background:linear-gradient(180deg, rgba(255,253,248,.28), rgba(255,250,244,.12));
      border:1px solid rgba(201,168,76,.08);
      box-shadow:0 10px 30px rgba(74,55,40,.035);
    }
    .timeline::before{
      content:"";
      position:absolute;
      left:10%;
      right:10%;
      top:46px;
      height:1px;
      background:linear-gradient(90deg, rgba(169,125,50,.92) 0%, rgba(220,196,142,.72) 50%, rgba(169,125,50,.92) 100%);
      opacity:.72;
    }
    .timeline-item{
      position:relative;
      z-index:1;
      text-align:center;
    }
    .timeline-item:not(:last-child)::after{
      content:"";
      position:absolute;
      top:35px;
      right:-22px;
      width:18px;
      height:18px;
      color:var(--sage);
      opacity:.42;
      background:currentColor;
      clip-path:path("M9 1 C13 5 13 10 9 17 C5 10 5 5 9 1 Z");
      transform:rotate(54deg);
    }
    .timeline-icon{
      width:56px;
      height:56px;
      display:grid;
      place-items:center;
      margin:0 auto 16px;
      border:1.5px solid rgba(169,125,50,.94);
      border-radius:50%;
      background:rgba(255,253,248,.97);
      color:var(--gold);
      font-size:25px;
      line-height:1;
      box-shadow:0 5px 16px rgba(74,55,40,.055);
    }
    .timeline-icon img{
      display:block;
      width:31px;
      height:31px;
      object-fit:contain;
      opacity:.9;
      filter:saturate(.9) contrast(1.04);
      pointer-events:none;
      user-select:none;
    }
    .timeline-icon svg{
      width:24px;
      height:24px;
      stroke:var(--gold);
      stroke-width:1.5;
      fill:none;
    }
    .timeline time{
      display:block;
      font-family:"Jost", system-ui, sans-serif;
      margin-bottom:6px;
      font-size:11px;
      font-weight:600;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:#9A6B24;
    }
    .timeline h3{
      margin:10px auto 2px;
      font-family:"Cormorant Garamond", serif;
      font-size:17px;
      font-style:italic;
      font-weight:600;
      color:#3F2E24;
    }
    .timeline p{
      max-width:130px;
      margin:0 auto;
      text-align:center;
      font-size:12px;
      font-weight:400;
      color:#5D4B40;
      line-height:1.6;
    }
    .program-note{
      position:relative;
      z-index:1;
      max-width:620px;
      margin:26px auto 0;
      text-align:center;
      font-size:13px;
      line-height:1.8;
      font-weight:400;
      color:#5D4B40;
    }

    .location-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:minmax(0, 45fr) minmax(0, 55fr);
      gap:54px;
      align-items:center;
    }
    .story-grid{
      position:relative;
      z-index:1;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:54px;
      align-items:center;
    }
    .location-copy{
      position:relative;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      justify-content:center;
      padding:24px 48px 46px 0;
    }
    .location-copy p{
      max-width:520px;
      margin:0 0 24px;
      font-size:18px;
      color:#57463C;
    }
    .address{
      font-family:"Jost", system-ui, sans-serif;
      font-size:11px;
      font-weight:600;
      letter-spacing:.2em;
      text-transform:uppercase;
      color:var(--gold);
      line-height:2;
    }
    .map-area{
      position:relative;
      min-height:340px;
      display:grid;
      align-content:center;
    }
    .map-card{
      position:relative;
      min-height:360px;
      overflow:hidden;
      background:rgba(255,253,248,0.94);
      border:1px solid rgba(169,125,50,.34);
      border-radius:6px;
      padding:0;
      box-shadow:0 14px 36px rgba(74,55,40,.1);
    }
    .map-card::after{
      content:"";
      position:absolute;
      inset:0;
      pointer-events:none;
      background:
        linear-gradient(135deg, rgba(255,253,248,.28), rgba(197,215,191,.24)),
        radial-gradient(ellipse at 22% 18%, rgba(255,253,248,.32), transparent 48%),
        radial-gradient(ellipse at 86% 82%, rgba(197,215,191,.18), transparent 52%);
      mix-blend-mode:soft-light;
      z-index:1;
    }
    .map-frame{
      display:block;
      width:100%;
      min-height:360px;
      border:0;
      filter:saturate(.58) contrast(.82) brightness(1.06);
    }
    .map-link{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      position:absolute;
      left:50%;
      bottom:18px;
      transform:translateX(-50%);
      min-height:42px;
      padding:11px 24px;
      border:1px solid rgba(169,125,50,.46);
      background:rgba(255,253,248,.9);
      box-shadow:0 8px 22px rgba(74,55,40,.1);
      font-size:12px;
      font-weight:400;
      letter-spacing:.12em;
      text-transform:uppercase;
      color:var(--gold);
      white-space:nowrap;
      z-index:2;
    }

    .confirm-section{background:transparent}
    .confirm-section .page{position:relative;z-index:1}
    .confirm-section .section-decor-img{
      mix-blend-mode:normal;
      filter:none;
    }
    .confirm-card{
      position:relative;
      z-index:1;
      width:min(760px, 100%);
      margin:auto;
      padding:48px 54px;
      text-align:center;
      background:var(--blush-card);
      border:1px solid rgba(169,125,50,.38);
      box-shadow:0 16px 44px rgba(74,55,40,.1);
    }
    .confirm-card::before{
      content:"";
      display:block;
      width:92px;
      height:1px;
      margin:0 auto 24px;
      background:linear-gradient(90deg, transparent, rgba(169,125,50,.8), transparent);
    }
    .confirm-card p{
      max-width:640px;
      margin:0 auto;
      font-size:15px;
      color:#59483E;
    }
    .confirm-form{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:18px 20px;
      margin-top:30px;
      text-align:left;
    }
    .form-field{
      display:flex;
      flex-direction:column;
      gap:8px;
    }
    .form-field.full{grid-column:1 / -1}
    .form-field[hidden]{display:none}
    .companions-field{
      grid-column:1 / -1;
      display:flex;
      flex-direction:column;
      gap:12px;
    }
    .companions-field[hidden]{display:none}
    .companions-list{
      display:grid;
      gap:12px;
    }
    .companion-row{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:12px;
      padding:14px;
      border:1px solid rgba(169,125,50,.18);
      border-radius:6px;
      background:rgba(255,253,248,.42);
    }
    .child-row{
      grid-template-columns:repeat(3, minmax(0, 1fr));
    }
    .companion-row span{
      grid-column:1 / -1;
      font:400 10px/1.4 "Jost", system-ui, sans-serif;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:#8F7C70;
    }
    .form-field label{
      font-size:10px;
      font-weight:500;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:var(--gold);
    }
    .choice-group{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:10px;
    }
    .choice-option{
      position:relative;
      display:flex;
      align-items:center;
      justify-content:center;
      min-height:48px;
      border:1px solid rgba(169,125,50,.32);
      border-radius:6px;
      background:rgba(255,253,248,.66);
      color:#4A3728;
      font:400 11px/1 "Jost", system-ui, sans-serif;
      letter-spacing:.16em;
      text-transform:uppercase;
      cursor:pointer;
    }
    .choice-option input{
      position:absolute;
      opacity:0;
      pointer-events:none;
    }
    .choice-option span{pointer-events:none}
    .choice-option:has(input:checked){
      border-color:rgba(169,125,50,.78);
      background:rgba(169,125,50,.12);
      color:#3B2A21;
    }
    .confirm-form input,
    .confirm-form select,
    .confirm-form textarea{
      width:100%;
      border:1px solid rgba(169,125,50,.32);
      border-radius:6px;
      background:rgba(255,253,248,.66);
      padding:13px 14px;
      font:300 15px/1.5 "Jost", system-ui, sans-serif;
      color:var(--text-dark);
      outline:none;
      transition:border-color .16s ease;
    }
    .confirm-form textarea{
      min-height:110px;
      resize:vertical;
    }
    .confirm-form input:focus,
    .confirm-form select:focus,
    .confirm-form textarea:focus{
      border-color:rgba(169,125,50,.72);
      background:rgba(255,253,248,.72);
    }
    .form-submit{
      grid-column:1 / -1;
      display:flex;
      justify-content:center;
      margin-top:8px;
    }
    .form-message{
      min-height:24px;
      margin:18px auto 0;
      text-align:center;
      font-size:14px;
      font-weight:400;
      color:#667F63;
    }
    .form-message.error{color:#8A5144}
    .form-message.success{color:#667F63}
    .confirm-card .contact-actions{
      display:flex;
      flex-direction:row;
      justify-content:center;
      gap:18px;
      margin-top:22px;
    }
    .contact-fallback{
      margin-top:24px;
      padding-top:22px;
      border-top:1px solid rgba(169,125,50,.16);
    }
    .contact-button{
      min-width:230px;
      padding:20px 28px 18px;
      border:1px solid rgba(169,125,50,.34);
      border-radius:6px;
      background:rgba(255,253,248,.56);
      color:var(--text-dark);
      text-align:center;
      transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
    }
    .contact-button::before{
      content:"☎";
      display:block;
      margin:0 auto 8px;
      font-size:14px;
      line-height:1;
      color:var(--gold);
      opacity:.72;
      transition:color .25s ease, opacity .25s ease;
    }
    .contact-button .contact-label{
      display:block;
      margin-bottom:6px;
      font-family:"Cormorant Garamond", serif;
      font-size:21px;
      font-style:italic;
      font-weight:500;
      letter-spacing:.02em;
      text-transform:none;
      color:var(--text-dark);
      transition:color .25s ease;
    }
    .contact-button .contact-value{
      display:block;
      font-size:13px;
      font-weight:500;
      letter-spacing:.16em;
      text-transform:uppercase;
      color:#3F2E24;
      transition:color .25s ease;
    }
    .contact-button:hover{
      background:var(--gold);
      border-color:var(--gold);
      color:white;
      transform:translateY(-2px);
    }
    .contact-button:hover .contact-label,
    .contact-button:hover .contact-value{color:white}
    .contact-button:hover::before{color:white;opacity:.9}

    #poveste.page{
      width:100%;
      max-width:100vw;
    }
    #poveste.page{
      overflow:visible;
      background:transparent;
    }
    #impreuna-cu.page{
      width:min(1120px, calc(100% - 32px));
      max-width:none;
      overflow:hidden;
      background:rgba(196,216,180,.06);
      padding-top:20px;
    }
   #galerie.page{
  overflow:visible;
  width:min(1320px, calc(100% - 32px));
  margin-top:0;
  padding:72px 44px 82px;

  background:
    radial-gradient(ellipse at 12% 18%, rgba(196,216,180,.10), transparent 38%),
    radial-gradient(ellipse at 88% 86%, rgba(240,200,176,.10), transparent 40%),
    linear-gradient(180deg, rgba(255,253,248,.20), rgba(255,250,244,.08));

  border:1px solid rgba(201,168,76,.07);
  box-shadow:
    0 28px 80px rgba(74,55,40,.026),
    inset 0 1px 0 rgba(255,255,255,.28);

  backdrop-filter:blur(2px);
}
   
   .story-card{
  position:relative;
  z-index:2;
  max-width:680px;
  margin:0 auto;
  padding:80px 40px;
  text-align:center;
  overflow:visible;
}

.story-corner-botanical{
  position:absolute;
  top:22px;
  right:-39px;
  width:clamp(220px, 23vw, 300px);
  height:auto;
  z-index:4;

  display:block;
  margin:0;
  padding:0;

  pointer-events:none;
  user-select:none;
  opacity:.72;
  mix-blend-mode:multiply;
  filter:saturate(.9) contrast(1.02);
}

    .story-left-botanical{
  position:absolute;
  top:170px;

  /* ancorare la marginea stângă a cardului */
  left:calc(50% - 540px - 270px);

  width:clamp(420px, 45vw, 620px);
  height:auto;
  z-index:3;

  display:block;
  margin:0;
  padding:0;

  pointer-events:none;
  user-select:none;
  opacity:.16;
  mix-blend-mode:multiply;
  filter:saturate(.85) contrast(1.02);
  transform:rotate(13deg);
  transform-origin:center;
}

.story-edge-botanical{
  position:absolute;
  top:-180px;
  left:60px;
  width:clamp(250px, 24vw, 360px);
  height:auto;
  z-index:1;
  pointer-events:none;
  user-select:none;
  opacity:.68;
  mix-blend-mode:multiply;
  filter:saturate(.9) contrast(1.02);
  transform:translateX(-42%) rotate(-2deg);
  transform-origin:left top;
}

.story-underlay-botanical{
  position:absolute;
  top:44%;
  left:50%;
  width:clamp(760px, 92vw, 1080px);
  height:auto;
  z-index:1;
  display:block;
  margin:0;
  padding:0;
  pointer-events:none;
  user-select:none;
  opacity:.0;
  mix-blend-mode:multiply;
  filter:saturate(.86) contrast(.96);
  transform:translate(-50%, -50%) rotate(-12deg);
  transform-origin:center;
}

.story-card::before,
.people-card::before{
  content:"";
  position:absolute;
  inset:22px -28px;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 12% 18%, rgba(196,216,180,.16), transparent 42%),
    radial-gradient(ellipse at 88% 82%, rgba(240,200,176,.13), transparent 44%),
    linear-gradient(180deg, rgba(255,253,248,.72), rgba(255,250,244,.58));
  border:1px solid rgba(169,125,50,.38);
  box-shadow:
    0 18px 50px rgba(74,55,40,.055),
    inset 0 1px 0 rgba(255,255,255,.48);
}

.story-card::after,
.people-card::after{
  content:"";
  position:absolute;
  inset:36px -12px;
  z-index:1;
  pointer-events:none;
  opacity:.34;
  background:
    linear-gradient(90deg, rgba(91,67,46,.018) 1px, transparent 1px),
    linear-gradient(0deg, rgba(91,67,46,.014) 1px, transparent 1px);
  background-size:72px 72px, 78px 78px;
  mix-blend-mode:multiply;
}

/* Important: nu aplica position:relative pe imaginea decorativă */
.story-card > *:not(.story-corner-botanical):not(.story-left-botanical):not(.story-underlay-botanical),
.people-card > *:not(.people-bottom-botanical){
  position:relative;
  z-index:2;
}
    .people-card{
      position:relative;
      z-index:2;
      max-width:none;
      width:100%;
      margin:0 auto;
      padding:64px 64px 68px;
      text-align:center;
    }
    .people-bottom-botanical{
      position:absolute;
      left:-14px;
      bottom:22px;
      width:clamp(150px, 15vw, 220px);
      height:auto;
      z-index:5;
      display:block;
      margin:0;
      padding:0;
      pointer-events:none;
      user-select:none;
      /* opacity:.72; */
      mix-blend-mode:multiply;
      filter:saturate(.9) contrast(1.02);
    }
    .people-card::before{
      inset:22px -34px;
      background:
        radial-gradient(ellipse at 8% 24%, rgba(196,216,180,.2), transparent 44%),
        radial-gradient(ellipse at 92% 72%, rgba(201,168,76,.08), transparent 46%),
        linear-gradient(180deg, rgba(255,253,248,.7), rgba(248,244,235,.56));
    }
    .story-people-separator{
      position:relative;
      z-index:2;
      width:min(760px, calc(100% - 32px));
      height:100px;
      margin:0 auto;
      text-align:center;
      pointer-events:none;
      overflow:hidden;
    }
    .story-people-separator img{
      display:block;
      width:100%;
      max-width:760px;
      height:auto;
      margin:0 auto;
      opacity:.64;
      mix-blend-mode:multiply;
      filter:saturate(.9) contrast(1.02);
      user-select:none;
      transform:translateY(-310px);
    }
    .story-intro,
    .people-intro,
    .gallery-subtitle{
      max-width:680px;
      margin:0 auto 28px;
      font-size:16px;
      line-height:1.9;
      color:#58483E;
    }
    #galerie .title-ornament,
    #galerie .gallery-subtitle,
    #galerie .gallery-grid{
      position:relative;
      z-index:2;
    }
    #galerie .gallery-subtitle{
      margin:0 auto 40px;
      font-size:14px;
      font-weight:300;
      color:#6B5B52;
      text-align:center;
    }
    #poveste .section-title,
    #impreuna-cu .section-title{
      margin-bottom:6px;
      font-family:"Cormorant Garamond", serif;
      font-size:48px;
      font-style:italic;
      font-weight:400;
      color:#C9A84C;
      text-align:center;
    }
    #galerie .section-title{
      font-family:"Cormorant Garamond", serif;
      font-size:42px;
      font-style:italic;
      font-weight:400;
      color:#C9A84C;
      text-align:center;
    }
    #poveste .title-ornament,
    #impreuna-cu .title-ornament{margin-bottom:60px}
    .story-full{
      max-width:100%;
      margin:0 auto;
      text-align:left;
    }
    .story-full p{
      margin:0 0 28px;
      font-family:"Jost", system-ui, sans-serif;
      font-size:15px;
      font-weight:300;
      line-height:2;
      color:#5A4A42;
    }
    .story-full .story-opening{
      display:block;
      margin-bottom:32px;
      font-family:"Cormorant Garamond", serif;
      font-size:20px;
      font-style:italic;
      line-height:1.5;
      color:#4A3728;
    }
    .story-sprig{
      margin:36px 0;
      text-align:center;
      opacity:.4;
    }
    .story-pause,
    .story-breath{
      position:relative;
      margin:42px auto;
      text-align:center;
      color:#A97D32;
    }
    .story-pause::before,
    .story-pause::after{
      content:"";
      display:inline-block;
      width:64px;
      height:1px;
      margin:0 16px 4px;
      background:rgba(201,168,76,.34);
    }
    .story-pause span,
    .story-breath span{
      display:inline-block;
      font:500 9px/1.6 "Jost", system-ui, sans-serif;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:rgba(169,125,50,.72);
    }
    .story-breath{
      margin:48px auto 42px;
    }
    .story-breath svg{
      display:block;
      margin:0 auto 10px;
      opacity:.62;
    }
    .story-full .story-pullquote{
      position:relative;
      max-width:480px;
      margin:56px auto;
      padding:32px 48px;
      border-top:1px solid rgba(201,168,76,.25);
      border-bottom:1px solid rgba(201,168,76,.25);
      border-left:0;
      background:rgba(201,168,76,.05);
      font-family:"Cormorant Garamond", serif;
      font-size:24px;
      font-style:italic;
      line-height:1.7;
      color:#4A3728;
      text-align:center;
    }
    .story-full .story-pullquote::before,
    .story-full .story-pullquote::after{
      content:"◆";
      display:block;
      text-align:center;
      font-size:10px;
      line-height:1;
      color:#C9A84C;
      opacity:.7;
    }
    .story-full .story-pullquote::before{
      margin-bottom:20px;
    }
    .story-full .story-pullquote::after{
      margin-top:20px;
    }
    .story-full .story-closing{
      display:block;
      margin-top:48px;
      font-family:"Cormorant Garamond", serif;
      font-size:18px;
      font-style:italic;
      line-height:1.7;
      color:#4A3728;
    }
    .story-full .story-biblical{
      position:relative;
      margin:56px 0 0;
      padding:32px 40px;
      border:1px solid rgba(201,168,76,.2);
      border-radius:2px;
      background:rgba(201,168,76,.06);
      font-family:"Cormorant Garamond", serif;
      font-size:20px;
      font-style:italic;
      line-height:1.75;
      color:#4A3728;
    }
    .story-full .story-biblical::before{
      content:"\201C";
      position:absolute;
      top:-16px;
      left:50%;
      transform:translateX(-50%);
      font-family:Georgia, serif;
      font-size:48px;
      line-height:1;
      color:#C9A84C;
      opacity:.25;
    }
    .story-full .story-biblical .story-biblical-text{
      display:block;
      margin:0;
      font-family:"Cormorant Garamond", serif;
      font-size:20px;
      font-style:italic;
      font-weight:400;
      line-height:1.75;
      letter-spacing:0;
      text-transform:none;
      color:#4A3728;
    }
    .story-full .story-biblical .story-biblical-ref{
      display:block;
      margin:16px 0 0;
      font:400 9px/1.4 "Jost", system-ui, sans-serif;
      letter-spacing:.2em;
      text-transform:uppercase;
      color:#C9A84C;
    }
    .people-intro{
      max-width:520px;
      margin:0 auto 42px;
      font-size:15px;
      font-weight:300;
      line-height:1.9;
      color:#5A4A42;
      text-align:center;
    }
    .people-flow{
      display:grid;
      grid-template-columns:repeat(2, minmax(0, 1fr));
      gap:34px 54px;
      max-width:100%;
      margin:0 auto;
      text-align:center;
    }
    .people-block{
      margin-bottom:0;
      padding:28px 26px;
      background:rgba(255,253,248,.48);
      border:1px solid rgba(201,168,76,.22);
      box-shadow:0 8px 22px rgba(74,55,40,.03);
    }
    .people-block:last-child{margin-bottom:0}
    .people-godparents,
    .people-families{grid-column:1 / -1}
    .people-block h3{
      margin:0 0 20px;
      font:500 9px/1.8 "Jost", system-ui, sans-serif;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:#C9A84C;
    }
    .people-block p{
      margin:0;
      font-family:"Cormorant Garamond", serif;
      font-size:22px;
      font-weight:400;
      line-height:1.9;
      color:#4A3728;
    }
    .people-divider{
      display:none;
    }
    .people-parent-columns{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:80px;
    }
    .people-parent-columns > div{text-align:center}
    .people-block .note-name{
      margin:0 0 16px;
      font:500 9px/1.8 "Jost", system-ui, sans-serif;
      letter-spacing:.22em;
      text-transform:uppercase;
      color:#C9A84C;
    }
    .people-memorial h3,
    .people-families h3{
      max-width:480px;
      margin-left:auto;
      margin-right:auto;
      font-weight:400;
      letter-spacing:.16em;
      text-transform:none;
      color:#9E8E86;
      font-style:italic;
    }
    .people-memorial h3{letter-spacing:.18em}
    .people-memorial p,
    .people-families p{
      font-size:20px;
      line-height:2.2;
    }
    .people-memorial p{color:#6B5B52;line-height:1.9}
    .people-families h3{line-height:1.8}
    .gallery-grid{
      position:relative;
      z-index:1;
      contain:layout paint;
      display:grid;
      grid-template-columns:repeat(4, minmax(0, 1fr));
      grid-auto-rows:72px;
      grid-auto-flow:dense;
      gap:18px;
      width:100%;
      margin:34px auto 0;
    }
    .gallery-item{
      display:block;
      margin:0;
      padding:10px 10px 28px;
      background:rgba(255,253,248,.82);
      border:1px solid rgba(169,125,50,.18);
      box-shadow:0 4px 20px rgba(74,55,40,.1);
      transition:transform .3s ease;
    }
    .gallery-item:hover{
      transform:scale(1.02);
    }
    .gallery-item:nth-child(1){grid-row:span 5}
    .gallery-item:nth-child(2){grid-row:span 4}
    .gallery-item:nth-child(3){grid-row:span 3}
    .gallery-item:nth-child(4){grid-row:span 5}
    .gallery-item:nth-child(5){grid-row:span 3}
    .gallery-item:nth-child(6){grid-row:span 6}
    .gallery-item:nth-child(7){grid-row:span 3}
    .gallery-item:nth-child(8){grid-row:span 5}
    .gallery-item:nth-child(9){grid-row:span 4}
    .gallery-item:nth-child(10){grid-row:span 3}
    .gallery-item:nth-child(11){grid-row:span 5}
    .gallery-item:nth-child(12){grid-row:span 4}
    .gallery-item:nth-child(13){grid-row:span 3}
    .gallery-item picture,
    .gallery-item img,
    .gallery-placeholder{
      display:block;
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .gallery-placeholder{
      background:
        radial-gradient(circle at 42% 35%, rgba(255,253,248,.72), transparent 22%),
        radial-gradient(circle at 70% 70%, rgba(169,125,50,.12), transparent 30%),
        linear-gradient(135deg, rgba(197,215,191,.38), rgba(232,198,178,.22));
    }
    .gallery-item:nth-child(3n) .gallery-placeholder{
      background:
        radial-gradient(circle at 30% 72%, rgba(255,253,248,.62), transparent 20%),
        linear-gradient(145deg, rgba(232,198,178,.32), rgba(197,215,191,.3));
    }
    .gallery-item:nth-child(3n + 2) .gallery-placeholder{
      background:
        radial-gradient(circle at 66% 32%, rgba(169,125,50,.14), transparent 24%),
        linear-gradient(135deg, rgba(245,236,232,.74), rgba(197,215,191,.34));
    }

    .footer{
      position:relative;
      overflow:visible;
      padding:74px 0 44px;
      text-align:center;
      background:#F7EFE5;
    }
    .footer .page{
      position:relative;
      z-index:1;
    }
    .footer p{margin:0;color:var(--text-light)}
    .footer-name{
      display:flex;
      align-items:center;
      justify-content:center;
      gap:18px;
      margin:18px 0 10px;
      color:var(--gold);
    }
    .footer-name span{
      font-family:"Great Vibes", cursive;
      font-size:60px;
      line-height:1;
    }
    .copyright{
      font-size:12px;
      letter-spacing:.08em;
    }

    @media (max-width:900px){
      .nav-links{gap:14px;font-size:10px;font-weight:500;letter-spacing:.1em}
      .gallery-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
      .hero-branch{width:220px;top:40%;opacity:.2}
      .hero-branch.left{left:-150px}
      .hero-branch.right{right:-150px}
      .hero-botanical-img{width:620px;left:-130px;top:58px;bottom:auto;opacity:.3;transform:rotate(-8deg)}
      .hero-botanical-bottom{width:390px;right:-150px;bottom:70px;opacity:.28;transform:rotate(-18deg)}
      .hero-bottom-botanical-img{width:390px;right:-168px;bottom:112px;opacity:.44;transform:rotate(-24deg)}
      .decor-program-top{width:104px;top:-12px}
      .decor-program-left{width:310px;left:-180px;top:108px;opacity:.22}
      .decor-confirm-left{width:420px;left:-260px;top:-46px;opacity:.22}
      .decor-confirm-right{width:390px;right:-210px;top:90px;opacity:.2}
      .decor-story-right{width:320px;right:-54px;top:auto;bottom:12px;opacity:.34}
      .story-grid{grid-template-columns:1fr;gap:44px}
      .map-area{min-height:auto}
    }
    @media (max-width:768px){
      :root{--nav-h:70px}
      .menu-toggle{display:block}
      .nav-links{
        position:fixed;
        inset:var(--nav-h) 0 auto;
        display:grid;
        gap:0;
        padding:18px 24px 28px;
        background:rgba(247,239,229,.96);
        border-bottom:1px solid rgba(169,125,50,.22);
        transform:translateY(-120%);
        opacity:0;
        pointer-events:none;
        transition:transform .28s ease, opacity .28s ease;
      }
      .menu-active .nav-links{
        transform:translateY(0);
        opacity:1;
        pointer-events:auto;
      }
      .nav-links a{padding:12px 0;text-align:center}
      .nav-links .language-switch{padding:12px 0;text-align:center}
      #galerie.page{
        width:min(100% - 24px, 720px);
        margin-top:0;
        padding:48px 18px 56px;
      }
      #impreuna-cu.page{
        width:min(100% - 24px, 720px);
      }
      .people-flow{
        grid-template-columns:1fr;
        gap:22px;
      }
      .people-godparents,
      .people-families{grid-column:auto}
      .people-block{padding:24px 18px}
      .hero{min-height:820px;padding-top:calc(var(--nav-h) + 20px);padding-bottom:130px}
      .hero-content{transform:translateY(-14px)}
      .couple-line{width:132px}
      .names{font-size:clamp(64px, 19vw, 88px)}
      .date{font-size:12px;font-weight:400;letter-spacing:.16em;margin-top:28px}
      .date strong{font-size:25px;font-weight:600;margin-inline:10px;letter-spacing:.08em}
      .hero-actions{gap:14px}
      .btn{width:min(260px, 100%);min-width:0}
      .hero-ribbon{width:720px;top:47%;opacity:.8}
      .hero-botanical-img{width:470px;left:-178px;top:82px;bottom:auto;opacity:.28;transform:rotate(-8deg)}
      .hero-botanical-bottom{width:320px;right:-150px;bottom:96px;opacity:.24;transform:rotate(-18deg)}
      .hero-bottom-botanical-img{width:310px;right:-162px;bottom:122px;opacity:.36;transform:rotate(-24deg)}
      .color-cloud{filter:blur(22px)}
      .section-decor-img{opacity:.22}
      .decor-confirm-left{width:300px;left:-224px;top:24px;opacity:.18}
      .decor-confirm-right{width:290px;right:-218px;top:154px;opacity:.18}
      .decor-program-top{width:88px;top:-54px;opacity:.58}
      .decor-program-left{width:240px;left:-180px;top:132px;opacity:.22}
      .decor-story-right{width:188px;right:6px;top:auto;bottom:12px;opacity:.24}
      .hero-branch{width:clamp(150px, 40vw, 190px);top:46%;opacity:.22}
      .hero-branch.left{left:-82px}
      .hero-branch.right{right:-82px}
      section{padding:48px 0}
      .section-title{font-size:34px}
      .countdown-card{padding:34px 28px}
      .countdown-grid{grid-template-columns:repeat(2, 1fr);gap:26px 0}
      .countdown-item:nth-child(2){border-right:0}
      .countdown-item strong{font-size:48px}
      .timeline{
        display:flex;
        flex-direction:column;
        gap:28px;
        max-width:360px;
        width:100%;
        margin-inline:auto;
        padding:18px 20px;
      }
      .timeline::before{
        left:43px;
        right:auto;
        top:20px;
        bottom:20px;
        width:1px;
        height:auto;
      }
      .timeline-item{
        display:flex;
        flex-direction:row;
        gap:20px;
        text-align:left;
        align-items:center;
      }
      .timeline-item:not(:last-child)::after{display:none}
      .timeline-icon{margin:0}
      .timeline h3{margin-left:0}
      .timeline p{margin:0;text-align:left}
      .timeline time{font-size:11px;font-weight:600}
      .program-note{text-align:left;max-width:360px}
      .location-grid{grid-template-columns:1fr;gap:44px}
      .location-copy{padding-right:0}
      .location-copy p{font-size:16px;line-height:1.85}
      .map-card,
      .map-frame{min-height:300px}
      .confirm-card{padding:38px 22px}
      .confirm-form{grid-template-columns:1fr}
      .child-row{grid-template-columns:1fr}
      .confirm-card .contact-actions{flex-direction:column}
      .contact-button{width:100%}
      .story-corner-botanical{
        top:22px;
        right:-28px;
        width:230px;
        opacity:.58;
      }
      .story-left-botanical{
        top:170px;
        left:-115px;
        width:210px;
        opacity:.16;
        transform:rotate(13deg);
      }
      .story-edge-botanical{
        top:-98px;
        width:230px;
        opacity:.46;
        transform:translateX(-52%) rotate(-2deg);
      }
      .story-underlay-botanical{
        top:46%;
        width:620px;
        opacity:.12;
        transform:translate(-50%, -50%) rotate(-9deg);
      }
      .story-card,
      .people-card{padding:58px 22px}
      .people-bottom-botanical{
        left:-8px;
        bottom:22px;
        width:142px;
        opacity:.58;
      }
      .story-people-separator{
        width:min(375px, calc(100% - 24px));
        height:80px;
        margin:0 auto;
      }
      .story-people-separator img{
        width:100%;
        opacity:.6;
        transform:translateY(-138px);
      }
      #poveste .section-title,
      #impreuna-cu .section-title{font-size:38px}
      #galerie .section-title{font-size:36px}
      #poveste .title-ornament,
      #impreuna-cu .title-ornament{margin-bottom:42px}
      .story-full p{font-size:15px;line-height:1.85}
      .story-pause,
      .story-breath{margin:34px auto}
      .story-pause::before,
      .story-pause::after{width:38px;margin-inline:10px}
      .story-full .story-pullquote{padding:28px 24px;font-size:20px}
      .story-full .story-biblical{padding:28px 22px;font-size:18px}
      .people-parent-columns{display:grid;grid-template-columns:1fr;gap:32px}
      .botanical-img,
      .section-decor-img,
      .long-botanical,
      .story-corner-botanical,
      .story-left-botanical{
        mix-blend-mode:normal;
        filter:none;
      }
      #galerie.page{
        box-shadow:0 10px 30px rgba(74,55,40,.03);
      }
      .gallery-grid{
        display:flex;
        overflow-x:auto;
        overflow-y:hidden;
        gap:14px;
        scroll-snap-type:x mandatory;
        scrollbar-width:thin;
        scrollbar-color:rgba(169,125,50,.32) transparent;
        -webkit-overflow-scrolling:touch;
        grid-auto-rows:unset;
        grid-auto-flow:unset;
        padding:8px 4px 22px;
        contain:layout paint;
      }
      .gallery-grid::-webkit-scrollbar{
        height:6px;
      }
      .gallery-grid::-webkit-scrollbar-track{
        background:transparent;
      }
      .gallery-grid::-webkit-scrollbar-thumb{
        background:rgba(169,125,50,.28);
        border-radius:999px;
      }
      .gallery-item{
        flex:0 0 72%;
        max-width:280px;
        grid-row:auto !important;
        scroll-snap-align:center;
        margin:0;
        padding:8px 8px 22px;
        box-shadow:0 4px 14px rgba(74,55,40,.09);
        transition:none;
      }
      .gallery-item:hover{
        transform:none;
      }
      .gallery-item picture,
      .gallery-item img,
      .gallery-placeholder{
        width:100%;
        height:350px;
        aspect-ratio:auto;
        object-fit:cover;
      }
      .footer-name span{font-size:48px}
    }
    @media (max-width:520px){
      .gallery-item{
        flex-basis:78%;
        max-width:260px;
      }
      .gallery-item picture,
      .gallery-item img,
      .gallery-placeholder{height:330px}
      .people-parent-columns{display:grid;grid-template-columns:1fr;gap:32px}
    }
    @media (prefers-reduced-motion: reduce){
      html{scroll-behavior:auto}
      *,
      *::before,
      *::after{
        animation:none !important;
        transition:none !important;
      }
      .reveal{
        opacity:1;
        transform:none;
      }
      .countdown-item strong.flip{
        animation:flip .52s cubic-bezier(.2,.7,.2,1) !important;
      }
    }
