/* =========================================================
   CLASSIC PHOTOS — design tokens
   Palette:  Charcoal-Navy #252B38 · Parchment #F4EAD8 · Rose Gold #B9895F
             Bridal Red #7A1F2B · Sage #6B7A5E · Paper White #FFFBF4
   Type:     Display  — 'Cormorant Garamond' (editorial serif)
             Body     — 'Jost' (geometric sans, quiet workhorse)
   Signature: film-strip sprocket border on portfolio frames +
              a hand-drawn rose divider echoing the studio's
              "Red / White Rose Bouquet" package names.
   ========================================================= */

:root{
  --ink:#252B38;
  --ink-soft:#3E4457;
  --parchment:#F4EAD8;
  --paper:#FFFBF4;
  --rose-gold:#B9895F;
  --rose-gold-light:#D9B896;
  --bridal-red:#7A1F2B;
  --bridal-red-light:#9C3241;
  --sage:#6B7A5E;
  --line: rgba(37,43,56,.12);
  --shadow: 0 20px 50px -25px rgba(37,43,56,.35);
  --radius: 2px;
  --serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --sans: 'Jost', 'Segoe UI', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;margin:0 0 .4em;color:var(--ink);}
p{margin:0 0 1em;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
section{padding:96px 0;}
@media(max-width:768px){section{padding:64px 0;}}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}

/* ---------- accessibility ---------- */
.skip-link{
  position:absolute;top:-48px;left:12px;z-index:1000;background:var(--paper);color:var(--ink);
  padding:10px 18px;font-size:13px;text-decoration:none;border:1px solid var(--rose-gold);transition:top .2s ease;
}
.skip-link:focus{top:12px;}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--rose-gold);outline-offset:2px;
}

/* ---------- eyebrow / kicker ---------- */
.eyebrow{
  display:flex;align-items:center;gap:12px;
  font-family:var(--sans);
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:12px;
  color:var(--rose-gold);
  font-weight:500;
  margin-bottom:14px;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--rose-gold);}
.section-head{max-width:640px;margin:0 0 56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:clamp(30px,4vw,44px);}

/* ---------- rose divider (signature element) ---------- */
.rose-divider{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 20px;width:fit-content;}
.rose-divider .stem{width:46px;height:1px;background:linear-gradient(90deg,transparent,var(--rose-gold));}
.rose-divider .stem.r{background:linear-gradient(90deg,var(--rose-gold),transparent);}
.rose-divider svg{width:20px;height:20px;color:var(--rose-gold);}

/* ================= HEADER ================= */
.site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(37,43,56,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1180px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;color:var(--paper);}
.brand img{height:44px;width:auto;}
.brand-name{font-family:var(--serif);font-size:24px;letter-spacing:.03em;color:var(--paper);}
.brand-name small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--rose-gold-light);}

.nav-toggle{display:none;background:none;border:0;color:var(--paper);font-size:26px;cursor:pointer;}
.main-nav ul{display:flex;gap:34px;}
.main-nav a{
  font-size:13px;text-transform:uppercase;letter-spacing:.14em;color:var(--parchment);
  position:relative;padding:6px 0;
}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--rose-gold);transition:width .3s ease;}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.main-nav a.active{color:var(--rose-gold-light);}
.header-cta{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--rose-gold);color:var(--rose-gold-light);
  padding:9px 20px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s ease,color .3s ease;
}
.header-cta:hover{background:var(--rose-gold);color:var(--ink);}

@media(max-width:900px){
  .nav-toggle{display:block;}
  .main-nav{position:fixed;inset:0 0 0 30%;background:var(--ink);transform:translateX(100%);transition:transform .35s ease;padding:100px 32px;z-index:99;}
  .main-nav.open{transform:translateX(0);}
  .main-nav ul{flex-direction:column;gap:22px;}
  .header-cta{display:none;}
}

/* ================= HERO SLIDER ================= */
.hero{position:relative;height:92vh;min-height:560px;overflow:hidden;background:var(--ink);}
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;
  background-size:cover;background-position:center;
}
.hero-slide.active{opacity:1;}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(37,43,56,.55) 0%,rgba(37,43,56,.35) 40%,rgba(37,43,56,.8) 100%);}
.hero-content{
  position:relative;z-index:2;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;color:var(--paper);padding:0 24px;
}
.hero-content .eyebrow{color:var(--rose-gold-light);justify-content:center;}
.hero-content .eyebrow::before{display:none;}
.hero-content h1{
  font-size:clamp(42px,7vw,86px);line-height:1.02;color:var(--paper);
  text-shadow:0 4px 30px rgba(0,0,0,.35);
}
.hero-content h1 em{color:var(--rose-gold-light);font-style:normal;}
.hero-content p{max-width:520px;color:var(--parchment);font-size:17px;}
.hero-btns{display:flex;gap:16px;margin-top:18px;flex-wrap:wrap;justify-content:center;}
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:14px 30px;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  border:1px solid var(--rose-gold);cursor:pointer;transition:all .3s ease;
}
.btn-solid{background:var(--rose-gold);color:var(--ink);}
.btn-solid:hover{background:var(--rose-gold-light);}
.btn-outline{background:transparent;color:var(--paper);}
.btn-outline:hover{background:rgba(255,255,255,.1);}
.btn-red{background:var(--bridal-red);border-color:var(--bridal-red);color:var(--paper);}
.btn-red:hover{background:var(--bridal-red-light);}

.hero-dots{position:absolute;bottom:28px;left:0;right:0;z-index:3;display:flex;justify-content:center;gap:10px;}
.hero-dots button{width:9px;height:9px;border-radius:50%;border:1px solid var(--paper);background:transparent;cursor:pointer;padding:0;}
.hero-dots button.active{background:var(--rose-gold);border-color:var(--rose-gold);}
.hero-scroll{position:absolute;bottom:24px;right:32px;z-index:3;color:var(--parchment);font-size:11px;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;display:flex;align-items:center;gap:10px;}
.hero-scroll::after{content:"";width:1px;height:44px;background:var(--rose-gold);}
@media(max-width:600px){.hero-scroll{display:none;}}

/* ================= INTRO / ABOUT ================= */
.intro{background:var(--parchment);text-align:center;}
.intro .container{max-width:820px;}
.intro p{font-family:var(--serif);font-size:clamp(20px,2.6vw,28px);line-height:1.5;color:var(--ink-soft);}

.about-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.about-media{position:relative;background:var(--parchment);}
.about-media img{width:100%;height:auto;max-height:560px;object-fit:contain;display:block;}
.about-media::before{content:"";position:absolute;top:-20px;left:-20px;width:70%;height:70%;border:1px solid var(--rose-gold);z-index:-1;}
.about-stats{display:flex;gap:36px;margin-top:30px;}
.about-stats div{font-family:var(--serif);font-size:38px;color:var(--bridal-red);}
.about-stats span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;}
@media(max-width:860px){.about-split{grid-template-columns:1fr;gap:40px;}.about-media img{max-height:420px;}}

/* ================= SERVICES ================= */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line);}
.service-card{background:var(--paper);padding:44px 30px;border-top:3px solid transparent;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;}
.service-card:hover{border-top-color:var(--rose-gold);transform:translateY(-4px);box-shadow:var(--shadow);}
.service-card .num{font-family:var(--serif);font-size:14px;color:var(--rose-gold);letter-spacing:.1em;}
.service-card h3{font-size:23px;margin-top:14px;}
.service-card p{font-size:14.5px;color:var(--ink-soft);}
@media(max-width:900px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.services-grid{grid-template-columns:1fr;}}

/* ================= PACKAGES ================= */
.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.package-card{
  background:var(--paper);border:1px solid var(--line);position:relative;
  display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease;
}
.package-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.package-card.featured{border-color:var(--rose-gold);}
.package-tag{position:absolute;top:18px;right:18px;background:var(--bridal-red);color:var(--paper);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;}
.package-media{height:200px;overflow:hidden;}
.package-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.package-card:hover .package-media img{transform:scale(1.06);}
.package-body{padding:30px;display:flex;flex-direction:column;flex:1;}
.package-body h3{font-size:24px;}
.package-price{font-family:var(--serif);font-size:34px;color:var(--bridal-red);margin:6px 0 18px;}
.package-price span{font-size:13px;font-family:var(--sans);color:var(--ink-soft);}
.package-features{margin:0 0 24px;flex:1;}
.package-features li{display:flex;gap:10px;font-size:14px;padding:6px 0;border-bottom:1px dashed var(--line);color:var(--ink-soft);}
.package-features li::before{content:"✦";color:var(--rose-gold);}
@media(max-width:960px){.packages-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;}}

/* ================= TEAM ================= */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.team-card{text-align:center;}
.team-photo{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--ink);}
.team-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(45%);transition:filter .4s ease,transform .5s ease;}
.team-card:hover .team-photo img{filter:grayscale(0);transform:scale(1.05);}
.team-photo::after{content:"";position:absolute;left:14px;right:14px;bottom:14px;top:14px;border:1px solid rgba(255,255,255,.5);opacity:0;transition:opacity .4s ease;}
.team-card:hover .team-photo::after{opacity:1;}
.team-card h3{font-size:20px;margin-top:16px;margin-bottom:2px;}
.team-card p{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-gold);}
@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,1fr);}}

/* ================= PORTFOLIO (signature film-frame) ================= */
.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:44px;}
.portfolio-filters button{
  background:none;border:1px solid var(--line);padding:9px 20px;font-size:12px;
  letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .25s ease;color:var(--ink-soft);
}
.portfolio-filters button.active,.portfolio-filters button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.film-frame{
  position:relative;background:var(--ink);padding:10px 10px 26px;
}
.film-frame::before,.film-frame::after{
  content:"";position:absolute;left:0;right:0;height:10px;
  background-image:radial-gradient(circle,var(--paper) 2.5px,transparent 2.6px);
  background-size:16px 10px;background-repeat:repeat-x;background-position:6px center;
}
.film-frame::before{top:0;}
.film-frame::after{bottom:14px;}
.film-frame .frame-media{overflow:hidden;aspect-ratio:4/5;position:relative;}
.film-frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.film-frame:hover img{transform:scale(1.08);}
.film-frame .zoom-hint{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.7);
  width:52px;height:52px;border-radius:50%;background:rgba(37,43,56,.55);
  border:1px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none;
}
.film-frame .zoom-hint svg{width:22px;height:22px;stroke:var(--paper);fill:none;stroke-width:2;}
.film-frame:hover .zoom-hint{opacity:1;transform:translate(-50%,-50%) scale(1);}
.film-frame figcaption{color:var(--rose-gold-light);font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-align:center;margin-top:8px;}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.portfolio-grid{grid-template-columns:1fr;}}

/* ================= VIDEO GALLERY ================= */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.video-card{cursor:pointer;}
.video-thumb{position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--ink);border:1px solid var(--line);}
.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .4s ease;}
.video-card:hover .video-thumb img{transform:scale(1.06);filter:brightness(.75);}
.play-btn{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:62px;height:62px;border-radius:50%;background:rgba(37,43,56,.55);
  border:1px solid rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;
  transition:background .3s ease,transform .3s ease;
}
.play-btn svg{width:22px;height:22px;fill:var(--paper);margin-left:3px;}
.video-card:hover .play-btn{background:var(--rose-gold);border-color:var(--rose-gold);transform:translate(-50%,-50%) scale(1.08);}
.video-card h3{font-size:19px;margin-top:14px;margin-bottom:2px;}
.video-cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-gold);margin:0;}
@media(max-width:900px){.video-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.video-grid{grid-template-columns:1fr;}}

.video-lightbox{
  position:fixed;inset:0;z-index:500;background:rgba(10,9,7,.94);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.video-lightbox.open{display:flex;}
.video-lightbox-frame{width:100%;max-width:960px;aspect-ratio:16/9;background:#000;box-shadow:0 30px 80px rgba(0,0,0,.6);position:relative;z-index:1;}
.video-lightbox-frame iframe{width:100%;height:100%;border:0;}
.lightbox-close{
  position:absolute;top:22px;right:28px;background:none;border:1px solid rgba(255,255,255,.4);
  color:var(--paper);font-size:26px;line-height:1;width:44px;height:44px;border-radius:50%;
  cursor:pointer;transition:background .3s ease;z-index:5;
}
.lightbox-close:hover{background:rgba(255,255,255,.12);}

/* ================= TESTIMONIALS ================= */
.testimonials{background:var(--parchment);}
.t-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;}
.t-card{background:var(--paper);border:1px solid var(--line);padding:34px;position:relative;box-shadow:var(--shadow);}
.t-card::before{content:"\201C";position:absolute;top:14px;right:24px;font-family:var(--serif);font-size:64px;color:var(--rose-gold-light);line-height:1;opacity:.6;}
.t-card .stars{color:var(--rose-gold);letter-spacing:2px;margin-bottom:14px;font-size:14px;}
.t-card p{font-family:var(--serif);font-size:19px;font-style:italic;color:var(--ink-soft);position:relative;z-index:1;}
.t-card h4{margin:14px 0 0;font-size:15px;color:var(--ink);}
.t-card span{font-size:12px;color:var(--rose-gold);letter-spacing:.08em;text-transform:uppercase;}
@media(max-width:800px){.t-grid{grid-template-columns:1fr;}}

/* ================= CTA STRIP ================= */
.cta-strip{
  background:linear-gradient(120deg,var(--bridal-red),var(--bridal-red-light));
  color:var(--paper);text-align:center;padding:72px 24px;
}
.cta-strip h2{color:var(--paper);font-size:clamp(26px,4vw,40px);}
.cta-strip p{color:rgba(255,255,255,.85);max-width:520px;margin:0 auto 26px;}

/* ================= CONTACT ================= */
.contact-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;}
.contact-info-card{background:var(--ink);color:var(--parchment);padding:44px;}
.contact-info-card h3{color:var(--paper);}
.info-row{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.info-row .ic{color:var(--rose-gold);font-size:18px;}
.info-row strong{display:block;color:var(--paper);font-size:13px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px;}
.social-row{display:flex;gap:14px;margin-top:24px;}
.social-row a{width:38px;height:38px;border:1px solid var(--rose-gold);display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--rose-gold-light);}
.social-row a:hover{background:var(--rose-gold);color:var(--ink);}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-grid .full{grid-column:1/-1;}
.field label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;}
.field input,.field select,.field textarea{
  width:100%;border:none;border-bottom:1px solid var(--line);background:transparent;
  padding:10px 2px;font-family:var(--sans);font-size:15px;color:var(--ink);
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rose-gold);}
.field textarea{resize:vertical;min-height:90px;}
@media(max-width:860px){.contact-wrap{grid-template-columns:1fr;}.form-grid{grid-template-columns:1fr;}}

.alert{padding:14px 18px;margin-bottom:24px;border-left:3px solid var(--sage);background:rgba(107,122,94,.08);font-size:14px;}
.alert.error{border-color:var(--bridal-red);background:rgba(122,31,43,.06);}

/* honeypot spam-trap field — off-screen for humans, still present for bots */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---------- star rating input (review form) ---------- */
.star-rating{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;position:relative;}
.star-rating input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;}
.field .star-rating label{
  display:inline-block;text-transform:none;margin-bottom:0;letter-spacing:0;
  font-size:32px;line-height:1;color:var(--line);cursor:pointer;transition:color .15s ease;
}
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label{color:var(--rose-gold);}

/* ---------- photo lightbox (portfolio gallery) ---------- */
.photo-lightbox{
  position:fixed;inset:0;z-index:500;background:rgba(20,22,28,.95);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.photo-lightbox.open{display:flex;}
.photo-lightbox-stage{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1;}
.photo-lightbox img{max-width:100%;max-height:82vh;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.5);position:relative;z-index:1;}
.photo-lightbox-caption{position:absolute;bottom:-38px;left:0;right:0;text-align:center;color:var(--parchment);font-size:13px;letter-spacing:.08em;text-transform:uppercase;}
.photo-lightbox-counter{position:absolute;top:-38px;left:0;right:0;text-align:center;color:rgba(244,234,216,.6);font-size:12px;letter-spacing:.1em;}
.photo-lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.35);color:var(--paper);
  display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px;transition:background .3s ease;
  z-index:5;
}
.photo-lightbox-nav:hover{background:var(--rose-gold);border-color:var(--rose-gold);}
.photo-lightbox-nav.prev{left:6px;}
.photo-lightbox-nav.next{right:6px;}
@media(max-width:640px){
  .photo-lightbox-nav{width:38px;height:38px;font-size:18px;}
  .photo-lightbox img{max-height:70vh;}
}

/* ================= PAGE HEADER (inner pages) ================= */
.page-header{
  position:relative;height:46vh;min-height:280px;display:flex;align-items:center;justify-content:center;
  text-align:center;color:var(--paper);background:linear-gradient(rgba(20,22,28,.68),rgba(20,22,28,.78)),var(--ink);
  background-size:cover;background-position:center;
}
.page-header h1{color:var(--paper);font-size:clamp(34px,5vw,58px);text-shadow:0 2px 16px rgba(0,0,0,.5);}
.breadcrumb{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-gold-light);text-shadow:0 1px 8px rgba(0,0,0,.5);}
.breadcrumb a{color:var(--parchment);}
.breadcrumb a:hover{color:var(--rose-gold-light);}

/* ================= FOOTER ================= */
.site-footer{background:var(--ink);color:var(--parchment);padding-top:80px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-grid h4{color:var(--paper);font-size:16px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;}
.footer-brand .brand-name{color:var(--paper);}
.footer-grid p,.footer-grid a{color:rgba(244,234,216,.75);font-size:14px;}
.footer-links li{margin-bottom:10px;}
.footer-links a:hover{color:var(--rose-gold-light);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:26px 0;font-size:13px;color:rgba(244,234,216,.55);flex-wrap:wrap;gap:10px;}
.footer-bottom a{color:var(--rose-gold-light);}

/* ================= FLOATING WHATSAPP ================= */
.whatsapp-float{
  position:fixed;bottom:24px;right:24px;z-index:200;
  width:56px;height:56px;border-radius:50%;background:#25D366;
  display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.3);
  animation:pulse 2.4s infinite;
}
.whatsapp-float svg{width:28px;height:28px;fill:#fff;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 0 0 14px rgba(37,211,102,0);}100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}

/* ================= UTILS / REVEAL ================= */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.terms-body h2{margin-top:1.4em;font-size:24px;}
.terms-body{max-width:800px;margin:0 auto;}
