/* ===========================================================
   BS THE WEDDING STUDIO — Design System Stylesheet
   Monochrome, editorial, cinematic.
=========================================================== */
:root{
  --black:#0A0A0A;
  --white:#FFFFFF;
  --ivory:#F5F4F2;
  --charcoal:#1A1A1A;
  --grey:#8C8C8C;
  --line-dark:#2E2E2E;
  --line-light:#E4E2DF;
  --serif:'Fraunces', Georgia, serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --ease:cubic-bezier(.16,.8,.24,1);
}
body.bs-wedding-site{
  background:var(--black);
  color:var(--white);
  font-family:var(--sans);
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
.bs-wedding-site img{max-width:100%;display:block;}
.bs-wedding-site a{color:inherit;text-decoration:none;}
.bs-wedding-site ul{list-style:none;}
.bs-wedding-site button{font-family:inherit;cursor:pointer;background:none;border:none;color:inherit;}
.bs-wedding-site input,.bs-wedding-site textarea,.bs-wedding-site select{font-family:inherit;}

.bs-wedding-site .eyebrow{display:block;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);margin-bottom:18px;font-weight:500;}
.bs-wedding-site h1,.bs-wedding-site h2,.bs-wedding-site h3,.bs-wedding-site h4{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-0.01em;}
.bs-wedding-site .section{padding:160px 80px;position:relative;}
.bs-wedding-site .section.light{background:var(--white);color:var(--black);}
.bs-wedding-site .section.ivory{background:var(--ivory);color:var(--black);}
.bs-wedding-site .section.light .eyebrow,.bs-wedding-site .section.ivory .eyebrow{color:#6b6b6b;}
.bs-wedding-site .section-head{max-width:760px;margin:0 auto 72px;text-align:center;}
.bs-wedding-site .section-head.left{text-align:left;margin-left:0;}
.bs-wedding-site .section-head h2{font-size:clamp(1.9rem,4.2vw,3rem);}
.bs-wedding-site .section-head p{margin-top:20px;color:var(--grey);font-size:1.05rem;max-width:560px;margin-left:auto;margin-right:auto;}
.bs-wedding-site .section-head.left p{margin-left:0;}
.bs-wedding-site .section.light .section-head p,.bs-wedding-site .section.ivory .section-head p{color:#555;}
.bs-wedding-site .reveal{opacity:0;transform:translateY(32px);}
.bs-wedding-site .container{max-width:1280px;margin:0 auto;}
.bs-wedding-site .narrow{max-width:780px;margin:0 auto;}

/* Image block */
.bs-wedding-site .ph{position:relative;background:repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px),linear-gradient(160deg,#232323,#0d0d0d);display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden;border:1px solid rgba(255,255,255,.08);}
.bs-wedding-site .section.light .ph,.bs-wedding-site .section.ivory .ph{background:repeating-linear-gradient(135deg, rgba(0,0,0,.04) 0 2px, transparent 2px 14px),linear-gradient(160deg,#e9e8e6,#d8d6d3);border:1px solid rgba(0,0,0,.06);}
.bs-wedding-site .ph::before{content:'BS';position:absolute;top:14px;right:16px;z-index:2;font-family:var(--serif);font-size:.75rem;letter-spacing:.1em;color:rgba(255,255,255,.55);text-shadow:0 1px 4px rgba(0,0,0,.5);}
.bs-wedding-site .section.light .ph::before,.bs-wedding-site .section.ivory .ph::before{color:rgba(255,255,255,.7);}
.bs-wedding-site .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.08) brightness(.97);z-index:1;}
.bs-wedding-site .ph-cap{position:relative;z-index:2;font-size:.72rem;letter-spacing:.05em;color:rgba(255,255,255,.55);padding:14px 16px;font-style:italic;font-family:var(--sans);}
.bs-wedding-site .section.light .ph-cap,.bs-wedding-site .section.ivory .ph-cap{color:rgba(0,0,0,.5);}
.bs-wedding-site .ph.r-45{aspect-ratio:4/5;}
.bs-wedding-site .ph.r-11{aspect-ratio:1/1;}
.bs-wedding-site .ph.r-cinema{aspect-ratio:21/9;}
.bs-wedding-site .ph.r-32{aspect-ratio:3/2;}
.bs-wedding-site .ph.r-169{aspect-ratio:16/9;}
.bs-wedding-site .ph.r-23{aspect-ratio:2/3;}

/* NAV */
.bs-wedding-site header.nav{position:fixed;top:0;left:0;width:100%;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:26px 48px;transition:background .4s var(--ease),padding .4s var(--ease),border-color .4s var(--ease);border-bottom:1px solid transparent;}
.bs-wedding-site header.nav.solid{background:rgba(10,10,10,.92);backdrop-filter:blur(8px);padding:16px 48px;border-color:var(--line-dark);}
.bs-wedding-site header.nav.hide-nav{transform:translateY(-100%);}
.bs-wedding-site .logo{font-family:var(--serif);font-size:1.4rem;letter-spacing:.02em;}
.bs-wedding-site .logo span{font-style:italic;font-size:.75rem;color:var(--grey);display:block;letter-spacing:.15em;text-transform:uppercase;margin-top:2px;}
.bs-wedding-site nav.links{display:flex;gap:40px;align-items:center;}
.bs-wedding-site nav.links a{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;position:relative;padding-bottom:4px;}
.bs-wedding-site nav.links a.current{color:var(--white);}
.bs-wedding-site nav.links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--white);transition:width .35s var(--ease);}
.bs-wedding-site nav.links a:hover::after,.bs-wedding-site nav.links a.current::after{width:100%;}
.bs-wedding-site .nav-cta{display:flex;align-items:center;gap:22px;}
.bs-wedding-site .btn{display:inline-block;padding:14px 30px;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--white);position:relative;overflow:hidden;transition:color .4s var(--ease);}
.bs-wedding-site .btn span{position:relative;z-index:2;}
.bs-wedding-site .btn::before{content:'';position:absolute;inset:0;background:var(--white);transform:translateX(-101%);transition:transform .45s var(--ease);z-index:1;}
.bs-wedding-site .btn:hover{color:var(--black);}
.bs-wedding-site .btn:hover::before{transform:translateX(0);}
.bs-wedding-site .btn.dark{border-color:var(--black);color:var(--black);}
.bs-wedding-site .btn.dark::before{background:var(--black);}
.bs-wedding-site .btn.dark:hover{color:var(--white);}
.bs-wedding-site .btn.ghost{padding:0;border:none;text-decoration:underline;text-underline-offset:5px;}
.bs-wedding-site .hamburger{display:none;flex-direction:column;gap:5px;width:26px;z-index:210;}
.bs-wedding-site .hamburger span{display:block;height:1px;width:100%;background:var(--white);transition:transform .3s,opacity .3s;}

/* HERO (home) */
.bs-wedding-site .hero{height:100svh;min-height:640px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:0 80px 90px;}
.bs-wedding-site .hero .ph{position:absolute;inset:0;border:none;z-index:0;}
.bs-wedding-site .hero .ph-cap{position:absolute;bottom:24px;right:32px;}
.bs-wedding-site .hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75) 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,.35) 100%);z-index:1;}
.bs-wedding-site .hero-content{position:relative;z-index:2;max-width:980px;}
.bs-wedding-site .hero-content .eyebrow{color:rgba(255,255,255,.7);}
.bs-wedding-site .hero h1{font-size:clamp(2.4rem,7.2vw,6.8rem);}
.bs-wedding-site .hero h1 .word{display:inline-block;overflow:hidden;}
.bs-wedding-site .hero h1 .word span{display:inline-block;}
.bs-wedding-site .hero p.sub{margin-top:26px;max-width:520px;color:rgba(255,255,255,.82);font-size:1.05rem;}
.bs-wedding-site .hero-actions{margin-top:44px;display:flex;gap:20px;flex-wrap:wrap;}
.bs-wedding-site .scroll-cue{position:absolute;bottom:28px;left:80px;z-index:2;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:10px;}
.bs-wedding-site .scroll-cue .line{width:1px;height:36px;background:rgba(255,255,255,.5);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:.3;}50%{opacity:1;}}

/* PAGE HERO (inner pages) */
.bs-wedding-site .page-hero{padding:190px 80px 90px;position:relative;}
.bs-wedding-site .page-hero .eyebrow{color:var(--grey);}
.bs-wedding-site .page-hero h1{font-size:clamp(2.2rem,6vw,4.6rem);max-width:900px;}
.bs-wedding-site .page-hero p{margin-top:22px;max-width:560px;color:rgba(255,255,255,.75);font-size:1.05rem;}
.bs-wedding-site .page-hero.light{background:var(--white);color:var(--black);}
.bs-wedding-site .page-hero.light p{color:#555;}
.bs-wedding-site .breadcrumb{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);margin-bottom:22px;}
.bs-wedding-site .breadcrumb a:hover{color:var(--white);}
.bs-wedding-site .page-hero.light .breadcrumb a:hover{color:var(--black);}

/* BRAND INTRO */
.bs-wedding-site .intro{text-align:center;max-width:820px;margin:0 auto;}
.bs-wedding-site .intro h2{font-size:clamp(1.6rem,3.4vw,2.5rem);font-weight:300;font-style:italic;line-height:1.4;}
.bs-wedding-site .intro .sign{margin-top:32px;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--grey);}

/* HORIZONTAL SCROLL */
.bs-wedding-site .h-scroll-wrap{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;}
.bs-wedding-site .h-scroll-wrap::-webkit-scrollbar{display:none;}
.bs-wedding-site .h-scroll{display:flex;gap:28px;padding:0 80px 20px;width:max-content;}
.bs-wedding-site .story-card{width:min(420px,80vw);flex-shrink:0;}
.bs-wedding-site .story-card .ph{margin-bottom:22px;transition:transform .6s var(--ease);}
.bs-wedding-site .story-card:hover .ph{transform:scale(1.015);}
.bs-wedding-site .story-card h3{font-size:1.4rem;margin-bottom:6px;}
.bs-wedding-site .story-card .loc{font-size:.78rem;color:var(--grey);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;}
.bs-wedding-site .story-card p{color:rgba(255,255,255,.7);font-size:.92rem;margin-bottom:14px;}
.bs-wedding-site .story-card .rd{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:3px;}

/* SERVICES INDEX LIST */
.bs-wedding-site .services-list{max-width:980px;margin:0 auto;border-top:1px solid var(--line-light);}
.bs-wedding-site .service-row{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:30px 4px;border-bottom:1px solid var(--line-light);cursor:pointer;position:relative;}
.bs-wedding-site .service-row .num{font-size:.78rem;color:#999;width:32px;flex-shrink:0;}
.bs-wedding-site .service-row h3{font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:400;flex:1;}
.bs-wedding-site .service-row .tag{font-size:.72rem;color:#777;text-transform:uppercase;letter-spacing:.08em;}
.bs-wedding-site .service-row .thumb{width:0;height:76px;overflow:hidden;transition:width .45s var(--ease);flex-shrink:0;border-radius:2px;}
.bs-wedding-site .service-row:hover .thumb{width:110px;}
.bs-wedding-site .service-row .thumb .ph{width:110px;height:76px;border:none;}
.bs-wedding-site .service-row:hover h3{opacity:.55;}

/* SERVICES GRID */
.bs-wedding-site .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line-light);}
.bs-wedding-site .svc-card{background:var(--white);padding:40px 32px;display:flex;flex-direction:column;gap:60px;min-height:280px;transition:background .4s;}
.bs-wedding-site .svc-card:hover{background:var(--ivory);}
.bs-wedding-site .svc-card .n{font-size:.75rem;color:#999;}
.bs-wedding-site .svc-card h3{font-size:1.35rem;}
.bs-wedding-site .svc-card .go{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-top:auto;display:inline-flex;align-items:center;gap:8px;}
.bs-wedding-site .svc-cat-label{grid-column:1/-1;background:var(--black);color:var(--white);padding:14px 32px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;}

/* SIGNATURE MOMENTS strip */
.bs-wedding-site .moments-strip{display:flex;gap:18px;padding:0 80px;}
.bs-wedding-site .moments-strip .ph{width:min(320px,60vw);flex-shrink:0;}

/* FEATURED PROJECTS alt layout */
.bs-wedding-site .project-feat{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;max-width:1280px;margin:0 auto 140px;}
.bs-wedding-site .project-feat:nth-child(even){direction:rtl;}
.bs-wedding-site .project-feat:nth-child(even) > *{direction:ltr;}
.bs-wedding-site .project-feat:last-child{margin-bottom:0;}
.bs-wedding-site .project-feat h3{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:16px;}
.bs-wedding-site .project-feat .loc{color:var(--grey);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:20px;}
.bs-wedding-site .project-feat p{color:rgba(255,255,255,.72);margin-bottom:26px;max-width:480px;}

/* PROJECTS GRID (index) */
.bs-wedding-site .proj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;max-width:1280px;margin:0 auto;}
.bs-wedding-site .proj-tile .ph{margin-bottom:20px;}
.bs-wedding-site .proj-tile h3{font-size:1.6rem;margin-bottom:4px;}
.bs-wedding-site .proj-tile .loc{font-size:.78rem;color:var(--grey);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.bs-wedding-site .proj-tile .tag{display:inline-block;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--line-light);padding:5px 10px;color:#666;}

/* TESTIMONIALS */
.bs-wedding-site .testi-wrap{max-width:760px;margin:0 auto;text-align:center;position:relative;min-height:280px;}
.bs-wedding-site .testi-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease);pointer-events:none;}
.bs-wedding-site .testi-slide.active{opacity:1;position:relative;pointer-events:auto;}
.bs-wedding-site .testi-slide blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(1.2rem,2.6vw,1.7rem);line-height:1.5;margin-bottom:28px;}
.bs-wedding-site .testi-slide .who{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);}
.bs-wedding-site .testi-dots{display:flex;gap:10px;justify-content:center;margin-top:36px;}
.bs-wedding-site .testi-dots button{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);transition:background .3s;}
.bs-wedding-site .testi-dots button.active{background:var(--white);}

/* STATS */
.bs-wedding-site .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;max-width:1100px;margin:0 auto;text-align:center;}
.bs-wedding-site .stat h3{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:400;}
.bs-wedding-site .stat p{margin-top:10px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);}

/* INSTAGRAM */
.bs-wedding-site .insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-width:1100px;margin:0 auto;}
.bs-wedding-site .insta-grid .ph{border-radius:0;transition:transform .5s var(--ease);}
.bs-wedding-site .insta-grid a:hover .ph{transform:scale(1.04);}

/* CTA BLOCK */
.bs-wedding-site .cta-block{text-align:center;padding:180px 40px;}
.bs-wedding-site .cta-block h2{font-size:clamp(2rem,5vw,3.6rem);max-width:760px;margin:0 auto 24px;}
.bs-wedding-site .cta-block p{color:var(--grey);max-width:460px;margin:0 auto 40px;}

/* CONTACT */
.bs-wedding-site .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1200px;margin:0 auto;align-items:start;}
.bs-wedding-site .field{margin-bottom:22px;}
.bs-wedding-site .field label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#666;margin-bottom:8px;}
.bs-wedding-site .field input,.bs-wedding-site .field textarea,.bs-wedding-site .field select{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line-light);padding:10px 2px;font-family:var(--sans);font-size:1rem;color:var(--black);}
.bs-wedding-site .field input:focus,.bs-wedding-site .field textarea:focus,.bs-wedding-site .field select:focus{outline:none;border-color:var(--black);}
.bs-wedding-site .field.hidden{display:none;}
.bs-wedding-site .contact-info{display:flex;flex-direction:column;gap:18px;padding-top:6px;}
.bs-wedding-site .contact-info a{font-size:1.05rem;}
.bs-wedding-site .contact-info .lbl{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#777;}

/* FOOTER */
.bs-wedding-site footer.bs-footer{padding:100px 80px 40px;border-top:1px solid var(--line-dark);background:var(--black);color:var(--white);}
.bs-wedding-site .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;max-width:1280px;margin:0 auto;}
.bs-wedding-site .footer-grid h4{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:20px;font-family:var(--sans);font-weight:500;}
.bs-wedding-site .footer-grid li{margin-bottom:12px;font-size:.92rem;color:rgba(255,255,255,.75);}
.bs-wedding-site .footer-grid li a:hover{color:var(--white);}
.bs-wedding-site .footer-bottom{max-width:1280px;margin:70px auto 0;padding-top:26px;border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--grey);}

/* WHATSAPP FAB */
.bs-wedding-site .wa-fab{position:fixed;bottom:26px;right:26px;z-index:150;width:56px;height:56px;border-radius:50%;background:var(--white);color:var(--black);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,0,0,.35);}

/* MOBILE MENU */
.bs-wedding-site .mobile-menu{position:fixed;inset:0;background:var(--black);z-index:190;display:flex;flex-direction:column;justify-content:center;padding:40px 48px;transform:translateY(-100%);transition:transform .5s var(--ease);}
.bs-wedding-site .mobile-menu.open{transform:translateY(0);}
.bs-wedding-site .mobile-menu a{font-family:var(--serif);font-size:2.2rem;display:block;margin-bottom:22px;opacity:0;transform:translateY(20px);}
.bs-wedding-site .mobile-menu.open a{animation:mmIn .6s var(--ease) forwards;}
.bs-wedding-site .mobile-menu a:nth-child(1){animation-delay:.05s;}
.bs-wedding-site .mobile-menu a:nth-child(2){animation-delay:.1s;}
.bs-wedding-site .mobile-menu a:nth-child(3){animation-delay:.15s;}
.bs-wedding-site .mobile-menu a:nth-child(4){animation-delay:.2s;}
.bs-wedding-site .mobile-menu a:nth-child(5){animation-delay:.25s;}
.bs-wedding-site .mobile-menu a:nth-child(6){animation-delay:.3s;}
@keyframes mmIn{to{opacity:1;transform:translateY(0);}}

/* GALLERY PAGE */
.bs-wedding-site .filter-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:60px;}
.bs-wedding-site .filter-bar button{padding:10px 20px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-light);color:#666;transition:all .3s;}
.bs-wedding-site .filter-bar button.active,.bs-wedding-site .filter-bar button:hover{background:var(--black);color:var(--white);border-color:var(--black);}
.bs-wedding-site .masonry{columns:4 260px;column-gap:16px;max-width:1400px;margin:0 auto;}
.bs-wedding-site .masonry-item{break-inside:avoid;margin-bottom:16px;cursor:pointer;position:relative;display:none;}
.bs-wedding-site .masonry-item.show{display:block;}
.bs-wedding-site .masonry-item .ph{transition:transform .5s var(--ease);}
.bs-wedding-site .masonry-item:hover .ph{transform:scale(1.02);}
.bs-wedding-site .masonry-item .cap-overlay{position:absolute;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);opacity:0;transition:opacity .3s;font-size:.72rem;letter-spacing:.04em;}
.bs-wedding-site .masonry-item:hover .cap-overlay{opacity:1;}
.bs-wedding-site .load-more-wrap{text-align:center;margin-top:60px;}
.bs-wedding-site .lightbox{position:fixed;inset:0;background:rgba(5,5,5,.96);z-index:300;display:none;align-items:center;justify-content:center;padding:40px;}
.bs-wedding-site .lightbox.open{display:flex;}
.bs-wedding-site .lightbox .ph{max-width:900px;width:100%;aspect-ratio:4/5;}
.bs-wedding-site .lightbox-close,.bs-wedding-site .lightbox-prev,.bs-wedding-site .lightbox-next{position:absolute;color:var(--white);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;padding:12px;}
.bs-wedding-site .lightbox-close{top:24px;right:32px;}
.bs-wedding-site .lightbox-prev{left:24px;top:50%;transform:translateY(-50%);}
.bs-wedding-site .lightbox-next{right:24px;top:50%;transform:translateY(-50%);}

/* ABOUT PAGE */
.bs-wedding-site .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;max-width:1100px;margin:0 auto;}
.bs-wedding-site .pillar{text-align:center;}
.bs-wedding-site .pillar .idx{font-size:.75rem;color:#999;margin-bottom:16px;display:block;}
.bs-wedding-site .pillar h3{font-size:1.3rem;margin-bottom:14px;}
.bs-wedding-site .pillar p{color:#555;font-size:.92rem;}
.bs-wedding-site .timeline{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
.bs-wedding-site .timeline .step{position:relative;padding-top:30px;border-top:1px solid var(--line-light);}
.bs-wedding-site .timeline .step .idx{font-family:var(--serif);font-size:1.6rem;display:block;margin-bottom:12px;}
.bs-wedding-site .timeline .step h4{font-size:1.05rem;font-weight:500;font-family:var(--sans);margin-bottom:10px;}
.bs-wedding-site .timeline .step p{font-size:.88rem;color:#555;}
.bs-wedding-site .why-list{max-width:820px;margin:0 auto;}
.bs-wedding-site .why-item{display:flex;gap:26px;padding:26px 0;border-bottom:1px solid var(--line-dark);align-items:flex-start;}
.bs-wedding-site .why-item .ic{width:22px;height:22px;flex-shrink:0;margin-top:4px;border:1px solid rgba(255,255,255,.4);border-radius:50%;}
.bs-wedding-site .why-item p{color:rgba(255,255,255,.72);}
.bs-wedding-site .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1200px;margin:0 auto;}
.bs-wedding-site .team-card .ph{margin-bottom:16px;}
.bs-wedding-site .team-card h4{font-size:1.05rem;font-weight:500;font-family:var(--sans);}
.bs-wedding-site .team-card p{font-size:.78rem;color:var(--grey);text-transform:uppercase;letter-spacing:.05em;}
.bs-wedding-site .achieve-row{display:flex;justify-content:center;gap:80px;flex-wrap:wrap;max-width:1000px;margin:0 auto;text-align:center;}
.bs-wedding-site .founder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;max-width:1100px;margin:0 auto;}
.bs-wedding-site .founder-grid blockquote{font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.5;margin-top:24px;}
.bs-wedding-site .founder-grid .role{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);margin-top:16px;}

/* SERVICE DETAIL PAGE */
.bs-wedding-site .svc-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1200px;margin:0 auto;align-items:start;}
.bs-wedding-site .svc-block{margin-bottom:44px;}
.bs-wedding-site .svc-block h4{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:#777;margin-bottom:16px;}
.bs-wedding-site .svc-block ul{margin:0;}
.bs-wedding-site .svc-block li{position:relative;padding-left:20px;margin-bottom:10px;color:#333;font-size:.95rem;}
.bs-wedding-site .svc-block li::before{content:'';position:absolute;left:0;top:10px;width:6px;height:1px;background:#999;}
.bs-wedding-site .accordion-item{border-bottom:1px solid var(--line-light);}
.bs-wedding-site .accordion-item button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:22px 2px;text-align:left;font-size:1rem;color:var(--black);}
.bs-wedding-site .accordion-item .plus{font-size:1.2rem;transition:transform .3s;}
.bs-wedding-site .accordion-item.open .plus{transform:rotate(45deg);}
.bs-wedding-site .accordion-item .panel{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.bs-wedding-site .accordion-item .panel p{padding-bottom:22px;color:#555;font-size:.92rem;max-width:600px;}
.bs-wedding-site .related-strip{display:flex;gap:16px;overflow-x:auto;padding:0 80px 10px;}
.bs-wedding-site .related-strip .ph{width:220px;flex-shrink:0;}
.bs-wedding-site .svc-index-nav{display:flex;flex-wrap:wrap;gap:8px;max-width:1200px;margin:0 auto 60px;}
.bs-wedding-site .svc-index-nav a{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:9px 16px;border:1px solid var(--line-light);color:#666;}
.bs-wedding-site .svc-index-nav a.current{background:var(--black);color:var(--white);border-color:var(--black);}

/* PROJECT DETAIL PAGE */
.bs-wedding-site .proj-meta{display:flex;gap:40px;flex-wrap:wrap;margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid var(--line-dark);}
.bs-wedding-site .proj-meta div .lbl{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);margin-bottom:6px;}
.bs-wedding-site .story-text{font-family:var(--serif);font-size:1.25rem;line-height:1.75;max-width:760px;margin:0 auto;}
.bs-wedding-site .story-text p{margin-bottom:26px;}
.bs-wedding-site .proj-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1300px;margin:80px auto;}
.bs-wedding-site .proj-gallery .ph:nth-child(3n+1){grid-row:span 2;aspect-ratio:2/3;}
.bs-wedding-site .highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1100px;margin:0 auto;}
.bs-wedding-site .highlight blockquote{font-family:var(--serif);font-style:italic;font-size:1.15rem;line-height:1.5;}

/* JOURNAL */
.bs-wedding-site .journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;max-width:1300px;margin:0 auto;}
.bs-wedding-site .j-card .ph{margin-bottom:18px;}
.bs-wedding-site .j-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);margin-bottom:10px;display:block;}
.bs-wedding-site .j-card h3{font-size:1.2rem;margin-bottom:8px;}
.bs-wedding-site .j-card p{font-size:.88rem;color:#555;}
.bs-wedding-site .j-date{font-size:.75rem;color:#999;margin-top:10px;display:block;}
.bs-wedding-site .featured-post{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;max-width:1300px;margin:0 auto 120px;}
.bs-wedding-site .featured-post h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:20px;}
.bs-wedding-site .newsletter-block{max-width:640px;margin:0 auto;text-align:center;background:var(--charcoal);padding:60px 40px;border-radius:2px;}
.bs-wedding-site .newsletter-form{display:flex;gap:12px;margin-top:28px;max-width:420px;margin-left:auto;margin-right:auto;}
.bs-wedding-site .newsletter-form input{flex:1;background:transparent;border:1px solid rgba(255,255,255,.25);padding:14px 16px;color:var(--white);font-size:.9rem;}
.bs-wedding-site .article-body{font-size:1.08rem;line-height:1.85;max-width:720px;margin:0 auto;}
.bs-wedding-site .article-body p{margin-bottom:26px;color:#333;}
.bs-wedding-site .article-body h2{font-size:1.6rem;margin:44px 0 20px;color:var(--black);}

/* LEGAL PAGES */
.bs-wedding-site .legal-body{max-width:760px;margin:0 auto;}
.bs-wedding-site .legal-body h2{font-size:1.3rem;margin:40px 0 14px;}
.bs-wedding-site .legal-body p{color:#444;margin-bottom:16px;}

@media(max-width:1000px){
  .bs-wedding-site .section{padding:100px 28px;}
  .bs-wedding-site .page-hero{padding:150px 28px 60px;}
  .bs-wedding-site .project-feat{grid-template-columns:1fr;gap:32px;}
  .bs-wedding-site .project-feat:nth-child(even){direction:ltr;}
  .bs-wedding-site .contact-grid{grid-template-columns:1fr;gap:50px;}
  .bs-wedding-site .footer-grid{grid-template-columns:1fr 1fr;gap:40px;}
  .bs-wedding-site .stats-grid{grid-template-columns:repeat(2,1fr);gap:34px;}
  .bs-wedding-site .insta-grid{grid-template-columns:repeat(3,1fr);}
  .bs-wedding-site nav.links,.bs-wedding-site .nav-cta .btn{display:none;}
  .bs-wedding-site .hamburger{display:flex;}
  .bs-wedding-site header.nav{padding:20px 24px;}
  .bs-wedding-site .hero{padding:0 24px 60px;}
  .bs-wedding-site .scroll-cue{left:24px;}
  .bs-wedding-site .svc-grid{grid-template-columns:repeat(2,1fr);}
  .bs-wedding-site .pillars{grid-template-columns:1fr;gap:40px;}
  .bs-wedding-site .timeline{grid-template-columns:1fr 1fr;gap:30px;}
  .bs-wedding-site .team-grid{grid-template-columns:repeat(2,1fr);}
  .bs-wedding-site .founder-grid{grid-template-columns:1fr;gap:30px;}
  .bs-wedding-site .svc-detail-grid{grid-template-columns:1fr;gap:40px;}
  .bs-wedding-site .proj-grid{grid-template-columns:1fr;}
  .bs-wedding-site .proj-gallery{grid-template-columns:repeat(2,1fr);}
  .bs-wedding-site .journal-grid{grid-template-columns:1fr 1fr;}
  .bs-wedding-site .featured-post{grid-template-columns:1fr;gap:30px;}
  .bs-wedding-site .achieve-row{gap:40px;}
  .bs-wedding-site .masonry{columns:2 260px;}
}
@media(max-width:600px){
  .bs-wedding-site .insta-grid{grid-template-columns:repeat(2,1fr);}
  .bs-wedding-site .stats-grid{grid-template-columns:repeat(2,1fr);}
  .bs-wedding-site .footer-grid{grid-template-columns:1fr;}
  .bs-wedding-site .svc-grid{grid-template-columns:1fr;}
  .bs-wedding-site .timeline{grid-template-columns:1fr;}
  .bs-wedding-site .team-grid{grid-template-columns:1fr 1fr;}
  .bs-wedding-site .proj-gallery{grid-template-columns:1fr 1fr;}
  .bs-wedding-site .journal-grid{grid-template-columns:1fr;}
  .bs-wedding-site .masonry{columns:1 100%;}
  .bs-wedding-site .contact-grid,.bs-wedding-site .founder-grid{gap:36px;}
}
/* Bricks builder wrapper resets so our design system takes over full-bleed */
.bs-wedding-site .brxe-container, .bs-wedding-site .brxe-section{max-width:none;}
