:root{--navy:#FFFFFF;--green:#FFFFFF;--sage:#FFFFFF;--cream:#000000;--slate:#333333;--mist:#111111;--paper:#000000;--muted:#B5B5B5}
*{box-sizing:border-box}body{margin:0;font-family:'Montserrat',Arial,sans-serif;color:var(--navy);background:var(--paper);line-height:1.6}
a{color:var(--green)}header{position:sticky;top:0;z-index:10;background:var(--cream);border-bottom:3px solid var(--green);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:.8rem 1.5rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--navy)}.mark{height:58px}
.brand span{display:flex;flex-direction:column;line-height:1}.brand b{font-family:'Montserrat',serif;font-size:1.45rem;letter-spacing:.06em;text-transform:uppercase}.brand i{font-family:'Montserrat',cursive;font-style:normal;color:var(--green);font-size:1.5rem;margin-left:2.2rem}
nav a{color:var(--navy);text-decoration:none;margin-left:1.1rem;font-family:'Montserrat',Arial,sans-serif;font-size:.9rem;letter-spacing:.05em}nav a:hover{color:var(--green);text-decoration:underline}
.hero{position:relative;height:88vh;min-height:420px;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--green))}
.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.overlay{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;background:rgba(27,42,65,.45);padding:1rem}
.overlay h1{font-size:clamp(1.8rem,4.5vw,3.4rem);font-weight:normal;max-width:900px;margin:0 0 1.5rem}
.btn{display:inline-block;background:var(--green);color:#fff;padding:.85rem 1.8rem;text-decoration:none;font-family:'Montserrat',Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--mist);cursor:pointer}
.btn:hover{background:var(--sage);color:var(--navy)}
section{padding:4.5rem 1.5rem}section .wrap{max-width:1000px;margin:auto}
section:nth-of-type(even){background:var(--mist)}h1,h2,h3{font-family:'Montserrat',serif}h2{font-weight:700;font-size:2rem;border-bottom:3px solid var(--sage);display:inline-block}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}
.card{background:#fff;padding:1.5rem;border-top:4px solid var(--green)}
.tag{font-family:'Montserrat',Arial,sans-serif;font-size:.75rem;background:var(--slate);color:#fff;padding:.2rem .5rem}
.placeholder{aspect-ratio:16/9;background:var(--slate);color:var(--mist);display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem}
details{background:#fff;margin:.6rem 0;padding:1rem}summary{cursor:pointer;font-weight:bold}
form{display:grid;gap:.8rem;max-width:600px}input,textarea,select{padding:.7rem;border:1px solid var(--slate);font:inherit}
footer{background:var(--navy);color:var(--mist);text-align:center;padding:2rem;font-family:'Montserrat',Arial,sans-serif;font-size:.85rem}
@media(max-width:700px){nav a{margin:0 .7rem 0 0;font-size:.8rem}nav{width:100%;margin-top:.5rem}section{padding:3rem 1rem}}
.flogo{width:180px;margin-bottom:.8rem}footer{color:var(--cream)}
@media(max-width:700px){.mark{height:46px}.brand b{font-size:1.1rem}.brand i{font-size:1.2rem;margin-left:1.6rem}}
nav a{white-space:nowrap;display:inline-block}

.hlogo{height:64px;width:auto;display:block}
.navtoggle,.burger{display:none}
@media(min-width:701px){.fam-grid{grid-template-columns:repeat(4,1fr)}}
@media(min-width:701px) and (max-width:1000px){.fam-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
 header{padding:.6rem 1rem}.hlogo{height:48px}
 .burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
 .burger span{width:26px;height:3px;background:var(--navy);display:block}
 header nav{display:none;width:100%;flex-direction:column;margin-top:.5rem}
 header nav a{margin:0;padding:.7rem .2rem;border-top:1px solid var(--mist);font-size:1rem}
 .navtoggle:checked~nav{display:flex}
}

.photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}
.photo-row img,.card-img,.portfolio img,.about-img{width:100%;display:block;object-fit:cover}
.photo-row img{aspect-ratio:4/3}
.card-img{aspect-ratio:16/9;margin:-1.5rem -1.5rem 0;width:calc(100% + 3rem);max-width:none}
.trailer video{width:100%;aspect-ratio:16/9;background:var(--navy);display:block}.note{font-style:italic;color:var(--slate)}
.portfolio{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.portfolio figure{margin:0;background:#fff}.portfolio img{aspect-ratio:16/10}
.portfolio figcaption{padding:.7rem .9rem;font-family:'Montserrat',serif}.portfolio figcaption span{display:block;font-family:'Montserrat',sans-serif;font-size:.8rem;color:var(--slate)}
.testimonials blockquote{margin:0;background:#fff;padding:1.4rem;border-left:4px solid var(--sage);font-style:italic}
.testimonials cite{display:block;margin-top:.8rem;font-style:normal;font-weight:600;color:var(--green)}
.about-img{max-width:560px;aspect-ratio:16/9;margin:1.5rem 0}
@media(max-width:700px){.photo-row{grid-template-columns:1fr}.portfolio{grid-template-columns:1fr 1fr}}
section{scroll-margin-top:80px}html{scroll-behavior:smooth}

/* BVP theme: white on black */
body{background:#000;color:#fff;font-weight:400}
h1,h2,h3{font-weight:800;letter-spacing:.02em}h3{font-weight:700}
header{background:#000!important;border-bottom:1px solid #333}
nav a{color:#fff}nav a:hover{color:#B5B5B5}
.btn{background:#fff!important;color:#000!important;font-weight:700}.btn:hover{background:#ccc!important}
section:nth-of-type(even){background:#111}
footer{background:#000;color:#B5B5B5;border-top:1px solid #333}
input,textarea,select{background:#111;color:#fff;border:1px solid #444}
a{color:#fff}.hlogo{height:40px;width:auto}.flogo{max-width:240px}
.hero{background:#000}.trailer video{background:#000}.card{background:#000;border:1px solid #333;border-top:4px solid #fff;color:#fff}
.note,.portfolio figcaption span{color:#B5B5B5}.tag{background:#333}.brand b,.brand i{color:#fff}.testimonials cite{color:#fff}
.portfolio figure,blockquote,.faq details{background:#0a0a0a;color:#fff;border-color:#333}
.about-photo{border:1px solid #444;border-radius:12px;box-shadow:0 0 0 6px #111;object-fit:cover;aspect-ratio:4/5;height:auto}
