:root{
  --font-body: "Roboto Mono", monospace;
  --font-head: "Archivo", sans-serif;
  --color-text: #373737;
  --color-bg: #e3e1dd;
  --color-link: #373737;
  --maxw: 1500px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--font-body);font-weight:300;color:var(--color-text);background:var(--color-bg);line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--color-link);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:500;line-height:1.15}
h1{font-size:clamp(2.2rem,5vw,3.5rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.34rem)}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:transparent;transition:background-color .2s linear}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.75rem 2rem;max-width:var(--maxw);margin:0 auto;color:#fff;transition:color .2s linear}
.site-header-inner a{color:#fff}
.site-header-inner nav{display:flex;gap:2.5rem;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}
.site-logo img{height:52px;width:auto;filter:brightness(0) invert(1)}
.site-header.on-light{background:var(--color-bg)}
.site-header.on-light .site-header-inner{color:var(--color-text)}
.site-header.on-light .site-header-inner a{color:var(--color-text)}
.site-header.on-light .site-logo img{filter:brightness(0)}
.site-header.header-compact .site-header-inner{padding:1rem 2rem}
.site-header.header-compact .site-logo img{height:32px}
.nav-toggle{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;color:inherit}
main{max-width:var(--maxw);margin:0 auto;padding:2rem}
.masonry{columns:3;column-gap:1rem}
.masonry figure{break-inside:avoid;margin:0 0 1rem}
.masonry img{cursor:pointer}
.site-footer{text-align:center;padding:2rem 0 3rem}
.site-footer>.eyebrow-wide{display:block}
.footer-ig{display:flex;gap:13px;width:92%;max-width:calc(var(--maxw) - 4rem);margin:2.75rem auto 0}
.footer-ig a{flex:1;display:block;min-width:0}
.footer-ig img{width:100%;aspect-ratio:1;object-fit:cover}
.site-footer h4{margin-top:1.6rem;font-size:clamp(1.3rem,1.8vw,1.625rem)}
.footer-ig-icon{display:inline-block;margin-top:2.5rem;color:var(--color-text)}
.site-footer nav{display:flex;gap:2.9rem;justify-content:center;margin-top:4.5rem;flex-wrap:wrap;font-size:.82rem;letter-spacing:.2em}
.footer-copy{margin-top:2rem;font-size:.7rem;opacity:.6}
@media(max-width:768px){
  .site-header-inner nav{display:none}
  .site-header.open{background:var(--color-bg)}
  .site-header.open .site-header-inner{flex-wrap:wrap;align-items:flex-start;padding-bottom:1rem}
  .site-header.open .site-header-inner nav{display:flex;flex-direction:column;gap:.75rem;width:100%;order:3;padding-top:.5rem}
  .site-header.open .site-header-inner nav a{color:var(--color-text)}
  .nav-toggle{display:block}
  .masonry{columns:1}
}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:1000}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:92vh}

/* ── Shared utilities ─────────────────────────────────────── */
.eyebrow{font-size:.75rem;letter-spacing:.5em;text-transform:uppercase;margin-bottom:.75rem;opacity:.7}
.eyebrow-wide{font-size:.82rem;font-weight:400;letter-spacing:.7em;text-transform:uppercase;line-height:1.8}
.btn{display:inline-block;background:#908a81;color:#fff;border:0;border-radius:450px;padding:1.15rem 1.75rem;font-size:.7rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;line-height:1.25;transition:opacity .2s}
.btn:hover{opacity:.82;text-decoration:none}
.btn-light{color:#fff}
.section-cta{text-align:center;margin-top:2.5rem}
.bw{filter:grayscale(1)}

/* ── Hero (Home) ──────────────────────────────────────────── */
.hero{position:relative;width:100%;max-width:100%}
.hero-image{position:relative;max-height:92vh;overflow:hidden}
.hero-image img{width:100%;height:92vh;object-fit:cover;display:block}
.hero-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;background:rgba(0,0,0,.28);padding:2rem}
.hero-overlay h1{font-size:clamp(2.8rem,7vw,5rem);color:#fff;font-weight:600}
.hero-tagline{margin-top:.75rem;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase}

/* ── Philosophy (Home) ─────────────────────────────────────── */
.philosophy{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;padding:5rem 2rem;max-width:var(--maxw);margin:0 auto;align-items:center}
.philosophy-inner{display:flex;flex-direction:column;gap:1.25rem}
.philosophy-inner h2{margin-bottom:.5rem}
.philosophy-images{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:1rem}
.philosophy-images img{width:100%;height:100%;object-fit:cover;display:block}
.philosophy-images img:nth-child(1){grid-column:1;grid-row:1}
.philosophy-images img:nth-child(2){grid-column:2;grid-row:1/3}
.philosophy-images img:nth-child(3){grid-column:1;grid-row:2}

/* ── Selected Works (Home) ──────────────────────────────────── */
.selected-works{padding:2rem 2rem 3rem;max-width:var(--maxw);margin:0 auto}
.selected-works h3{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:1.5rem;text-align:center}

/* ── Let's Connect (Home) ──────────────────────────────────── */
.home-connect{position:relative;color:#fff;text-align:center;overflow:hidden}
.home-connect img{width:100%;height:92vh;object-fit:cover;display:block}
.home-connect-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,.35);padding:2rem}
.home-connect h1{color:#fff;margin-bottom:1rem}
.home-connect p{max-width:30rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.75rem;opacity:.9}

/* ── Member Of ─────────────────────────────────────────────── */
.member-of{text-align:center;padding:3rem 2rem}
.member-of h5{font-size:.7rem;letter-spacing:.18em;margin-bottom:1rem;opacity:.6}
.member-of img{height:60px;width:auto;margin:0 auto}
.member-of--dark{background:#212121}
.member-of--dark h5{color:#fff;font-size:.94rem;font-weight:300;letter-spacing:.05em}
.member-of-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:4rem;width:92%;max-width:calc(var(--maxw) - 4rem);margin:0 auto}
img.member-of-photo{width:100%;height:auto;aspect-ratio:483/317;object-fit:cover;display:block}
.member-of--lg{padding:5.1rem 0 8.5rem}
.member-of--lg .member-of-badge img{height:193px}

/* ── About Hero: dark content-width box below the header ────── */
.about-hero{position:relative;width:92%;max-width:calc(var(--maxw) - 4rem);margin:108px auto 0;padding-bottom:5.2rem}
.about-hero::before{content:"";position:absolute;top:0;left:0;right:0;height:399px;background:#212121}
.about-hero-grid{position:relative;display:grid;grid-template-columns:1fr 1fr}
.about-portrait{margin:82px 0 0 16.8%;width:73.7%}
.about-portrait img{width:100%;aspect-ratio:483/608;object-fit:cover;display:block}
.about-hero-right{padding-left:9.3%;max-width:calc(9.3% + 73.7%)}
.about-hero-right h2{color:#fff;margin-top:172px}
.about-hero-right .eyebrow-wide{color:#fff;margin-top:1rem}
.about-hero-body{margin-top:180px}
.about-hero-body p{color:#101010;font-size:.82rem;font-weight:300;line-height:1.81}
.about-hero-body p+p{margin-top:1.4rem}

/* ── My Work (About) ────────────────────────────────────────── */
.my-work{background:#f6f4f2;padding:8.6rem 0 9rem}
.my-work-inner{width:92%;max-width:calc(var(--maxw) - 4rem);margin:0 auto;display:grid;grid-template-columns:427fr 814fr;column-gap:4.3rem}
.my-work-text{padding-top:41px}
.my-work-text h1{font-size:clamp(2.6rem,4.44vw,4rem);margin-left:55px}
.about-statement{font-size:.7rem;font-weight:500;letter-spacing:.05em;line-height:1.85;text-transform:uppercase;color:#656565}
.my-work-text .about-statement{margin-top:3.4rem}
.my-work-text .about-statement+.about-statement{margin-top:3.8rem}
.family-rows{display:flex;flex-direction:column;gap:13px}
.family-row{display:flex;gap:14px}
.family-row img{height:clamp(150px,19.4vw,276px);object-fit:cover;display:block}
.family-row--1 img:first-child{width:35%;object-position:53.85% 5.47%}
.family-row--1 img:last-child{width:63.3%;object-position:51.28% 17.31%}
.family-row--2 img:first-child{width:46.4%}
.family-row--2 img:last-child{width:51.9%}

/* ── About Connect ─────────────────────────────────────────── */
.about-connect{padding:3.4rem 0}
.ac-grid{display:flex;align-items:stretch;gap:min(8.6vw,123px);justify-content:center}
.ac-side{flex:0 0 207px;width:207px;object-fit:cover;aspect-ratio:207/317}
.ac-side--top{align-self:flex-start;margin-top:83px}
.ac-side--bottom{align-self:flex-end;margin-bottom:41px}
.ac-center{position:relative;flex:0 1 538px;aspect-ratio:538/730;color:#fff;text-align:center;overflow:hidden}
.ac-center img{width:100%;height:100%;object-fit:cover;display:block}
.ac-center-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;background:rgba(0,0,0,.2);padding:0 2rem 50px}
.ac-center-overlay h2{color:#fff;margin-bottom:1.5rem}
.ac-center-overlay p{margin-bottom:2.1rem;font-weight:300;max-width:427px}

/* ── Services hero: full-bleed photo + dark box overlapping it ── */
.services-hero-photo{width:100%;height:clamp(360px,42.5vw,640px);object-fit:cover}
.services-hero-box{position:relative;width:92%;max-width:calc(var(--maxw) - 4rem);margin:-110px auto 0;background:#212121;color:#fff;display:grid;grid-template-columns:1fr 45%;gap:2rem;padding:5.1rem 6.9rem}
.services-hero-box h2{color:#fff}
.services-hero-copy{margin-top:1.5rem;font-size:.7rem;font-weight:400;line-height:1.85;color:#cfccc6}

/* ── Packages ───────────────────────────────────────────────── */
.pkg-row{width:92%;max-width:calc(var(--maxw) - 4rem);margin:5.1rem auto 0;display:grid;grid-template-columns:538fr 703fr;column-gap:68px;align-items:stretch}
.pkg-price{font-family:var(--font-body);font-size:.94rem;font-weight:300;letter-spacing:.05em;text-transform:uppercase;color:#fff}
.pkg-photo-card{position:relative;display:flex;flex-direction:column;padding:6.7rem 3.4rem 12rem;color:#fff;overflow:hidden}
.pkg-photo-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.pkg-photo-content{position:relative;z-index:1;display:flex;flex-direction:column;flex:1;max-width:427px}
.pkg-photo-content h2{color:#fff}
.pkg-photo-content h5{margin-top:3.4rem}
.pkg-photo-content p{margin-top:auto;padding-top:2rem;font-size:.7rem;font-weight:400;line-height:1.85}
.pkg-photo-content .btn{margin-top:2.75rem;align-self:flex-start}
.pkg-dark-card{background:#212121;color:#fff;padding:4.4rem 3.4rem 7.75rem;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto auto;column-gap:4.3rem}
.pkg-dark-head{grid-column:1;grid-row:1}
.pkg-dark-head h3{color:#fff;font-size:clamp(1.5rem,2.1vw,1.875rem)}
.pkg-dark-head h5{margin-top:.9rem}
.pdi-big{grid-column:1;grid-row:2/5;align-self:end;width:100%;aspect-ratio:262/410;object-fit:cover}
.pdi-small{grid-column:2;grid-row:1/3;justify-self:end;align-self:start;width:58%;aspect-ratio:152/234;object-fit:cover}
.pkg-dark-card p{grid-column:2;grid-row:3;font-size:.7rem;font-weight:400;line-height:1.85;margin-top:2rem}
.pkg-dark-card .btn{grid-column:2;grid-row:4;justify-self:start;align-self:end;margin-top:2rem}

/* ── Wedding card ───────────────────────────────────────────── */
.pkg-wedding{position:relative;width:92%;max-width:calc(var(--maxw) - 4rem);margin:4.25rem auto 0;min-height:689px;display:flex;color:#fff;overflow:hidden}
.pkg-wedding>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pkg-wedding::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.11)}
.pkg-wedding-row{position:relative;z-index:1;margin-top:auto;width:100%;display:grid;grid-template-columns:1.55fr 1fr;column-gap:3rem;align-items:start;padding:0 3.4rem 5.2rem}
.pkg-wedding h1{color:#fff}
.pkg-wedding-title h5{margin-top:.9rem}
.pkg-wedding-body{max-width:430px}
.pkg-wedding-body p{font-size:.7rem;font-weight:400;line-height:1.85}
.pkg-wedding-body .btn{margin-top:2.25rem}

/* ── FAQ panel (paginated 2x2 carousel) ─────────────────────── */
.faq-panel{width:92%;max-width:calc(var(--maxw) - 4rem);margin:6.8rem auto 0;background:#212121;color:#fff;padding:5.2rem 6.9rem}
.faq-head{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem}
.faq-head .eyebrow-wide{max-width:427px}
.faq-arrows{display:flex;gap:1.8rem;margin-top:.4rem}
.faq-arrow{background:none;border:0;padding:0;cursor:pointer;color:#fff;opacity:.9;transition:opacity .2s}
.faq-arrow:hover{opacity:.55}
.faq-arrow svg{display:block;width:34px;height:12px}
.faq-slides{position:relative;margin-top:3.4rem}
.faq-slide{position:absolute;inset:0 0 auto;opacity:0;pointer-events:none;transition:opacity .45s ease;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;grid-auto-flow:column;column-gap:8.5%;row-gap:3.4rem}
.faq-slide.is-active{position:relative;opacity:1;pointer-events:auto}
.faq-q{min-height:87px;display:flex;align-items:flex-end}
.faq-cell h4{color:#fff;font-size:clamp(1.375rem,1.8vw,1.625rem);font-weight:500}
.faq-cell p{margin-top:1rem;font-size:.7rem;font-weight:400;line-height:1.85}

/* ── Services Portfolio Teaser ──────────────────────────────── */
.services-portfolio{width:92%;max-width:calc(var(--maxw) - 4rem);margin:6.8rem auto 0;display:grid;grid-template-columns:1fr 32.6% 22.4%;column-gap:5rem}
.sp-text{align-self:center;padding-left:3.4rem}
.sp-text h5{margin-top:1.1rem;font-family:var(--font-body);font-size:.94rem;font-weight:300;letter-spacing:.05em;text-transform:uppercase}
.sp-text .btn{margin-top:1.75rem}
.services-portfolio figure{margin:0}
.sp-big img{width:100%;aspect-ratio:427/606;object-fit:cover}
.sp-small{align-self:center}
.sp-small img{width:100%;aspect-ratio:294/441;object-fit:cover}

/* ── Services Connect ───────────────────────────────────────── */
.services-connect{margin-top:6.8rem;padding-bottom:3.4rem}
.services-connect>img{width:100%;height:clamp(360px,45.4vw,680px);object-fit:cover}
.sc-box{position:relative;width:92%;max-width:calc(var(--maxw) - 4rem);margin:-152px auto 0;background:#212121;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:5.9rem 6.9rem 2.5rem}
.sc-box h2{color:#fff}
.sc-text p{margin-top:1.6rem;font-size:.82rem;font-weight:400;letter-spacing:.7em;text-transform:uppercase;line-height:1.8;max-width:640px}
.sc-box .btn{flex-shrink:0}

/* ── Wedding Packages (hidden standalone page) ──────────────── */
.wp-hero{position:relative}
.wp-hero>img{width:100%;height:clamp(500px,55vw,820px);object-fit:cover}
.wp-hero-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff}
.wp-hero-logo{position:absolute;top:27px;left:50%;transform:translateX(-50%)}
.wp-hero-logo img{height:69px;width:auto}
.wp-hero-content h1{color:#fff;margin-top:1.2rem}
.wp-intro{padding:7.4rem 2rem 3.4rem;text-align:center}
.wp-intro h2{max-width:868px;margin:0 auto}
.wp-intro p{max-width:868px;margin:1.4rem auto 0;font-size:.7rem;font-weight:400;line-height:1.85;color:#101010}
.wp-strip{display:flex;justify-content:center;align-items:center;gap:4.3rem;width:92%;max-width:calc(var(--maxw) - 4rem);margin:0 auto 3.4rem}
.wp-strip-side{width:24.2%;aspect-ratio:317/211;object-fit:cover}
.wp-strip-center{width:32.6%;aspect-ratio:427/523;object-fit:cover}
.wp-pkg-text h2{margin-top:7.2rem}
.wp-pkg-text>p{margin-top:2.9rem;font-size:.7rem;font-weight:400;line-height:1.85}
.wp-lists{display:flex;gap:13px;margin-top:9.1rem}
.wp-lists ul{flex:1;margin:0;padding-left:17px;font-size:.7rem;font-weight:400;line-height:1.85}
.wp-price-lg{font-size:clamp(1.3rem,1.8vw,1.625rem);margin-top:7.8rem}
.wp-luxury{background:#212121;color:#fff;padding:3.4rem 0}
.wp-luxury-inner{width:92%;max-width:calc(var(--maxw) - 4rem);margin:0 auto;display:grid;grid-template-columns:41.1% 45.3%;justify-content:space-between}
.wp-luxury h2,.wp-luxury h4{color:#fff}
.wp-luxury-photo{width:100%;aspect-ratio:593/739;object-fit:cover;object-position:50% 18%}
.wp-vip{padding:3.4rem 0}
.wp-vip-inner{width:92%;max-width:calc(var(--maxw) - 4rem);margin:0 auto;display:grid;grid-template-columns:49.5% 41.1%;justify-content:space-between}
.wp-vip-panel{background:#212121;display:flex;align-items:center;justify-content:center;aspect-ratio:648/656}
.wp-vip-panel img{width:50.6%;aspect-ratio:328/491;object-fit:cover}
.wp-vip .wp-pkg-text h2{margin-top:8.6rem}
.wp-vip .wp-pkg-text>p{margin-top:1.25rem}
.wp-vip .wp-lists{margin-top:5.6rem}
.wp-vip .wp-price-lg{margin-top:5.25rem}
.wp-addons-head{background:#fff;text-align:center;padding:4.8rem 2rem 0}
.wp-addons-head p{max-width:868px;margin:1.25rem auto 0;font-size:.7rem;font-weight:400;line-height:1.85;color:#656565}
.wp-addons{background:#fff;padding:1.75rem 0 4.4rem}
.wp-addons-inner{width:92%;max-width:calc(var(--maxw) - 4rem);margin:0 auto}
.wp-addon-slides{position:relative}
.wp-addon-slide{position:absolute;inset:0 0 auto;opacity:0;pointer-events:none;transition:opacity .45s ease;display:grid;grid-template-columns:41.1% 49.5%;justify-content:space-between}
.wp-addon-slide.is-active{position:relative;opacity:1;pointer-events:auto}
.wp-addon-text h5{margin-top:5.75rem;font-family:var(--font-body);font-size:.94rem;font-weight:300;letter-spacing:.05em;text-transform:uppercase}
.wp-addon-text h3{margin-top:6.4rem;font-size:clamp(1.5rem,2.1vw,1.875rem)}
.wp-addon-text p{margin-top:1.25rem;font-size:.7rem;font-weight:400;line-height:1.85;color:#656565}
.wp-addon-text .wp-price-lg{margin-top:3.8rem}
.wp-addon-panel{background:#f7f7f2;display:flex;align-items:center;justify-content:center;aspect-ratio:648/659}
.wp-addon-img--tall{width:50.8%;aspect-ratio:329/493;object-fit:cover}
.wp-addon-img--wide{width:83%;aspect-ratio:538/493;object-fit:cover}
.wp-addon-nav{display:flex;align-items:center;gap:1.8rem;margin:1.75rem 0 0 8.7%}
.wp-addon-arrow{background:none;border:0;padding:0;cursor:pointer;color:var(--color-text);opacity:.85;transition:opacity .2s}
.wp-addon-arrow:hover{opacity:.5}
.wp-addon-arrow svg{display:block;width:34px;height:12px}
.wp-addon-count{font-size:.7rem;color:#656565}
.wp-quote{position:relative}
.wp-quote>img{width:100%;height:clamp(400px,44.4vw,660px);object-fit:cover}
.wp-quote::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25)}
.wp-quote-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:2rem}
.wp-quote-content h3{color:#fff;max-width:979px;font-size:clamp(1.4rem,2.1vw,1.875rem)}
.wp-quote-content h4{color:#fff;margin-top:2.5rem;font-size:clamp(1.2rem,1.8vw,1.625rem)}
.wp-faq{max-width:979px;margin:0 auto;padding:6rem 2rem 4.6rem}
.wp-faq>h3{text-align:center;font-size:clamp(1.5rem,2.1vw,1.875rem)}
.wp-faq-item h4{margin-top:2.4rem;font-size:clamp(1.3rem,1.8vw,1.625rem)}
.wp-faq-item p{margin-top:.6rem;font-size:.7rem;font-weight:400;line-height:1.85;color:#101010}
.wp-film{background:#212121;color:#fff;padding:3.4rem 0 6rem}
.wp-film-inner{width:92%;max-width:calc(var(--maxw) - 4rem);margin:0 auto}
.wp-film-inner>img{width:100%;aspect-ratio:1310/358;object-fit:cover}
.wp-film-row{display:grid;grid-template-columns:1.55fr 1fr;column-gap:3rem;align-items:start;padding:3.9rem 3.4rem 0}
.wp-film h1{color:#fff}
.wp-film-row h5{margin-top:.9rem}
.wp-film-row p{max-width:430px;font-size:.7rem;font-weight:400;line-height:1.85}
.wp-save{background:#fff;text-align:center;padding:4.9rem 2rem 3.2rem}
.wp-save h2{max-width:1089px;margin:0 auto}
.wp-save p{max-width:1089px;margin:1.25rem auto 0;font-size:.7rem;font-weight:400;line-height:1.85;color:#656565}
.wp-bundles{width:92%;max-width:calc(var(--maxw) - 4rem);margin:3.4rem auto 0;display:grid;grid-template-columns:1fr 1fr;column-gap:9.4%;text-align:center}
.wp-bundle img{width:100%;aspect-ratio:593/399;object-fit:cover}
.wp-bundle h2{margin-top:1.1rem}
.wp-save-tag{margin-top:.75rem;font-size:.7rem;font-weight:400;color:#101010}
.wp-bundle p{margin-top:2.4rem;font-size:.7rem;font-weight:400;line-height:1.85;color:#101010}
.wp-bundle-price{margin-top:2.7rem;font-family:var(--font-body);font-size:.94rem;font-weight:300;letter-spacing:.05em;text-transform:uppercase;color:#101010}
.wp-cta{width:92%;max-width:calc(var(--maxw) - 4rem);margin:3.4rem auto;background:#212121;color:#fff;text-align:center;padding:5.9rem 2rem 6.4rem}
.wp-cta h2{color:#fff}
.wp-cta p{max-width:758px;margin:1.6rem auto 0;font-size:.7rem;font-weight:400;line-height:1.85}

/* ── Portfolio intro ────────────────────────────────────────── */
.portfolio-intro{width:92%;max-width:calc(var(--maxw) - 4rem);margin:108px auto 0;background:#212121;color:#fff;text-align:center;padding:9.25rem 2rem 11.2rem}
.portfolio-intro h2{color:#fff}
.portfolio-intro .eyebrow-wide{display:block;margin:.8rem auto 0;max-width:538px}
.portfolio-intro-copy{margin:.9rem auto 0;max-width:538px;font-size:.82rem;font-weight:300;line-height:1.85;color:#e8e6e2}

/* ── Contact ────────────────────────────────────────────────── */
.contact-hero{padding-bottom:3.4rem}
.contact-hero-media{position:relative}
.contact-hero-photo{width:100%;height:clamp(400px,43.6vw,650px);object-fit:cover}
.contact-hero-media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2)}
.contact-hero-text{position:absolute;top:34%;left:0;right:0;z-index:1;text-align:center;color:#fff}
.contact-hero-text h1{color:#fff;font-size:clamp(2.7rem,4.44vw,4rem);margin-top:.9rem}
.contact-hero-sub{margin-top:1.5rem;font-size:.82rem;font-weight:300}
.contact-box{position:relative;z-index:2;width:68.7%;max-width:979px;margin:-165px auto 0;background:#212121;color:#fff;padding:5.1rem 2rem 7rem}
.contact-sent{max-width:588px;margin:0 auto 2rem;text-align:center;font-size:.82rem;color:#cfccc6}
.contact-form{width:min(588px,100%);margin:0 auto;display:flex;flex-direction:column}
.cf-field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;text-align:center}
.cf-field label{font-size:.82rem;font-weight:400;color:#fff}
.cf-field input,.cf-field textarea{background:transparent;border:0;border-bottom:1px solid #7d7d7d;border-radius:0;color:#fff;font:400 .7rem/1.6 var(--font-body);height:37px;padding:0 .25rem;text-align:left}
.cf-field textarea{height:130px;resize:vertical;padding-top:.5rem}
.cf-field input:focus,.cf-field textarea:focus{outline:none;border-bottom-color:#fff}
.contact-form .btn{margin:1.8rem auto 0}

/* ── Responsive ─────────────────────────────────────────────── */
@media(max-width:768px){
  .philosophy{grid-template-columns:1fr}
  .about-hero{width:auto;margin:108px 1.25rem 0;padding-bottom:2rem}
  .about-hero::before{height:414px}
  .about-hero-grid{display:flex;flex-direction:column}
  .about-hero-right{display:contents}
  .about-hero-right h2{order:1;margin:70px 2.7rem 0}
  .about-hero-right .eyebrow-wide{order:2;margin:.6rem 2.7rem 0}
  .about-portrait{order:3;margin:42px 2.7rem 0;width:auto}
  .about-portrait img{aspect-ratio:249/283}
  .about-hero-body{order:4;margin:43px 2.7rem 0}
  .my-work{padding:4rem 0 5rem}
  .my-work-inner{grid-template-columns:1fr;width:auto;margin:0 1.25rem}
  .my-work-text{padding-top:0}
  .my-work-text h1{margin-left:0}
  .my-work-text .about-statement{margin-top:2.5rem}
  .my-work-text .about-statement+.about-statement{margin-top:2.5rem}
  .family-rows{margin-top:2.5rem}
  .family-row img{height:30vw}
  .member-of-grid{grid-template-columns:1fr;width:auto;margin:0 1.25rem;gap:2.5rem}
  .ac-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:0 1.25rem}
  .ac-side{width:100%;flex:none;margin:0!important;align-self:stretch!important;aspect-ratio:162/221}
  .ac-side--top{grid-area:1/1}
  .ac-side--bottom{grid-area:1/2}
  .ac-center{grid-area:2/1/3/3;flex:none;aspect-ratio:335/534}
  .footer-ig{flex-wrap:wrap;width:auto;margin:2rem 1.25rem 0}
  .footer-ig a{flex:1 1 30%}
  .site-footer nav{gap:1.5rem}

  /* Wedding Packages mobile */
  .wp-hero>img{height:clamp(560px,190vw,760px)}
  .wp-hero-logo img{height:56px}
  .wp-intro{padding:5rem 1.5rem 2.5rem}
  .wp-strip{width:auto;margin:0 1.25rem 2.5rem;display:grid;grid-template-columns:1fr 1fr;gap:11px}
  .wp-strip-side{width:100%;aspect-ratio:162/108}
  .wp-strip-center{grid-column:1/3;width:100%;aspect-ratio:335/382}
  .wp-luxury-inner{display:flex;flex-direction:column}
  .wp-luxury .wp-pkg-text{display:contents}
  .wp-luxury .wp-pkg-text h2{order:1;margin-top:1rem}
  .wp-luxury .wp-pkg-text>p{order:2;margin-top:1.5rem}
  .wp-luxury-photo{order:3;margin-top:2.5rem;aspect-ratio:335/314}
  .wp-luxury .wp-lists{order:4;margin-top:3rem}
  .wp-luxury .wp-price-lg{order:5;margin-top:2.5rem}
  .wp-vip-inner{grid-template-columns:1fr;row-gap:2rem}
  .wp-vip-panel{aspect-ratio:335/258}
  .wp-vip-panel img{width:37.6%}
  .wp-vip .wp-pkg-text h2{margin-top:0}
  .wp-vip .wp-lists{margin-top:2.5rem}
  .wp-vip .wp-price-lg{margin-top:2.5rem}
  .wp-addon-slide{display:flex;flex-direction:column}
  .wp-addon-panel{order:-1;aspect-ratio:335/258}
  .wp-addon-img--tall{width:37.6%}
  .wp-addon-img--wide{width:74%}
  .wp-addon-text h5{margin-top:2.9rem}
  .wp-addon-text h3{margin-top:3rem}
  .wp-addon-text .wp-price-lg{margin-top:2.5rem}
  .wp-addon-nav{margin:2rem 0 0;justify-content:center}
  .wp-film-inner>img{aspect-ratio:335/794}
  .wp-film-row{grid-template-columns:1fr;padding:2.5rem 1.4rem 0;row-gap:1.5rem}
  .wp-bundles{grid-template-columns:1fr;row-gap:3.5rem;width:auto;margin:2.5rem 1.25rem 0}
  .wp-cta{width:auto;margin:2.5rem 1.25rem;padding:4rem 1.5rem}
  .hero-image img{height:70vh}
  .contact-hero-photo{height:clamp(420px,134vw,560px)}
  .contact-hero-text{top:40%}
  .contact-box{width:auto;margin:-118px 1.25rem 0;padding:2.9rem 1.4rem 4.2rem}
  .portfolio-intro{width:auto;margin:108px 1.25rem 0;padding:5rem 1.5rem 6rem}

  /* Services (mobile mirrors the live Pixieset stacking) */
  .services-hero-box,.pkg-row,.pkg-wedding,.faq-panel,.services-portfolio,.sc-box{width:auto}
  .services-hero-photo{height:clamp(420px,134vw,560px)}
  .services-hero-box{margin:-134px 1.25rem 0;grid-template-columns:1fr;gap:0;padding:4rem 2.7rem 4.4rem}
  .services-hero-right{margin-top:2rem}
  .pkg-row{grid-template-columns:1fr;row-gap:.65rem;margin:1rem 1.25rem 0}
  .pkg-photo-card{padding:10.4rem 2.7rem 4rem;min-height:38rem}
  .pkg-photo-content h5{margin-top:.65rem}
  .pkg-photo-content p{margin-top:2.4rem;padding-top:0}
  .pkg-dark-card{padding:2rem 2.7rem 4rem;grid-template-columns:47.8fr 21.7fr 30.5fr;grid-template-rows:none;column-gap:0}
  .pkg-dark-head{grid-column:1/4;grid-row:1;margin-bottom:1.4rem}
  .pdi-big{grid-column:1;grid-row:2;aspect-ratio:119/190}
  .pdi-small{grid-column:3;grid-row:2;width:100%;margin-top:2rem;aspect-ratio:76/126}
  .pkg-dark-card p{grid-column:1/4;grid-row:3;margin-top:2.7rem}
  .pkg-dark-card .btn{grid-column:1/4;grid-row:4}
  .pkg-wedding{margin:4.25rem 1.25rem 0;min-height:43rem}
  .pkg-wedding-row{grid-template-columns:1fr;padding:0 2.7rem 4rem;row-gap:1.9rem}
  .pkg-wedding-body{max-width:none}
  .faq-panel{margin:3rem 1.25rem 0;padding:4rem 2.7rem}
  .faq-head{flex-direction:column}
  .faq-slides{margin-top:2.7rem}
  .faq-slide{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;row-gap:2.5rem}
  .faq-q{min-height:0}
  .services-portfolio{margin:3rem 1.25rem 0;grid-template-columns:48.3% 35.5%;column-gap:0;justify-content:space-between}
  .sp-text{order:3;grid-column:1/3;padding-left:0;margin-top:2.7rem}
  .sp-small{margin-left:auto;width:100%}
  .services-connect{margin-top:3rem}
  .services-connect>img{height:85vw}
  .sc-box{margin:-54px 1.25rem 0;flex-direction:column;align-items:flex-start;gap:2.4rem;padding:4rem 2.7rem}
}
