/* ──────────────────────────────────────────────────────────────────────────
   Draft trial (Nov 2026): the green plaster wall stays fixed behind the page
   while plain text sections scroll over it, as a separate layer. Typography
   follows Davina's pistachio-grain reference: one bold grotesk, all caps,
   dark on green, normal word spacing, lots of open space, fine rules
   between sections. FONTANA (the photographed silver letters) is the only
   metal on the site, plus the button plates on hover. Buttons are blanc cream.
   Loaded only by the *-new.html drafts, after fontana.css.
   ────────────────────────────────────────────────────────────────────────── */

:root{
  --wall-w:max(100vw,640px);
  --wall:#CCD3B5;

  --white:transparent;
  --off:transparent;
  --ink:#1D1F1C;
  --ink-soft:#1D1F1C;
  --ink-faint:#3D423C;
  --rule:rgba(29,31,28,.28);
  --blanc:#F4EFE4;   /* buttons + form fields */
  --sky:#E3ECF1;     /* button hover: the faintest sky blue */

  --sans:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --display:var(--sans);
  --gap:clamp(48px,7vw,96px);   /* open space between sections */
}

/* ---------- the wall: a fixed layer behind everything ---------- */
html,body{background-color:var(--wall);}
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:var(--wall) url("/images/wall/wall-tile.jpg?v=3") center top / var(--wall-w) auto repeat-y;
}

/* home: the photographed backdrop with the silver letters scrolls away and
   feathers into the fixed wall underneath */
.hero{background:transparent;overflow:hidden;}
.hero--home .hero-img{
  display:block;width:var(--wall-w);max-width:none;height:auto;
  margin-left:calc((100% - var(--wall-w)) / 2);
  -webkit-mask-image:linear-gradient(to bottom,#000 87%,transparent 100%);
          mask-image:linear-gradient(to bottom,#000 87%,transparent 100%);
}
.hero .nav,.nav a,.cta--solid,.stick,.enq button,.enq input,.enq select,.enq textarea{font-stretch:110%;}
.nav{border-bottom:0;background:transparent;}
.hero--home .nav{position:relative;z-index:2;margin-top:calc(var(--wall-w) * -0.045);}

/* ---------- one voice: bold grotesk, all caps ---------- */
body{
  font-family:var(--sans);font-stretch:110%;color:var(--ink);
  text-transform:uppercase;letter-spacing:-.005em;word-spacing:0;
}
h1,h2,h3,.ptitle h1,.h1-quiet,.pack-name,.foot-mark,.lede,.sig{
  font-family:var(--sans);font-weight:700;color:var(--ink);
  font-stretch:110%;text-transform:uppercase;letter-spacing:-.01em;text-shadow:none;
  background:none;-webkit-text-fill-color:currentColor;filter:none;
}
.ptitle h1,.h1-quiet{font-size:clamp(17px,1.6vw,21px);line-height:1.3;max-width:30ch;margin:0;}
h2{font-size:clamp(14px,1.2vw,16px);line-height:1.35;margin:0 0 1.4em;}
h3,.pack-name{font-size:clamp(15px,1.3vw,17px);line-height:1.3;}
.lede{font-size:clamp(14px,1.25vw,16px);line-height:1.45;max-width:46ch;}
p,li,.fine,.steps li,.pack ul,.faq details p{
  font-size:13px;line-height:1.6;font-weight:500;color:var(--ink);max-width:62ch;
  text-transform:none;letter-spacing:0;
}
/* the opening paragraph (.lede) stays in capitals; body copy reads in sentence case */
p.lede{text-transform:uppercase;letter-spacing:-.01em;}
.rail,.pack-for,label,.proof li,.foot-in,.foot-in a,.req{color:var(--ink);letter-spacing:0;}
.rail{font-size:10.5px;}
.sig{font-size:13px;margin-top:2em;}
.foot-mark{font-size:15px;letter-spacing:0;}
.foot-seo{font-size:10px;font-weight:500;color:var(--ink-faint);text-transform:uppercase;}

/* ---------- plain sections, fine rules, open space ---------- */
.ptitle{background:transparent;padding:var(--gap) var(--pad) 0;}
.ptitle h1{max-width:1120px;margin-inline:auto;}
.band{padding:0 var(--pad);}
.band .inner{
  padding:calc(var(--gap) * .62) 0 var(--gap);
  border-top:1px solid var(--rule);
}
.ptitle + .band .inner{border-top:0;padding-top:calc(var(--gap) * .45);}
.hero + .band .inner{border-top:0;padding-top:calc(var(--gap) * .5);}
.foot{background:transparent;border-top:0;padding:0 var(--pad) clamp(40px,6vw,72px);}
.foot-in{border-top:1px solid var(--rule);padding-top:clamp(32px,4vw,48px);}

/* nav */
.nav,.nav a,.cta--solid,.stick,.enq button,.enq input,.enq select,.enq textarea{font-stretch:110%;}
.nav{border-bottom:0;padding:clamp(18px,2.4vw,30px) var(--pad);font-size:11.5px;letter-spacing:0;gap:clamp(16px,3vw,40px);align-items:center;}
.nav a{color:var(--ink);}
.nav a:hover,.nav a[aria-current="page"]{border-bottom-color:var(--ink);}

/* ---------- buttons: blanc cream; on hover they flash the faintest sky blue ---------- */
.cta--solid,.nav a.nav-cta,.stick,.enq button{
  background:var(--blanc);color:var(--ink);
  border:0;border-radius:0;box-shadow:none;text-shadow:none;filter:none;
  font-family:var(--sans);font-weight:800;font-size:12px;letter-spacing:0;text-transform:uppercase;
  padding:16px 24px 15px;line-height:1;
  transition:background-color .18s ease,color .18s ease;
}
.nav a.nav-cta{display:inline-block;}
.cta--solid:hover,.nav a.nav-cta:hover,.stick:hover,.enq button:hover:not([disabled]),
.cta--solid:focus-visible,.nav a.nav-cta:focus-visible,.stick:focus-visible,.enq button:focus-visible{
  background:var(--sky);color:var(--ink);filter:none;text-shadow:none;box-shadow:none;
}
.nav a.nav-cta{padding:10px 16px 9px;border-bottom:0;}
.ctas{gap:12px;margin-top:2em;}
.cta,.mode a{
  font-family:var(--sans);font-weight:700;font-size:11.5px;letter-spacing:0;text-transform:uppercase;
  color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;
}
@media (max-width:760px){ .stick{font-size:12px;padding:18px var(--pad) calc(18px + env(safe-area-inset-bottom));} }

/* ---------- packages: three plain columns divided by rules ---------- */
.packs{background:none;border:0;gap:0;margin:2.4em 0 1.6em;}
.pack{background:transparent;padding:28px 0;border-top:1px solid var(--rule);gap:12px;}
.pack--feature{background:transparent;}
@media (min-width:1060px){
  .pack{padding:4px 28px 0;border-top:0;border-left:1px solid var(--rule);}
  .pack:first-child{padding-left:0;border-left:0;}
}
.pack-price,.pack-price b{font-family:var(--sans);font-weight:700;font-size:clamp(15px,1.3vw,17px);letter-spacing:-.01em;}
.packs--two{max-width:860px;}
@media (min-width:1060px){.packs--two{grid-template-columns:repeat(2,1fr);}}
.pack li{border-top:1px solid var(--rule);padding:9px 0;}

/* faq + steps keep their rules, in the darker line colour */
.faq details,.faq details:first-child,.steps li,.steps li:first-child{border-color:var(--rule);}
.faq summary{font-size:12.5px;letter-spacing:0;font-stretch:110%;}

/* ---------- form: blanc fields ---------- */
.enq label{font-size:10.5px;}
.enq input,.enq select,.enq textarea{
  background:var(--blanc);border:0;border-radius:0;box-shadow:none;
  font-weight:500;color:var(--ink);text-transform:none;
}

/* logos print onto the wall rather than sitting on white boxes */
.brands img{mix-blend-mode:multiply;}

/* text drifts up gently as it arrives, so it reads as its own layer */
.reveal{transform:translateY(28px);transition:opacity 1.1s cubic-bezier(.22,.61,.36,1),transform 1.1s cubic-bezier(.22,.61,.36,1);}
.reveal.in{transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{transform:none;}}
.stick{position:fixed;z-index:60;}

/* ---------- film loops from the day ---------- */
.loops{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);}
@media (max-width:640px){.loops{grid-template-columns:repeat(2,minmax(0,1fr));}}
.loops figure{margin:0;}
.loops video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#BFC6AC;}
.loops figcaption{margin-top:10px;font-size:10.5px;font-weight:700;letter-spacing:0;}
.loops + .ctas{margin-top:2.4em;}

/* ---------- moving imagery, unannounced: no titles, no captions ---------- */
.moving video,.duo video,.feature video{display:block;width:100%;object-fit:cover;background:#BFC6AC;}

/* a loose, staggered gallery: the middle column sits lower, so it reads as a drift
   of images rather than a grid of tiles */
.drift{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.2vw,16px);align-items:start;}
.drift video{aspect-ratio:4/5;}
.drift img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#BFC6AC;}
.drift > :nth-child(3n+2){margin-top:clamp(28px,4.5vw,64px);}
.drift--lead > :nth-child(2) video{aspect-ratio:3/4;}
@media (max-width:640px){
  .drift{grid-template-columns:repeat(2,minmax(0,1fr));}
  .drift > :nth-child(3n+2){margin-top:0;}
  .drift > :nth-child(2n){margin-top:28px;}
}
/* galleries run wider than the text column */
.band:has(+ .band--plain) .inner{padding-bottom:calc(var(--gap) * .45);}
.band--plain .inner{border-top:0;padding-top:0;}

/* a film beside a paragraph, alternating sides */
.duo{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:clamp(20px,3.5vw,52px);align-items:center;margin:clamp(24px,3.5vw,44px) 0;}
.duo video{aspect-ratio:4/5;}
.duo--flip{grid-template-columns:minmax(0,6fr) minmax(0,4fr);}
.duo--flip > video{order:2;}
.duo p{margin:0;}
@media (max-width:700px){
  .duo,.duo--flip{grid-template-columns:1fr;gap:22px;}
  .duo video{width:78%;}
  .duo--flip > video{order:0;margin-left:auto;}
}

/* venues we love: one quiet run of names */
.venues{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none;max-width:none;}
.venues li{font-size:12px;font-weight:700;line-height:1.9;text-transform:uppercase;max-width:none;}
.venues li:not(:last-child)::after{content:"/";margin:0 .7em;font-weight:500;opacity:.5;}
.band--tight .inner{padding:calc(var(--gap) * .4) 0;}
.band--tight h2{margin-bottom:.9em;}

/* enquiry: the lace plinth holds still on the left while the form scrolls past */
.feature{display:grid;grid-template-columns:minmax(0,3.4fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:start;max-width:1180px;margin:0 auto;}
.feature-film{display:grid;gap:clamp(8px,1.2vw,16px);}
.feature video{aspect-ratio:4/5;}
.feature h1{font-size:clamp(20px,2vw,26px);margin:0 0 .9em;}
.feature .lede{margin-bottom:1.2em;}
@media (max-width:860px){
  .feature{grid-template-columns:1fr;}
  .feature-film{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .feature video{aspect-ratio:3/4;}
}
.page-feature{padding:clamp(20px,3vw,40px) var(--pad) var(--gap);}

/* ---------- home: FONTANA right at the top, the menu across the plaster beneath ---------- */
.hero--home .hero-img{-webkit-mask-image:linear-gradient(to bottom,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 80%,transparent 100%);}
.hero--home{position:relative;}
.hero--home .nav{position:absolute;left:0;right:0;top:calc(var(--wall-w) * .12);bottom:auto;margin:0;justify-content:center;border-bottom:0;background:transparent;}
.hero--home + .band{margin-top:calc(var(--wall-w) * -.148);position:relative;}
.hero--home + .band .inner{padding-top:0;}

/* film | intro | film */
.intro3{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:clamp(18px,3vw,44px);align-items:center;}
.intro3 video{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;background:#BFC6AC;}
.intro-text{text-align:center;}
.intro-text .lede,.intro-text p,.intro-text h1{margin-inline:auto;}
.intro-text .ctas{justify-content:center;}
.band--intro .inner{border-top:0;padding-bottom:calc(var(--gap) * .55);}
@media (max-width:760px){
  .intro3{grid-template-columns:1fr 1fr;grid-template-areas:"t t" "l r";gap:28px 12px;}
  .intro-text{grid-area:t;}
  .intro-film--l{grid-area:l;}
  .intro-film--r{grid-area:r;margin-top:0;}
}

/* one film on its own, centred */
.solo{max-width:440px;margin:0 auto;}
.solo video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#BFC6AC;}
/* two films under the intro, gently offset */
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.4vw,18px);max-width:860px;margin:0 auto;align-items:start;}
.pair video,.pair img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#BFC6AC;}
.pair > :last-child{margin-top:clamp(28px,4.5vw,64px);}
@media (max-width:760px){
  .hero--home .nav{top:calc(var(--wall-w) * .115);gap:10px 18px;padding:0 16px;}
  .hero--home + .band{margin-top:0;}
}
.hero--home .hero-img{aspect-ratio:auto;height:auto;object-fit:fill;}
@media (max-width:760px){
  :root{--wall-w:max(100vw,560px);}
  .hero--home .nav{top:calc(var(--wall-w) * .12);}
}

/* events: brand photos and the angel's trumpet scattered close around the words */
.scatter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1fr);gap:clamp(16px,2.6vw,40px);align-items:center;}
.scatter-col{display:grid;gap:clamp(8px,1.2vw,16px);}
.scatter-col img,.scatter-col video{display:block;width:100%;object-fit:cover;background:#BFC6AC;}
.scatter-col--l img{aspect-ratio:4/5;width:86%;}
.scatter-col--l video{aspect-ratio:4/5;width:100%;}
.scatter-col--r{margin-top:clamp(28px,5vw,72px);}
.scatter-col--r img:first-child{aspect-ratio:1/1;}
.scatter-col--r img:last-child{aspect-ratio:4/5;width:82%;margin-left:auto;}
.scatter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(8px,1.2vw,16px);margin-top:clamp(16px,2.4vw,32px);align-items:start;}
.scatter-row img,.scatter-row video{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#BFC6AC;}
.scatter-row video{aspect-ratio:4/5;}
.scatter-row > :nth-child(3){margin-top:clamp(20px,3vw,44px);}
@media (max-width:760px){
  .scatter{grid-template-columns:1fr 1fr;grid-template-areas:"t t" "l r";gap:24px 10px;align-items:start;}
  .scatter .intro-text{grid-area:t;}
  .scatter-col--l{grid-area:l;}
  .scatter-col--r{grid-area:r;margin-top:0;}
  .scatter-row{grid-template-columns:1fr 1fr;}

}
.scatter img,.scatter-row img,.scatter video{height:auto;}
.about-h{margin:2.2em 0 .7em;}
.duo .about-h{margin-top:0;}
/* a plain row, side by side, no stagger */
.drift--even > *{margin-top:0 !important;}
@media (max-width:640px){.drift--even{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}}

/* ---------- enquiry form: a smooth cream panel, easy to read and fill in ---------- */
.form-panel{
  background:var(--blanc);padding:clamp(24px,3.6vw,48px);
  box-shadow:0 1px 2px rgba(29,31,28,.06),0 12px 40px -18px rgba(29,31,28,.25);
}
.form-panel h1{margin-top:0;font-size:clamp(16px,1.45vw,19px);}
.form-panel .lede{font-size:clamp(12px,1vw,13.5px);line-height:1.5;}
.form-panel .lede{max-width:none;}
.form-panel .enq{max-width:none;}
.form-panel .enq .row{gap:0 14px;}
.form-panel .enq label{
  font-size:10px;font-weight:600;letter-spacing:.05em;margin:16px 0 4px;color:var(--ink);
}
.form-panel .req{font-size:11px;font-weight:500;letter-spacing:0;color:#5E625B;text-transform:none;}
.form-panel .enq input,.form-panel .enq select,.form-panel .enq textarea{
  display:block;width:100%;min-height:46px;
  background:#FFFDF8;border:1px solid rgba(29,31,28,.22);border-radius:2px;
  font-family:var(--sans);font-stretch:100%;font-size:16px;font-weight:500;line-height:1.4;
  letter-spacing:0;text-transform:none;color:var(--ink);padding:10px 13px;
  transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
  -webkit-appearance:none;appearance:none;
}
.form-panel .enq textarea{min-height:116px;resize:vertical;}
.form-panel .enq ::placeholder{color:#8C8F86;opacity:1;font-size:14px;}
.form-panel .enq input:hover,.form-panel .enq select:hover,.form-panel .enq textarea:hover{border-color:rgba(29,31,28,.4);}
.form-panel .enq input:focus,.form-panel .enq select:focus,.form-panel .enq textarea:focus{
  outline:none;border-color:var(--ink);background:#fff;box-shadow:0 0 0 3px rgba(29,31,28,.08);
}
.form-panel .enq input:user-invalid,.form-panel .enq select:user-invalid,.form-panel .enq textarea:user-invalid{border-color:#A33A2C;}
.form-panel .enq select{
  cursor:pointer;padding-right:40px;
  background:#FFFDF8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231D1F1C' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 14px center;
}
.form-panel .enq select:focus{background-color:#fff;}
/* send: full width, dark, unmistakable */
.form-panel .enq button{
  display:block;width:100%;margin-top:24px;min-height:52px;
  background:var(--ink);color:var(--blanc);border-radius:2px;
  font-size:13px;font-weight:800;letter-spacing:.04em;
}
.form-panel .enq button::before{display:none;}
.form-panel .enq button:hover:not([disabled]),.form-panel .enq button:focus-visible{background:#3A3D37;color:var(--blanc);}
.form-panel .enq button:focus-visible{outline:2px solid var(--ink);outline-offset:3px;}
.form-panel .enqnote{font-size:13px;text-align:center;color:#5E625B;}
.form-panel .enqnote.err{color:#A33A2C;}
@media (max-width:860px){
  .form-panel{margin-inline:calc(var(--pad) * -.5);}
  .form-panel .enq .row{grid-template-columns:1fr;}
}
/* short questions sit side by side on every screen */
.form-panel .enq .row.pair{grid-template-columns:1fr 1fr;gap:0 clamp(10px,1.4vw,14px);align-items:end;}
/* phones: lighter form so it reads quicker (inputs stay 16px so iPhone doesn't zoom) */
@media (max-width:640px){
  .form-panel{padding:20px 18px 22px;}
  .form-panel h1{margin-bottom:.6em;}
  .form-panel .lede{font-size:12px;margin-bottom:.4em;}
  .form-panel .enq label{margin:13px 0 4px;}
  .form-panel .enq input,.form-panel .enq select,.form-panel .enq textarea{min-height:43px;padding:9px 12px;}
  .form-panel .enq textarea{min-height:100px;}
  .form-panel .enq ::placeholder{font-size:13.5px;}
  .form-panel .enq button{margin-top:20px;min-height:50px;}
}
.scatter-col--r video{aspect-ratio:4/5;width:100%;}

/* Enquire in the menu is a plain link like the others: underlined only on its own page */
.nav a.nav-cta,.nav a.nav-cta:hover,.nav a.nav-cta:focus-visible,.nav a.nav-cta:active{
  display:inline;background:none;color:var(--ink);box-shadow:none;text-shadow:none;
  padding:0 0 2px;border-radius:0;border-bottom:1px solid transparent;
  font:inherit;font-stretch:110%;letter-spacing:inherit;text-transform:uppercase;line-height:inherit;
}
.nav a.nav-cta::before{display:none;}
.nav a.nav-cta:hover,.nav a.nav-cta:focus-visible,.nav a.nav-cta[aria-current="page"]{border-bottom-color:var(--ink);}
.intro-text h1{margin-bottom:1.1em;font-size:clamp(16px,1.3vw,18px);line-height:1.3;}

/* ---------- weddings: tighter on desktop, less scrolling ---------- */
@media (min-width:900px){
  .page-weddings .ptitle{padding-top:calc(var(--gap) * .3);}
  .page-weddings .band .inner{padding:calc(var(--gap) * .45) 0 calc(var(--gap) * .55);}
  .page-weddings .ptitle + .band .inner{padding-top:calc(var(--gap) * .3);}
  .page-weddings .duo{grid-template-columns:minmax(0,3fr) minmax(0,7fr);margin:clamp(18px,2.4vw,30px) 0;}
  .page-weddings .duo--flip{grid-template-columns:minmax(0,7fr) minmax(0,3fr);}
  .page-weddings .duo video{aspect-ratio:4/5;}
  .page-weddings .ctas{margin-top:1.4em;}
  .page-weddings .drift{grid-template-columns:repeat(4,minmax(0,1fr));}
  .page-weddings .drift > :nth-child(3n+2){margin-top:0;}
  .page-weddings .drift > :nth-child(4n+2),.page-weddings .drift > :nth-child(4n+4){margin-top:clamp(18px,2.4vw,36px);}
}

/* ---------- events: imagery on the left, the words on the right, all in first view ---------- */
.page-events .ptitle{padding-top:calc(var(--gap) * .5);}
.page-events .band--events .inner{padding-top:calc(var(--gap) * .3);padding-bottom:calc(var(--gap) * .6);}
.ev-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);align-items:start;}
.ev-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);align-items:center;}
.ev-pair img,.ev-pair video,.ev-trumpet video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#BFC6AC;}
.ev-trumpet{width:calc(50% - clamp(4px,.6vw,7px));margin-top:clamp(8px,1.2vw,14px);}
.ev-copy{padding-top:clamp(4px,1vw,12px);}
.ev-copy h2{margin-top:0;}
.ev-copy p{max-width:52ch;}
@media (max-width:760px){
  .ev-top{grid-template-columns:1fr;}
  .ev-copy{order:-1;padding-top:0;}
}
.ev-cta{margin-top:clamp(28px,4vw,52px);padding-top:clamp(20px,2.6vw,32px);border-top:1px solid var(--rule);}
.ev-cta .lede{margin-bottom:.8em;}
.ev-cta .ctas{margin-top:1.2em;}

/* About: copy sits close under the title */
.page-about .ptitle{padding-top:calc(var(--gap) * .6);padding-bottom:0;}
.page-about .ptitle + .band .inner{padding-top:calc(var(--gap) * .3);}
.page-about .about-copy{max-width:62ch;}
.page-about .about-copy .lede{margin-bottom:1.1em;}
.page-about .about-copy p + p{margin-top:.9em;}
.page-about .about-copy .ctas{margin-top:1.6em;}
.about-hero img{display:block;width:100%;height:auto;}
.about-wrap{display:grid;grid-template-columns:minmax(0,600px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:stretch;}
.about-film video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;}
.about-film{max-width:440px;justify-self:end;width:100%;align-self:start;}
@media(max-width:820px){
  .about-wrap{grid-template-columns:1fr;}
  .about-wrap{display:flex;flex-direction:column;gap:0;}
  .about-copy{display:contents;}
  .about-copy > *{order:3;}
  .about-copy > :nth-child(1){order:1;}
  .about-copy > :nth-child(2){order:2;}
  .about-film{order:2;max-width:none;width:76%;align-self:center;justify-self:auto;margin:1.6em 0 1.4em;}
  .page-about .about-copy p + p{margin-top:.9em;}

}
.page-events .scatter-row{max-width:min(100%,780px);gap:clamp(8px,1vw,12px);}
.ev-trumpet-v{object-position:center 62%;}
.ev-csb-v{object-position:center 62%;}
.ev-mist-v{object-position:center 72%;}

/* Weddings: two films side by side on the left, all copy on the right */
.wed-band{padding-left:clamp(10px,1.2vw,18px);}
.wed-grid{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);column-gap:clamp(28px,4vw,64px);row-gap:clamp(34px,4vw,56px);align-items:start;}
.wed-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);align-items:start;}
.wed-faq{padding-left:calc(var(--pad) - clamp(10px,1.2vw,18px));}
.wed-film video.wed-candle{object-position:center 45%;}
.wed-faq .wed-h:first-child{margin-top:0;}
.wed-pics{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(8px,1.2vw,14px);align-items:start;}
.wed-pic{aspect-ratio:4/5;background:#BFC6AC;}
.wed-pics video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 40%;background:#BFC6AC;}
.drift video.wed-plinth{object-position:center 75%;}
.drift video.wed-bride{object-position:center 70%;}
.drift video.wed-chapel{object-position:center 60%;}
.wed-pics img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;}
.wed-film img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;background:#BFC6AC;}
.wed-film img.wed-floor{object-position:center 75%;}
.wed-copy{max-width:620px;}
.wed-title{font-size:clamp(17px,1.6vw,21px);line-height:1.3;margin:0 0 clamp(26px,2.6vw,38px);}
.wed-pics{max-width:500px;}
.wed-film video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 30%;background:#BFC6AC;}
.wed-copy .lede{margin-bottom:1.1em;}
.wed-copy p + p{margin-top:.9em;}
.wed-h{font-size:13px;letter-spacing:.02em;text-transform:uppercase;margin:2.2em 0 .9em;}
.wed-copy .steps{margin:0;}
.wed-copy .ctas{margin-top:1.4em;}
@media(max-width:820px){
  .wed-grid{grid-template-columns:1fr;}
  .wed-band{padding-left:var(--pad);}
  .wed-faq{padding-left:0;}
}
}
.ig-crop{position:relative;overflow:hidden;width:100%;}
.ig-crop iframe{display:block;width:100%;border:0;background:transparent;}
.ig-link{display:block;cursor:pointer;}
.ig-link > img,.ig-link > video{transition:opacity .2s ease;}
.ig-link:hover > img,.ig-link:hover > video{opacity:.92;}
.duo--flip > .ig-link{order:2;}
.pair--three{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px;}
.pair--three > :last-child{margin-top:0;}
@media(max-width:600px){.pair--three{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}}
.wed-film video.wed-aisle{object-position:center 40%;}
.drift video.wed-orchid{object-position:center 35%;}
.drift video.wed-marquee{object-position:center 65%;}

/* Clean grid everywhere: no staggered offsets, every tile the same shape */
.drift > *,.pair > *,.scatter-row > *{margin-top:0 !important;}
.drift--lead > :nth-child(2) video{aspect-ratio:4/5;}
.drift,.pair{align-items:start;}
.drift video.home-orange{object-position:center 62%;}

/* About: closing gallery, three even rows of three */
.drift.about-grid{max-width:980px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:760px){.drift.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}}
/* partner: "(if applicable)" on its own line under the label */
.form-panel .enq label[for="partner"] .req{display:block;margin-top:2px;}

/* area page links in the keyword line: same quiet grey, no underline until hover */
.foot-seo a{color:inherit;text-decoration:none;}
.foot-seo a:hover{text-decoration:underline;}
/* wedding-only retainer opt-in on the enquiry form */
.form-panel .enq .optin{display:flex;gap:11px;align-items:flex-start;margin-top:14px;padding:14px 15px;border:1px solid rgba(29,31,28,.18);background:rgba(244,239,228,.55);}
.form-panel .enq .optin[hidden]{display:none;}
.form-panel .enq .optin input{min-height:0;width:17px;height:17px;padding:0;margin:2px 0 0;flex:none;accent-color:#1D1F1C;cursor:pointer;}
.form-panel .enq .optin label{margin:0;font-size:13px;font-weight:400;letter-spacing:0;line-height:1.5;text-transform:none;cursor:pointer;}
.form-panel .enq .optin .req{display:inline;}
.form-panel .enq textarea#why{min-height:70px;height:70px;}
