
  :root{
    --ink:#090d0c; --panel:#0f1a18; --panel-2:#0c1513;
    --teal:#123f3d; --teal-light:#3e8a82;
    --amber:#e08d45; --copper:#c9752e;
    --cream:#f4eee0; --cream-dim:#cfc6b3; --muted:#8fa8a2;
    --line:rgba(244,238,224,0.14); --line-soft:rgba(244,238,224,0.07);
    --maxw:1120px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{background:linear-gradient(180deg, #0a1413 0%, #0c1a18 55%, #0a1211 100%);
    background-repeat:no-repeat; background-size:100% 100%; background-attachment:fixed;
    color:var(--cream); font-family:'Inter',sans-serif; overflow-x:hidden; position:relative;}
  ::selection{background:var(--amber);color:var(--ink);}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
  @media(max-width:640px){ .wrap{padding:0 20px;} }
  h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:600; line-height:1.06; letter-spacing:-0.01em;}
  .eyebrow{display:flex; align-items:center; gap:12px; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.18em; text-transform:uppercase; color:var(--amber); margin-bottom:20px;}
  .eyebrow::before{content:""; width:26px; height:1px; background:var(--amber); display:inline-block;}

  /* ---------- Nav ---------- */
  nav{position:sticky; top:0; z-index:100; background:rgba(9,13,12,0.9); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
  .nav-inner{max-width:var(--maxw); margin:0 auto; padding:10px 32px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;}
  @media(max-width:640px){ .nav-inner{padding:8px 20px;} }
  .logo{font-family:'Fraunces',serif; font-weight:600; font-size:17px; color:var(--cream); letter-spacing:0.01em;}
  .logo-img{height:64px; max-width:230px; width:auto; object-fit:contain; display:block;}
  @media(max-width:640px){ .logo-img{height:48px; max-width:165px;} }
  .logo em{font-style:italic; font-weight:400; color:var(--amber);}
  .nav-links{display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
  .nav-link{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--cream-dim); text-decoration:none;}
  .nav-link:hover{color:var(--amber);}
  .nav-cta{font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.08em; text-transform:uppercase; background:var(--amber); color:var(--ink); padding:10px 18px; font-weight:700; text-decoration:none; transition:opacity 0.2s ease;}
  .nav-cta:hover{opacity:0.85;}

  /* ---------- Hero ---------- */
  .hero{min-height:88vh; display:flex; flex-direction:column; justify-content:center; padding:60px 0;
    background:transparent;
    border-bottom:1px solid var(--line); text-align:center;}
  .slate{display:flex; align-items:center; gap:14px; justify-content:center; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); border:1px solid var(--line); padding:9px 16px; width:fit-content; margin:0 auto 40px; text-align:left;}

  /* Editorial coordinates line */
  .coord-line{display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap;
    font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.12em; text-transform:uppercase;
    color:var(--muted); margin-bottom:18px;}
  .coord-line span{opacity:0.85;}
  .coord-line .coord-sep{width:3px; height:3px; border-radius:50%; background:var(--amber); display:inline-block; opacity:0.7;}

  /* Trust / stat bar */
  .trust-bar{display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:52px;}
  .trust-item{padding:26px 18px; text-align:center; border-right:1px solid var(--line);}
  .trust-item:last-child{border-right:none;}
  .trust-num{font-family:'Fraunces',serif; font-style:italic; font-size:26px; color:var(--amber); line-height:1;}
  .trust-label{font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--cream-dim); margin-top:8px; opacity:0.85;}
  @media(max-width:700px){
    .trust-bar{grid-template-columns:repeat(2,1fr);}
    .trust-item{border-bottom:1px solid var(--line);}
    .trust-item:nth-child(2n){border-right:none;}
  }

  /* Now Booking CTA banner */
  .booking-banner{position:relative; text-align:center; padding:56px 24px; border:1px solid var(--line);
    background:linear-gradient(155deg, rgba(224,141,69,0.10) 0%, rgba(18,63,61,0.35) 60%, rgba(9,13,12,0.6) 100%);
    margin-bottom:60px;}
  .booking-banner .eyebrow{justify-content:center;}
  .booking-banner h3{font-family:'Fraunces',serif; font-size:clamp(26px,4vw,40px); margin:0 0 14px;}
  .booking-banner h3 em{color:var(--amber); font-style:italic;}
  .booking-banner p{max-width:520px; margin:0 auto 24px; color:var(--cream-dim); font-size:15px;}
  .banner-chips{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:26px;}
  .banner-chip{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--cream-dim); border:1px solid var(--line); padding:8px 14px; border-radius:999px;}
  .slate .dot{width:6px;height:6px;border-radius:50%;background:var(--amber); box-shadow:0 0 8px var(--amber); flex-shrink:0;}
  .hero h1{font-size:clamp(38px, 7.4vw, 90px); color:var(--cream);}
  .hero h1 em{font-style:italic; font-weight:400; color:var(--amber);}
  .hero-sub{font-family:'Fraunces',serif; font-style:italic; font-weight:400; font-size:clamp(16px,2vw,21px); color:var(--cream-dim); margin:22px auto 0; max-width:600px; line-height:1.55;}
  .hero-policy{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--teal-light); margin-top:18px; letter-spacing:0.04em;}
  .hero-actions{display:flex; gap:16px; justify-content:center; margin-top:40px; flex-wrap:wrap;}
  .btn{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; padding:16px 30px; font-weight:700; text-decoration:none; display:inline-block; transition:transform 0.25s ease, opacity 0.25s ease; border:none; cursor:pointer;}
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--amber); color:var(--ink);}
  .btn-ghost{border:1px solid var(--line); color:var(--cream-dim); background:transparent;}
  .hero-note{margin-top:26px; font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--muted); letter-spacing:0.06em;}

  /* ---------- Big hero logo moment ---------- */
  .hero-logo-wrap{position:relative; display:flex; justify-content:center; margin:8px auto 28px; padding:20px 0; overflow:hidden; max-width:100%;}
  .hero-logo-glow{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:min(140%, 1100px); height:min(140%, 1100px);
    background:none;
    pointer-events:none; z-index:0;
  }
  .hero-logo-img{
    position:relative; z-index:1;
    width:min(100%, 820px); height:auto;
    filter:drop-shadow(0 12px 40px rgba(0,0,0,0.55));
  }
  @media(max-width:640px){ .hero-logo-wrap{margin:4px auto 18px; padding:8px 0;} }

  /* ---------- Chapter divider (echoes the logo's dot-line-badge motif) ---------- */
  .chapter-divider{display:flex; align-items:center; justify-content:center; gap:18px; max-width:var(--maxw); margin:0 auto; padding:0 32px;}
  .chapter-divider .cd-line{flex:1; max-width:260px; height:1px; background:var(--line);}
  .chapter-divider .cd-dot{width:5px; height:5px; border-radius:50%; background:var(--amber); flex-shrink:0; box-shadow:0 0 6px rgba(224,141,69,0.5);}
  .chapter-divider .cd-badge{width:52px; height:52px; border-radius:50%; overflow:hidden; border:1px solid var(--amber); flex-shrink:0; background:var(--panel-2); box-shadow:0 4px 16px rgba(0,0,0,0.4);}
  .chapter-divider .cd-badge img{width:100%; height:100%; object-fit:cover; object-position:center 30%;}
  @media(max-width:560px){ .chapter-divider{gap:12px;} .chapter-divider .cd-line{max-width:80px;} .chapter-divider .cd-badge{width:40px; height:40px;} }

  /* ---------- Section watermarks (full emblem, low opacity) ---------- */
  .wm-emblem{position:relative; overflow:hidden;}
  .wm-emblem::before{ content:none; }
  .wm-emblem > .wrap{position:relative; z-index:1;}


  section{position:relative; padding:96px 0; border-bottom:1px solid var(--line-soft);}

  /* ---------- Photo placeholder system ---------- */
  .photo-frame{
    position:relative; overflow:hidden; border:1px solid var(--line);
    background:
      linear-gradient(155deg, rgba(224,141,69,0.16) 0%, rgba(18,63,61,0.5) 45%, rgba(9,13,12,0.85) 100%);
    display:flex; align-items:center; justify-content:center; text-align:center;
  }
  .photo-frame::before{
    content:""; position:absolute; inset:0;
    background-image:
      repeating-linear-gradient(45deg, rgba(244,238,224,0.035) 0px, rgba(244,238,224,0.035) 1px, transparent 1px, transparent 14px);
  }
  .photo-frame .ph-label{position:relative; z-index:1; padding:20px; max-width:80%;}
  .photo-frame .ph-icon{width:34px; height:34px; margin:0 auto 14px; opacity:0.55;
    background:var(--amber);
    -webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgOGgzbDEuNS0yaDdMMTcgOGgzYTEgMSAwIDAgMSAxIDF2OWExIDEgMCAwIDEtMSAxSDRhMSAxIDAgMCAxLTEtMVY5YTEgMSAwIDAgMSAxLTF6Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMyIgcj0iMy41Ii8+PC9zdmc+);
    mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgOGgzbDEuNS0yaDdMMTcgOGgzYTEgMSAwIDAgMSAxIDF2OWExIDEgMCAwIDEtMSAxSDRhMSAxIDAgMCAxLTEtMVY5YTEgMSAwIDAgMSAxLTF6Ii8+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMyIgcj0iMy41Ii8+PC9zdmc+);
    -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
    -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain;}
  .photo-frame .ph-title{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.16em;
    text-transform:uppercase; color:var(--amber); opacity:0.85;}
  .photo-frame .ph-sub{font-family:'Inter',sans-serif; font-size:12px; color:var(--cream-dim); opacity:0.6; margin-top:6px;}
  .photo-frame.ratio-golden{aspect-ratio:1.618/1;}
  .photo-frame.ratio-square{aspect-ratio:1/1;}
  .photo-frame.ratio-portrait{aspect-ratio:4/5;}
  .photo-frame.ratio-tall{aspect-ratio:3/4;}
  .photo-frame.ratio-wide{aspect-ratio:16/7;}
  .photo-frame.ratio-round{aspect-ratio:1/1; border-radius:50%;}
  .photo-frame img{width:100%; height:100%; object-fit:cover; position:relative; z-index:1;}

  /* Gallery grid */
  .photo-gallery{display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:110px; gap:10px; margin-top:36px;}
  .photo-gallery .photo-frame{grid-column:span 2; grid-row:span 2;}
  .photo-gallery .photo-frame.g-wide{grid-column:span 4;}
  .photo-gallery .photo-frame.g-tall{grid-row:span 3;}
  @media(max-width:900px){
    .photo-gallery{grid-template-columns:repeat(2,1fr); grid-auto-rows:140px;}
    .photo-gallery .photo-frame{grid-column:span 1 !important; grid-row:span 2 !important;}
  }

  /* Two-column section-with-image layout */
  .split-photo{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
  @media(max-width:860px){ .split-photo{grid-template-columns:1fr; gap:32px;} }
  .split-photo.reverse{grid-template-columns:1fr 1fr;}
  @media(max-width:860px){ .split-photo.reverse .photo-frame{order:-1;} }

  /* Hero background photo layer */
  .hero-photo-bg{position:absolute; inset:0; z-index:0; overflow:hidden;}
  .hero-photo-bg .photo-frame{position:absolute; inset:0; border:none; border-radius:0; aspect-ratio:auto;}
  /* The hero photo layer is decoration, not content — never show its caption. */
  .hero-photo-bg .ph-label{display:none;}
  .hero-photo-bg .photo-frame::before{display:none;}
  .hero-photo-bg::after{
    content:""; position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(9,13,12,0.55) 0%, rgba(9,13,12,0.75) 55%, rgba(9,13,12,0.96) 100%);
  }
  .hero > .wrap{position:relative; z-index:2;}

  /* Team headshot */
  .headshot-frame{width:180px; height:180px; border-radius:50%; margin:0 auto 22px;}
  .headshot-frame .ph-icon{width:26px; height:26px;}

  section > .wrap{position:relative; z-index:1;}
  @media(max-width:640px){ section{padding:64px 0;} }
  .section-head{text-align:center; max-width:640px; margin:0 auto 52px;}
  .section-head h2{font-size:clamp(27px,4.2vw,44px); color:var(--cream);}
  .section-head p{color:var(--muted); font-size:14px; margin-top:14px; line-height:1.7;}

  /* ---------- Tier cards (shared: wedding + engagement) ---------- */
  .tier-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  @media(max-width:920px){ .tier-grid{grid-template-columns:1fr; max-width:460px; margin:0 auto;} }
  .tier{border:1px solid var(--line); background:var(--panel-2); display:flex; flex-direction:column; position:relative; transition:transform 0.35s ease, border-color 0.35s ease;}
  .tier:hover{transform:translateY(-6px); border-color:var(--teal-light);}
  .tier.featured{border-color:var(--amber); background:linear-gradient(180deg, rgba(224,141,69,0.09), var(--panel-2) 30%);}
  .tier-badge{position:absolute; top:-1px; right:-1px; background:var(--amber); color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:0.1em; text-transform:uppercase; padding:6px 11px; font-weight:700;}
  .tier-head{padding:28px 24px 20px; border-bottom:1px solid var(--line);}
  .tier-eyebrow{font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--teal-light); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:10px;}
  .tier-name{font-size:22px; color:var(--cream); margin-bottom:12px;}
  .tier-price{font-family:'Fraunces',serif; font-size:31px; color:var(--amber); font-weight:600;}
  .tier-price span{font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); font-weight:400; margin-left:6px;}
  .tier-body{padding:22px 24px 26px; flex:1; display:flex; flex-direction:column; gap:10px;}
  .tier-body li{list-style:none; font-size:12.8px; color:var(--cream-dim); padding-left:18px; position:relative; line-height:1.5;}
  /* ---------- Icon system (masked SVG, tinted via currentColor bg) ---------- */
  .tier-body li, .circle-body li{list-style:none; font-size:12.8px; color:var(--cream-dim); padding-left:22px; position:relative; line-height:1.5;}
  .tier-body li::before, .circle-body li::before{content:""; position:absolute; left:0; top:2.5px; width:14px; height:14px; background-color:var(--teal-light); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain;}
  .ic-clock::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cpath%20d%3D%22M12%207v5l3.2%202%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cpath%20d%3D%22M12%207v5l3.2%202%22/%3E%3C/svg%3E');}
  .ic-camera::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%227.5%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%207.5l1.6-2.5h4.8L16%207.5%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.5%22%20r%3D%223.4%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%227.5%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%207.5l1.6-2.5h4.8L16%207.5%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.5%22%20r%3D%223.4%22/%3E%3C/svg%3E');}
  .ic-film::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M9.5%209l5.5%203.5-5.5%203.5z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M9.5%209l5.5%203.5-5.5%203.5z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E');}
  .ic-crew::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%228.5%22%20cy%3D%228%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M2.5%2020c0-3.3%202.7-5.5%206-5.5s6%202.2%206%205.5%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%229%22%20r%3D%222.3%22/%3E%3Cpath%20d%3D%22M14.7%2020c.3-2.3%201.9-4%203.8-4.3%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%228.5%22%20cy%3D%228%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M2.5%2020c0-3.3%202.7-5.5%206-5.5s6%202.2%206%205.5%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%229%22%20r%3D%222.3%22/%3E%3Cpath%20d%3D%22M14.7%2020c.3-2.3%201.9-4%203.8-4.3%22/%3E%3C/svg%3E');}
  .ic-calendar::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E');}
  .ic-drone::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3Cpath%20d%3D%22M12%2012L5.5%205.5M12%2012l6.5-6.5M12%2012l-6.5%206.5M12%2012l6.5%206.5%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3Cpath%20d%3D%22M12%2012L5.5%205.5M12%2012l6.5-6.5M12%2012l-6.5%206.5M12%2012l6.5%206.5%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3C/svg%3E');}
  .ic-shirt::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M8.5%204L4.5%207l2%203%202-1.2V19h7V8.8l2%201.2%202-3-4-3-1.7%201.7h-3.6z%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M8.5%204L4.5%207l2%203%202-1.2V19h7V8.8l2%201.2%202-3-4-3-1.7%201.7h-3.6z%22/%3E%3C/svg%3E');}
  .ic-album::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8.5%204v16%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8.5%204v16%22/%3E%3C/svg%3E');}
  .ic-star::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%203l2.5%205.4%205.9.6-4.5%204%201.3%205.8L12%2015.9l-5.2%202.9%201.3-5.8-4.5-4%205.9-.6z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%203l2.5%205.4%205.9.6-4.5%204%201.3%205.8L12%2015.9l-5.2%202.9%201.3-5.8-4.5-4%205.9-.6z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E');}
  .ic-mail::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3.5%206.5l8.5%206.5%208.5-6.5%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3.5%206.5l8.5%206.5%208.5-6.5%22/%3E%3C/svg%3E');}
  .ic-phone::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M5%204.5h3.6l1.3%203.6-1.8%201.4c.9%202.2%202.3%203.6%204.5%204.5l1.4-1.8%203.6%201.3V17c0%201-.9%201.9-1.9%201.9C9.3%2018.9%205.1%2014.7%205.1%208.4c0-1%20.8-1.9-.1-1.9z%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M5%204.5h3.6l1.3%203.6-1.8%201.4c.9%202.2%202.3%203.6%204.5%204.5l1.4-1.8%203.6%201.3V17c0%201-.9%201.9-1.9%201.9C9.3%2018.9%205.1%2014.7%205.1%208.4c0-1%20.8-1.9-.1-1.9z%22/%3E%3C/svg%3E');}
  .ic-pen::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%2020l4.3-1%2010-10-3.3-3.3-10%2010z%22/%3E%3Cpath%20d%3D%22M13.5%206.5l3%203%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%2020l4.3-1%2010-10-3.3-3.3-10%2010z%22/%3E%3Cpath%20d%3D%22M13.5%206.5l3%203%22/%3E%3C/svg%3E');}
  .ic-clipboard::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%225%22%20y%3D%224.5%22%20width%3D%2214%22%20height%3D%2216.5%22%20rx%3D%222%22/%3E%3Crect%20x%3D%229%22%20y%3D%222.5%22%20width%3D%226%22%20height%3D%224%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22M8%2011h8M8%2015h5%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%225%22%20y%3D%224.5%22%20width%3D%2214%22%20height%3D%2216.5%22%20rx%3D%222%22/%3E%3Crect%20x%3D%229%22%20y%3D%222.5%22%20width%3D%226%22%20height%3D%224%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22M8%2011h8M8%2015h5%22/%3E%3C/svg%3E');}
  .ic-gallery::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Ccircle%20cx%3D%228%22%20cy%3D%229.5%22%20r%3D%221.4%22/%3E%3Cpath%20d%3D%22M3.5%2015l4.5-4.5%204%204%203-3%205%205%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Ccircle%20cx%3D%228%22%20cy%3D%229.5%22%20r%3D%221.4%22/%3E%3Cpath%20d%3D%22M3.5%2015l4.5-4.5%204%204%203-3%205%205%22/%3E%3C/svg%3E');}

  /* Process step icon badges */
  .process-title-row{display:flex; align-items:center; gap:12px; margin-bottom:10px;}
  .process-title-row h4{margin-bottom:0;}
  .process-icon{flex-shrink:0; width:30px; height:30px; border-radius:50%; border:1px solid var(--amber); display:flex; align-items:center; justify-content:center; background:var(--panel-2);}
  .process-icon::before{content:""; width:15px; height:15px; background-color:var(--amber); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain;}
  .process-icon.ic-clock::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cpath%20d%3D%22M12%207v5l3.2%202%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22/%3E%3Cpath%20d%3D%22M12%207v5l3.2%202%22/%3E%3C/svg%3E');}
  .process-icon.ic-camera::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%227.5%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%207.5l1.6-2.5h4.8L16%207.5%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.5%22%20r%3D%223.4%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%227.5%22%20width%3D%2218%22%20height%3D%2212%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8%207.5l1.6-2.5h4.8L16%207.5%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.5%22%20r%3D%223.4%22/%3E%3C/svg%3E');}
  .process-icon.ic-film::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M9.5%209l5.5%203.5-5.5%203.5z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M9.5%209l5.5%203.5-5.5%203.5z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E');}
  .process-icon.ic-crew::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%228.5%22%20cy%3D%228%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M2.5%2020c0-3.3%202.7-5.5%206-5.5s6%202.2%206%205.5%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%229%22%20r%3D%222.3%22/%3E%3Cpath%20d%3D%22M14.7%2020c.3-2.3%201.9-4%203.8-4.3%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%228.5%22%20cy%3D%228%22%20r%3D%223%22/%3E%3Cpath%20d%3D%22M2.5%2020c0-3.3%202.7-5.5%206-5.5s6%202.2%206%205.5%22/%3E%3Ccircle%20cx%3D%2217.5%22%20cy%3D%229%22%20r%3D%222.3%22/%3E%3Cpath%20d%3D%22M14.7%2020c.3-2.3%201.9-4%203.8-4.3%22/%3E%3C/svg%3E');}
  .process-icon.ic-calendar::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3%2010h18M8%203v4M16%203v4%22/%3E%3C/svg%3E');}
  .process-icon.ic-drone::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3Cpath%20d%3D%22M12%2012L5.5%205.5M12%2012l6.5-6.5M12%2012l-6.5%206.5M12%2012l6.5%206.5%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%222%22/%3E%3Cpath%20d%3D%22M12%2012L5.5%205.5M12%2012l6.5-6.5M12%2012l-6.5%206.5M12%2012l6.5%206.5%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%225%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%2219%22%20r%3D%221.8%22/%3E%3C/svg%3E');}
  .process-icon.ic-shirt::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M8.5%204L4.5%207l2%203%202-1.2V19h7V8.8l2%201.2%202-3-4-3-1.7%201.7h-3.6z%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M8.5%204L4.5%207l2%203%202-1.2V19h7V8.8l2%201.2%202-3-4-3-1.7%201.7h-3.6z%22/%3E%3C/svg%3E');}
  .process-icon.ic-album::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8.5%204v16%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M8.5%204v16%22/%3E%3C/svg%3E');}
  .process-icon.ic-star::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%203l2.5%205.4%205.9.6-4.5%204%201.3%205.8L12%2015.9l-5.2%202.9%201.3-5.8-4.5-4%205.9-.6z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M12%203l2.5%205.4%205.9.6-4.5%204%201.3%205.8L12%2015.9l-5.2%202.9%201.3-5.8-4.5-4%205.9-.6z%22%20fill%3D%22black%22%20stroke%3D%22none%22/%3E%3C/svg%3E');}
  .process-icon.ic-mail::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3.5%206.5l8.5%206.5%208.5-6.5%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Cpath%20d%3D%22M3.5%206.5l8.5%206.5%208.5-6.5%22/%3E%3C/svg%3E');}
  .process-icon.ic-phone::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M5%204.5h3.6l1.3%203.6-1.8%201.4c.9%202.2%202.3%203.6%204.5%204.5l1.4-1.8%203.6%201.3V17c0%201-.9%201.9-1.9%201.9C9.3%2018.9%205.1%2014.7%205.1%208.4c0-1%20.8-1.9-.1-1.9z%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M5%204.5h3.6l1.3%203.6-1.8%201.4c.9%202.2%202.3%203.6%204.5%204.5l1.4-1.8%203.6%201.3V17c0%201-.9%201.9-1.9%201.9C9.3%2018.9%205.1%2014.7%205.1%208.4c0-1%20.8-1.9-.1-1.9z%22/%3E%3C/svg%3E');}
  .process-icon.ic-pen::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%2020l4.3-1%2010-10-3.3-3.3-10%2010z%22/%3E%3Cpath%20d%3D%22M13.5%206.5l3%203%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%2020l4.3-1%2010-10-3.3-3.3-10%2010z%22/%3E%3Cpath%20d%3D%22M13.5%206.5l3%203%22/%3E%3C/svg%3E');}
  .process-icon.ic-clipboard::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%225%22%20y%3D%224.5%22%20width%3D%2214%22%20height%3D%2216.5%22%20rx%3D%222%22/%3E%3Crect%20x%3D%229%22%20y%3D%222.5%22%20width%3D%226%22%20height%3D%224%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22M8%2011h8M8%2015h5%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%225%22%20y%3D%224.5%22%20width%3D%2214%22%20height%3D%2216.5%22%20rx%3D%222%22/%3E%3Crect%20x%3D%229%22%20y%3D%222.5%22%20width%3D%226%22%20height%3D%224%22%20rx%3D%221%22/%3E%3Cpath%20d%3D%22M8%2011h8M8%2015h5%22/%3E%3C/svg%3E');}
  .process-icon.ic-gallery::before{-webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Ccircle%20cx%3D%228%22%20cy%3D%229.5%22%20r%3D%221.4%22/%3E%3Cpath%20d%3D%22M3.5%2015l4.5-4.5%204%204%203-3%205%205%22/%3E%3C/svg%3E'); mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2214%22%20rx%3D%222%22/%3E%3Ccircle%20cx%3D%228%22%20cy%3D%229.5%22%20r%3D%221.4%22/%3E%3Cpath%20d%3D%22M3.5%2015l4.5-4.5%204%204%203-3%205%205%22/%3E%3C/svg%3E');}
  .tier-foot{padding:0 24px 24px;}
  .tier-select{display:block; text-align:center; width:100%; padding:11px; background:transparent; border:1px solid var(--line); color:var(--cream-dim); font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; text-decoration:none; transition:all 0.2s ease;}
  .tier.featured .tier-select{border-color:var(--amber); color:var(--amber);}
  .tier-select:hover{background:var(--amber); color:var(--ink); border-color:var(--amber);}

  /* ---------- Bundle banner ---------- */
  .bundle-banner{border:1px solid var(--amber); background:linear-gradient(135deg, rgba(224,141,69,0.1), var(--panel) 60%); padding:36px 40px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;}
  @media(max-width:640px){ .bundle-banner{padding:28px 24px;} }
  .bundle-banner .tag{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--amber); letter-spacing:0.12em; text-transform:uppercase; margin-bottom:10px;}
  .bundle-banner h3{font-size:24px; color:var(--cream); margin-bottom:8px;}
  .bundle-banner p{font-size:14px; color:var(--cream-dim); max-width:520px; line-height:1.6;}

  /* ---------- Add-ons ---------- */
  .addon-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
  @media(max-width:900px){ .addon-grid{grid-template-columns:repeat(2,1fr);} }
  @media(max-width:520px){ .addon-grid{grid-template-columns:1fr;} }
  .addon{background:var(--panel-2); padding:22px 20px; display:flex; justify-content:space-between; align-items:center; gap:10px;}
  .addon.express{border:1px solid var(--amber); background:rgba(224,141,69,0.06);}
  .addon-name{font-size:13px; color:var(--cream-dim);}
  .addon-price{font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--amber); white-space:nowrap;}
  .turnaround-note{text-align:center; margin-top:32px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.04em; line-height:1.8;}
  .turnaround-note b{color:var(--teal-light);}

  /* ---------- Process timeline ---------- */
  .timeline{display:flex; gap:0; position:relative; margin-top:10px;}
  @media(max-width:900px){ .timeline{flex-direction:column; gap:1px;} }
  .tl-step{flex:1; background:var(--panel-2); border:1px solid var(--line); padding:26px 20px; position:relative;}
  @media(min-width:901px){ .tl-step:not(:last-child){border-right:none;} }

  /* ---------- Process walkthrough (detailed vertical) ---------- */
  .process-list{display:flex; flex-direction:column; margin-top:12px;}
  .process-step{display:flex; gap:28px; padding:30px 0; border-bottom:1px solid var(--line-soft);}
  .process-step:last-child{border-bottom:none;}
  @media(max-width:640px){ .process-step{gap:16px;} }
  .process-num-col{flex-shrink:0; width:64px; display:flex; flex-direction:column; align-items:center;}
  @media(max-width:640px){ .process-num-col{width:36px;} }
  .process-num{font-family:'JetBrains Mono',monospace; font-size:15px; color:var(--amber); font-weight:700;}
  .process-line{flex:1; width:1px; background:var(--line); margin-top:10px;}
  .process-content{flex:1;}
  .process-content h4{font-family:'Fraunces',serif; font-weight:600; font-size:19px; color:var(--cream); margin-bottom:10px;}
  .process-content p{font-size:14px; color:var(--cream-dim); line-height:1.75; max-width:640px;}
  .process-time{display:inline-block; margin-top:14px; font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--teal-light); border:1px solid var(--teal-light); padding:5px 12px;}

  .tl-num{font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--amber); letter-spacing:0.1em; margin-bottom:14px;}
  .tl-title{font-family:'Inter',sans-serif; font-weight:600; font-size:14px; color:var(--cream); margin-bottom:8px;}
  .tl-desc{font-size:11.8px; color:var(--muted); line-height:1.6;}
  .tl-time{font-family:'JetBrains Mono',monospace; font-size:9.5px; color:var(--teal-light); margin-top:12px; letter-spacing:0.04em;}

  /* ---------- Referral ---------- */
  .referral-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  @media(max-width:760px){ .referral-grid{grid-template-columns:1fr;} }
  .referral-card{border:1px solid var(--line); background:var(--panel-2); padding:36px 32px; text-align:center;}
  .referral-card .amt{font-family:'Fraunces',serif; font-weight:600; font-size:44px; color:var(--amber); margin-bottom:10px;}
  .referral-card h4{font-size:16px; color:var(--cream); margin-bottom:10px; font-weight:600; font-family:'Inter',sans-serif;}
  .referral-card p{font-size:13px; color:var(--muted); line-height:1.6;}
  .referral-note{text-align:center; margin-top:28px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.04em;}

  .policy-banner{border:1px solid var(--line); background:var(--panel); padding:36px 40px;}
  @media(max-width:640px){ .policy-banner{padding:28px 24px;} }
  .policy-banner h3{font-size:22px; color:var(--cream); margin-bottom:14px;}
  .policy-banner p{font-size:13.5px; color:var(--cream-dim); line-height:1.75; max-width:680px;}

  /* ---------- Directors ---------- */
  .director-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px;}
  @media(max-width:800px){ .director-grid{grid-template-columns:1fr;} }
  .director-card{border:1px solid var(--line); background:var(--panel-2); padding:32px;}
  @media(max-width:640px){ .director-card{padding:26px 22px;} }
  .director-head{display:flex; align-items:center; gap:20px; margin-bottom:22px;}
  .avatar{
    width:72px; height:72px; border-radius:50%; flex-shrink:0;
    background:var(--teal); border:1.5px solid var(--amber);
    display:flex; align-items:center; justify-content:center;
    font-family:'Fraunces',serif; font-weight:600; font-size:22px; color:var(--amber);
  }
  .director-role{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--amber); margin-bottom:6px;}
  .director-name{font-family:'Fraunces',serif; font-weight:600; font-size:21px; color:var(--cream); margin-bottom:5px;}
  .director-name-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:5px;}
  .director-name-row .director-name{margin-bottom:0;}
  .team-site-link{display:inline-flex; align-items:center; gap:9px; margin-top:18px; padding:11px 15px; border:1px solid var(--amber); color:var(--amber); font-family:'Montserrat',sans-serif; font-size:10px; letter-spacing:.07em; text-transform:uppercase; text-decoration:none; transition:background .2s ease,color .2s ease,transform .2s ease;}
  .team-site-link::after{content:'↗'; font-size:13px;}
  .team-site-link:hover{background:var(--amber); color:var(--ink); transform:translateY(-1px);}
  .director-studio{font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--teal-light);}
  .director-bio p{font-size:13.5px; color:var(--cream-dim); line-height:1.7; margin-bottom:12px;}
  .badge-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
  .badge{
    font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--teal-light); border:1px solid var(--teal-light); padding:6px 12px;
  }
  .director-note{text-align:center; margin-top:28px; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.04em;}


  /* ---------- Director's Circle tiers ---------- */
  .circle-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:10px;}
  @media(max-width:920px){ .circle-grid{grid-template-columns:1fr; max-width:460px; margin:10px auto 0;} }
  .circle-tier{border:1px solid var(--line); background:var(--panel-2); padding:30px 26px; position:relative; text-align:center;}
  .circle-tier.milestone{border-color:var(--amber); background:linear-gradient(180deg, rgba(224,141,69,0.1), var(--panel-2) 35%);}
  .circle-badge{position:absolute; top:-1px; right:-1px; background:var(--amber); color:var(--ink); font-family:'JetBrains Mono',monospace; font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; padding:6px 12px; font-weight:700;}
  .circle-num{font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--teal-light); margin-bottom:14px;}
  .circle-amt{font-family:'Fraunces',serif; font-weight:600; font-size:38px; color:var(--amber); margin-bottom:6px;}
  .circle-tier p{font-size:12.5px; color:var(--cream-dim); line-height:1.6; margin-top:12px;}
  .circle-bonus{margin-top:14px; padding-top:14px; border-top:1px solid var(--line); font-size:12px; color:var(--amber); line-height:1.6;}
  .circle-tier.milestone .circle-bonus{border-top-color:rgba(224,141,69,0.3);}

  .them-banner{margin-top:24px; border:1px solid var(--line); background:var(--panel); padding:28px 32px; display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap;}
  .them-banner .amt{font-family:'Fraunces',serif; font-weight:600; font-size:36px; color:var(--amber);}
  .them-banner .txt h4{font-size:15px; color:var(--cream); margin-bottom:6px; font-weight:600; font-family:'Inter',sans-serif;}
  .them-banner .txt p{font-size:13px; color:var(--cream-dim); max-width:460px; line-height:1.6;}

  /* ---------- Booking form ---------- */
  #book{background:transparent;}
  .form-wrap{max-width:640px; margin:0 auto; border:1px solid var(--line); background:var(--panel-2); padding:44px;}
  @media(max-width:640px){ .form-wrap{padding:28px 22px;} }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
  @media(max-width:560px){ .form-row{grid-template-columns:1fr;} }
  .field{display:flex; flex-direction:column; gap:8px; margin-bottom:18px;}
  .field label{font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.1em; text-transform:uppercase; color:var(--teal-light);}
  .field input, .field select, .field textarea{background:var(--ink); border:1px solid var(--line); color:var(--cream); font-family:'Inter',sans-serif; font-size:14px; padding:12px 14px; outline:none; transition:border-color 0.2s ease;}
  .field input:focus, .field select:focus, .field textarea:focus{border-color:var(--amber);}
  .field textarea{resize:vertical; min-height:88px; font-family:'Inter',sans-serif;}
  .field select{appearance:none; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238fa8a2'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center;}
  .checkbox-field{display:flex; align-items:flex-start; gap:10px; margin-bottom:20px;}
  .checkbox-field input{margin-top:3px; accent-color:var(--amber);}
  .checkbox-field label{font-family:'Inter',sans-serif; font-size:12.5px; color:var(--cream-dim); text-transform:none; letter-spacing:0; line-height:1.5;}
  .submit-btn{width:100%; padding:15px; background:var(--amber); color:var(--ink); border:none; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; font-weight:700; cursor:pointer; margin-top:6px; transition:opacity 0.2s ease;}
  .submit-btn:hover{opacity:0.87;}
  .form-note{text-align:center; margin-top:18px; font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--muted); line-height:1.7;}
  .form-status{display:none; text-align:center; margin-top:18px; padding:14px; border:1px solid var(--teal-light); color:var(--cream); font-size:13px; font-family:'Inter',sans-serif;}
  .form-status.show{display:block;}

  /* ---------- Footer ---------- */
  footer{padding:56px 0 40px; text-align:center;}
  .footer-logo{font-family:'Fraunces',serif; font-weight:600; font-size:20px; color:var(--cream); margin-bottom:14px;}
  .footer-logo-img{height:132px; max-width:100%; width:auto; object-fit:contain; margin:0 auto 22px; display:block;}
  .footer-logo em{font-style:italic; font-weight:400; color:var(--amber);}
  .partnership-line{font-family:'Fraunces',serif; font-style:italic; font-size:14px; color:var(--cream-dim); max-width:480px; margin:0 auto 18px; line-height:1.6;}
  .footer-contacts{display:flex; justify-content:center; gap:32px; margin-top:6px; flex-wrap:wrap; font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--teal-light);}
  .footer-credit{font-family:'JetBrains Mono',monospace; font-size:10.5px; color:var(--muted); letter-spacing:0.05em; margin-top:24px; line-height:2;}

  .reveal{opacity:0; transform:translateY(24px); transition:opacity 0.8s ease, transform 0.8s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}


/* Multi-page navigation */
.nav-links a.active{color:var(--amber);}
.nav-logo-link{display:inline-flex;align-items:center;text-decoration:none;}
.page-jump-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px;}
.page-jump-card{display:block;border:1px solid rgba(255,255,255,.16);padding:24px;color:inherit;text-decoration:none;background:rgba(255,255,255,.025);transition:.25s ease;}
.page-jump-card:hover{border-color:var(--amber);transform:translateY(-3px);}
.page-jump-card strong{display:block;color:var(--amber);font-family:'Bebas Neue',sans-serif;font-size:25px;letter-spacing:1px;margin-bottom:5px;}
@media(max-width:760px){.page-jump-grid{grid-template-columns:1fr;}}

/* Canva EAFb1EAshLo-inspired editorial catalog treatment */
:root{
  --ink:#062c27; --panel:#073d36; --panel-2:#0a4a40;
  --teal:#073d36; --teal-light:#a9cfc5;
  --amber:#f2ad39; --copper:#d9822b;
  --cream:#fffdf7; --cream-dim:#e8eadf; --muted:#b7cbc4;
  --line:rgba(255,253,247,.24); --line-soft:rgba(255,253,247,.12);
}
body{background:#062c27;color:var(--cream);font-family:'Montserrat',sans-serif;}
h1,h2,h3,h4,.tier-name,.tier-price,.trust-num{font-family:'Cormorant Garamond',serif;}
nav{background:rgba(6,44,39,.96);border-bottom:1px solid rgba(255,255,255,.22);}
.nav-inner{padding-top:12px;padding-bottom:12px;}
.nav-link{font-family:'Montserrat',sans-serif;font-weight:600;letter-spacing:.12em;}
.nav-cta,.btn-primary{background:var(--amber);color:#062c27;border-radius:999px;}
.btn-ghost{border-color:rgba(255,255,255,.55);border-radius:999px;color:#fff;}
.hero{min-height:78vh;background:linear-gradient(90deg,rgba(6,44,39,.97) 0%,rgba(6,44,39,.87) 42%,rgba(6,44,39,.25) 100%);text-align:left;}
.hero>.wrap{width:100%;}
.hero .slate,.hero .coord-line,.hero .hero-actions{justify-content:flex-start;margin-left:0;}
.hero .hero-logo-wrap{justify-content:flex-start;margin-left:0;max-width:740px;}
.hero-logo-img{width:min(100%,680px);}
.hero-sub{margin-left:0;max-width:540px;}
.hero h1{font-size:clamp(48px,8vw,104px);font-weight:500;line-height:.92;max-width:850px;}
.eyebrow{font-family:'Montserrat',sans-serif;font-weight:600;color:var(--amber);}
section{padding:88px 0;}
.section-head h2{font-size:clamp(38px,5.2vw,64px);font-weight:500;line-height:.95;}
.tier,.add-on,.process-step,.team-card,.form-wrap,.page-jump-card{background:#f3efe2!important;color:#062c27;border:0!important;border-radius:0;box-shadow:none;}
.tier.featured{background:#a9cfc5!important;}
.tier-head,.tier-body,.add-on,.process-step,.team-card,.form-wrap{color:#062c27;}
.tier-name,.tier-price,.process-step h4,.team-card h3,.form-wrap h3{color:#062c27!important;}
.tier-body li,.circle-body li,.team-card p,.process-step p,.form-wrap p,.page-jump-card span{color:#31564f!important;}
.tier-badge{background:#f2ad39;color:#062c27;}
.page-jump-grid{gap:2px;}
.page-jump-card{padding:34px;min-height:170px;}
.page-jump-card strong{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:600;color:#062c27;}
.booking-banner{background:#a9cfc5;color:#062c27;border:0;}
.booking-banner h3,.booking-banner p,.booking-banner .banner-chip{color:#062c27;}
.booking-banner .banner-chip{border-color:rgba(6,44,39,.35);}
footer{background:#041f1c;}
input,select,textarea{background:#fffdf7!important;color:#062c27!important;border-color:rgba(6,44,39,.25)!important;}
@media(max-width:760px){
  .hero{text-align:center;background:#062c27;}
  .hero .slate,.hero .coord-line,.hero .hero-actions,.hero .hero-logo-wrap{justify-content:center;margin-left:auto;}
  .hero-sub{margin-left:auto;}
}

/* Expanded wedding photography */
.visual-story{background:#f3efe2;padding:18px 0 88px;}
.editorial-collage{display:grid;grid-template-columns:1.05fr .95fr .7fr;grid-template-rows:280px 260px;gap:12px;}
.editorial-photo{position:relative;overflow:hidden;margin:0;background:#0a4a40;}
.editorial-photo img,.feature-photo-row img,.wedding-filmstrip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease;}
.editorial-photo:hover img,.feature-photo-row figure:hover img,.wedding-filmstrip figure:hover img{transform:scale(1.035);}
.editorial-photo-tall{grid-row:1/3;}
.editorial-photo-wide{grid-column:2/4;}
.editorial-photo figcaption,.feature-photo-row figcaption,.wedding-filmstrip figcaption{position:absolute;left:14px;bottom:14px;background:#f2ad39;color:#062c27;padding:7px 10px;font:700 9px/1 'Montserrat',sans-serif;letter-spacing:.14em;text-transform:uppercase;}
.editorial-quote{background:#062c27;color:#fffdf7;padding:34px;display:flex;flex-direction:column;justify-content:space-between;}
.editorial-quote span{color:#f2ad39;font-size:10px;font-weight:700;letter-spacing:.17em;}
.editorial-quote strong{font:500 34px/.98 'Cormorant Garamond',serif;}
.feature-photo-row{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;margin:0 0 46px;align-items:stretch;}
.feature-photo-row figure,.wedding-filmstrip figure{height:330px;position:relative;overflow:hidden;margin:0;background:#0a4a40;}
.feature-photo-row .feature-photo-main{height:390px;margin-top:-30px;}
.wedding-filmstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 52px;}
.wedding-filmstrip figure{height:300px;}
.wedding-filmstrip figure:nth-child(even){margin-top:24px;}
.photo-gallery .photo-frame img{filter:saturate(.9) contrast(1.02);}
@media(max-width:760px){
  .editorial-collage{grid-template-columns:1fr 1fr;grid-template-rows:300px 220px 210px;}
  .editorial-photo-tall{grid-row:1/2;}.editorial-photo-wide{grid-column:1/3;}
  .feature-photo-row{grid-template-columns:1fr;}.feature-photo-row figure,.feature-photo-row .feature-photo-main{height:320px;margin-top:0;}
  .wedding-filmstrip{grid-template-columns:1fr 1fr}.wedding-filmstrip figure{height:260px}.wedding-filmstrip figure:nth-child(even){margin-top:0;}
}
@media(max-width:480px){.editorial-collage,.wedding-filmstrip{grid-template-columns:1fr;grid-template-rows:auto}.editorial-photo,.editorial-photo-wide,.editorial-photo-tall{grid-column:auto;grid-row:auto;height:310px}.editorial-quote{height:240px}.wedding-filmstrip figure{height:320px}}
/* Subtle image-backed page atmosphere */
body[class^="page-"]:not(.page-home):not(.page-gallery)::before{content:"";position:fixed;inset:0;z-index:-2;background:center/cover no-repeat;opacity:.14;filter:grayscale(1);}
body[class^="page-"]:not(.page-home):not(.page-gallery)::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,44,39,.76),#062c27 56%,#062c27);}
.page-engagements::before{background-image:url('assets/intimate-couple.jpg')!important;}
.page-weddings::before{background-image:url('assets/ceremony-hands.jpg')!important;}
.page-experience::before{background-image:url('assets/newlywed-rings.jpg')!important;}
.page-team::before{background-image:url('assets/wedding-party.jpg')!important;}
.page-contact::before{background-image:url('assets/smiling-couple.jpg')!important;}

/* Full-page slideshow gallery */
.page-gallery{overflow:hidden;background:#041f1c;}
.page-gallery nav{position:fixed;left:0;right:0;top:0;}
.fullscreen-gallery{height:100svh;min-height:620px;position:relative;background:#041f1c;overflow:hidden;}
.gallery-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s ease;}
.gallery-slide.is-active{opacity:1;visibility:visible;}
.gallery-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,20,18,.82),rgba(3,20,18,.18) 58%,rgba(3,20,18,.28)),linear-gradient(0deg,rgba(3,20,18,.75),transparent 42%);}
.gallery-slide img{width:100%;height:100%;object-fit:contain;object-position:center;background:#041f1c;transform:scale(1.015);transition:transform 6s linear;}
.gallery-slide.is-active img{transform:scale(1);}
.gallery-caption{position:absolute;z-index:2;left:max(6vw,32px);bottom:max(15vh,130px);max-width:700px;color:#fffdf7;}
.gallery-caption span{color:#f2ad39;font:700 10px/1 'Montserrat',sans-serif;letter-spacing:.2em;}
.gallery-caption h1,.gallery-caption h2{font:500 clamp(56px,8vw,112px)/.86 'Cormorant Garamond',serif;margin-top:18px;letter-spacing:-.035em;}
.gallery-arrow{position:absolute;z-index:4;top:50%;width:52px;height:52px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(6,44,39,.35);color:white;font-size:22px;cursor:pointer;backdrop-filter:blur(8px);transition:.2s;}
.gallery-arrow:hover{background:#f2ad39;color:#062c27;border-color:#f2ad39;}
.gallery-prev{left:24px}.gallery-next{right:24px}
.gallery-progress{position:absolute;z-index:4;left:max(6vw,32px);bottom:48px;display:flex;align-items:center;gap:14px;color:#fff;font:600 10px/1 'Montserrat',sans-serif;letter-spacing:.12em;}
.gallery-progress i{display:block;width:100px;height:1px;background:rgba(255,255,255,.55);}
.gallery-play{position:absolute;right:max(6vw,32px);bottom:44px;z-index:4;background:transparent;border:0;color:#fff;font:700 9px/1 'Montserrat',sans-serif;letter-spacing:.15em;cursor:pointer;}
.gallery-thumbs{position:absolute;z-index:4;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:6px;}
.gallery-thumb{width:28px;height:3px;border:0;background:rgba(255,255,255,.36);padding:0;cursor:pointer;transition:.3s;}
.gallery-thumb.is-active{background:#f2ad39;width:48px;}
@media(max-width:760px){.page-gallery .nav-links{display:none}.fullscreen-gallery{min-height:540px}.gallery-caption{left:24px;right:24px;bottom:120px}.gallery-caption h1,.gallery-caption h2{font-size:clamp(48px,16vw,76px)}.gallery-arrow{top:auto;bottom:35px;width:44px;height:44px}.gallery-prev{left:auto;right:78px}.gallery-next{right:24px}.gallery-progress{left:24px;bottom:54px}.gallery-progress i{width:44px}.gallery-play,.gallery-thumbs{display:none}}

/* Complete page system and mobile menu */
.mobile-menu-toggle{display:none;width:44px;height:40px;border:1px solid rgba(255,255,255,.3);background:transparent;padding:10px;cursor:pointer;}
.mobile-menu-toggle span{height:1px;background:#fff;display:block;margin:5px 0;}
.subpage-hero{min-height:58vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;padding:150px 0 72px;}
.subpage-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;}
.subpage-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,28,.96),rgba(6,44,39,.68) 55%,rgba(6,44,39,.22)),linear-gradient(0deg,rgba(4,31,28,.85),transparent 50%);}
.subpage-hero-copy{position:relative;z-index:2;width:100%;}
.subpage-hero h1{font-size:clamp(52px,7.5vw,96px);line-height:.88;font-weight:500;max-width:900px;}
.subpage-hero h1 em{font-weight:400;color:#f2ad39;}
.subpage-hero p{max-width:610px;margin-top:24px;color:#e8eadf;font-size:16px;line-height:1.7;}
.ready-cta{padding-top:36px;}
.page-process::before{background-image:url('assets/ceremony.jpg')!important;}
.page-referral::before{background-image:url('assets/happy-newlyweds.jpg')!important;}
.photo-frame img,.editorial-photo img,.feature-photo-row img,.wedding-filmstrip img{object-position:center 28%;}
.photo-gallery .photo-frame img{object-position:center 24%;}
@media(max-width:980px){
  .nav-links{gap:13px}.nav-link{font-size:9px}.logo-img{max-width:175px;}
}
@media(max-width:760px){
  .nav-inner{position:relative;flex-wrap:nowrap;}
  .mobile-menu-toggle{display:block;}
  .nav-links,.page-gallery .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:#062c27;border-top:1px solid rgba(255,255,255,.16);padding:18px 20px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 16px 28px rgba(0,0,0,.28);}
  .nav-links.is-open,.page-gallery .nav-links.is-open{display:flex;}
  .nav-link,.nav-cta{padding:13px 4px;font-size:11px;border-bottom:1px solid rgba(255,255,255,.1);}
  .nav-cta{text-align:center;margin-top:10px;border:0;}
  .subpage-hero{min-height:66vh;padding:130px 0 58px;text-align:center;}
  .subpage-hero::after{background:rgba(4,31,28,.74);}
  .subpage-hero-copy .eyebrow{justify-content:center;}
  .subpage-hero h1{font-size:clamp(48px,14vw,72px);}
  .subpage-hero p{margin-left:auto;margin-right:auto;}
}

/* Bridal-first professional refinement */
:root{--maxw:1240px;}
body{font-size:16px;line-height:1.65;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px;}
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;background:var(--amber);color:var(--ink);padding:12px 18px;font-weight:700;text-decoration:none;transition:top .2s;}
.skip-link:focus{top:16px;}
.nav-inner{max-width:1240px;}
.nav-links{gap:16px;}
.nav-cta{white-space:nowrap;}
.footer-nav{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:24px 0 18px;}
.footer-nav a,.footer-contacts a{color:var(--cream-dim);font-size:11px;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;}
.footer-nav a:hover,.footer-contacts a:hover{color:var(--amber);}

/* Home page uses landscape photography only */
.page-home .hero{min-height:86svh;padding:120px 0 0;align-items:stretch;justify-content:flex-end;}
.page-home .hero>.wrap{position:relative;z-index:2;}
.page-home .hero-photo-bg::after{background:linear-gradient(90deg,rgba(4,31,28,.98) 0%,rgba(4,31,28,.88) 43%,rgba(4,31,28,.32) 75%,rgba(4,31,28,.18)),linear-gradient(0deg,rgba(4,31,28,.78),transparent 55%);}
.page-home .hero-photo-bg img{object-position:center 42%;}
.page-home .hero h1{max-width:780px;}
.hero-eyebrow{justify-content:flex-start;}
.page-home .trust-bar{margin-top:72px;background:rgba(4,31,28,.7);backdrop-filter:blur(10px);}
.bride-welcome{background:#fffdf7;color:#062c27;}
.split-editorial{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end;}
.split-editorial h2{font-size:clamp(42px,5vw,70px);font-weight:500;line-height:.98;}
.split-editorial .eyebrow{color:#b87913;}
.body-copy p{color:#31564f;font-size:17px;line-height:1.9;}
.text-link{display:inline-flex;gap:9px;margin-top:24px;color:#062c27;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid #f2ad39;padding-bottom:6px;}
.home-landscape-story{background:#f3efe2;padding-top:0;}
.landscape-feature,.landscape-pair figure{position:relative;margin:0;overflow:hidden;background:#062c27;}
.landscape-feature-large{aspect-ratio:2.15/1;}
.landscape-feature img,.landscape-pair img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease;}
.landscape-feature:hover img,.landscape-pair figure:hover img{transform:scale(1.025);}
.landscape-feature span,.landscape-pair figcaption{position:absolute;left:20px;bottom:18px;background:var(--amber);color:var(--ink);padding:8px 12px;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;}
.landscape-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;}
.landscape-pair figure{aspect-ratio:1.65/1;}
.promise-section{background:#062c27;}
.section-head em{color:var(--amber);font-weight:400;}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);margin-top:48px;}
.promise-grid article{background:#073d36;padding:38px;min-height:270px;}
.promise-grid article>span{color:var(--amber);font-size:11px;font-weight:700;letter-spacing:.16em;}
.promise-grid h3{font-size:31px;font-weight:500;margin:48px 0 12px;}
.promise-grid p{color:var(--cream-dim);font-size:14px;line-height:1.8;}
.collection-preview{background:#a9cfc5;color:#062c27;}
.collection-intro{display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:end;margin-bottom:42px;}
.collection-intro .eyebrow{color:#8e5d0b;}
.collection-intro h2{font-size:clamp(42px,5vw,68px);font-weight:500;line-height:.96;}
.collection-intro>p{color:#274d46;font-size:16px;line-height:1.8;}
.collection-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.collection-card{min-height:330px;padding:38px;background:#fffdf7;color:#062c27;text-decoration:none;display:flex;flex-direction:column;transition:transform .25s,background .25s;}
.collection-card.featured{background:#062c27;color:#fffdf7;}
.collection-card:hover{transform:translateY(-5px);}
.collection-card>span{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#9b690f;}
.collection-card.featured>span{color:var(--amber);}
.collection-card h3{font-size:42px;font-weight:500;margin:auto 0 8px;}
.collection-card strong{font-size:14px;letter-spacing:.06em;}
.collection-card small{margin-top:30px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.home-process{background:#041f1c;}
.home-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:50px 0 42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.home-steps li{padding:30px 24px;border-right:1px solid var(--line);}
.home-steps li:last-child{border-right:0;}
.home-steps li>span{color:var(--amber);font-size:10px;font-weight:700;letter-spacing:.15em;}
.home-steps h3{font-size:25px;font-weight:500;margin:40px 0 9px;}
.home-steps p{font-size:13px;color:var(--cream-dim);line-height:1.7;}
.center-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.home-landscape-band{min-height:620px;padding:0;position:relative;overflow:hidden;display:flex;align-items:center;}
.home-landscape-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;}
.home-landscape-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,31,28,.96),rgba(4,31,28,.5) 55%,rgba(4,31,28,.08));}
.home-landscape-band-copy{position:relative;z-index:2;width:min(1240px,100%);margin:auto;padding:80px 32px;}
.home-landscape-band-copy>span{color:var(--amber);font-size:10px;font-weight:700;letter-spacing:.2em;}
.home-landscape-band-copy h2{font-size:clamp(50px,7vw,88px);line-height:.9;font-weight:500;margin:20px 0 32px;}
.home-landscape-band-copy h2 em{color:var(--amber);font-weight:400;}
.home-explore{background:#f3efe2;color:#062c27;}
.home-explore .eyebrow{color:#9b690f;}
.home-explore .section-head h2{color:#062c27;}
.home-explore .page-jump-card{background:#fffdf7!important;}

/* Bridal guide */
.page-bridal-guide::before{background-image:url('assets/bridesmaids.jpg')!important;}
.bridal-guide-hero>img{object-position:center 34%;}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:42px;}
.guide-grid article{background:#f3efe2;color:#062c27;padding:36px;min-height:280px;}
.guide-grid article>span{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#9b690f;}
.guide-grid h3{font-size:32px;font-weight:500;margin:58px 0 12px;}
.guide-grid p{color:#31564f;font-size:14px;line-height:1.8;}
.guide-note{text-align:center;max-width:720px;margin:28px auto 0;color:var(--cream-dim);font-size:14px;}
.light-section{background:#f3efe2;color:#062c27;}
.timeline-tips{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(6,44,39,.2);}
.timeline-tips article{display:flex;gap:24px;padding:34px 28px;border-bottom:1px solid rgba(6,44,39,.2);}
.timeline-tips article:nth-child(odd){border-right:1px solid rgba(6,44,39,.2);}
.timeline-tips strong{color:#a96e0d;font-size:11px;letter-spacing:.14em;}
.timeline-tips h3{font-size:27px;font-weight:500;margin-bottom:7px;}
.timeline-tips p{color:#31564f;font-size:14px;line-height:1.75;}
.faq-wrap{max-width:900px;}
.faq-list{border-top:1px solid var(--line);}
.faq-list details{border-bottom:1px solid var(--line);}
.faq-list summary{cursor:pointer;list-style:none;padding:24px 52px 24px 0;font-family:'Cormorant Garamond',serif;font-size:25px;font-weight:500;position:relative;}
.faq-list summary::-webkit-details-marker{display:none;}
.faq-list summary::after{content:'+';position:absolute;right:6px;top:22px;color:var(--amber);font:400 26px/1 'Montserrat',sans-serif;}
.faq-list details[open] summary::after{content:'–';}
.faq-list details p{max-width:720px;color:var(--cream-dim);padding:0 50px 26px 0;line-height:1.8;}

/* Booking page */
.contact-intro{padding:150px 0 70px;background:#041f1c;}
.contact-intro h1{font-size:clamp(56px,8vw,104px);font-weight:500;line-height:.87;}
.contact-intro h1 em{color:var(--amber);font-weight:400;}
.contact-intro p{max-width:650px;margin-top:25px;color:var(--cream-dim);font-size:16px;}
.booking-section{background:#f3efe2;padding-top:70px;}
.booking-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px;align-items:start;}
.booking-sidebar{position:sticky;top:110px;}
.booking-photo{aspect-ratio:1.1/1;overflow:hidden;}
.booking-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;}
.booking-reassurance{background:#062c27;padding:32px;}
.booking-reassurance>span{color:var(--amber);font-size:10px;font-weight:700;letter-spacing:.16em;}
.booking-reassurance ol{list-style:none;margin-top:28px;}
.booking-reassurance li{padding:0 0 24px 32px;position:relative;border-left:1px solid rgba(255,255,255,.22);}
.booking-reassurance li:last-child{padding-bottom:0;border-left-color:transparent;}
.booking-reassurance li::before{content:'';position:absolute;left:-5px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--amber);}
.booking-reassurance strong,.booking-reassurance small{display:block;}
.booking-reassurance strong{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:500;}
.booking-reassurance small{color:var(--cream-dim);font-size:12px;line-height:1.6;margin-top:3px;}
.form-wrap.inquiry-form{max-width:none;margin:0;padding:48px;background:#fffdf7!important;}
.form-heading{margin-bottom:32px;}
.form-heading>span{color:#9b690f;font-size:10px;font-weight:700;letter-spacing:.16em;}
.form-heading h2{font-size:48px!important;font-weight:500;margin:5px 0;}
.form-heading p{font-size:12px;}
.inquiry-form .field label{font-family:'Montserrat',sans-serif;color:#31564f;font-weight:700;}
.inquiry-form .field textarea{min-height:115px;}
.inquiry-form .form-note a{color:#062c27;font-weight:700;}
.micro-faq{background:#062c27;}
.micro-faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.micro-faq-grid article{background:#073d36;padding:32px;}
.micro-faq-grid h3{font-size:27px;font-weight:500;margin-bottom:9px;}
.micro-faq-grid p{color:var(--cream-dim);font-size:13px;line-height:1.7;}

@media(max-width:1080px){
  .nav-links{gap:10px}.nav-link{font-size:8.5px}.logo-img{max-width:165px;}
  .collection-intro,.split-editorial{gap:50px;}
}
@media(max-width:760px){
  .page-home .hero{padding-top:110px;text-align:center;min-height:90svh;}
  .page-home .hero-photo-bg::after{background:linear-gradient(0deg,rgba(4,31,28,.98),rgba(4,31,28,.48) 78%,rgba(4,31,28,.5));}
  .page-home .hero-photo-bg img{object-position:58% center;}
  .hero-eyebrow{justify-content:center;}
  .page-home .trust-bar{margin-top:46px;}
  .split-editorial,.collection-intro,.booking-layout{grid-template-columns:1fr;gap:28px;}
  .landscape-feature-large{aspect-ratio:1.65/1;}
  .landscape-pair{grid-template-columns:1fr;}
  .landscape-pair figure{aspect-ratio:1.65/1;}
  .promise-grid,.collection-cards,.home-steps,.guide-grid,.micro-faq-grid{grid-template-columns:1fr;}
  .promise-grid article{min-height:auto;}.promise-grid h3{margin-top:30px;}
  .collection-card{min-height:270px;}
  .home-steps li{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:48px 1fr;gap:10px;}
  .home-steps li:last-child{border-bottom:0}.home-steps h3{margin-top:0;}
  .home-landscape-band{min-height:540px;text-align:center}.home-landscape-band::after{background:rgba(4,31,28,.68)}
  .timeline-tips{grid-template-columns:1fr}.timeline-tips article:nth-child(odd){border-right:0;}
  .booking-sidebar{position:static;}.booking-photo{aspect-ratio:1.65/1;}.form-wrap.inquiry-form{padding:30px 22px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-slide,.gallery-slide img{transition:none!important}}

/* Three-image page atmosphere: top, middle, and closing image */
.page-home{--bg-top:url('assets/home-couple-tree.jpg');--bg-mid:url('assets/classic-embrace.jpg');--bg-bottom:url('assets/love-sign-brides.jpg');}
.page-engagements{--bg-top:url('assets/bicycle-couple.jpg');--bg-mid:url('assets/nature-walk.jpg');--bg-bottom:url('assets/lake-dock.jpg');}
.page-weddings{--bg-top:url('assets/reflective-pool.jpg');--bg-mid:url('assets/evening-lights.jpg');--bg-bottom:url('assets/couple-champagne.jpg');}
.page-process{--bg-top:url('assets/hand-in-hand.jpg');--bg-mid:url('assets/cabin-silhouette.jpg');--bg-bottom:url('assets/indoor-portrait.jpg');}
.page-referral{--bg-top:url('assets/couple-champagne.jpg');--bg-mid:url('assets/wedding-drinks.jpg');--bg-bottom:url('assets/love-sign-brides.jpg');}
.page-team{--bg-top:url('assets/tree-romance.jpg');--bg-mid:url('assets/atlanta-skyline-couple.jpg');--bg-bottom:url('assets/bridge-fashion.jpg');}
.page-contact{--bg-top:url('assets/bride-embrace-close.jpg');--bg-mid:url('assets/veil-moment.jpg');--bg-bottom:url('assets/tree-romance.jpg');}
.page-bridal-guide{--bg-top:url('assets/bridesmaids.jpg');--bg-mid:url('assets/classic-embrace.jpg');--bg-bottom:url('assets/soft-embrace.jpg');}

body[class^="page-"]:not(.page-gallery){isolation:isolate;background:#062c27;}
body[class^="page-"]:not(.page-gallery)::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:var(--bg-top),var(--bg-mid),var(--bg-bottom);
  background-repeat:no-repeat;
  background-position:center top,center center,center bottom;
  background-size:100% min(850px,34%),100% min(850px,34%),100% min(850px,34%);
  opacity:.34;filter:saturate(.86) contrast(1.04);
}
body[class^="page-"]:not(.page-gallery)::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,31,28,.5),rgba(6,44,39,.78) 28%,rgba(6,44,39,.7) 53%,rgba(4,31,28,.82));
}

/* Home keeps every photographic source horizontal while adding depth. */
.page-home .promise-section{
  background-image:linear-gradient(90deg,rgba(4,31,28,.95),rgba(4,31,28,.76)),var(--bg-mid);
  background-size:cover;background-position:center;
}
.page-home .home-process{
  background-image:linear-gradient(90deg,rgba(4,31,28,.96),rgba(4,31,28,.76)),url('assets/urban-park.jpg');
  background-size:cover;background-position:center;
}
.page-home .home-explore{
  background-image:linear-gradient(rgba(243,239,226,.91),rgba(243,239,226,.91)),url('assets/grassy-field.jpg');
  background-size:cover;background-position:center;
}

/* Mid-page image treatments preserve card and text readability. */
.page-process #process{
  background-image:linear-gradient(rgba(6,44,39,.86),rgba(6,44,39,.91)),var(--bg-mid);
  background-size:cover;background-position:center;background-attachment:fixed;
}
.page-process section:nth-of-type(2){
  background-image:linear-gradient(rgba(4,31,28,.88),rgba(4,31,28,.92)),url('assets/ring-detail.jpg');
  background-size:cover;background-position:center;
}
.page-referral #referral{
  background-image:linear-gradient(rgba(6,44,39,.84),rgba(6,44,39,.91)),var(--bg-mid);
  background-size:cover;background-position:center;
}
.page-weddings section:nth-of-type(2){
  background-image:linear-gradient(rgba(4,31,28,.82),rgba(4,31,28,.9)),var(--bg-mid);
  background-size:cover;background-position:center;
}
.page-weddings section:nth-of-type(3){
  background-image:linear-gradient(rgba(6,44,39,.86),rgba(6,44,39,.92)),url('assets/cake.jpg');
  background-size:cover;background-position:center;
}
.page-team #team{
  background-image:linear-gradient(rgba(6,44,39,.8),rgba(6,44,39,.92)),var(--bg-mid);
  background-size:cover;background-position:center;
}
.page-engagements #engagements{
  background-image:linear-gradient(180deg,rgba(4,31,28,.68),rgba(6,44,39,.9) 48%,rgba(4,31,28,.82)),var(--bg-top),var(--bg-mid);
  background-repeat:no-repeat;background-size:cover,100% 48%,100% 52%;background-position:center,center top,center bottom;
}
.page-contact .contact-intro{
  background-image:linear-gradient(90deg,rgba(4,31,28,.94),rgba(4,31,28,.62)),var(--bg-top);
  background-size:cover;background-position:center 30%;
}
.page-contact .booking-section{
  background-image:linear-gradient(rgba(243,239,226,.92),rgba(243,239,226,.92)),var(--bg-mid);
  background-size:cover;background-position:center;background-attachment:fixed;
}
.page-contact .micro-faq{
  background-image:linear-gradient(rgba(4,31,28,.86),rgba(4,31,28,.92)),var(--bg-bottom);
  background-size:cover;background-position:center;
}
.page-bridal-guide .light-section{
  background-image:linear-gradient(rgba(243,239,226,.9),rgba(243,239,226,.93)),var(--bg-mid);
  background-size:cover;background-position:center;
}
.page-bridal-guide section:nth-of-type(3){
  background-image:linear-gradient(rgba(6,44,39,.83),rgba(6,44,39,.91)),url('assets/hands-rings.jpg');
  background-size:cover;background-position:center;
}

body[class^="page-"]:not(.page-gallery) footer{
  background-image:linear-gradient(rgba(4,31,28,.9),rgba(4,31,28,.97)),var(--bg-bottom);
  background-size:cover;background-position:center;
  border-top:1px solid rgba(255,253,247,.16);
}

@media(max-width:760px){
  body[class^="page-"]:not(.page-gallery)::before{background-size:auto 30%,auto 30%,auto 30%;opacity:.28;}
  .page-process #process,.page-contact .booking-section{background-attachment:scroll;}
}

/* Opening image is presented as a clean full-width portrait of the couple. */
.page-home .bridal-hero{display:block;min-height:0;padding:0;background:#041f1c;text-align:center;}
.page-home .bridal-hero .hero-photo-bg{position:relative;inset:auto;width:100%;aspect-ratio:2/1;min-height:420px;}
.page-home .bridal-hero .hero-photo-bg::after{background:linear-gradient(0deg,rgba(4,31,28,.72),transparent 34%);}
.page-home .bridal-hero .hero-photo-bg img{object-fit:cover;object-position:center 65%;}
.page-home .bridal-hero>.wrap{padding-top:72px;}
.page-home .bridal-hero .eyebrow,.page-home .bridal-hero .hero-actions{justify-content:center;}
.page-home .bridal-hero h1{margin-left:auto;margin-right:auto;}
.page-home .bridal-hero .hero-sub{margin-left:auto;margin-right:auto;}

@media(max-width:760px){
  .page-home .bridal-hero .hero-photo-bg{aspect-ratio:3/2;min-height:0;}
  .page-home .bridal-hero .hero-photo-bg img{width:100%;height:100%;object-fit:cover;object-position:center;}
  .page-home .bridal-hero>.wrap{padding-top:54px;}
}

/* Cinematic first-visit drone opener */
body.intro-active{overflow:hidden;}
.site-intro{position:fixed;inset:0;z-index:10000;background:#031612;display:grid;place-items:center;overflow:hidden;visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path 2.15s cubic-bezier(.65,0,.25,1),visibility 0s linear 2.15s;}
.site-intro::after{content:"";position:absolute;z-index:6;left:0;right:0;top:0;height:3px;opacity:0;transform:translateY(-6px);background:linear-gradient(90deg,transparent 0%,#f2ad39 14%,#fff3c4 50%,#f2ad39 86%,transparent 100%);box-shadow:0 0 22px rgba(242,173,57,.95),0 8px 34px rgba(242,173,57,.34);}
.site-intro.is-leaving{clip-path:inset(100% 0 0 0);visibility:hidden;pointer-events:none;}
.site-intro.is-leaving::after{opacity:1;transform:translateY(100vh);transition:transform 2.15s cubic-bezier(.65,0,.25,1),opacity .35s ease;}
.site-intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.001);filter:blur(0) brightness(1) saturate(1);transition:filter 2.45s cubic-bezier(.16,1,.3,1),transform 3.1s cubic-bezier(.16,1,.3,1);will-change:filter,transform;}
.site-intro.logo-is-visible .site-intro-video{filter:blur(11px) brightness(.5) saturate(.78);transform:scale(1.045);}
.site-intro-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,22,18,.16),rgba(3,22,18,.06) 46%,rgba(3,22,18,.62)),radial-gradient(circle at center,transparent 18%,rgba(3,22,18,.28) 100%);transition:background 2.45s cubic-bezier(.16,1,.3,1);}
.site-intro.logo-is-visible .site-intro-shade{background:linear-gradient(180deg,rgba(3,22,18,.3),rgba(3,22,18,.22) 46%,rgba(3,22,18,.72)),radial-gradient(circle at center,rgba(242,173,57,.08),rgba(3,22,18,.58) 68%,rgba(3,22,18,.76));}
.site-intro-brand{position:relative;z-index:3;width:min(760px,76vw);text-align:center;opacity:0;transform:scale(.94);filter:blur(12px);transition:opacity 2.35s cubic-bezier(.16,1,.3,1),transform 2.65s cubic-bezier(.16,1,.3,1),filter 2.35s cubic-bezier(.16,1,.3,1);}
.site-intro-brand::before{content:"";position:absolute;z-index:-1;inset:8% -8%;background:radial-gradient(ellipse at center,rgba(242,173,57,.24),rgba(3,22,18,.2) 46%,transparent 72%);opacity:0;transform:scale(.86);transition:opacity 2.4s ease,transform 2.8s cubic-bezier(.16,1,.3,1);}
.site-intro-brand.is-visible{opacity:1;transform:scale(1);filter:blur(0);}
.site-intro-brand.is-visible::before{opacity:1;transform:scale(1);}
.site-intro-brand img{display:block;width:100%;height:auto;max-height:54vh;object-fit:contain;filter:drop-shadow(0 18px 40px rgba(0,0,0,.48));}
.site-intro-brand span{display:block;margin-top:-3%;color:#fffdf7;font-size:10px;font-weight:700;letter-spacing:.32em;text-shadow:0 2px 18px rgba(0,0,0,.9);}
.site-intro-skip{position:absolute;right:28px;bottom:26px;z-index:4;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(3,22,18,.36);backdrop-filter:blur(8px);color:#fff;padding:11px 17px;font-family:'Montserrat',sans-serif;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.site-intro-skip:hover{background:var(--amber);border-color:var(--amber);color:var(--ink);}
@media(max-width:760px){
  .site-intro-video{object-position:center;}
  .site-intro-brand{width:min(88vw,620px);}
  .site-intro-brand span{font-size:8px;letter-spacing:.22em;margin-top:-1%;}
  .site-intro-skip{right:18px;bottom:18px;}
}
@media(prefers-reduced-motion:reduce){
  .site-intro,.site-intro-brand,.site-intro-video,.site-intro-shade{transition-duration:.2s;}
  .site-intro-video{display:none;}
  .site-intro{background:#062c27 url('assets/intro-drone-poster.jpg') center/cover no-repeat;}
  .site-intro.is-leaving{clip-path:none;opacity:0;transition:opacity .2s ease;}
}

/* Natural-ratio image layouts keep every face and head inside the frame. */
.wedding-filmstrip{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;}
.wedding-filmstrip figure,.feature-photo-row figure{height:auto;aspect-ratio:auto;}
.wedding-filmstrip figure:nth-child(even),.feature-photo-row .feature-photo-main{height:auto;margin-top:0;}
.wedding-filmstrip img,.feature-photo-row img,.booking-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;}
.booking-photo{aspect-ratio:auto;background:#062c27;}
.story-strip-section{padding:2px;background:#f3efe2;}
.story-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;max-width:1500px;margin:0 auto;}
.story-strip figure{margin:0;background:#062c27;overflow:hidden;}
.story-strip img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center;}

/* Full-page editorial gallery, inspired by the reference's edge-to-edge masonry rhythm. */
.page-gallery{overflow:auto;background:#f3efe2;color:#062c27;}
.page-gallery nav{position:sticky;top:0;}
.portfolio-gallery{min-height:100vh;background:#f3efe2;padding-top:0;}
.gallery-intro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);gap:40px;align-items:end;padding:clamp(110px,13vw,190px) clamp(22px,5vw,82px) clamp(52px,7vw,96px);background:#f3efe2;}
.gallery-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#7b6d55;margin-bottom:18px;}
.gallery-intro h1{font:500 clamp(64px,10vw,152px)/.78 'Cormorant Garamond',serif;letter-spacing:-.055em;color:#062c27;}
.gallery-intro h1 em{color:#c58224;font-weight:400;}
.gallery-intro-note{max-width:390px;padding-bottom:7px;}
.gallery-intro-note p{font:500 clamp(18px,2vw,26px)/1.25 'Cormorant Garamond',serif;color:#264e47;}
.gallery-intro-note span{display:block;margin-top:24px;font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#806f55;}
.gallery-wall{columns:4 260px;column-gap:10px;padding:10px;background:#fffdf7;}
.gallery-tile{position:relative;display:block;width:100%;margin:0 0 10px;padding:0;border:0;background:#062c27;overflow:hidden;break-inside:avoid;cursor:zoom-in;text-align:left;}
.gallery-tile img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .45s ease;}
.gallery-tile-overlay{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:flex-end;padding:18px;color:#fff;background:linear-gradient(0deg,rgba(4,31,28,.72),transparent 48%);opacity:0;transition:opacity .3s ease;}
.gallery-tile-overlay span{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.gallery-tile-overlay b{font-size:20px;font-weight:400;}
.gallery-tile:hover img,.gallery-tile:focus-visible img{transform:scale(1.025);filter:grayscale(0);}
.gallery-tile:hover .gallery-tile-overlay,.gallery-tile:focus-visible .gallery-tile-overlay{opacity:1;}
.gallery-tile:focus-visible{outline:3px solid #f2ad39;outline-offset:-3px;}
.gallery-end{display:flex;align-items:center;justify-content:center;gap:30px;min-height:260px;padding:60px 24px;background:#062c27;color:#fffdf7;text-align:center;}
.gallery-end p{font:500 clamp(30px,4vw,54px)/1 'Cormorant Garamond',serif;}

body.lightbox-open{overflow:hidden;}
.gallery-lightbox[hidden]{display:none;}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:76px minmax(0,1fr) 76px;align-items:center;background:rgba(2,14,12,.97);color:#fffdf7;padding:72px 26px 62px;backdrop-filter:blur(18px);}
.lightbox-figure{min-width:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;}
.lightbox-figure img{display:block;max-width:100%;max-height:calc(100vh - 180px);width:auto;height:auto;object-fit:contain;opacity:1;transform:scale(1);transition:opacity .18s ease,transform .3s ease;box-shadow:0 24px 70px rgba(0,0,0,.36);}
.lightbox-figure img.is-changing{opacity:.15;transform:scale(.992);}
.lightbox-figure figcaption{margin-top:16px;max-width:760px;color:#d9dfd7;font-size:11px;letter-spacing:.05em;text-align:center;}
.lightbox-close{position:absolute;right:24px;top:22px;background:transparent;border:0;color:#fffdf7;font:700 9px/1 'Montserrat',sans-serif;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;}
.lightbox-close span{font:300 28px/0 'Montserrat',sans-serif;vertical-align:-4px;margin-left:8px;}
.lightbox-arrow{width:54px;height:54px;border:1px solid rgba(255,255,255,.42);border-radius:50%;background:transparent;color:#fff;font-size:21px;cursor:pointer;transition:.2s;}
.lightbox-arrow:hover,.lightbox-arrow:focus-visible{background:#f2ad39;border-color:#f2ad39;color:#062c27;}
.lightbox-footer{position:absolute;left:26px;right:26px;bottom:22px;display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
.lightbox-footer button{border:0;background:transparent;color:#fffdf7;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;}

@media(max-width:980px){
  .gallery-wall{columns:3 220px;}
  .gallery-intro{grid-template-columns:1fr;gap:24px;}
  .gallery-intro-note{max-width:560px;}
}
@media(max-width:760px){
  .wedding-filmstrip,.story-strip{grid-template-columns:1fr;}
  .feature-photo-row{grid-template-columns:1fr;}
  .gallery-wall{columns:2 150px;column-gap:6px;padding:6px;}
  .gallery-tile{margin-bottom:6px;}
  .gallery-tile-overlay{display:none;}
  .gallery-end{flex-direction:column;gap:20px;}
  .gallery-lightbox{grid-template-columns:1fr;padding:70px 14px 92px;}
  .lightbox-arrow{position:absolute;bottom:24px;width:46px;height:46px;z-index:2;}
  .lightbox-prev{right:72px;}.lightbox-next{right:16px;}
  .lightbox-footer{right:auto;bottom:42px;}
  .lightbox-footer button{display:none;}
  .lightbox-figure img{max-height:calc(100vh - 190px);}
}
@media(max-width:440px){.gallery-wall{columns:1;}.gallery-intro{padding-left:20px;padding-right:20px;}}
@media(prefers-reduced-motion:reduce){.gallery-tile img,.lightbox-figure img{transition:none!important;}}

/* Site-wide black-and-white photos that bloom into color on hover, focus, or tap-to-enlarge. */
img.photo-bw{filter:grayscale(1);transition:filter .55s ease,transform .7s ease;}
.photo-zoom{cursor:zoom-in;}
.photo-zoom:hover img.photo-bw,.photo-zoom:focus-visible img.photo-bw,.gallery-tile:hover img.photo-bw,.gallery-tile:focus-visible img.photo-bw,img.photo-bw.is-color{filter:grayscale(0) saturate(1.3) contrast(1.06);}
.gallery-lightbox .lightbox-figure img{filter:saturate(1.3) contrast(1.06);}
.photo-zoom:focus-visible{outline:3px solid #f2ad39;outline-offset:-3px;}
.photo-viewer[hidden]{display:none;}
.photo-viewer .lightbox-arrow[hidden]{display:block;visibility:hidden;}

/* Enlarged photos fill the entire browser window, with controls floating over the image. */
.gallery-lightbox{display:block;padding:0;background:#000;}
.gallery-lightbox .lightbox-figure{position:absolute;inset:0;height:auto;}
.gallery-lightbox .lightbox-figure img{width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;object-fit:contain;box-shadow:none;}
.gallery-lightbox .lightbox-figure figcaption{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);margin:0;width:max-content;max-width:min(760px,calc(100vw - 260px));padding:8px 14px;border-radius:999px;background:rgba(0,0,0,.5);color:#f4f1e8;}
.gallery-lightbox .lightbox-close{z-index:3;top:18px;right:18px;padding:10px 14px;border-radius:999px;background:rgba(0,0,0,.5);}
.gallery-lightbox .lightbox-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.4);}
.gallery-lightbox .lightbox-prev{left:18px;}
.gallery-lightbox .lightbox-next{right:18px;}
.gallery-lightbox .lightbox-footer{z-index:3;left:18px;right:18px;bottom:20px;pointer-events:none;}
.gallery-lightbox .lightbox-footer>*{pointer-events:auto;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.5);}
@media(max-width:760px){
  .gallery-lightbox .lightbox-arrow{top:auto;bottom:16px;transform:none;}
  .gallery-lightbox .lightbox-prev{left:auto;right:70px;}
  .gallery-lightbox .lightbox-next{right:16px;}
  .gallery-lightbox .lightbox-footer{left:16px;bottom:24px;}
  .gallery-lightbox .lightbox-figure figcaption{top:22px;bottom:auto;left:16px;transform:none;max-width:calc(100vw - 140px);border-radius:14px;}
}

/* Page-to-page wipe, matching the opening intro: a dark panel with a golden
   leading edge sweeps down to reveal each page, and sweeps in before leaving. */
html::before,html::after{content:"";position:fixed;left:0;right:0;z-index:9999;pointer-events:none;}
html::before{top:0;bottom:0;background:#031612 url('assets/image-14ba940dd365.png') center/min(420px,60vw) auto no-repeat;clip-path:inset(0 0 0 0);animation:page-wipe-reveal 1.35s cubic-bezier(.65,0,.25,1) .12s both;}
html::after{top:0;height:3px;background:linear-gradient(90deg,transparent 0%,#f2ad39 14%,#fff3c4 50%,#f2ad39 86%,transparent 100%);box-shadow:0 0 22px rgba(242,173,57,.95),0 8px 34px rgba(242,173,57,.34);opacity:0;animation:page-wipe-line 1.35s cubic-bezier(.65,0,.25,1) .12s both;}
@keyframes page-wipe-reveal{from{clip-path:inset(0 0 0 0);}to{clip-path:inset(100% 0 0 0);visibility:hidden;}}
@keyframes page-wipe-line{0%{opacity:1;transform:translateY(0);}92%{opacity:1;}100%{opacity:0;transform:translateY(100vh);}}
.page-wipe{position:fixed;inset:0;z-index:9999;pointer-events:all;background:#031612 url('assets/image-14ba940dd365.png') center/min(420px,60vw) auto no-repeat;clip-path:inset(0 0 100% 0);transition:clip-path .8s cubic-bezier(.65,0,.25,1);}
.page-wipe::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;transform:translateY(0);background:linear-gradient(90deg,transparent 0%,#f2ad39 14%,#fff3c4 50%,#f2ad39 86%,transparent 100%);box-shadow:0 0 22px rgba(242,173,57,.95),0 8px 34px rgba(242,173,57,.34);transition:transform .8s cubic-bezier(.65,0,.25,1);}
.page-wipe.is-covering{clip-path:inset(0 0 0 0);}
.page-wipe.is-covering::after{transform:translateY(calc(100vh - 3px));}
@media(prefers-reduced-motion:reduce){
  html::before{animation:page-wipe-fade .25s ease both;}
  html::after{display:none;}
  .page-wipe{clip-path:none;opacity:0;transition:opacity .2s ease;}
  .page-wipe.is-covering{opacity:1;}
  .page-wipe::after{display:none;}
  @keyframes page-wipe-fade{from{opacity:1;}to{opacity:0;visibility:hidden;}}
}
