/*
Theme Name: Soulmate Filmer
Theme URI: https://soulmatefilmer.com/
Author: Soulmate Filmer
Description: A cinematic, media-first wedding photography and filmmaking theme for Soulmate Filmer.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Text Domain: soulmate-filmer
*/

:root{--ink:#0d0d0d;--ivory:#f4f0e8;--gold:#b89a67;--taupe:#a99f92;--line:rgba(13,13,13,.16);--font-display:"Cormorant Garamond",Georgia,serif;--font-sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.55}body.menu-is-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img{display:block;max-width:100%;object-fit:cover}.screen-reader-text,.skip-link{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed!important;z-index:1000;top:1rem;left:1rem;width:auto;height:auto;padding:.75rem 1rem;margin:0;clip:auto;background:#fff;color:#000}.section-pad{padding:clamp(5rem,10vw,10rem) clamp(1.2rem,5vw,5rem)}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.site-header{position:fixed;z-index:50;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,3vw,3rem);color:#fff;transition:.35s ease}.site-header.is-scrolled{background:rgba(13,13,13,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding-top:.65rem;padding-bottom:.65rem}.brand{display:flex;align-items:center;gap:.7rem;font-size:.65rem;letter-spacing:.2em;line-height:1.25}.brand img{width:52px;height:52px;object-fit:contain;filter:brightness(0) invert(1)}.site-header nav{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.4rem);font-size:.76rem;letter-spacing:.08em}.site-header nav>a:not(.nav-cta){opacity:.8}.site-header nav>a:hover,.site-header nav>a:focus-visible{opacity:1}.nav-cta,.button{display:inline-flex;justify-content:center;align-items:center;min-height:3rem;padding:.8rem 1.25rem;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}.nav-cta{margin-left:1rem}.menu-toggle{display:none;background:none;border:0;width:2.8rem;height:2.8rem}
.hero{height:100svh;min-height:620px;position:relative;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;filter:saturate(.8)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.08) 70%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 55%)}.hero-copy{position:absolute;left:clamp(1.3rem,8vw,8rem);bottom:clamp(4.5rem,10vh,8rem);max-width:760px}.hero-copy h1,.manifesto h2,.section-heading h2,.approach h2,.final-cta h2{font-family:var(--font-display);font-size:clamp(3.4rem,8vw,8rem);font-weight:400;line-height:.83;letter-spacing:-.035em;margin:.55rem 0 1.5rem}.hero-copy h1 em,.manifesto h2 em,.section-heading h2 em,.approach h2 em,.final-cta h2 em{font-weight:400;color:var(--gold)}.hero-copy>p:not(.eyebrow){max-width:33rem;color:rgba(255,255,255,.76)}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.2rem}.button.light{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.text-link{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.text-link span{margin-left:.5rem}.hero-index{position:absolute;right:clamp(1rem,3vw,3rem);bottom:1.5rem;font-size:.65rem;letter-spacing:.14em;text-transform:uppercase}
.manifesto{text-align:center;min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.manifesto h2{font-size:clamp(4rem,9vw,8.5rem)}.manifesto>p:last-child{max-width:39rem;font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.75rem)}.section-heading{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:end;margin-bottom:5rem}.section-heading h2{font-size:clamp(3.5rem,7vw,7rem);margin-bottom:0}.section-heading>p{max-width:28rem;color:#5f5b55}
.editorial-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;grid-template-rows:420px 280px 390px;gap:1rem}.photo{margin:0;position:relative;overflow:hidden;background:#d8d0c4}.photo.primary{grid-row:span 2;grid-column:span 2}.photo img{width:100%;height:100%;transition:transform .8s ease}.photo:hover img{transform:scale(1.025)}.photo figcaption{position:absolute;bottom:1rem;left:1rem;right:1rem;color:#fff;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between}.placeholder{background:linear-gradient(145deg,#d7cec0,#bcb09e);display:grid;place-items:center;text-align:center}.placeholder:nth-child(even){background:linear-gradient(145deg,#beb4a7,#8e8275)}.placeholder div span{font-family:var(--font-display);font-size:3rem;color:rgba(13,13,13,.3)}.placeholder p{font-family:var(--font-display);font-size:1.7rem;margin:.3rem}.placeholder small{text-transform:uppercase;letter-spacing:.12em;font-size:.57rem}.p3{grid-column:span 2}
.dark-section{background:var(--ink);color:var(--ivory)}.dark-section .section-heading>p{color:var(--taupe)}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 1.2rem}.film{min-width:0}.featured-film{grid-column:1/-1}.film-preview{width:100%;aspect-ratio:16/9;border:1px solid rgba(255,255,255,.14);background:radial-gradient(circle at 70% 30%,#4d4439,#171717 52%);position:relative;display:grid;place-items:center}.film-preview small{position:absolute;left:1.2rem;bottom:1rem;color:var(--taupe);letter-spacing:.12em;text-transform:uppercase}.play{display:grid;place-items:center;width:4.2rem;height:4.2rem;border:1px solid rgba(255,255,255,.6);border-radius:50%;color:#fff}.film h3{font-family:var(--font-display);font-size:2rem;font-weight:400;margin:1rem 0 0}.film p{color:var(--taupe);font-size:.8rem;margin:.2rem 0}.trust-strip{background:var(--gold);display:flex;justify-content:space-between;gap:2rem;padding:1.1rem clamp(1rem,4vw,4rem);text-transform:uppercase;font-size:.62rem;font-weight:700;letter-spacing:.14em}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service-grid article{padding:1.5rem 1.5rem 3rem 0;border-right:1px solid var(--line)}.service-grid article+article{padding-left:1.5rem}.service-grid article:last-child{border:0}.service-grid span{font-size:.65rem;color:#766f66}.service-grid h3{font-family:var(--font-display);font-size:2rem;font-weight:500}.service-grid p{font-size:.9rem;color:#645f57}
.package-tabs{display:flex;gap:.4rem;overflow:auto;padding-bottom:1rem}.package-tabs button{background:none;border:1px solid rgba(255,255,255,.22);padding:.75rem 1.1rem;color:var(--taupe);white-space:nowrap;cursor:pointer}.package-tabs button[aria-selected=true]{background:var(--ivory);color:var(--ink)}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.package-grid[hidden]{display:none}.package-card{border:1px solid rgba(255,255,255,.18);padding:clamp(1.4rem,3vw,2.5rem);display:flex;flex-direction:column}.package-card.featured{border-color:var(--gold)}.package-card h3{font-family:var(--font-display);font-size:2.8rem;font-weight:400;margin:.35rem 0}.price{font-family:var(--font-display);font-size:3.2rem;margin:.2rem 0}.price span{font-family:var(--font-sans);font-size:1rem;color:var(--gold);vertical-align:top}.duration{color:var(--taupe);font-size:.8rem}.package-detail{margin:2rem 0;border-top:1px solid rgba(255,255,255,.14);padding-top:1.5rem}.detail-label{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.package-card ul{padding-left:1.15rem;color:#d5cec2;font-size:.88rem}.package-card details{border-top:1px solid rgba(255,255,255,.14);padding:1.1rem 0}.package-card summary{cursor:pointer;display:flex;justify-content:space-between}.package-card>a{margin-top:auto;padding-top:1.4rem;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;display:flex;justify-content:space-between}.price-note{font-size:.72rem;color:var(--taupe);margin-top:1.2rem}.addons{margin-top:5rem;max-width:800px}.addons>div{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.addons strong{color:var(--gold)}
.approach h2{font-size:clamp(3.5rem,7vw,7rem);max-width:1200px}.approach-copy{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin:4rem 0 5rem;max-width:900px;margin-left:auto}.approach-copy p:first-child{font-family:var(--font-display);font-size:1.8rem}.approach-image{position:relative;height:min(58vw,700px);overflow:hidden}.approach-image img{width:100%;height:100%}.process ol{display:grid;grid-template-columns:repeat(6,1fr);list-style:none;padding:0;border-top:1px solid rgba(255,255,255,.18)}.process li{padding:1.4rem 1rem 3rem 0;border-right:1px solid rgba(255,255,255,.18)}.process li+li{padding-left:1rem}.process li span{color:var(--gold);font-size:.68rem}.process li p{font-family:var(--font-display);font-size:1.35rem}
.faq-list{max-width:950px;margin-left:auto}.faq-list details{border-top:1px solid var(--line);padding:1.5rem 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;font-family:var(--font-display);font-size:1.55rem;display:flex;justify-content:space-between}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{max-width:650px;color:#625c54}.terms-note{max-width:650px;margin:2rem 0 0 auto;font-size:.75rem;color:#71695f}
.final-cta{height:80vh;min-height:580px;position:relative;color:#fff;overflow:hidden}.final-cta>img{position:absolute;inset:0;width:100%;height:100%}.final-cta>div:first-of-type{position:absolute;inset:0;background:rgba(0,0,0,.45)}.final-cta-copy{position:absolute;left:clamp(1.2rem,7vw,7rem);top:50%;transform:translateY(-50%)}.final-cta h2{font-size:clamp(4rem,8vw,8rem)}
.enquiry{background:#dcd4c8}.enquiry-form{max-width:1100px;margin:0 auto}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 3rem}.enquiry-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{border:0;border-bottom:1px solid rgba(13,13,13,.35);background:transparent;border-radius:0;padding:.8rem 0;outline:none;text-transform:none}.enquiry-form textarea{margin-bottom:2rem}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--ink)}.source-field{max-width:50%}.website-field{position:absolute;left:-9999px}.enquiry-form button{margin-top:2.5rem;background:var(--ink);color:var(--ivory);border:0;padding:1rem 1.5rem;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;cursor:pointer}.form-status{font-size:.8rem;min-height:1.4rem}
footer{background:var(--ink);color:var(--ivory);padding:4rem clamp(1.2rem,5vw,5rem) 2rem;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end}footer img{width:88px;height:88px;object-fit:contain;filter:brightness(0) invert(1)}footer>div p{color:var(--taupe);font-size:.8rem}footer nav{display:flex;gap:2rem;text-transform:capitalize;font-size:.8rem}footer>p{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:1rem;font-size:.65rem;color:var(--taupe)}.whatsapp-float{position:fixed;z-index:45;right:1.25rem;bottom:1.25rem;padding:.8rem 1rem;background:#1f6f50;color:#fff;border-radius:999px;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 30px rgba(0,0,0,.22)}.basic-page{min-height:75vh;padding-top:10rem}.basic-page h1{font-family:var(--font-display);font-size:clamp(3rem,7vw,6rem);font-weight:400}
@media(max-width:900px){.site-header nav{position:fixed;inset:0;background:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:3rem;transform:translateX(100%);transition:.3s}.site-header nav.nav-open{transform:translateX(0)}.site-header nav a{font-family:var(--font-display);font-size:2.5rem}.site-header nav .nav-cta{font-family:var(--font-sans);font-size:.7rem;margin:1rem 0 0}.menu-toggle{display:block;z-index:2}.menu-toggle span:not(.screen-reader-text){display:block;height:1px;background:#fff;margin:7px}.section-heading{grid-template-columns:1fr;margin-bottom:3rem}.editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:440px 250px 250px 280px}.photo.primary{grid-column:1/-1;grid-row:auto}.p3{grid-column:1/-1}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{border-bottom:1px solid var(--line)}.process ol{grid-template-columns:1fr 1fr 1fr}.process li{border-bottom:1px solid rgba(255,255,255,.18)}.trust-strip{overflow:auto;white-space:nowrap}}
@media(max-width:620px){.section-pad{padding:5rem 1.15rem}.hero{min-height:690px}.hero-copy{left:1.15rem;right:1.15rem}.hero-copy h1{font-size:3.8rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.1rem}.hero-index{display:none}.manifesto{min-height:68vh}.editorial-grid{display:flex;flex-direction:column}.photo{height:330px}.photo.primary{height:460px}.film-grid,.package-grid,.approach-copy,.field-grid{grid-template-columns:1fr}.film-grid{gap:2.5rem}.featured-film{grid-column:auto}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:1.5rem 0}.package-card h3{font-size:2.4rem}.approach-copy{gap:1rem;margin:2rem 0 3rem}.approach-image{height:68vh}.process ol{grid-template-columns:1fr 1fr}.source-field{max-width:100%}footer{grid-template-columns:1fr}footer nav{flex-wrap:wrap}footer>p{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
