:root{
    --black:#0a0a0b;
    --panel:#141415;
    --panel-2:#1c1c1e;
    --red:#c31432;
    --red-deep:#4a0b18;
    --red-bright:#e13351;
    --bone:#efe8dd;
    --bone-dim:#c9c2b5;
    --grey:#8f897f;
    --line:rgba(239,232,221,0.12);
    --bar-h:22px;
    --nav-h:76px;
    --display:'Big Shoulders Display',sans-serif;
    --body-font:'Inter',sans-serif;
    --mono:'IBM Plex Mono',monospace;
  }

  *{margin:0;padding:0;box-sizing:border-box;}

  html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + var(--bar-h) + 10px);}

  body{
    background:var(--black);
    color:var(--bone);
    font-family:var(--body-font);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  button{font-family:inherit;cursor:pointer;}

  ::selection{background:var(--red);color:var(--bone);}

  /* film grain overlay */
  body::after{
    content:"";
    position:fixed;inset:0;
    pointer-events:none;
    z-index:10000;
    opacity:.035;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
    animation:grain-flicker 7s ease-in-out infinite;
  }
  @keyframes grain-flicker{
    0%,100%{opacity:.028;}
    50%{opacity:.048;}
  }
  @media (prefers-reduced-motion:reduce){
    body::after{animation:none;}
  }

  /* ===== Letterbox cinema bars (signature element) =====
     Built as a real 35mm film edge: charcoal stock, rounded rectangular
     sprocket perforations, and a faded edge-printed frame code — not
     plain dots. Grain rides on top via body::after (see below). */
  .letterbox{
    position:fixed;left:0;right:0;
    height:var(--bar-h);
    background:#1a1a1a;
    z-index:9999;
    overflow:hidden;
  }
  .letterbox.top{top:0;border-bottom:1px solid rgba(239,232,221,0.06);}
  .letterbox.bottom{bottom:0;border-top:1px solid rgba(239,232,221,0.06);}
  .letterbox .sprockets{
    position:absolute;inset:0;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27110%27%20height%3D%2722%27%20viewBox%3D%270%200%20110%2022%27%3E%0A%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%27110%27%20height%3D%2722%27%20fill%3D%27%231a1a1a%27/%3E%0A%3Crect%20x%3D%278%27%20y%3D%275%27%20width%3D%2716%27%20height%3D%2712%27%20rx%3D%272.5%27%20fill%3D%27%23efe8dd%27%20fill-opacity%3D%270.16%27/%3E%0A%3Crect%20x%3D%278%27%20y%3D%275%27%20width%3D%2716%27%20height%3D%2712%27%20rx%3D%272.5%27%20fill%3D%27none%27%20stroke%3D%27%23efe8dd%27%20stroke-opacity%3D%270.08%27%20stroke-width%3D%270.5%27/%3E%0A%3Ctext%20x%3D%2766%27%20y%3D%2714.5%27%20font-family%3D%27monospace%27%20font-size%3D%277%27%20letter-spacing%3D%270.5%27%20fill%3D%27%23e17e34%27%20fill-opacity%3D%270.38%27%20text-anchor%3D%27middle%27%3E35A%3C/text%3E%0A%3C/svg%3E");
    background-size:110px 100%;
    background-repeat:repeat-x;
    background-position:center;
    animation:reel 90s linear infinite;
  }
  @keyframes reel{ to{ background-position:-110px center; } }

  body{padding-top:var(--bar-h);padding-bottom:var(--bar-h);}

  /* ===== Nav ===== */
  header.nav{
    position:fixed;
    top:var(--bar-h);left:0;right:0;
    height:var(--nav-h);
    z-index:900;
    display:flex;align-items:center;justify-content:space-between;
    padding:0 clamp(20px,4vw,56px);
    background:linear-gradient(to bottom, rgba(10,10,11,0.95), rgba(10,10,11,0));
    transition:background .35s ease, border-color .35s ease;
    border-bottom:1px solid transparent;
  }
  header.nav.scrolled{
    background:rgba(10,10,11,0.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .wordmark{
    font-family:var(--display);
    font-weight:800;
    font-size:22px;
    letter-spacing:.03em;
    display:flex;align-items:baseline;gap:8px;
  }
  .wordmark .dot{color:var(--red);}

  nav.links{display:flex;align-items:center;gap:clamp(14px,2vw,34px);}
  nav.links a{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--bone-dim);
    position:relative;
    padding:6px 0;
    transition:color .25s ease;
  }
  nav.links a::after{
    content:"";position:absolute;left:0;bottom:0;
    width:0;height:1px;background:var(--red);
    transition:width .25s ease;
  }
  nav.links a:hover, nav.links a.active{color:var(--bone);}
  nav.links a:hover::after, nav.links a.active::after{width:100%;}

  .nav-cta{
    font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
    padding:16px 36px;border:1.5px solid var(--red);color:var(--bone);
    transition:background .25s ease, color .25s ease;
    animation:cta-flash 4s ease-in-out infinite;
  }
  .nav-cta:hover{background:var(--red);animation-play-state:paused;filter:none;}
  @keyframes cta-flash{
    0%, 90%, 100%{ box-shadow:0 0 0 0 rgba(225,51,81,0); filter:brightness(1); border-color:var(--red); }
    95%{ box-shadow:0 0 24px 5px rgba(225,51,81,0.85); filter:brightness(1.4); border-color:var(--bone); }
  }
  @media (prefers-reduced-motion:reduce){
    .nav-cta{animation:none;}
  }
  /* Deliberate override — smaller Contact button padding, intentionally
     wins over .nav-cta via ID specificity. */
  #contact-nav-cta{
    display:inline-block;
    padding:12px 28px;
  }

  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:6px;z-index:901;}
  .burger span{width:24px;height:2px;background:var(--bone);transition:.3s;}

  .mobile-panel{
    position:fixed;inset:0;background:var(--black);z-index:850;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
    transform:translateY(-100%);transition:transform .4s ease;
  }
  .mobile-panel.open{transform:translateY(0);}
  .mobile-panel a{font-family:var(--display);font-size:32px;font-weight:700;letter-spacing:.02em;color:var(--bone);}

  /* ===== Section shell ===== */
  section{
    padding:120px clamp(20px,6vw,80px);
    position:relative;
  }
  .eyebrow{
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--red-bright);
    display:flex;align-items:center;gap:12px;
    margin-bottom:22px;
  }
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--red);}

  h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1;letter-spacing:.005em;}
  h2{font-size:clamp(38px,5.2vw,64px);text-transform:uppercase;}
  p.lead{font-size:17px;color:var(--bone-dim);max-width:560px;}

  .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none;}
    .letterbox .sprockets{animation:none;}
  }

  /* ===== Hero ===== */
  .hero{
    min-height:calc(100vh - (var(--bar-h)*2));
    display:flex;flex-direction:column;justify-content:center;
    padding-top:calc(var(--nav-h) + 40px);
    padding-bottom:0;
    background:var(--black);
    position:relative;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;
    top:-10%;left:0;right:0;height:120%;
    background:
      radial-gradient(ellipse 60% 55% at 22% 40%, rgba(195,20,50,0.28), transparent 60%),
      radial-gradient(ellipse 80% 60% at 80% 85%, rgba(74,11,24,0.35), transparent 65%);
    will-change:transform;
  }

  /* staggered hero text reveal (plays on load, not scroll) */
  .stagger{
    opacity:0;transform:translateY(22px);
    transition:opacity .9s ease, transform .9s ease;
  }
  .stagger.in{opacity:1;transform:translateY(0);}
  @media (prefers-reduced-motion:reduce){
    .stagger{opacity:1;transform:none;transition:none;}
  }
  .hero-frame{position:relative;}
  .h1-frame{position:relative;display:inline-block;}
  .hero .frame-corner{
    position:absolute;width:28px;height:28px;
    border:2.5px solid var(--red);
  }
  .hero .frame-corner.tl{
    top:-16px;left:-16px;border-right:0;border-bottom:0;
    animation:slideFrameTL 3s ease-in-out infinite alternate;
  }
  .hero .frame-corner.br{
    bottom:-16px;right:-16px;border-left:0;border-top:0;
    animation:slideFrameBR 3s ease-in-out infinite alternate;
  }
  @keyframes slideFrameTL{
    from{ transform:translate(0,0); }
    to{ transform:translate(-6px,-6px); }
  }
  @keyframes slideFrameBR{
    from{ transform:translate(0,0); }
    to{ transform:translate(6px,6px); }
  }
  @media (prefers-reduced-motion:reduce){
    .hero .frame-corner.tl, .hero .frame-corner.br{animation:none;}
  }

  .hero-inner{max-width:900px;}
  .hero h1{
    font-size:clamp(46px,8.4vw,116px);
    text-transform:uppercase;
    margin-bottom:24px;
  }
  
  .hero h1 .lowercase-s{
    text-transform:lowercase;
	}
	
  .hero h1 em{
    font-style:normal;color:var(--red);
    -webkit-text-stroke:0;
  }
  .hero p.lead{margin-bottom:38px;font-size:18px;}

  .btn-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:70px;}
  .btn{
    font-family:var(--mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;
    padding:16px 30px;transition:all .25s ease;border:1px solid transparent;
  }
  .btn-primary{background:var(--red);color:var(--bone);}
  .btn-primary:hover{background:var(--red-bright);transform:translateY(-2px);}
  .btn-outline{border-color:var(--line);color:var(--bone);}
  .btn-outline:hover{border-color:var(--bone);}

  /* marquee */
  .marquee{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    overflow:hidden;padding:16px 0;
  }
  .marquee-track{display:flex;align-items:center;gap:40px;white-space:nowrap;width:max-content;animation:marquee 22s linear infinite;}
  .marquee-track span{
    font-family:var(--display);font-weight:700;font-size:18px;text-transform:uppercase;
    color:var(--bone-dim);letter-spacing:.04em;display:inline-flex;align-items:center;
  }
  .marquee-track span::after{content:"◆";color:var(--red);font-size:10px;margin-left:40px;}
  @keyframes marquee{ to{ transform:translateX(-50%);} }

  /* ===== Why XYZ (brand name) ===== */
  #why-xyz{background:var(--panel);}
  .axis-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    max-width:1100px;margin:0 auto;
  }
  .axis-card{
    border:1px solid var(--line);
    padding:38px 30px;
    text-align:center;
  }
  .axis-letter{
    display:block;
    font-family:var(--display);font-weight:800;font-size:64px;line-height:1;
    color:var(--red);margin-bottom:18px;
  }
  .axis-label{
    display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--bone-dim);margin-bottom:16px;
  }
  .axis-card p{font-size:14px;color:var(--bone-dim);line-height:1.65;}
  .axis-close{
    text-align:center;max-width:600px;margin:44px auto 0;
    font-family:var(--display);font-weight:700;font-size:20px;text-transform:uppercase;
    color:var(--bone);
  }
  @media (max-width:760px){ .axis-grid{grid-template-columns:1fr;} }

  /* ===== Slogan statement band ===== */
  .statement-band{
    position:relative;
    padding:80px clamp(20px,6vw,80px);
    text-align:center;
    overflow:hidden;
    background:
      radial-gradient(ellipse 70% 90% at 50% 50%, rgba(195,20,50,0.10), transparent 65%),
      var(--black);
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .statement-band::before,
  .statement-band::after{
    content:"";
    position:absolute;left:50%;
    width:1px;height:44px;
    background:linear-gradient(to bottom, transparent, var(--red), transparent);
    transform:translateX(-50%);
  }
  .statement-band::before{top:0;}
  .statement-band::after{bottom:0;}
  .statement-text{
    max-width:900px;margin:0 auto;
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(24px,4vw,40px);
    line-height:1.25;
    letter-spacing:.005em;
    color:var(--bone-dim);
    text-transform:uppercase;
  }
  .statement-text .pop{
    color:var(--red);
    font-weight:900;
    position:relative;
    text-shadow:
      0 0 18px rgba(195,20,50,0.65),
      0 0 46px rgba(195,20,50,0.35);
  }
  .statement-text .pop::after{
    content:"";
    position:absolute;left:0;right:0;bottom:-6px;
    height:2px;
    background:linear-gradient(to right, transparent, var(--red), transparent);
    opacity:.8;
  }

  /* ===== Slogan statement (Why Us section) ===== */
  .slogan-lead{
    font-family:var(--mono);
    font-weight:700;
    font-size:clamp(11px,1.3vw,14px);
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--red-bright);
    max-width:640px;
    margin:14px 0 4px;
  }
  .slogan-statement{
    font-family:var(--display);
    font-weight:700;
    font-size:clamp(24px,3.4vw,36px);
    line-height:1.3;
    color:var(--bone);
    text-align:center;
    max-width:760px;
    margin:0 auto 40px;
    text-transform:none;
  }
  .slogan-highlight{
    display:inline-block;
    position:relative;
    padding-bottom:.22em;
	color:var(--red);
	font-style:italic;
	font-size:1em;
    line-height:1;
}
  .slogan-highlight::after{
    content:"";
    position:absolute;
    left:-2%;
    width:104%;
    height:.24em;
    bottom:-.04em;
    background:url("images/brush-underline-red-exact-fixed.svg") no-repeat center / 100% 100%;
    pointer-events:none;
}

  /* ===== Why Us / compare table ===== */
  #why-us{background:var(--black);}
  .compare-table{
    max-width:1100px;margin:0 auto;
    border:1px solid var(--line);
  }
  .compare-row{
    display:grid;
    grid-template-columns:1fr 1.4fr 1.4fr;
    gap:18px 26px;
    align-items:center;
    padding:18px 24px;
    border-top:1px solid var(--line);
  }
  .compare-row:first-child{border-top:0;}
  .compare-row.compare-head{
    background:var(--panel);
    padding-top:16px;padding-bottom:16px;
  }
  .compare-head .col-us,.compare-head .col-them{
    font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
    padding-left:0;
  }
  .compare-head .col-us{color:var(--red-bright);}
  .compare-head .col-them{color:var(--grey);}
  .compare-row .row-label{
    font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);
  }
  .compare-row .col-us,.compare-row .col-them{
    font-size:14.5px;position:relative;padding-left:22px;
  }
  .compare-row:not(.compare-head) .col-us{color:var(--bone);}
  .compare-row:not(.compare-head) .col-us::before{
    content:"✓";position:absolute;left:0;color:var(--red);font-family:var(--mono);
  }
  .compare-row:not(.compare-head) .col-them{color:var(--grey);}
  .compare-row:not(.compare-head) .col-them::before{
    content:"–";position:absolute;left:0;color:var(--grey);font-family:var(--mono);
  }
  @media (max-width:760px){
    .compare-row{grid-template-columns:1fr;gap:6px;padding:20px;}
    .compare-row.compare-head{display:none;}
    .compare-row .row-label{margin-bottom:6px;}
    .compare-row .col-us,.compare-row .col-them{padding-left:22px;}
  }

  /* ===== Cinematic Look ===== */
  #cinematic-look{background:var(--black);}
  .look-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    max-width:1280px;margin:0 auto;
    background:var(--line);
    border:1px solid var(--line);
  }
  .look-card{
    background:var(--black);
    padding:34px 26px;
  }
  .look-card svg{width:26px;height:26px;color:var(--red);margin-bottom:22px;}
  .look-label{
    display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    color:var(--bone-dim);margin-bottom:14px;
  }
  .look-card p{font-size:14px;color:var(--bone-dim);line-height:1.65;}
  @media (max-width:900px){ .look-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .look-grid{grid-template-columns:1fr;} }

  /* ===== Dailies infographics ===== */
  .infographic{
    border:1px solid var(--line);
    background:radial-gradient(ellipse 80% 100% at 50% 0%, rgba(195,20,50,0.07), var(--panel) 60%);
    padding:clamp(28px,5vw,52px) clamp(20px,4vw,44px);
    margin-bottom:32px;
    max-width:1000px;
  }
  .infographic svg{width:100%;height:auto;display:block;}

  .stat-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
    max-width:1000px;margin:0 0 48px;
  }
  .stat-card{
    border:1px solid var(--line);
    background:var(--black);
    padding:26px 18px;
    text-align:center;
    transition:border-color .3s ease, transform .3s ease;
  }
  .stat-card:hover{border-color:var(--red);transform:translateY(-3px);}
  .stat-icon-ring{
    width:54px;height:54px;margin:0 auto 16px;
    border-radius:50%;
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    background:radial-gradient(circle, rgba(195,20,50,0.10), transparent 70%);
  }
  .stat-icon-ring svg{width:26px;height:26px;color:var(--red);}
  .stat-number{
    font-family:var(--display);font-weight:800;font-size:clamp(22px,2.6vw,30px);
    color:var(--bone);line-height:1;margin-bottom:8px;letter-spacing:.01em;
  }
  .stat-number em{color:var(--red);font-style:normal;}
  .stat-label{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;
    color:var(--bone-dim);line-height:1.5;
  }
  @media (max-width:900px){ .stat-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:500px){ .stat-grid{grid-template-columns:1fr;} }

  /* ===== Split feature sections ===== */
  .split{
    display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,90px);
    align-items:center;
    max-width:1280px;margin:0 auto;
  }
  .split.reverse .media{order:2;}
  .split.reverse .copy{order:1;}

  .media{
    aspect-ratio:4/5;
    position:relative;
    border:1px solid var(--line);
    display:flex;align-items:center;justify-content:center;
    overflow:hidden;
  }
  .media .ph-bg{position:absolute;inset:0;}
  .media .ph-label{
    position:relative;z-index:2;text-align:center;padding:20px;
  }
  .media .ph-label svg{width:44px;height:44px;margin:0 auto 14px;opacity:.55;}
  .media .ph-label span{
    display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--bone-dim);
  }
  .media .frame-tag{
    position:absolute;top:14px;left:14px;z-index:3;
    font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--bone-dim);
    background:rgba(10,10,11,0.6);padding:5px 9px;border:1px solid var(--line);
  }
  .media .craft-note{
    position:absolute;bottom:14px;left:14px;z-index:3;
    font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--red-bright);
    background:rgba(10,10,11,0.6);padding:5px 9px;border:1px solid var(--line);
  }

.bg-wed .ph-bg{
    background-image:url("images/wedd1.png");
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
}

.bg-q .ph-bg{
    background-image:url("images/quinc1.png");
    background-size:contain;
    background-position:center;
    background-repeat:no-repeat;
}

.bg-corp .ph-bg{
    background-image:url("images/corp1.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

  /* photo comparison slot — two-up, real photography goes here */
  .photo-compare{
    display:grid;grid-template-columns:1fr 1fr;gap:2px;
    max-width:640px;margin-bottom:16px;
    border:1px solid var(--line);
  }
  .photo-compare .media{aspect-ratio:3/4;border:none;}
  .photo-compare .media.flash-bg .ph-bg{background:linear-gradient(150deg,#1c1c1e,#0a0a0b 70%);}
  .photo-compare .media.studio-bg .ph-bg{background:linear-gradient(150deg,#3a0d1a,#0a0a0b 65%);}
  .photo-compare-caption{
    display:grid;grid-template-columns:1fr 1fr;gap:2px;
    max-width:640px;margin-bottom:36px;
  }
  .photo-compare-caption span{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--grey);text-align:center;padding-top:4px;
  }

  .copy h2{margin-bottom:22px;}
  .copy p.lead{margin-bottom:26px;}
  .feat-list{margin-bottom:32px;}
  .feat-list li{
    display:flex;gap:12px;padding:10px 0;
    border-top:1px solid var(--line);
    font-size:14.5px;color:var(--bone-dim);
  }
  .feat-list li:last-child{border-bottom:1px solid var(--line);}
  .feat-list li .tick{color:var(--red);font-family:var(--mono);flex:0 0 auto;}

  .text-link{
    font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--bone);border-bottom:1px solid var(--red);padding-bottom:4px;
    display:inline-flex;align-items:center;gap:8px;
  }
  .text-link svg{width:14px;height:14px;transition:transform .25s ease;}
  .text-link:hover svg{transform:translateX(5px);}

  /* alt section bg */
  #weddings{background:var(--panel);}
  #corporate{background:var(--panel);}

  /* ===== Gallery ===== */
  .sprocket-strip{
    height:28px;
    border-top:1px solid rgba(239,232,221,0.06);border-bottom:1px solid rgba(239,232,221,0.06);
    margin:44px 0 40px;
    background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%27130%27%20height%3D%2728%27%20viewBox%3D%270%200%20130%2028%27%3E%0A%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%27130%27%20height%3D%2728%27%20fill%3D%27%231a1a1a%27/%3E%0A%3Crect%20x%3D%2710%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2714%27%20rx%3D%273%27%20fill%3D%27%23efe8dd%27%20fill-opacity%3D%270.16%27/%3E%0A%3Crect%20x%3D%2710%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2714%27%20rx%3D%273%27%20fill%3D%27none%27%20stroke%3D%27%23efe8dd%27%20stroke-opacity%3D%270.08%27%20stroke-width%3D%270.6%27/%3E%0A%3Ctext%20x%3D%2778%27%20y%3D%2718%27%20font-family%3D%27monospace%27%20font-size%3D%278.5%27%20letter-spacing%3D%270.6%27%20fill%3D%27%23e17e34%27%20fill-opacity%3D%270.4%27%20text-anchor%3D%27middle%27%3E35A%3C/text%3E%0A%3C/svg%3E");
    background-size:130px 100%;
    background-repeat:repeat-x;
    background-position:center;
    max-width:1280px;margin-left:auto;margin-right:auto;
  }
  .gallery-grid + .sprocket-strip{margin-top:40px;margin-bottom:0;}

  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:160px;
    gap:14px;
    max-width:1280px;margin:0 auto;
  }
  .g-tile{
    position:relative;overflow:hidden;
    border:3px solid var(--bone);
    box-shadow:0 0 0 1px var(--line);
    display:flex;align-items:flex-end;padding:14px;
    transition:transform .35s ease, box-shadow .35s ease, opacity .7s ease;
  }
  .g-tile:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--red);}
  .g-tile.reveal{opacity:0;transform:translateY(22px);}
  .g-tile.reveal.in{opacity:1;transform:translateY(0);}
  .g-tile:nth-child(1){transition-delay:0s;}
  .g-tile:nth-child(2){transition-delay:.06s;}
  .g-tile:nth-child(3){transition-delay:.12s;}
  .g-tile:nth-child(4){transition-delay:.18s;}
  .g-tile:nth-child(5){transition-delay:.24s;}
  .g-tile:nth-child(6){transition-delay:.30s;}
  .g-tile:nth-child(7){transition-delay:.36s;}
  .g-tile:nth-child(8){transition-delay:.42s;}
  .g-frame-no{
    position:absolute;top:12px;left:12px;z-index:3;
    font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;
    color:var(--red-bright);background:rgba(10,10,11,0.65);padding:3px 7px;
  }
  .g-caption{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
    color:var(--bone-dim);position:relative;z-index:2;
  }
  .g-tile::before{content:"";position:absolute;inset:0;opacity:.9;}
  .g-tile::after{
    content:"";position:absolute;inset:0;z-index:1;opacity:.06;pointer-events:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }
  .g1{grid-column:span 2;grid-row:span 2;}
  .g2{grid-column:span 1;grid-row:span 1;}
  .g3{grid-column:span 1;grid-row:span 2;}
  .g4{grid-column:span 1;grid-row:span 1;}
  .g5{grid-column:span 1;grid-row:span 1;}
  .g6{grid-column:span 2;grid-row:span 1;}
  .g7{grid-column:span 1;grid-row:span 1;}
  .g8{grid-column:span 1;grid-row:span 1;}

.g1::before{
    background-image:url("images/wedd1.png");
    background-size:cover;
    background-position:center 20%;
    background-repeat:no-repeat;
}

.g2::before{
    background-image:url("images/quinc1.png");
    background-size:cover;
    background-position:center 20%;
    background-repeat:no-repeat;
}

.g3::before{
    background-image:url("images/corp1.png");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

  .gallery-note{
    max-width:1280px;margin:34px auto 0;
    font-family:var(--mono);font-size:12px;color:var(--grey);letter-spacing:.02em;
  }


  /* ===== Pricing ===== */
  #pricing{background:var(--panel);}
  .price-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    max-width:1180px;margin:0 auto;
  }
  .price-card{
    border:1px solid var(--line);
    padding:40px 30px;
    display:flex;flex-direction:column;
    background:var(--black);
    position:relative;
  }
  .price-card.featured{
    border-color:var(--red);
    background:linear-gradient(160deg, rgba(195,20,50,0.10), var(--black) 55%);
    transform:translateY(-14px);
  }
  .ribbon{
    position:absolute;top:-1px;right:-1px;
    background:var(--red);color:var(--bone);
    font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
    padding:6px 12px;
  }
  .price-card h3{font-size:26px;text-transform:uppercase;margin-bottom:8px;}
  .price-card .price{
    font-family:var(--display);font-size:44px;font-weight:800;color:var(--red-bright);
    margin-bottom:6px;
  }
  .price-card .price small{font-family:var(--mono);font-size:12px;color:var(--grey);font-weight:400;}
  .price-card .desc{font-size:13.5px;color:var(--bone-dim);margin-bottom:8px;}
  .price-card .desc-luxury{
    font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--red-bright);margin-bottom:26px;
  }
  .price-card ul{flex:1;margin-bottom:30px;}
  .price-card li{
    display:flex;gap:10px;padding:9px 0;font-size:13.5px;color:var(--bone-dim);
    border-top:1px solid var(--line);
  }
  .price-card li:last-child{border-bottom:1px solid var(--line);}
  .price-card li .tick{color:var(--red);font-family:var(--mono);}
  .price-card .btn{text-align:center;}

  /* ===== Contact ===== */
  .contact-grid{
    display:grid;grid-template-columns:0.9fr 1.1fr;gap:clamp(30px,5vw,90px);
    max-width:1280px;margin:0 auto;
  }
  .contact-info dl{display:flex;flex-direction:column;gap:22px;margin-top:30px;}
  .contact-info dt{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:4px;}
  .contact-info dd{font-size:16px;}
  .social-row{display:flex;gap:16px;margin-top:36px;}
  .social-row a{
    width:40px;height:40px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
    transition:border-color .25s ease;
  }
  .social-row a:hover{border-color:var(--red);}
  .social-row svg{width:16px;height:16px;}

  form{display:flex;flex-direction:column;gap:18px;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
  label{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
    color:var(--grey);display:block;margin-bottom:8px;
  }
  input,select,textarea{
    width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);
    color:var(--bone);font-family:var(--body-font);font-size:15px;padding:10px 2px;
    transition:border-color .25s ease;
  }
  input:focus,select:focus,textarea:focus{outline:0;border-bottom-color:var(--red);}
  select option{background:var(--panel);}
  textarea{resize:vertical;min-height:90px;}
  .submit-row{display:flex;align-items:center;gap:18px;margin-top:6px;}
  .form-note{font-family:var(--mono);font-size:11px;color:var(--grey);}
  .form-note.success{color:var(--bone-dim);}
  .form-note.error{color:var(--red-bright);}

  .hp-field{
    position:absolute !important;
    left:-10000px !important;
    top:auto !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
  }

  #bookingForm button:disabled{
    opacity:.65;
    cursor:wait;
    transform:none;
  }

  /* ===== Footer ===== */
  footer{
    padding:60px clamp(20px,6vw,80px) 40px;
    border-top:1px solid var(--line);
    display:flex;flex-wrap:wrap;justify-content:space-between;gap:30px;
  }
  .foot-tagline{font-family:var(--body-font);font-weight:500;font-size:18px;color:var(--bone-dim);text-transform:none;max-width:420px;line-height:1.5;}
  .foot-tagline strong{
    color:var(--red-bright);
    font-weight:800;
    font-style:normal;
    text-shadow:0 0 18px rgba(225,51,81,0.4);
  }
  .foot-cols{display:flex;gap:70px;flex-wrap:wrap;}
  .foot-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin-bottom:14px;}
  .foot-col a, .foot-col span{display:block;font-size:14px;color:var(--bone-dim);margin-bottom:10px;}
  .foot-bottom{
    width:100%;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
    margin-top:30px;padding-top:24px;border-top:1px solid var(--line);
    font-family:var(--mono);font-size:11px;color:var(--grey);
  }

  /* ===== Responsive ===== */
  @media (max-width:980px){
    nav.links{display:none;}
    .burger{display:flex;}
    .split{grid-template-columns:1fr;}
    .split.reverse .media, .split.reverse .copy{order:initial;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .g1,.g3{grid-row:span 2;}
    .g6{grid-column:span 2;}
    .price-grid{grid-template-columns:1fr;}
    .price-card.featured{transform:none;}
    .contact-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
  }
  @media (max-width:560px){
    section{padding:90px 20px;}
    .btn-row{flex-direction:column;}
    .gallery-grid{grid-template-columns:1fr;grid-auto-rows:200px;}
    .g1,.g2,.g3,.g4,.g5,.g6,.g7,.g8{grid-column:span 1;grid-row:span 1;}
  }
