/* ==========================================================================
   Whisper Creek Falls — custom theme styles
   Colors and fonts come from theme.json design tokens:
     --wp--preset--color--{slug}     (night, moon, water, spark, etc.)
     --wp--preset--font-family--display / --body
   This file styles the signature pieces the block editor can't do alone.
   ========================================================================== */

:root{
  --wcf-ease: cubic-bezier(.22,.61,.36,1);
  --wcf-glass: rgba(31,41,66,0.45);
  --wcf-radius: 3px;
}

/* short, readable aliases mapped to the theme tokens */
:root{
  --night-deep: var(--wp--preset--color--night-deep);
  --night:      var(--wp--preset--color--night);
  --night-logo: var(--wp--preset--color--night-logo);
  --slate:      var(--wp--preset--color--slate);
  --mist-border:var(--wp--preset--color--mist-border);
  --moon:       var(--wp--preset--color--moon);
  --silver:     var(--wp--preset--color--silver);
  --falls:      var(--wp--preset--color--falls);
  --water:      var(--wp--preset--color--water);
  --river:      var(--wp--preset--color--river);
  --spark:      var(--wp--preset--color--spark);
}

html{scroll-behavior:smooth;}
body{overflow-x:hidden;}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}

/* ===== ambient sparkle canvas (site-wide, injected by wcf.js) ===== */
#wcf-sparkles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}

/* cursor stardust + glow + ripple — layered above content, lights text via screen blend.
   pointer-events:none lets every click pass straight through to the page. */
#wcf-cursor-fx{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:9998;mix-blend-mode:screen;}
.wp-site-blocks{position:relative;z-index:1;} /* content sits above the canvas */

/* sections that should let the stars show through set this */
.wcf-transparent{background:transparent !important;}

/* ===== NAV (frosted, shrinking) ===== */
.wcf-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 54px;
  position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(16,22,43,0.55);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(44,56,88,.4);transition:background .4s, padding .4s;}
.wcf-nav.scrolled{background:rgba(16,22,43,0.85);padding:16px 54px;}
.wcf-nav .wcf-mark, .wcf-nav .wp-block-site-title a{
  font-family:var(--wp--preset--font-family--display);font-size:23px;font-weight:600;
  letter-spacing:.5px;color:var(--moon);text-decoration:none;}
.wcf-nav .wp-block-navigation a{color:var(--silver);text-decoration:none;font-size:12px;font-weight:400;
  letter-spacing:2px;text-transform:uppercase;transition:color .25s;}
.wcf-nav .wp-block-navigation a:hover{color:var(--moon);}
.wcf-nav .wp-block-navigation .current-menu-item a{color:var(--moon);}

/* dropdown submenu panels — Moonlit Twilight, not default white */
.wcf-nav .wp-block-navigation .wp-block-navigation__submenu-container{
  background:rgba(22,29,51,0.97) !important;
  border:1px solid var(--mist-border) !important;
  border-radius:var(--wcf-radius);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  padding:8px 0;min-width:210px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
.wcf-nav .wp-block-navigation__submenu-container .wp-block-navigation-item a{
  color:var(--silver) !important;padding:10px 20px !important;font-size:12px;letter-spacing:1.5px;
}
.wcf-nav .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover{
  color:var(--spark) !important;background:rgba(159,182,224,.06);
}
/* the little dropdown arrow */
.wcf-nav .wp-block-navigation__submenu-icon{color:var(--water);}

/* ===== HERO + page-top slider ===== */
.wcf-hero{position:relative;min-height:88vh;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:150px 24px 90px;overflow:hidden;}
.wcf-hero.short{min-height:52vh;padding:170px 24px 70px;}
.wcf-slider{position:absolute;inset:0;z-index:0;}
.wcf-slide{position:absolute;inset:0;opacity:0;transition:opacity 2s var(--wcf-ease);background-size:cover;background-position:center;}
.wcf-slide.active{opacity:1;}
.wcf-hero-bg{position:absolute;inset:0;z-index:0;background:
  radial-gradient(circle at 50% 38%, rgba(159,182,224,.16), transparent 60%),var(--night-logo);}
.wcf-hero-inner{position:relative;z-index:2;}
.wcf-eyebrow{font-size:11px;font-weight:500;letter-spacing:5px;text-transform:uppercase;color:var(--water);margin-bottom:22px;}
.wcf-hero h1{font-family:var(--wp--preset--font-family--display);font-weight:500;font-size:clamp(2.6rem,1.6rem + 4vw,3.9rem);
  line-height:1.1;color:var(--moon);max-width:760px;margin:0 auto;}
.wcf-hero h1 em{font-style:italic;color:var(--water);}
.wcf-hero-sub{max-width:560px;margin:22px auto 0;font-size:14.5px;font-weight:300;line-height:1.95;color:var(--silver);letter-spacing:.4px;}

/* page-load rise */
.wcf-rise{opacity:0;animation:wcf-rise 1.2s var(--wcf-ease) forwards;}
.wcf-rise.d1{animation-delay:.2s;}.wcf-rise.d2{animation-delay:.45s;}.wcf-rise.d3{animation-delay:.7s;}.wcf-rise.d4{animation-delay:.95s;}
@keyframes wcf-rise{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}

/* slider dots */
.wcf-dots{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px;}
.wcf-dot{width:8px;height:8px;border-radius:50%;border:1px solid var(--water);background:transparent;cursor:pointer;transition:all .3s;padding:0;}
.wcf-dot.active{background:var(--water);box-shadow:0 0 10px rgba(159,182,224,.7);}

/* ===== buttons (shared) ===== */
.wcf-btn{font-family:var(--wp--preset--font-family--body);font-size:12px;font-weight:500;letter-spacing:2.5px;
  text-transform:uppercase;padding:15px 30px;cursor:pointer;text-decoration:none;transition:all .3s var(--wcf-ease);
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;}
.wcf-btn-primary{background:var(--water);color:var(--night-deep);}
.wcf-btn-primary:hover{background:var(--falls);box-shadow:0 8px 30px rgba(159,182,224,.4);transform:translateY(-2px);}
.wcf-btn-contact{background:transparent;color:var(--moon,#9FB6E0);border:1px solid var(--water,#6E89BE);width:100%;box-sizing:border-box;}
.wcf-btn-contact:hover{background:var(--water,#6E89BE);color:var(--night-deep,#10162B);transform:translateY(-2px);}
.wcf-contact-sub{text-align:center;margin-top:7px;font-size:11.5px;font-style:italic;color:var(--water,#6E89BE);letter-spacing:.2px;}
.wcf-btn-needslurl{display:inline-block;background:rgba(31,41,66,.6)!important;color:var(--water,#6E89BE)!important;border:1px solid var(--mist-border,#2C3858)!important;opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important;}
.wcf-btn-needslurl em{font-style:italic;opacity:.85;letter-spacing:.5px;text-transform:none;}
.wcf-btn-needslurl:hover{background:rgba(31,41,66,.6)!important;transform:none!important;box-shadow:none!important;}
.wcf-btn-ghost{background:rgba(31,41,66,.3);color:var(--moon);border:1px solid var(--mist-border);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.wcf-btn-ghost:hover{border-color:var(--spark);color:var(--spark);transform:translateY(-2px);}
.wcf-btn.disabled{background:rgba(31,41,66,.5);color:var(--silver);cursor:not-allowed;pointer-events:none;border:1px solid var(--mist-border);}

/* ===== scroll reveal ===== */
.wcf-reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--wcf-ease),transform .85s var(--wcf-ease);}
.wcf-reveal.in{opacity:1;transform:translateY(0);}
.wcf-reveal.d1{transition-delay:.1s;}.wcf-reveal.d2{transition-delay:.22s;}.wcf-reveal.d3{transition-delay:.34s;}

/* ===== flourish divider ===== */
.wcf-flourish{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto;width:220px;}
.wcf-flourish .line{height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--spark));opacity:.6;}
.wcf-flourish .line.r{background:linear-gradient(90deg,var(--spark),transparent);}
.wcf-flourish .dot2{width:4px;height:4px;border-radius:50%;background:var(--spark);box-shadow:0 0 8px var(--spark);}

/* ===== generic section label ===== */
.wcf-label-eyebrow{font-size:11px;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--water);margin-bottom:16px;}

/* ===== narrative beats (Living Here) ===== */
.wcf-beat{position:relative;z-index:1;background:transparent;padding:60px 54px;}
.wcf-beat .wcf-beat-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;max-width:1120px;margin:0 auto;}
.wcf-beat.flip .wcf-beat-grid{direction:rtl;}
.wcf-beat.flip .wcf-beat-grid > *{direction:ltr;}
.wcf-beat .step{font-family:var(--wp--preset--font-family--display);font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--spark);font-weight:600;margin-bottom:14px;}
.wcf-beat h3{font-family:var(--wp--preset--font-family--display);font-weight:500;font-size:33px;line-height:1.25;color:var(--moon);margin-bottom:18px;}
.wcf-beat h3 em{font-style:italic;color:var(--water);}
.wcf-beat p{font-size:14.5px;font-weight:300;color:var(--silver);line-height:1.95;max-width:460px;}
.wcf-visual{position:relative;height:340px;border-radius:var(--wcf-radius);overflow:hidden;border:1px solid rgba(159,182,224,.14);box-shadow:0 24px 60px rgba(0,0,0,.45);}
.wcf-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.wcf-visual .tag{position:absolute;left:18px;bottom:16px;z-index:2;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--silver);background:rgba(16,22,43,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:7px 13px;border:1px solid rgba(159,182,224,.16);}

/* ===== hero moments (full-width feature + own slider) ===== */
.wcf-moment{position:relative;z-index:1;min-height:78vh;display:flex;align-items:flex-end;overflow:hidden;
  border-top:1px solid rgba(44,56,88,.5);border-bottom:1px solid rgba(44,56,88,.5);}
/* Two moments back-to-back: drop the doubled border so there's no seam between them. */
.wcf-moment + .wcf-moment{border-top:none;}
.wcf-moment:has(+ .wcf-moment){border-bottom:none;}
.wcf-moment .wcf-mslider{position:absolute;inset:0;z-index:0;}
.wcf-mslide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s var(--wcf-ease);background-size:cover;background-position:center;}
.wcf-mslide.active{opacity:1;}
.wcf-moment::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg, rgba(16,22,43,.82) 0%, rgba(16,22,43,.5) 45%, rgba(16,22,43,.2) 100%);}
.wcf-moment.right::after{background:linear-gradient(270deg, rgba(16,22,43,.82) 0%, rgba(16,22,43,.5) 45%, rgba(16,22,43,.2) 100%);}
.wcf-moment-copy{position:relative;z-index:2;max-width:560px;padding:0 54px 80px;}
.wcf-moment.right{justify-content:flex-end;text-align:right;}
.wcf-moment.right .wcf-moment-copy{margin-left:auto;}
.wcf-moment .feature-tag{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:var(--spark);font-weight:500;margin-bottom:18px;display:inline-block;}
.wcf-moment h2{font-family:var(--wp--preset--font-family--display);font-weight:500;font-size:46px;line-height:1.1;color:var(--moon);margin-bottom:18px;}
.wcf-moment h2 em{font-style:italic;color:var(--water);}
.wcf-moment p{font-size:15px;font-weight:300;color:var(--silver);line-height:1.95;}
.wcf-mdots{position:absolute;bottom:30px;z-index:3;display:flex;gap:9px;left:54px;}
.wcf-moment.right .wcf-mdots{left:auto;right:54px;}
.wcf-mdot{width:7px;height:7px;border-radius:50%;border:1px solid var(--water);background:transparent;cursor:pointer;transition:all .3s;padding:0;}
.wcf-mdot.active{background:var(--water);box-shadow:0 0 9px rgba(159,182,224,.7);}

/* ===== glass cards (showcase / play / etc.) ===== */
.wcf-card{position:relative;padding:32px 28px;border-radius:var(--wcf-radius);background:var(--wcf-glass);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(159,182,224,.14);
  transition:transform .45s var(--wcf-ease), border-color .45s, box-shadow .45s;overflow:hidden;height:100%;}
.wcf-card::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%) scale(.6);width:120%;height:120%;border-radius:50%;
  background:radial-gradient(circle, rgba(159,182,224,.35), transparent 60%);opacity:0;transition:opacity .5s, transform .6s var(--wcf-ease);z-index:0;pointer-events:none;}
.wcf-card:hover{transform:translateY(-10px);border-color:rgba(159,182,224,.4);box-shadow:0 24px 60px rgba(0,0,0,.5), 0 0 30px rgba(159,182,224,.12);}
.wcf-card:hover::before{opacity:1;transform:translateX(-50%) scale(1);}
.wcf-card > *{position:relative;z-index:1;}
.wcf-card h4{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:22px;color:var(--moon);margin-bottom:10px;}
.wcf-card p{font-size:13.5px;font-weight:300;color:var(--silver);line-height:1.85;}
/* Two-card rows: size cards to content instead of stretching to a tall row. */
.wcf-card-grid-2{align-items:start;}
.wcf-card-grid-2 > .wcf-card{height:auto;}

/* ===== FLIP CARDS (Rentals) ===== */
.wcf-flip-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:26px !important;max-width:1160px !important;margin:0 auto !important;}
.wcf-flip-grid > .wcf-parcel{display:flex !important;flex-direction:column !important;align-self:start !important;width:100% !important;min-width:0 !important;margin:0 !important;}
.wcf-parcel > .wcf-tp-btn{display:flex !important;width:100% !important;box-sizing:border-box !important;}
.wcf-parcel{display:flex;flex-direction:column;}
.wcf-flip{width:100%;height:360px;perspective:1500px;cursor:pointer;border-radius:var(--wcf-radius);}
.wcf-flip:focus-visible{outline:2px solid var(--spark);outline-offset:4px;}
.wcf-flip-inner{position:relative;width:100%;height:100%;transition:transform .75s var(--wcf-ease);transform-style:preserve-3d;}
.wcf-flip.flipped .wcf-flip-inner{transform:rotateY(180deg);}
.wcf-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--wcf-radius);overflow:hidden;}
.wcf-face-front{box-shadow:0 20px 50px rgba(0,0,0,.5);border:1px solid rgba(159,182,224,.14);display:flex;flex-direction:column;background:var(--night-deep,#10162B);}
.wcf-front-photo{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;}
.wcf-front-info{flex:0 0 auto;padding:14px 18px 16px;text-align:center;background:var(--night-deep,#10162B);}
.wcf-face-front .ph{position:absolute;inset:0;background-size:cover;background-position:center;}
.wcf-face-front .scrim{position:absolute;inset:0;background:linear-gradient(to top, rgba(16,22,43,.92) 0%, rgba(16,22,43,.15) 55%, rgba(16,22,43,.4) 100%);}
.wcf-badge{position:absolute;top:14px;left:14px;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:6px 12px;border-radius:999px;z-index:2;min-width:74px;text-align:center;box-sizing:border-box;}
.wcf-badge.available{background:var(--water);color:var(--night-deep);}
.wcf-badge.rented{background:rgba(31,41,66,.85);color:var(--silver);border:1px solid var(--mist-border);}
.wcf-badge.reserved{background:var(--spark,#D9B26A);color:var(--night-deep);}
.wcf-badge.locked{background:rgba(31,41,66,.85);color:var(--moon,#9FB6E0);border:1px solid var(--moon,#9FB6E0);}
.wcf-tag-type{position:absolute;top:14px;right:14px;font-size:10px;font-weight:500;letter-spacing:1px;padding:6px 12px;border-radius:999px;z-index:2;
  background:rgba(16,22,43,.7);color:var(--water);border:1px solid rgba(159,182,224,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.wcf-face-front .meta{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;z-index:2;text-align:left;}
.wcf-face-front .meta h3{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:24px;line-height:1.1;color:var(--moon);}
.wcf-face-front .meta span{font-size:12.5px;color:var(--water);letter-spacing:.3px;}
.wcf-front-stats{display:flex;gap:16px;justify-content:center;align-items:center;font-family:var(--wp--preset--font-family--accent,'Montserrat',sans-serif);font-size:12px;color:var(--silver);padding-bottom:12px;border-bottom:1px solid rgba(159,182,224,.15);}
.wcf-front-stats b{color:var(--spark);font-weight:600;}
.wcf-front-stats .prims{color:var(--water);}
.wcf-front-tags{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:12px;}
.wcf-front-tags span{font-family:var(--wp--preset--font-family--accent,'Montserrat',sans-serif);font-size:10px;letter-spacing:.4px;color:var(--silver);background:rgba(110,137,190,.16);border:1px solid rgba(159,182,224,.25);border-radius:999px;padding:5px 12px;}
.wcf-flip-hint{position:absolute;bottom:16px;right:18px;z-index:2;color:var(--silver);font-size:11px;letter-spacing:1px;opacity:.8;display:flex;align-items:center;gap:5px;}
.wcf-face-back{transform:rotateY(180deg);background:var(--wcf-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(159,182,224,.22);padding:24px 26px;display:flex;flex-direction:column;}
.wcf-face-back h3{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:22px;color:var(--moon);}
.wcf-face-back .sub{font-size:12px;color:var(--water);margin-bottom:16px;letter-spacing:.3px;}
.wcf-parcel-desc{font-size:14px;line-height:1.55;color:var(--silver);margin:0 0 14px;}
.wcf-stats{list-style:none;display:flex;flex-direction:column;gap:9px;margin:0;padding:0;}
.wcf-stats li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--silver);}
.wcf-stats li i{width:18px;color:var(--water);font-style:normal;text-align:center;flex-shrink:0;}
.wcf-stats .price{font-weight:500;font-size:15px;color:var(--falls);}
.wcf-incl{margin-top:14px;padding-top:14px;border-top:1px solid rgba(159,182,224,.15);}
.wcf-incl .label{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--spark);margin-bottom:8px;}
.wcf-incl ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;}
.wcf-incl li{font-size:10.5px;color:var(--silver);background:rgba(159,182,224,.08);border:1px solid rgba(159,182,224,.14);padding:4px 9px;border-radius:999px;}
.wcf-detail-link{margin-top:auto;padding-top:14px;font-size:12px;letter-spacing:1px;color:var(--water);background:none;border:none;cursor:pointer;
  text-align:left;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase;font-family:var(--wp--preset--font-family--body);transition:color .25s;}
.wcf-detail-link:hover{color:var(--spark);}
.wcf-tp-btn{width:100%;}

/* ===== LIGHTBOX ===== */
.wcf-lightbox{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;
  background:rgba(16,22,43,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.wcf-lightbox.open{display:flex;}
.wcf-lb-card{position:relative;max-width:760px;width:100%;background:var(--night);border:1px solid var(--mist-border);border-radius:var(--wcf-radius);
  overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.6);max-height:90vh;overflow-y:auto;}
.wcf-lb-photo{height:300px;background-size:cover;background-position:center;position:relative;}
.wcf-lb-photo .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(22,29,51,.95),transparent 60%);}
.wcf-lb-body{padding:32px 36px 36px;}
.wcf-lb-body h3{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:30px;color:var(--moon);}
.wcf-lb-body .sub{font-size:13px;color:var(--water);margin-bottom:18px;}
.wcf-lb-body p{font-size:14px;color:var(--silver);line-height:1.9;margin-bottom:20px;}
.wcf-lb-stats{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:22px;}
.wcf-lb-stats div{font-size:13.5px;color:var(--silver);}
.wcf-lb-stats strong{color:var(--falls);font-weight:500;}
.wcf-lb-close{position:absolute;top:16px;right:16px;z-index:3;width:38px;height:38px;border-radius:50%;background:rgba(16,22,43,.7);
  border:1px solid var(--mist-border);color:var(--moon);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;}
.wcf-lb-close:hover{border-color:var(--spark);color:var(--spark);}

/* ===== rule cards (Guidelines) ===== */
.wcf-rule{position:relative;padding:26px 30px 26px 32px;border-radius:var(--wcf-radius);background:var(--wcf-glass);border:1px solid rgba(159,182,224,.15);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;transition:border-color .4s, box-shadow .4s, transform .4s var(--wcf-ease);}
.wcf-rule::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--water),transparent);opacity:.6;}
.wcf-rule:hover{border-color:rgba(159,182,224,.38);transform:translateX(3px);box-shadow:0 16px 44px rgba(0,0,0,.4),0 0 24px rgba(159,182,224,.08);}
.wcf-rule h3{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:21px;color:var(--moon);margin-bottom:9px;}
.wcf-rule p{font-size:14px;color:var(--silver);line-height:1.9;}
.wcf-rule.firm::before{background:linear-gradient(180deg,var(--spark),transparent);opacity:.7;}

/* ===== accordion (Before You Arrive) ===== */
.wcf-item{border-radius:var(--wcf-radius);background:var(--wcf-glass);border:1px solid rgba(159,182,224,.15);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;transition:border-color .4s, box-shadow .4s;}
.wcf-item:hover{border-color:rgba(159,182,224,.34);}
.wcf-item.open{border-color:rgba(217,178,106,.38);box-shadow:0 16px 44px rgba(0,0,0,.4),0 0 24px rgba(217,178,106,.08);}
.wcf-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;
  font-family:var(--wp--preset--font-family--display);font-size:20px;font-weight:600;color:var(--moon);transition:color .25s;}
.wcf-q:hover{color:var(--water);}
.wcf-q:focus-visible{outline:2px solid var(--spark);outline-offset:-2px;}
.wcf-q .mark{flex-shrink:0;width:24px;height:24px;position:relative;}
.wcf-q .mark::before,.wcf-q .mark::after{content:"";position:absolute;background:var(--water);transition:transform .4s var(--wcf-ease),background .25s;}
.wcf-q .mark::before{top:11px;left:3px;right:3px;height:2px;}
.wcf-q .mark::after{left:11px;top:3px;bottom:3px;width:2px;}
.wcf-item.open .wcf-q .mark::after{transform:scaleY(0);}
.wcf-item.open .wcf-q .mark::before{background:var(--spark);}
.wcf-a{max-height:0;overflow:hidden;transition:max-height .45s var(--wcf-ease);}
.wcf-a-inner{padding:0 26px 24px;font-size:14px;color:var(--silver);line-height:1.92;}
.wcf-a-inner em{font-style:italic;color:var(--water);}

/* ===== team members ===== */
.wcf-member{display:grid;grid-template-columns:300px 1fr;gap:40px;align-items:center;padding:32px;border-radius:var(--wcf-radius);
  background:var(--wcf-glass);border:1px solid rgba(159,182,224,.15);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  transition:border-color .45s,box-shadow .45s,transform .45s var(--wcf-ease);overflow:hidden;}
.wcf-member:hover{border-color:rgba(159,182,224,.34);transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 30px rgba(159,182,224,.1);}
.wcf-member.flip{grid-template-columns:1fr 300px;}
.wcf-member.flip .wcf-portrait{order:2;}
.wcf-portrait{position:relative;height:340px;border-radius:var(--wcf-radius);overflow:hidden;border:1px solid rgba(159,182,224,.2);}
.wcf-portrait img{width:100%;height:100%;object-fit:cover;display:block;}
.wcf-portrait img.wcf-portrait-sonoma{object-position:50% 20%;}
.wcf-portrait .tag{position:absolute;left:14px;bottom:14px;z-index:2;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--silver);
  background:rgba(16,22,43,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:6px 12px;border:1px solid rgba(159,182,224,.16);}
.wcf-member .role{font-size:10.5px;letter-spacing:3px;text-transform:uppercase;color:var(--spark);margin-bottom:8px;}
.wcf-member h3{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:30px;color:var(--moon);margin-bottom:14px;}
.wcf-member p{font-size:14px;color:var(--silver);line-height:1.92;}

/* ===== contact cards ===== */
.wcf-pcard{position:relative;padding:34px 28px 30px;border-radius:var(--wcf-radius);text-align:center;background:var(--wcf-glass);
  border:1px solid rgba(159,182,224,.15);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;
  transition:transform .45s var(--wcf-ease),border-color .45s,box-shadow .45s;display:flex;flex-direction:column;height:100%;}
.wcf-pcard::before{content:"";position:absolute;top:-40%;left:50%;transform:translateX(-50%) scale(.6);width:120%;height:120%;border-radius:50%;
  background:radial-gradient(circle,rgba(159,182,224,.3),transparent 60%);opacity:0;transition:opacity .5s,transform .6s var(--wcf-ease);z-index:0;pointer-events:none;}
.wcf-pcard:hover{transform:translateY(-8px);border-color:rgba(159,182,224,.4);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 30px rgba(159,182,224,.12);}
.wcf-pcard:hover::before{opacity:1;transform:translateX(-50%) scale(1);}
.wcf-pcard > *{position:relative;z-index:1;}
.wcf-pcard .role{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--spark);margin-bottom:12px;}
.wcf-pcard h3{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:26px;color:var(--moon);margin-bottom:4px;}
.wcf-pcard .note{font-size:11.5px;color:var(--silver);opacity:.7;margin-bottom:14px;font-style:italic;min-height:30px;}
.wcf-pcard .blurb{font-size:13px;color:var(--silver);line-height:1.8;margin-bottom:22px;flex:1;}
.wcf-pcard .actions{display:flex;flex-direction:column;gap:10px;}
.wcf-pcard .wcf-btn{width:100%;}

/* ===== secrets teaser ===== */
.wcf-secret{position:relative;padding:130px 24px;text-align:center;overflow:hidden;border-top:1px solid rgba(44,56,88,.5);border-bottom:1px solid rgba(44,56,88,.5);}
.wcf-secret .bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
  background:radial-gradient(ellipse at 50% 45%, rgba(110,137,190,.35), transparent 60%),linear-gradient(160deg,#1c2a47,#10162B);}
.wcf-secret .bg::after{content:"";position:absolute;inset:0;background:rgba(16,22,43,.78);}
.wcf-secret .inner{position:relative;z-index:2;}
.wcf-secret .key{font-family:var(--wp--preset--font-family--display);font-size:14px;letter-spacing:8px;text-transform:uppercase;color:var(--spark);opacity:.85;margin-bottom:26px;}
.wcf-secret h3{font-family:var(--wp--preset--font-family--display);font-style:italic;font-weight:400;font-size:37px;color:var(--moon);max-width:720px;margin:0 auto;line-height:1.4;}
.wcf-secret .whisper{margin-top:24px;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:300;color:var(--silver);opacity:.6;}

/* ===== "make it yours" rezzer points + perk banner ===== */
.wcf-points{list-style:none;display:flex;flex-direction:column;gap:14px;margin:0;padding:0;}
.wcf-points li{position:relative;padding:18px 20px 18px 22px;border-radius:var(--wcf-radius);background:var(--wcf-glass);border:1px solid rgba(159,182,224,.16);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .4s, box-shadow .4s, transform .4s var(--wcf-ease);overflow:hidden;}
.wcf-points li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--spark),transparent);opacity:.7;}
.wcf-points li:hover{border-color:rgba(217,178,106,.4);transform:translateX(4px);box-shadow:0 14px 40px rgba(0,0,0,.4),0 0 22px rgba(217,178,106,.1);}
.wcf-points h4{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:18px;color:var(--moon);margin-bottom:5px;}
.wcf-points p{font-size:13px;color:var(--silver);line-height:1.7;margin:0;}
.wcf-perk{text-align:center;padding:22px 28px;border-radius:var(--wcf-radius);background:linear-gradient(180deg,rgba(217,178,106,.08),rgba(217,178,106,.03));border:1px solid rgba(217,178,106,.3);}
.wcf-perk strong{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:20px;color:var(--spark);letter-spacing:.3px;}
.wcf-perk span{display:block;margin-top:6px;font-size:13px;color:var(--silver);letter-spacing:.3px;}

/* gate free-note pill */
.wcf-free-note{display:inline-block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--spark);
  border:1px solid rgba(217,178,106,.35);padding:10px 20px;border-radius:999px;background:rgba(217,178,106,.06);}

/* sub-nav anchor pills */
.wcf-subnav{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;padding:0 24px 10px;}
.wcf-subnav a{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--silver);text-decoration:none;padding:11px 22px;border-radius:999px;
  border:1px solid var(--mist-border);background:rgba(31,41,66,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .3s var(--wcf-ease);}
.wcf-subnav a:hover{border-color:var(--spark);color:var(--spark);transform:translateY(-2px);}

/* ===== JOURNAL (blog) ===== */
.wcf-journal-grid{gap:28px !important;}
.wcf-journal-card{background:var(--wcf-glass);border:1px solid rgba(159,182,224,.14);border-radius:var(--wcf-radius);
  padding:18px 18px 24px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transition:transform .45s var(--wcf-ease),border-color .45s,box-shadow .45s;height:100%;}
.wcf-journal-card:hover{transform:translateY(-8px);border-color:rgba(159,182,224,.4);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 30px rgba(159,182,224,.12);}
.wcf-journal-card img{display:block;width:100%;object-fit:cover;}
.wcf-journal-card .wp-block-post-title a{color:var(--moon);text-decoration:none;transition:color .25s;}
.wcf-journal-card .wp-block-post-title a:hover{color:var(--water);}
.wcf-journal-card .wp-block-post-excerpt__more-link{color:var(--water);}
/* single post readability */
.wcf-back-link a{color:var(--water);text-decoration:none;border-bottom:1px solid rgba(159,182,224,.4);padding-bottom:2px;transition:color .25s,border-color .25s;}
.wcf-back-link a:hover{color:var(--spark);border-color:var(--spark);}
.wp-block-query-pagination{gap:14px;}
.wp-block-query-pagination a,.wp-block-query-pagination .current{color:var(--silver);text-decoration:none;font-size:12px;letter-spacing:1px;text-transform:uppercase;transition:color .25s;}
.wp-block-query-pagination a:hover{color:var(--spark);}
.wp-block-query-pagination .current{color:var(--moon);font-weight:500;}

/* ===== FOOTER ===== */
.wcf-footer{background:var(--night-deep);padding:56px 54px;text-align:center;border-top:1px solid var(--mist-border);position:relative;z-index:1;}
.wcf-footer .wcf-mark{font-family:var(--wp--preset--font-family--display);font-size:22px;font-weight:600;color:var(--moon);margin-bottom:18px;}
.wcf-footer .wp-block-navigation{justify-content:center;}
.wcf-footer .wp-block-navigation a{color:var(--silver);text-decoration:none;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:300;}
.wcf-footer .wp-block-navigation a:hover{color:var(--spark);}
.wcf-foot-fine{font-size:11px;color:var(--silver);opacity:.5;letter-spacing:1px;font-weight:300;margin:18px 0 14px;}
.wcf-foot-legal{font-size:10px;color:var(--silver);opacity:.4;letter-spacing:.5px;font-weight:300;max-width:560px;margin:0 auto;line-height:1.7;}

/* ===== coming-soon teaser ===== */
.wcf-coming{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 24px 40px;position:relative;z-index:2;}
.wcf-glow{position:fixed;top:34%;left:50%;width:680px;height:680px;transform:translate(-50%,-50%);z-index:0;pointer-events:none;border-radius:50%;
  background:radial-gradient(circle, rgba(159,182,224,.16), rgba(159,182,224,.05) 40%, transparent 66%);animation:wcf-breathe 30s cubic-bezier(.37,0,.63,1) infinite;}
@keyframes wcf-breathe{
  0%,100%{opacity:.35;transform:translate(-50%,-50%) scale(1);}
  25%{opacity:.6;transform:translate(-50%,-50%) scale(1.04);}
  50%{opacity:.9;transform:translate(-50%,-50%) scale(1.08);}
  75%{opacity:.6;transform:translate(-50%,-50%) scale(1.04);}
}
.wcf-coming h1{font-family:var(--wp--preset--font-family--display);font-weight:500;font-style:italic;font-size:44px;line-height:1.3;color:var(--moon);max-width:680px;}
.wcf-coming h1 .bright{font-style:normal;color:var(--water);}
.wcf-coming .lead{max-width:520px;margin:24px auto 0;font-size:15px;line-height:2;color:var(--silver);letter-spacing:.4px;}
.wcf-notify{margin-top:40px;width:100%;max-width:440px;}
.wcf-notify .label{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--silver);margin-bottom:14px;}

/* ===== responsive ===== */
@media (max-width:980px){
  .wcf-flip-grid.cols-3{grid-template-columns:repeat(2,1fr) !important;}
  .wcf-card-grid-3{grid-template-columns:repeat(2,1fr) !important;}
  .wcf-contact-grid{grid-template-columns:repeat(2,1fr) !important;}
  .wcf-yours-grid{grid-template-columns:1fr !important;gap:32px !important;}
}
@media (max-width:860px){
  .wcf-nav{padding-left:24px;padding-right:24px;}
  .wcf-nav .wp-block-navigation{display:none;}
  .wcf-hero h1{font-size:42px;}
  .wcf-beat .wcf-beat-grid{grid-template-columns:1fr;gap:30px;}
  .wcf-beat.flip .wcf-beat-grid{direction:ltr;}
  .wcf-moment h2{font-size:34px;}
  .wcf-moment-copy{padding:0 24px 70px;}
  .wcf-moment.right{text-align:left;}
  .wcf-moment.right .wcf-moment-copy{margin-left:0;}
  .wcf-mdots{left:24px;}.wcf-moment.right .wcf-mdots{right:24px;left:auto;}
  .wcf-member,.wcf-member.flip{grid-template-columns:1fr;gap:24px;}
  .wcf-member.flip .wcf-portrait{order:0;}
  .wcf-card-grid-3,.wcf-card-grid-2,.wcf-contact-grid,.wcf-flip-grid.cols-3{grid-template-columns:1fr !important;}
}

/* ============================================================
   Vision + Caretaker pages (added v1.0.25)
   All classes prefixed wcf-v- / wcf-care- so nothing else is affected.
   ============================================================ */

/* Shared: numbered step badge on cards */
.wcf-v-step{font-family:var(--wp--preset--font-family--display);font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--spark);font-weight:600;margin-bottom:12px;}

/* Shared: big italic pull quote centered in a band */
.wcf-v-pull{font-family:var(--wp--preset--font-family--display);font-style:italic;font-weight:400;font-size:clamp(1.9rem,1.4rem + 1.9vw,2.9rem);line-height:1.42;color:var(--moon);text-align:center;max-width:900px;margin:0 auto;}
.wcf-v-pull .bright{font-style:normal;color:var(--water);}

/* Shared: prose block */
.wcf-v-prose p{font-size:16.5px;font-weight:300;line-height:1.95;color:var(--silver);margin-bottom:20px;}
.wcf-v-prose p:last-child{margin-bottom:0;}
.wcf-v-prose strong{color:var(--moon);font-weight:500;}
.wcf-v-prose em{font-style:italic;color:var(--water);}

/* Vision: the three-choices styled list */
.wcf-v-choices{list-style:none;margin:24px auto 0;padding:0;max-width:680px;display:flex;flex-direction:column;gap:12px;}
.wcf-v-choices li{position:relative;padding:15px 18px 15px 22px;border-radius:3px;background:var(--glass,rgba(31,41,66,0.45));border:1px solid rgba(159,182,224,.14);font-size:15px;font-weight:300;line-height:1.7;color:var(--silver);}
.wcf-v-choices li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--water),transparent);opacity:.55;}

/* Caretaker: internal ribbon */
.wcf-care-ribbon{position:relative;z-index:2;text-align:center;font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--spark);background:rgba(217,178,106,.06);border-bottom:1px solid rgba(217,178,106,.18);padding:9px 14px;font-weight:500;}

/* Caretaker: business ledger */
.wcf-care-ledger{list-style:none;display:flex;flex-direction:column;gap:14px;max-width:820px;margin:0 auto;padding:0;}
.wcf-care-ledger li{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:baseline;padding:20px 24px;border-radius:3px;background:var(--glass,rgba(31,41,66,0.45));border:1px solid rgba(159,182,224,.14);}
.wcf-care-ledger .k{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:19px;color:var(--water);}
.wcf-care-ledger .k .sub{display:block;font-family:var(--wp--preset--font-family--body);font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--spark);margin-top:3px;}
.wcf-care-ledger .v{font-size:15.5px;font-weight:300;line-height:1.8;color:var(--silver);}
.wcf-care-ledger .v strong{color:var(--moon);font-weight:500;}

/* Caretaker: inventory / paths list */
.wcf-care-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin:0;padding:0;}
.wcf-care-list li{position:relative;padding:15px 18px 15px 20px;border-radius:3px;background:var(--glass,rgba(31,41,66,0.45));border:1px solid rgba(159,182,224,.14);overflow:hidden;}
.wcf-care-list li::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--water),transparent);opacity:.55;}
.wcf-care-list li.gold::before{background:linear-gradient(180deg,var(--spark),transparent);opacity:.7;}
.wcf-care-list b{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:18px;color:var(--moon);letter-spacing:.2px;}
.wcf-care-list span{font-size:15px;font-weight:300;color:var(--silver);line-height:1.7;}

/* Caretaker: horizon chips */
.wcf-care-horizon{list-style:none;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:900px;margin:0 auto;padding:0;}
.wcf-care-horizon li{font-size:13px;letter-spacing:.5px;color:var(--silver);background:rgba(31,41,66,.4);border:1px solid var(--mist-border,#2C3858);padding:12px 20px;border-radius:999px;}

/* Caretaker: perk banner */
.wcf-care-perk{text-align:center;padding:26px 30px;border-radius:3px;max-width:640px;margin:30px auto 0;background:linear-gradient(180deg,rgba(217,178,106,.08),rgba(217,178,106,.03));border:1px solid rgba(217,178,106,.3);}
.wcf-care-perk strong{font-family:var(--wp--preset--font-family--display);font-weight:600;font-size:21px;color:var(--spark);letter-spacing:.3px;}
.wcf-care-perk span{display:block;margin-top:7px;font-size:14px;color:var(--silver);letter-spacing:.3px;}

/* Caretaker: secret teaser */
.wcf-care-secret{position:relative;padding:110px 24px;text-align:center;overflow:hidden;border-top:1px solid rgba(44,56,88,.5);border-bottom:1px solid rgba(44,56,88,.5);}
.wcf-care-secret .bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 50% 45%,rgba(110,137,190,.35),transparent 60%),linear-gradient(160deg,#1c2a47,#10162B);}
.wcf-care-secret .bg::after{content:"";position:absolute;inset:0;background:rgba(16,22,43,.72);}
.wcf-care-secret .inner-s{position:relative;z-index:2;}
.wcf-care-secret .key{font-family:var(--wp--preset--font-family--display);font-size:14px;letter-spacing:8px;text-transform:uppercase;color:var(--spark);opacity:.85;margin-bottom:24px;}
.wcf-care-secret h3{font-family:var(--wp--preset--font-family--display);font-style:italic;font-weight:400;font-size:clamp(1.7rem,1.2rem + 1.8vw,2.4rem);color:var(--moon);max-width:720px;margin:0 auto;line-height:1.4;}
.wcf-care-secret .whisper{margin-top:22px;font-size:12px;letter-spacing:3px;text-transform:uppercase;font-weight:300;color:var(--silver);opacity:.6;}

@media (max-width:640px){
  .wcf-care-ledger li{grid-template-columns:1fr;gap:8px;}
}

/* ============================================================
   Bulletin board photo stack (added v1.0.49)
   Two pinned-looking photos, tilted and overlapping, sitting in the
   open side of a .wcf-moment. Scoped to .has-board-stack so no other
   moment section on any page is affected.
   ============================================================ */
.wcf-moment.has-board-stack{align-items:center;padding:78px 0;}
.wcf-board-stack{position:relative;z-index:2;flex:0 0 auto;
  width:min(42vw,560px);margin-left:5vw;margin-right:auto;}
.wcf-board-shot{margin:0;position:relative;overflow:hidden;border-radius:3px;background:#10162B;
  box-shadow:0 30px 68px rgba(0,0,0,.62),0 2px 6px rgba(0,0,0,.45);
  transition:transform .8s var(--wcf-ease);}
.wcf-board-shot img{display:block;width:100%;height:auto;}
.wcf-board-shot.back{width:80%;transform:rotate(-3deg);z-index:1;}
.wcf-board-shot.front{width:84%;margin:-9% 0 0 16%;transform:rotate(2.2deg);z-index:2;}
/* soft inner vignette so the front photo settles onto the starfield */
.wcf-board-shot.front::after{content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 60px rgba(16,22,43,.32);}
.wcf-board-stack:hover .wcf-board-shot.back{transform:rotate(-4.2deg) translate(-7px,-5px);}
.wcf-board-stack:hover .wcf-board-shot.front{transform:rotate(3deg) translate(6px,5px);}
.wcf-moment.has-board-stack .wcf-moment-copy{padding-bottom:0;}

@media (max-width:1024px){
  .wcf-moment.has-board-stack{flex-direction:column;align-items:center;justify-content:center;
    padding:80px 0 76px;}
  .wcf-board-stack{width:min(88vw,440px);margin:0 auto 44px 26px;}
  .wcf-moment.has-board-stack.right{text-align:left;}
  .wcf-moment.has-board-stack.right .wcf-moment-copy{margin-left:0;margin-right:auto;text-align:left;}
  .wcf-moment.has-board-stack .wcf-moment-copy{padding:0 26px;max-width:640px;}
  .wcf-board-stack:hover .wcf-board-shot.back{transform:rotate(-3deg);}
  .wcf-board-stack:hover .wcf-board-shot.front{transform:rotate(2.2deg);}
}
