/* WBC Modern Editorial Wedding UI — 2026 refresh */
:root {
  --wbc-cream: #f8f4ee;
  --wbc-ink: #201b18;
  --wbc-brown: #6f5142;
  --wbc-rose: #b77b72;
  --wbc-gold: #b99a68;
  --wbc-line: rgba(32,27,24,.12);
  --wbc-display: "Bodoni Moda", "Times New Roman", serif;
}

body.wbc-body { background: var(--wbc-cream); color: var(--wbc-ink); }
html { scroll-behavior: smooth; }
::selection { background: var(--wbc-rose); color: #fff; }

/* Premium glass header */
.wbc-header {
  padding: 15px clamp(22px,4vw,58px);
  background: rgba(248,244,238,.72);
  border-bottom: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  box-shadow: 0 10px 40px rgba(35,25,20,.04);
}
.is-home .wbc-header:not(.is-scrolled), .has-band .wbc-header:not(.is-scrolled) {
  background: linear-gradient(180deg,rgba(20,14,11,.32),transparent);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
.wbc-brand { transition: transform .5s cubic-bezier(.22,1,.36,1); }
.wbc-brand:hover { transform: translateY(-1px); }
.wbc-nav { gap: clamp(17px,2.4vw,34px); }
.wbc-nav a { letter-spacing: .17em; transition: opacity .3s, transform .3s; }
.wbc-nav a:hover { transform: translateY(-2px); }
.wbc-nav-cta, .wbc-nav a.wbc-nav-cta { padding: 10px 17px; border-radius: 999px; }

/* Hero: cinematic, spacious and more editorial */
.wbc-hero { height: 100svh; min-height: 100svh; max-height: 100svh; isolation: isolate; }
.wbc-hero-media img, .wbc-hero-media video { transform: scale(1.04); transition: transform 1.4s cubic-bezier(.22,1,.36,1), filter 1s ease; filter: saturate(.92) contrast(1.04); }
.is-ready .wbc-hero-media img, .is-ready .wbc-hero-media video { transform: scale(1); }
.wbc-hero::after { background: linear-gradient(90deg,rgba(18,11,8,.78),rgba(18,11,8,.22) 46%,rgba(18,11,8,.06)),linear-gradient(0deg,rgba(18,11,8,.55),transparent 35%); }
.wbc-hero-copy { width: min(720px,calc(100% - 48px)); padding-left: clamp(28px,8vw,120px); }
.wbc-hero-title { max-width: 14ch; font-size: clamp(46px, 6.4vw, 88px); line-height: .94; text-wrap: balance; text-shadow: 0 8px 35px rgba(0,0,0,.14); }
.wbc-hero-lead { max-width: 42ch; font-size: clamp(15px,1.2vw,18px); }
.wbc-hero-copy .wbc-textlink { display:inline-flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.2em; text-transform:uppercase; }
.wbc-hero-copy .wbc-textlink::after { content:"↗"; font-size:17px; transition:transform .35s; }
.wbc-hero-copy .wbc-textlink:hover::after { transform:translate(4px,-4px); }
.wbc-scroll { opacity:.8; transition:opacity .3s; }
.wbc-scroll::after { content:""; display:block; width:1px; height:38px; margin:10px auto 0; background:currentColor; transform-origin:top; animation:wbc-scroll-line 2s ease-in-out infinite; }

/* Section rhythm */
.wbc-section { padding-top: clamp(72px,9vh,104px); padding-bottom: clamp(40px,5vh,64px); }
.wbc-section-head { max-width: 900px; }
.wbc-section-head h2, .wbc-editorial h2, .wbc-planner-card h2 { font-size: clamp(32px,4.2vw,56px); letter-spacing:-.025em; text-wrap:balance; }
.wbc-kicker { font-size:10px; letter-spacing:.32em; }
.wbc-textlink { display:inline-flex; align-items:center; gap:10px; font-size:10px; letter-spacing:.2em; text-transform:uppercase; }
.wbc-textlink::after { content:"↗"; font-size:15px; transition:transform .3s; }
.wbc-textlink:hover::after { transform:translate(4px,-4px); }

/* Intro art panel */
.wbc-art { position:relative; height:auto; min-height:0; max-height:none; margin-top:clamp(52px,7vw,96px); overflow:hidden; background:#2b211c; color:#fff; isolation:isolate; }
.wbc-art-media img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.22,1,.36,1); }
.wbc-art:hover .wbc-art-media img { transform:scale(1.045); }
.wbc-art-veil { background:linear-gradient(90deg,rgba(20,13,10,.76),rgba(20,13,10,.18) 70%),linear-gradient(0deg,rgba(20,13,10,.45),transparent 45%); }
.wbc-art-inner { max-width:1500px; padding:clamp(28px,4vh,48px) clamp(28px,7vw,80px); }
.wbc-art-copy { max-width:660px; }
.wbc-art-copy h1 { font-size:clamp(28px,3.6vw,46px); line-height:1.08; letter-spacing:.04em; }
.wbc-art-copy p { color:rgba(255,255,255,.76); max-width:46ch; }
.wbc-art-icons { gap:16px 28px; }
.wbc-art-icons li { transition:transform .45s cubic-bezier(.22,1,.36,1); }
.wbc-art-icons li:hover { transform:translateY(-8px); }

/* Image cards: rounded, tactile, cinematic */
.wbc-collage-card, .wbc-coverflow-card, .wbc-list-card, .wbc-story-card, .wbc-quote-grid .wbc-quote, .wbc-pillar, .wbc-svc-tiles article {
  transition:transform .65s cubic-bezier(.22,1,.36,1), box-shadow .65s ease, border-color .4s ease;
}
.wbc-collage-card { border-radius:8px; overflow:hidden; box-shadow:0 18px 50px rgba(42,29,22,.09); }
.wbc-collage-card img, .wbc-coverflow-card img, .wbc-list-card img, .wbc-story-card img, .wbc-svc-cover img { transition:transform 1s cubic-bezier(.22,1,.36,1), filter .6s ease; }
.wbc-collage-card:hover { transform:translateY(-10px) rotate(-.25deg); box-shadow:0 28px 70px rgba(42,29,22,.16); }
.wbc-services .wbc-collage-card:hover { transform:translateY(-6px); z-index:3; }
.wbc-collage-card:hover img, .wbc-coverflow-card:hover img, .wbc-list-card:hover img, .wbc-story-card:hover img, .wbc-stories-card:hover img { transform:scale(1.065); filter:saturate(1.04); }

/* Portfolio heading + numbered details */
.wbc-latest .wbc-section-head, .wbc-services .wbc-section-head { margin-bottom:clamp(18px,3vh,28px); }
.wbc-collage-card .wbc-card-meta, .wbc-collage-card .wbc-card-copy { transition:transform .45s, opacity .45s; }
.wbc-collage-card:hover .wbc-card-copy { transform:translateY(-3px); }

/* Full-bleed storytelling bands */
.wbc-kind, .wbc-process-block { isolation:isolate; }
.wbc-kind { height:auto; min-height:0; max-height:none; margin-top:clamp(52px,7vw,96px); margin-bottom:clamp(28px,4vw,48px); }
.wbc-process-bg img, .wbc-editorial figure img { transition:transform 1.5s cubic-bezier(.22,1,.36,1); }
.wbc-process-block:hover .wbc-process-bg img { transform:scale(1.035); }
.wbc-kind-copy { background:transparent; text-align:center; }

/* Founder / studio */
.wbc-planner { padding:clamp(40px,6vh,72px) clamp(20px,5vw,80px); max-height:100svh; overflow:hidden; }
.wbc-planner-card { border-radius:3px; overflow:hidden; box-shadow:0 30px 90px rgba(55,39,30,.1); }
.wbc-planner-card figure { overflow:hidden; }
.wbc-planner-card figure img { transition:transform 1.1s cubic-bezier(.22,1,.36,1); }
.wbc-planner-card:hover figure img { transform:scale(1.045); }

/* Destination coverflow */
.wbc-coverflow { perspective:1400px; }
.wbc-coverflow-card { border-radius:2px; box-shadow:0 20px 60px rgba(31,23,19,.15); }
.wbc-coverflow-card.is-center { box-shadow:0 34px 90px rgba(31,23,19,.24); }
.wbc-coverflow-nav { border-radius:50%; transition:transform .35s, background .35s; }
.wbc-coverflow-nav:hover { transform:scale(1.08); }

/* Services: stronger visual hierarchy */
.wbc-stats { border-top:1px solid var(--wbc-line); border-bottom:1px solid var(--wbc-line); }
.wbc-stats > div { transition:background .35s, transform .35s; }
.wbc-stats > div:hover { background:rgba(185,154,104,.07); transform:translateY(-3px); }
.wbc-stats strong { font-family:var(--wbc-display); font-size:clamp(28px,3vw,46px); }

/* Process timeline */
.wbc-process-block { height:100svh; min-height:0; max-height:100svh; overflow:hidden; }
.wbc-process-bg::after { background:linear-gradient(90deg,rgba(16,11,9,.8),rgba(16,11,9,.25)),linear-gradient(0deg,rgba(16,11,9,.62),transparent 60%); }
.wbc-steps li { position:relative; padding-top:24px; border-top:1px solid rgba(255,255,255,.22); }
.wbc-steps li::before { content:""; position:absolute; top:-1px; left:0; width:0; height:1px; background:var(--wbc-gold); transition:width .8s cubic-bezier(.22,1,.36,1); }
.wbc-steps li.is-in::before { width:100%; }
.wbc-steps h3 { font-size:clamp(25px,2.4vw,38px); }

/* Editorial split */
.wbc-editorial { gap:clamp(24px,4vw,72px); padding:clamp(64px,8vh,96px) clamp(24px,7vw,80px); max-height:100svh; overflow:hidden; }
.wbc-editorial figure { overflow:hidden; border-radius:2px; }
.wbc-editorial:hover figure img { transform:scale(1.045); }
.wbc-editorial > div { align-self:center; }
.wbc-editorial h2 { max-width:11ch; }

/* Testimonials */
.wbc-quote-grid .wbc-quote { border:1px solid var(--wbc-line); background:rgba(255,255,255,.35); }
.wbc-quote-grid .wbc-quote:hover { transform:translateY(-8px); border-color:rgba(183,123,114,.45); box-shadow:0 24px 60px rgba(54,38,29,.08); }
.wbc-quote-lanes .wbc-quote {
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 10px 28px rgba(42,29,22,.05);
  transition:none;
}
.wbc-quote-lanes .wbc-quote.is-dark {
  background:#2b221e;
  border-color:transparent;
  color:var(--ivory);
}
.wbc-quote-lanes .wbc-quote:hover {
  transform:none;
  border-color:inherit;
  box-shadow:0 10px 28px rgba(42,29,22,.05);
}

/* FAQ */
.wbc-faq details { border-color:var(--wbc-line); transition:padding .4s, background .4s; }
.wbc-faq details[open] { background:rgba(255,255,255,.42); }

/* Reveal system */
.wbc-reveal { opacity:0; transform:translateY(42px); transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .95s cubic-bezier(.22,1,.36,1); transition-delay:var(--d,0ms); }
.wbc-reveal.is-in { opacity:1; transform:none; }
.wbc-collage-card.wbc-reveal { transform:translateY(55px) scale(.985); }
.wbc-collage-card.wbc-reveal.is-in { transform:none; }

/* Progress indicator */
body.wbc-body::before { content:""; position:fixed; z-index:110; top:0; left:0; width:var(--wbc-scroll-progress,0%); height:2px; background:linear-gradient(90deg,var(--wbc-gold),var(--wbc-rose)); pointer-events:none; }

/* Floating WhatsApp/contact affordance when the theme renders the link */
.wbc-whatsapp, a[href*="wa.me"] { transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s; }
a[href*="wa.me"]:hover { transform:translateY(-4px); box-shadow:0 12px 32px rgba(33,94,60,.2); }

/* Mobile — align with site.css breakpoints */
@media (max-width:980px) {
  .wbc-header { padding-top:12px; padding-bottom:12px; }
  .wbc-hero {
    height:auto;
    min-height:min(100svh, 720px);
    max-height:none;
  }
  .wbc-hero-title { max-width:none; }
  .wbc-art, .wbc-kind { height:auto; min-height:0; max-height:none; }
  .wbc-section { padding-top:72px; padding-bottom:48px; }
  .wbc-planner,
  .wbc-editorial,
  .wbc-process-block {
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
  }
  .wbc-editorial h2 { max-width:none; }
}
@media (max-width:640px) {
  .wbc-hero {
    min-height:min(100svh, 560px);
  }
  .wbc-hero-copy { width:calc(100% - 32px); padding-left:16px; padding-right:16px; }
  .wbc-hero-title { font-size:clamp(36px,11vw,56px); }
  .wbc-hero-lead { font-size:15px; }
  .wbc-scroll { bottom:20px; }
  .wbc-art-inner { padding:36px 24px 32px; }
  .wbc-art-copy h1 { font-size:clamp(36px,11vw,56px); }
  .wbc-section-head h2, .wbc-editorial h2, .wbc-planner-card h2 { font-size:clamp(32px,9vw,48px); }
  .wbc-collage-card:hover { transform:none; }
}

@keyframes wbc-scroll-line { 0%,100%{transform:scaleY(.25);opacity:.3} 50%{transform:scaleY(1);opacity:1} }

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; }
  .wbc-reveal { opacity:1; transform:none; }
}
