:root{--cream:#fbf2df;--paper:#fffaf0;--red:#8f1018;--red2:#c51b25;--green:#0d3020;--green2:#12452d;--gold:#e9c76a;--gold2:#b78322;--ink:#25130e;--muted:#6d574b;--tick:#1f8f45}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:10px 4vw;background:rgba(18,9,6,.91);backdrop-filter:blur(14px);border-bottom:1px solid rgba(233,199,106,.28);color:#fff}.brand{display:flex;align-items:center;gap:12px;min-width:300px}.brand img{width:94px;height:74px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.55))}.brand-text span{display:block;font-family:Great Vibes,Cormorant Garamond,Georgia,serif;font-weight:400;font-size:2rem;letter-spacing:.01em;color:var(--gold);text-shadow:0 2px 10px rgba(0,0,0,.65)}.brand-text small{font-size:.68rem;text-transform:uppercase;color:rgba(255,255,255,.72);letter-spacing:.13em}nav{display:flex;gap:26px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}nav a{opacity:.82}nav a:hover{opacity:1;color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:14px 24px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 14px 30px rgba(0,0,0,.18);transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-red{background:linear-gradient(180deg,#d6222b,#8f1018);color:white;border:1px solid #f2b66b}.btn-gold{background:linear-gradient(180deg,#f4d97f,#b78322);color:#351a0f;border:1px solid #ffeaa7}.btn-outline{border:1px solid var(--gold);color:white;background:rgba(255,255,255,.06)}.btn-outline-dark{border:1px solid var(--green);color:var(--green);background:white}.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 70% 45%,rgba(233,199,106,.20),transparent 30%),linear-gradient(135deg,#130806 0%,#3b0c0f 50%,#0b2719 100%);color:white}.hero:before{content:"";position:absolute;inset:0;background:url('images/logo.png') no-repeat 2% 5%/185px;opacity:.88}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.42),transparent 58%)}.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;gap:46px;align-items:center;max-width:1320px;margin:auto;padding:92px 4vw 70px}.hero-copy{padding-top:42px}.eyebrow{margin:0 0 16px;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.22em;font-size:.78rem}.eyebrow.dark{color:var(--red)}h1{margin:0;max-width:780px;line-height:.78;color:#f9d979}h1 span{display:block;font-family:Great Vibes,Cormorant Garamond,Georgia,serif;font-size:clamp(5.8rem,10vw,11.5rem);font-weight:400;letter-spacing:-.04em;background:linear-gradient(180deg,#fff9c9 0%,#f4cf62 36%,#b77317 74%,#fff0a6 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(255,235,158,.55);text-shadow:0 4px 0 #5b170e,0 10px 25px rgba(0,0,0,.7),0 0 34px rgba(245,205,96,.45)}h1 em{display:block;margin-top:-16px;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.5rem,4.7vw,5.5rem);font-style:normal;font-weight:700;letter-spacing:-.045em;background:linear-gradient(180deg,#fff7c7,#f5d46e 45%,#c88a22 80%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 14px rgba(0,0,0,.65)}.lead{font-size:clamp(1.05rem,1.45vw,1.25rem);max-width:680px;color:rgba(255,255,255,.86);margin:28px 0 0}.tagline{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;font-size:1.62rem;color:var(--gold);margin:18px 0 0}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.trust-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:620px;margin-top:34px}.trust-row div{background:rgba(255,255,255,.09);border:1px solid rgba(233,199,106,.24);border-radius:14px;padding:13px 14px}.trust-row strong{display:block;color:var(--gold);font-family:Cinzel,Georgia,serif}.trust-row .verified{border-color:rgba(86,213,124,.65);background:rgba(22,111,54,.25)}.trust-row .verified strong{color:#8ff0a4}.trust-row span{font-size:.74rem;color:rgba(255,255,255,.72)}.hero-card{position:relative;border-radius:34px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.5),0 0 0 1px rgba(233,199,106,.34);background:#111}.hero-card img{width:100%;height:720px;object-fit:cover;object-position:center}.hero-card.no-caption:after{display:none}.snow:before,.snow:after{content:"✦ ✧ ✦ ✧ ✦ ✧ ✦ ✧";position:absolute;color:rgba(255,255,255,.35);font-size:22px;letter-spacing:50px;animation:snow 16s linear infinite}.snow:after{left:20%;animation-duration:22s;animation-delay:-6s}@keyframes snow{from{top:-40px}to{top:110%}}.quick-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:0 auto;padding:70px 4vw}.quick-cards article,.review,.service-card-grid article{background:var(--paper);border:1px solid #e9d6b4;border-radius:24px;box-shadow:0 18px 50px rgba(75,38,22,.08)}.quick-cards article{padding:30px}.icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:var(--gold);color:var(--red);font-size:1.6rem;margin-bottom:18px}.quick-cards h3,.service-card-grid h3{font-family:Cinzel,Georgia,serif;margin:0 0 10px;font-size:1.28rem}.quick-cards p,.service-card-grid p{color:var(--muted);margin:0}.green-tick{color:var(--tick)}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:42px;align-items:center;max-width:1220px;margin:0 auto;padding:70px 4vw}.ornate-frame{background:var(--paper);padding:14px;border:1px solid var(--gold2);border-radius:16px;box-shadow:0 26px 60px rgba(50,22,9,.16)}.image-frame img{height:620px;width:100%;object-fit:cover;border-radius:10px}.copy-panel h2,.section-heading h2,.contact-section h2{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.5rem,4vw,4.4rem);line-height:.95;margin:0 0 24px;letter-spacing:-.04em}.copy-panel h2 span{display:block;color:var(--red)}.copy-panel p{font-size:1.08rem;color:#4e382f}.tick-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.tick-list li{padding-left:32px;position:relative;font-weight:800}.tick-list li:before{content:"✓";position:absolute;left:0;top:0;color:white;background:var(--tick);border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:.85rem}.services-section{background:#fff;padding:80px 4vw}.section-heading{text-align:center;max-width:870px;margin:0 auto 42px}.section-heading p:not(.eyebrow){color:var(--muted);font-size:1.08rem}.service-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1220px;margin:auto}.service-card-grid article{padding:32px}.service-card-grid span{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(180deg,#f4d97f,#d6a63b);font-size:1.7rem;margin-bottom:18px;box-shadow:0 10px 24px rgba(183,131,34,.25)}.gallery-section{background:linear-gradient(180deg,#3b0c0f,#7d1017 52%,#3b0c0f);padding:82px 4vw;color:white}.section-heading.light h2{color:#ffe8a7}.section-heading.light p:not(.eyebrow){color:rgba(255,255,255,.72)}.gallery-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;max-width:1320px;margin:auto}.gallery-grid figure{margin:0;position:relative;border-radius:18px;overflow:hidden;border:1px solid rgba(233,199,106,.45);box-shadow:0 18px 42px rgba(0,0,0,.25);background:#100}.gallery-grid img{height:280px;width:100%;object-fit:cover}.gallery-grid figcaption{position:absolute;inset:auto 0 0;padding:42px 14px 14px;background:linear-gradient(to top,rgba(0,0,0,.88),transparent);font-family:Cinzel,Georgia,serif;font-weight:800;color:#fff;font-size:.93rem}.reviews-section{background:var(--paper);padding:82px 4vw}.reviews-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:1320px;margin:auto}.review{padding:25px}.stars{color:#d69b19;letter-spacing:3px;font-size:1.1rem}.review p{color:#4b352b;font-size:.95rem}.review strong{font-family:Cinzel,Georgia,serif;color:var(--red)}.feature-review{grid-column:span 2}.feature-review p{font-size:1.02rem}.contact-section{text-align:center;padding:82px 4vw;background:radial-gradient(circle at center,rgba(233,199,106,.25),transparent 40%),var(--green);color:white}.contact-logo{width:230px;margin:0 auto 18px}.contact-section p:not(.eyebrow){max-width:720px;margin:0 auto 26px;color:rgba(255,255,255,.82);font-size:1.1rem}.contact-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#120906;color:white;padding:28px 4vw;border-top:1px solid rgba(233,199,106,.24)}footer img{width:95px}footer div{display:flex;align-items:center;gap:14px}footer p{margin:0;font-family:Great Vibes,Cormorant Garamond,Georgia,serif;color:var(--gold);font-size:2.2rem}footer span{font-size:.74rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.65)}footer>p{font-family:Montserrat,Arial,sans-serif;color:rgba(255,255,255,.55);font-size:.85rem}@media (max-width:1100px){nav{display:none}.hero-inner,.split{grid-template-columns:1fr}.hero:before{background-size:125px}.hero-card img{height:620px}.service-card-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}.reviews-grid{grid-template-columns:1fr 1fr}.feature-review{grid-column:span 1}.brand-text{display:none}}@media (max-width:700px){.site-header{padding:10px 18px}.brand{min-width:auto}.brand img{width:78px}.hero-inner{padding:78px 22px 50px}.hero-copy{padding-top:58px}.hero-card img{height:520px}.trust-row,.quick-cards,.service-card-grid,.gallery-grid,.reviews-grid{grid-template-columns:1fr}.quick-cards{padding:44px 22px}.split,.services-section,.gallery-section,.reviews-section,.contact-section{padding:56px 22px}h1 span{font-size:5.2rem}h1 em{font-size:2.9rem}.lead{font-size:1rem}.tagline{font-size:1.35rem}.tick-list{grid-template-columns:1fr}footer{flex-direction:column;text-align:center}footer div{flex-direction:column}.image-frame img{height:480px}}
/* Version 12 refinements */
.site-header .brand img{width:116px;height:92px;object-fit:contain;}
.hero-no-photo:before{background:url('images/logo.png') no-repeat 50% 8%/260px;opacity:.15;filter:drop-shadow(0 20px 30px rgba(0,0,0,.8));}
.hero-no-photo:after{background:radial-gradient(circle at center,rgba(255,220,118,.12),transparent 38%),linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.45));}
.hero-inner.solo{display:block;max-width:1120px;padding:100px 4vw 86px;text-align:center;}
.hero-centered{margin:0 auto;padding-top:0;}
.hero-logo{width:235px;margin:0 auto 22px;filter:drop-shadow(0 20px 32px rgba(0,0,0,.65));}
.hero-centered h1{margin:0 auto;}
.hero-centered .lead{margin-left:auto;margin-right:auto;}
.hero-centered .tagline{margin-left:auto;margin-right:auto;}
.centered-actions{justify-content:center;}
.centered-trust{margin-left:auto;margin-right:auto;}

.about-section{padding-top:90px;}

.list-services{background:linear-gradient(180deg,#062819,#0e3a27 52%,#062819);color:white;border-top:1px solid rgba(233,199,106,.28);border-bottom:1px solid rgba(233,199,106,.28);}
.light-on-green h2{color:#ffe8a7;}
.light-on-green p:not(.eyebrow){color:rgba(255,255,255,.76)}
.service-list{max-width:1120px;margin:24px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:0 42px;border-top:1px solid rgba(233,199,106,.33);}
.service-list article{display:flex;gap:20px;align-items:flex-start;padding:28px 0;border-bottom:1px solid rgba(233,199,106,.33);}
.service-list span{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:linear-gradient(180deg,#f4d97f,#b78322);box-shadow:0 14px 24px rgba(0,0,0,.22);font-size:1.55rem;}
.service-list h3{margin:0 0 8px;font-family:Cinzel,Georgia,serif;color:#fff6cb;font-size:1.3rem;}
.service-list p{margin:0;color:rgba(255,255,255,.72);}

.gallery-grid.no-captions{grid-template-columns:repeat(6,1fr);}
.gallery-grid.no-captions figure{border-radius:14px;}
.gallery-grid.no-captions img{height:235px;}
.gallery-grid.no-captions figure:nth-child(1),.gallery-grid.no-captions figure:nth-child(2),.gallery-grid.no-captions figure:nth-child(6){grid-column:span 2;}
.gallery-grid.no-captions figure:nth-child(1) img,.gallery-grid.no-captions figure:nth-child(2) img,.gallery-grid.no-captions figure:nth-child(6) img{height:310px;}
.gallery-grid.no-captions figcaption{display:none;}

.reviews-scroll{max-width:1320px;margin:auto;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 6px 24px;}
.reviews-scroll .review{flex:0 0 330px;scroll-snap-align:start;}
.reviews-scroll .feature-review{flex-basis:520px;}
.reviews-scroll::-webkit-scrollbar{height:10px;}
.reviews-scroll::-webkit-scrollbar-track{background:#ead9ba;border-radius:999px;}
.reviews-scroll::-webkit-scrollbar-thumb{background:#b78322;border-radius:999px;}

.contact-section .eyebrow{display:none;}
.contact-logo{width:250px;}
footer img{width:105px;}

@media (max-width:1100px){.gallery-grid.no-captions{grid-template-columns:repeat(3,1fr)}.service-list{grid-template-columns:1fr}.gallery-grid.no-captions figure:nth-child(n){grid-column:span 1}.gallery-grid.no-captions figure:nth-child(n) img{height:280px}}
@media (max-width:700px){.site-header .brand img{width:86px;height:68px}.hero-logo{width:190px}.hero-inner.solo{padding:76px 22px 58px}.service-list article{gap:14px}.gallery-grid.no-captions{grid-template-columns:1fr}.gallery-grid.no-captions figure:nth-child(n) img{height:360px}.reviews-scroll .review,.reviews-scroll .feature-review{flex-basis:86vw}}

/* Version 14 refinements */
.hero-logo{
  width: 420px !important;
  max-width: min(76vw, 420px);
  margin-bottom: 20px;
  filter: drop-shadow(0 24px 36px rgba(0,0,0,.72));
}
.hero-inner.solo{padding-top:92px;}
.centered-trust,.trust-row{display:none !important;}
.image-frame img{object-position:center;}
.about-section .image-frame img{object-position:center top;}
.service-list article{
  gap: 12px !important;
  align-items: flex-start;
  padding: 25px 0;
}
.service-list span.bauble{
  position:relative;
  display:inline-block;
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  margin-top:2px;
  border-radius:50%;
  box-shadow: inset -8px -10px 13px rgba(0,0,0,.24), inset 5px 5px 8px rgba(255,255,255,.35), 0 0 0 2px rgba(255,228,139,.55), 0 10px 18px rgba(0,0,0,.22) !important;
}
.service-list span.bauble:before{
  content:"";
  position:absolute;
  top:-8px;
  left:50%;
  transform:translateX(-50%);
  width:14px;
  height:10px;
  border-radius:4px 4px 2px 2px;
  background:linear-gradient(180deg,#fff0a6,#b78322);
  box-shadow:0 0 0 1px rgba(80,45,10,.35);
}
.service-list span.bauble:after{
  content:"";
  position:absolute;
  top:7px;
  left:8px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
  filter:blur(.2px);
}
.bauble-red{background:radial-gradient(circle at 28% 25%,#fff1b6 0 7%,#ff4b39 19%,#b20f18 58%,#560407 100%) !important;}
.bauble-gold{background:radial-gradient(circle at 28% 25%,#fff9d0 0 8%,#ffd86d 22%,#ca8d21 65%,#6d3f0d 100%) !important;}
.bauble-green{background:radial-gradient(circle at 28% 25%,#d7ffd9 0 8%,#35b45c 23%,#0c5e32 66%,#042918 100%) !important;}
.service-list h3{font-size:1.38rem;}
.gallery-grid.no-captions.v8-gallery{
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.gallery-grid.no-captions.v8-gallery figure:nth-child(n){grid-column:auto;}
.gallery-grid.no-captions.v8-gallery img,
.gallery-grid.no-captions.v8-gallery figure:nth-child(n) img{
  height:330px;
  width:100%;
  object-fit:cover;
  object-position:center;
}
.gallery-grid.no-captions.v8-gallery figure{
  background:#3b0c0f;
}
@media (max-width:1100px){.hero-logo{width:340px!important}.gallery-grid.no-captions.v8-gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:700px){.hero-logo{width:260px!important}.gallery-grid.no-captions.v8-gallery{grid-template-columns:1fr}.gallery-grid.no-captions.v8-gallery img,.gallery-grid.no-captions.v8-gallery figure:nth-child(n) img{height:360px}.service-list span.bauble{flex-basis:30px!important;width:30px!important;height:30px!important}}


/* Version 16 rebuild fixes */
.hero-logo{
  width: 560px !important;
  max-width: min(88vw, 560px) !important;
  margin-bottom: 18px !important;
  filter: drop-shadow(0 30px 44px rgba(0,0,0,.78));
}
.hero-inner.solo{ padding-top: 88px !important; }
.trust-row,.centered-trust{ display:none !important; }

/* Bigger, neater service baubles close to text */
.service-list{
  max-width: 1040px !important;
  gap: 0 34px !important;
}
.service-list article{
  display:grid !important;
  grid-template-columns: 52px 1fr !important;
  gap: 14px !important;
  align-items:start !important;
  padding: 26px 0 !important;
}
.service-list span.bauble{
  display:block !important;
  position:relative !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  margin-top: 0 !important;
  border-radius:50% !important;
  box-shadow:
    inset -11px -13px 18px rgba(0,0,0,.28),
    inset 7px 7px 10px rgba(255,255,255,.42),
    0 0 0 2px rgba(255,235,165,.65),
    0 10px 20px rgba(0,0,0,.32) !important;
}
.service-list span.bauble:before{
  content:"" !important;
  position:absolute !important;
  width:16px !important;
  height:11px !important;
  top:-8px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  border-radius:4px 4px 2px 2px !important;
  background:linear-gradient(180deg,#fff7c7,#c48d23) !important;
  box-shadow:0 0 0 1px rgba(70,40,10,.35) !important;
}
.service-list span.bauble:after{
  content:"" !important;
  position:absolute !important;
  top:8px !important;
  left:10px !important;
  width:12px !important;
  height:12px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.78) !important;
  filter:blur(.2px) !important;
}
.bauble-red{background:radial-gradient(circle at 28% 24%,#fff7cf 0 8%,#ff604c 18%,#ba101b 58%,#4c0307 100%) !important;}
.bauble-gold{background:radial-gradient(circle at 28% 24%,#fffbd6 0 9%,#ffe07c 22%,#c88d20 62%,#6b3d0b 100%) !important;}
.bauble-green{background:radial-gradient(circle at 28% 24%,#dcffde 0 9%,#38bf63 23%,#0d6537 64%,#032415 100%) !important;}

/* Clean gallery with no black bars */
.gallery-grid.no-captions.v8-gallery{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  max-width: 1320px !important;
}
.gallery-grid.no-captions.v8-gallery figure{
  margin:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:#4b0c12 !important;
  aspect-ratio: 4 / 5 !important;
}
.gallery-grid.no-captions.v8-gallery img,
.gallery-grid.no-captions.v8-gallery figure:nth-child(n) img{
  height:100% !important;
  width:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
}
.gallery-grid.no-captions.v8-gallery figure:nth-child(1),
.gallery-grid.no-captions.v8-gallery figure:nth-child(2),
.gallery-grid.no-captions.v8-gallery figure:nth-child(3),
.gallery-grid.no-captions.v8-gallery figure:nth-child(4){
  aspect-ratio: 4 / 5 !important;
}
@media (max-width:1100px){
  .hero-logo{ width: 430px !important; }
  .gallery-grid.no-captions.v8-gallery{ grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:700px){
  .hero-logo{ width: 310px !important; }
  .service-list article{ grid-template-columns:42px 1fr !important; gap:12px !important; }
  .service-list span.bauble{ width:34px !important; height:34px !important; flex-basis:34px !important; }
  .gallery-grid.no-captions.v8-gallery{ grid-template-columns:1fr !important; }
}


/* Version 17 rebuild tweaks */
.hero-eyebrow{
  position:relative;
  z-index:4;
  margin-bottom: 28px !important;
  padding-top: 10px;
}
.hero-centered h1{
  position:relative;
  z-index:2;
}
.about-section .copy-panel h2{margin-bottom:18px;}
.about-section .copy-panel h2 span{display:inline;color:var(--red);}

/* Version 18: fix clipped descender on “brought” */
.hero-centered h1,
.hero-copy h1,
h1{
  line-height: .92 !important;
  padding-bottom: .18em !important;
  overflow: visible !important;
}
h1 em{
  line-height: 1.08 !important;
  padding-bottom: .1em !important;
  margin-top: -10px !important;
  overflow: visible !important;
}
.hero-copy{
  overflow: visible !important;
}


/* Version 19 final hero/contact tweaks */
.hero-centered h1 span{
  display:block;
  text-align:center;
  transform: translateX(-4px);
}
.hero-centered h1 em{
  display:block;
  text-align:center;
  transform: translateX(34px);
}
.hero-actions.centered-actions:empty{display:none!important;}


/* Footer social links */
.footer-socials{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;}
.footer-socials span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.62);}
.footer-socials a{color:#f4d97f;text-decoration:none;border:1px solid rgba(233,199,106,.45);padding:8px 12px;border-radius:999px;font-weight:800;font-size:.86rem;background:rgba(255,255,255,.04);}
.footer-socials a:hover{background:rgba(233,199,106,.16);color:#fff0a6;}
@media (max-width:700px){.footer-socials{flex-direction:column;gap:9px}.footer-socials a{min-width:150px;text-align:center}}


/* Version 22: Instagram-only footer button */
.footer-socials{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;}
.footer-socials span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.62);}
.footer-socials .instagram-button{display:inline-flex;align-items:center;gap:9px;color:#f4d97f;text-decoration:none;border:1px solid rgba(233,199,106,.55);padding:9px 14px;border-radius:999px;font-weight:800;font-size:.86rem;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02));box-shadow:0 10px 24px rgba(0,0,0,.18);}
.footer-socials .instagram-button svg{width:18px;height:18px;fill:currentColor;display:block;}
.footer-socials .instagram-button span{color:inherit;letter-spacing:.08em;font-size:.82rem;}
.footer-socials .instagram-button:hover{background:rgba(233,199,106,.18);color:#fff0a6;transform:translateY(-1px);}
@media (max-width:700px){.footer-socials{flex-direction:column;gap:9px}.footer-socials .instagram-button{min-width:150px;justify-content:center}}

/* Version 25 booking rebuild refinements */
.instagram-button{
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 62%, #285AEB 90%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.35) !important;
  box-shadow:0 10px 24px rgba(214,36,159,.28), inset 0 0 0 1px rgba(255,255,255,.18) !important;
}
.instagram-button svg{fill:#fff !important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));}
.instagram-button span{color:#fff !important;}

.booking-hero{min-height:auto;padding:84px 4vw 56px;text-align:center;background:radial-gradient(circle at center top,rgba(233,199,106,.26),transparent 34%),linear-gradient(180deg,#3b0f16,#170202);color:white;position:relative;overflow:hidden;border-bottom:1px solid rgba(233,199,106,.28)}
.booking-hero:before{content:"";position:absolute;inset:0;background:url('images/logo.png') no-repeat 50% 18%/360px;opacity:.08;filter:blur(.2px)}
.booking-hero>*{position:relative;z-index:1}.booking-hero img{width:340px;max-width:72vw;margin:0 auto 12px;filter:drop-shadow(0 24px 34px rgba(0,0,0,.7))}.booking-hero h1{margin:0;color:#ffe8a7;font-family:Great Vibes,Cormorant Garamond,Georgia,serif;font-weight:400;font-size:6rem;line-height:1;text-shadow:0 6px 24px rgba(0,0,0,.55)}.booking-hero p{max-width:780px;margin:18px auto 0;color:rgba(255,255,255,.82);font-size:1.15rem}.booking-section{padding:72px 4vw;background:var(--paper)}.booking-wrap{max-width:1020px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}.booking-info{background:linear-gradient(180deg,#0d3020,#071b12);color:white;border-radius:22px;padding:34px;border:1px solid rgba(233,199,106,.38);box-shadow:0 18px 45px rgba(0,0,0,.17);position:sticky;top:120px}.booking-info h2{font-family:Cinzel,Georgia,serif;color:#ffe8a7;margin:0 0 14px;font-size:2rem}.booking-info p{color:rgba(255,255,255,.78)}.booking-info ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}.booking-info li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.82)}.booking-info li:before{content:"✓";flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1f8f45;color:white;font-weight:900}.booking-form{background:#fff;border-radius:22px;padding:34px;border:1px solid #ead8b8;box-shadow:0 18px 45px rgba(59,15,22,.12)}.booking-form h2{font-family:Cinzel,Georgia,serif;color:var(--red);font-size:2rem;margin:0 0 6px}.booking-form .form-note{margin:0 0 20px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:#3b0f16;font-size:.92rem}.field input,.field select,.field textarea{width:100%;border:1px solid #d8c4a1;border-radius:12px;padding:13px 14px;font:inherit;background:#fffaf0;color:#25130e}.field textarea{min-height:132px;resize:vertical}.honeypot{display:none!important}.booking-form button{width:100%;margin-top:22px;border:0;border-radius:12px;padding:16px 24px;background:linear-gradient(180deg,#f0d27a,#c99728);font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#25130e;box-shadow:0 14px 28px rgba(183,131,34,.25);cursor:pointer;font-size:1rem}.booking-form button:hover{filter:brightness(1.05);transform:translateY(-1px)}.fallback-contact{text-align:center;margin-top:18px;color:var(--muted);font-size:.95rem}.fallback-contact a{color:var(--red);font-weight:800}.thankyou-page{min-height:100vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center top,rgba(233,199,106,.22),transparent 36%),linear-gradient(180deg,#3b0f16,#150202);color:white;padding:40px}.thankyou-card{max-width:760px;border:1px solid rgba(233,199,106,.45);border-radius:28px;padding:46px;background:rgba(255,255,255,.05);box-shadow:0 24px 60px rgba(0,0,0,.35)}.thankyou-card img{width:260px;margin:0 auto 10px}.thankyou-card h1{font-family:Great Vibes,Cormorant Garamond,Georgia,serif;color:#ffe8a7;font-weight:400;font-size:5.4rem;line-height:1;margin:10px 0}.thankyou-card p{font-size:1.15rem;color:rgba(255,255,255,.82)}.thankyou-card .btn{margin-top:20px}@media(max-width:900px){.booking-wrap{grid-template-columns:1fr}.booking-info{position:static}.booking-hero h1{font-size:4.8rem}}@media(max-width:600px){.form-grid{grid-template-columns:1fr}.booking-form,.booking-info{padding:24px}.booking-hero h1{font-size:4rem}.booking-hero img{width:250px}.thankyou-card h1{font-size:4rem}}


/* Christmas Keepsakes certificate gallery */

.keepsakes-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    max-width: 900px;
    margin: 30px auto;
}

.keepsakes-gallery img {
    display: block;
    width: 100%;
    max-width: 400px;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 650px) {
    .keepsakes-gallery {
        grid-template-columns: 1fr;
    }
}