:root{--cream:#F4EDE2;--sand:#E4D5C1;--sage:#A3C293;--sage-deep:#6b8e5e;--terra:#C77B54;--terra-dark:#a3603e;--espresso:#3d3229;--body:#5c4f3f;--muted:#9a8878;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--espresso);}
img{max-width:100%;}


.work-thumb{position:relative;}
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(244,237,226,0.92);display:flex;align-items:center;justify-content:center;transition:transform 0.2s,background 0.2s;pointer-events:none;}
.play-btn::after{content:'';width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid var(--espresso);margin-left:3px;}
.work-card:hover .play-btn{transform:translate(-50%,-50%) scale(1.1);background:#fff;}
.work-thumb iframe.active-player{width:100%;height:100%;border:none;display:block;}

/* NAV */
nav{background:var(--cream);padding:12px clamp(20px,5vw,52px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--sand);position:sticky;top:0;z-index:200;}
.logo-wrap{display:flex;align-items:center;gap:12px;cursor:pointer;}
.logo-img{height:46px;width:auto;display:block;}
.wordmark-img{height:16px;width:auto;display:block;}
.nav-links{display:flex;gap:clamp(18px,3vw,32px);align-items:center;}
.nav-links a{font-size:14px;color:var(--body);text-decoration:none;cursor:pointer;font-weight:400;transition:color 0.2s;}
.nav-links a:hover{color:var(--espresso);}
.nav-links a.active{color:var(--espresso);font-weight:500;}
.nav-cta{background:var(--terra)!important;color:#fff!important;padding:10px 22px;border-radius:40px;font-size:13px;font-weight:500;}
.nav-cta:hover{background:var(--terra-dark)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:210;}
.hamburger span{display:block;width:24px;height:2px;background:var(--espresso);transition:all 0.25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.btn-primary{display:inline-block;background:var(--terra);color:#fff;padding:14px 32px;border-radius:50px;font-size:14px;font-weight:500;text-decoration:none;transition:background 0.2s;cursor:pointer;border:none;font-family:'DM Sans';}
.btn-primary:hover{background:var(--terra-dark);}
.btn-outline{display:inline-block;border:1.5px solid var(--sand);color:var(--body);padding:13px 30px;border-radius:50px;font-size:14px;text-decoration:none;cursor:pointer;transition:border-color 0.2s;}
.btn-outline:hover{border-color:var(--espresso);color:var(--espresso);}
footer{background:var(--espresso);padding:28px clamp(20px,5vw,52px);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
footer p{font-size:13px;color:rgba(244,237,226,0.35);}
.footer-links{display:flex;gap:24px;}
.footer-links a{font-size:13px;color:rgba(244,237,226,0.5);text-decoration:none;}
.footer-links a:hover{color:var(--cream);}

.home-hero{position:relative;overflow:hidden;padding:clamp(60px,10vw,100px) clamp(24px,5vw,52px) clamp(50px,9vw,90px);min-height:clamp(360px,55vw,620px);display:flex;align-items:center;}
.hero-video,.hero-video-mobile,.hero-video-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-video-mobile{display:none;}
.hero-video-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg, rgba(244,237,226,0.92) 0%, rgba(244,237,226,0.72) 32%, rgba(244,237,226,0.32) 62%, rgba(244,237,226,0.12) 100%);}
.home-hero-content{position:relative;z-index:2;width:100%;}
.home-hero h1{font-family:'Fraunces',serif;font-size:clamp(40px,7vw,88px);font-weight:400;font-optical-sizing:auto;font-variation-settings:'opsz' 140,'WONK' 0,'SOFT' 0;line-height:1.0;color:var(--espresso);margin-bottom:22px;max-width:820px;letter-spacing:-0.01em;}
.home-hero p{font-size:clamp(16px,2vw,18px);color:var(--body);margin-bottom:40px;font-weight:400;}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.btn-glass{display:inline-block;padding:15px 32px;border-radius:50px;font-size:14px;font-weight:500;cursor:pointer;color:var(--espresso);background:rgba(244,237,226,0.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(244,237,226,0.75);transition:background 0.25s,transform 0.15s;}
.btn-glass:hover{background:rgba(244,237,226,0.78);transform:translateY(-1px);}
.btn-glass-primary{background:rgba(199,123,84,0.88);color:#fff;border:1px solid rgba(199,123,84,0.92);}
.btn-glass-primary:hover{background:rgba(199,123,84,1);}
@media(prefers-reduced-motion:reduce){.hero-video{display:none;}.hero-video-fallback{display:block!important;}}

.terra-quote{background:var(--terra);padding:clamp(48px,7vw,64px) clamp(24px,5vw,52px);}
.quote-inner{max-width:820px;}
.terra-quote blockquote{font-family:'DM Sans',sans-serif;font-style:normal;font-weight:400;font-size:clamp(19px,2.8vw,32px);line-height:1.4;color:#fff;margin-bottom:18px;}
.terra-quote cite{font-size:14px;color:rgba(255,255,255,0.7);font-style:normal;}
.quote-dots{display:flex;gap:10px;margin-top:28px;}
.qdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,0.3);cursor:pointer;transition:background 0.2s;border:none;padding:0;}
.qdot.active{background:#fff;}

.filmstrip{background:var(--espresso);padding:52px 0;}
.filmstrip-label{padding:0 clamp(24px,5vw,52px);font-size:12px;color:var(--sage);letter-spacing:0.06em;margin-bottom:22px;font-weight:500;}
.strip-scroll{display:flex;gap:14px;padding:0 clamp(24px,5vw,52px) 8px;overflow-x:auto;scrollbar-width:none;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch;}
.strip-scroll::-webkit-scrollbar{display:none;}
.strip-scroll:active{cursor:grabbing;}
.strip-item{flex:0 0 clamp(240px,40vw,300px);border-radius:12px;overflow:hidden;position:relative;background:#1a1a1a;cursor:pointer;}
.strip-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:rgba(244,237,226,0.92);display:flex;align-items:center;justify-content:center;transition:transform 0.2s,background 0.2s;z-index:2;pointer-events:none;}
.strip-play::after{content:'';width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid #3d3229;margin-left:3px;}
.strip-item:hover .strip-play{transform:translate(-50%,-50%) scale(1.1);background:#fff;}
.strip-item iframe.active-player{width:100%;height:100%;border:none;display:block;}
.strip-item img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;}
.strip-overlay{position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,0.72));display:flex;align-items:flex-end;padding:18px;}
.strip-overlay h3{font-size:15px;font-weight:500;color:#fff;margin-bottom:3px;}
.strip-overlay span{font-size:12px;color:rgba(255,255,255,0.55);display:block;}
.strip-cta{padding:24px clamp(24px,5vw,52px) 0;}
.strip-cta a{font-size:14px;color:rgba(244,237,226,0.55);text-decoration:none;cursor:pointer;}
.strip-cta a:hover{color:var(--cream);}
.how-section{background:var(--cream);padding:70px clamp(24px,5vw,52px) 80px;}
.pricing-strip{background:var(--sand);padding:32px clamp(24px,5vw,52px);}
.pricing-inner{max-width:1200px;display:flex;flex-wrap:wrap;align-items:center;gap:clamp(20px,4vw,50px);}
.pricing-label{display:block;font-size:12px;color:var(--sage-deep);letter-spacing:0.04em;margin-bottom:4px;}
.pricing-amount{display:block;font-family:'Fraunces',serif;font-size:20px;color:var(--espresso);}
.pricing-note{font-size:13px;color:var(--muted);font-style:italic;margin-left:auto;}
.fade-up{opacity:0;transform:translateY(24px);transition:opacity 0.6s ease,transform 0.6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}
.how-label{font-size:12px;color:var(--sage-deep);letter-spacing:0.06em;font-weight:500;margin-bottom:36px;}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.how-num{font-family:'Fraunces',serif;font-size:32px;color:var(--sage);margin-bottom:14px;}
.how-step h3{font-family:'Fraunces',serif;font-size:19px;font-weight:400;color:var(--espresso);margin-bottom:10px;}
.how-step p{font-size:14px;line-height:1.6;color:var(--body);font-weight:300;}
@media(max-width:900px){.how-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.how-grid{grid-template-columns:1fr;}}

.work-hero{padding:clamp(50px,8vw,70px) clamp(24px,5vw,52px) 40px;border-bottom:1px solid var(--sand);}
.work-hero h1{font-family:'Fraunces',serif;font-size:clamp(36px,5.5vw,64px);font-weight:400;font-optical-sizing:auto;font-variation-settings:'opsz' 140,'WONK' 0,'SOFT' 0;letter-spacing:-0.01em;color:var(--espresso);margin-bottom:32px;}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.filter-tab{padding:9px 18px;border-radius:40px;border:1.5px solid var(--sand);background:transparent;font-family:'DM Sans';font-size:13px;font-weight:500;color:var(--body);cursor:pointer;transition:all 0.15s;white-space:nowrap;}
.filter-tab:hover{border-color:var(--espresso);color:var(--espresso);}
.filter-tab.active{background:var(--espresso);color:var(--cream);border-color:var(--espresso);}
.work-body{padding:clamp(36px,6vw,50px) clamp(24px,5vw,52px);}
.work-category{display:none;}.work-category.active{display:block;}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.work-card{border-radius:16px;overflow:hidden;background:var(--espresso);cursor:pointer;transition:transform 0.2s;display:block;}
.work-card:hover{transform:translateY(-3px);}
.work-card.highlight{box-shadow:0 0 0 3px var(--terra);animation:pulseHighlight 1.6s ease 2;}
@keyframes pulseHighlight{0%,100%{box-shadow:0 0 0 3px var(--terra);}50%{box-shadow:0 0 0 3px transparent;}}
.work-card.featured{grid-column:span 3;}
.work-thumb{aspect-ratio:16/10;overflow:hidden;}
.work-card.featured .work-thumb{aspect-ratio:16/9;}
.work-thumb img,.work-thumb-p{width:100%;height:100%;object-fit:cover;display:block;}
#cat-weddings .work-thumb img{object-fit:contain;background:#1a1a1a;}
.work-info{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.work-info h3{font-family:'Fraunces',serif;font-size:clamp(13px,1.4vw,15px);font-weight:400;color:var(--cream);}
.work-info span{font-size:11px;color:rgba(244,237,226,0.4);text-align:right;white-space:nowrap;}
.coming-soon{opacity:0.45;pointer-events:none;}

.about-hero{padding:clamp(60px,8vw,80px) clamp(24px,5vw,52px) 50px;border-bottom:1px solid var(--sand);}
.about-hero h1{font-family:'Fraunces',serif;font-size:clamp(36px,5.5vw,64px);font-weight:400;font-optical-sizing:auto;font-variation-settings:'opsz' 140,'WONK' 0,'SOFT' 0;letter-spacing:-0.01em;color:var(--espresso);}
.about-body{padding:clamp(50px,8vw,70px) clamp(24px,5vw,52px);display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(40px,6vw,70px);align-items:start;max-width:1200px;}
.about-photo{aspect-ratio:3/4;border-radius:20px;background:linear-gradient(160deg,var(--sage) 0%,var(--espresso) 100%);position:sticky;top:90px;}
.about-text .terra-bar{width:44px;height:3px;background:var(--terra);border-radius:2px;margin-bottom:28px;}
.about-text p{font-size:clamp(15px,1.8vw,17px);line-height:1.8;color:var(--body);margin-bottom:20px;font-weight:300;}
.about-text p:last-of-type{margin-bottom:36px;}
.about-testimonials{padding:0 clamp(24px,5vw,52px) 80px;}
.test-label{font-size:12px;color:var(--sage-deep);font-weight:500;letter-spacing:0.06em;margin-bottom:24px;}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.test-card{background:#fff;border:1px solid var(--sand);border-radius:16px;padding:26px;}
.test-stars{color:var(--terra);font-size:12px;letter-spacing:2px;margin-bottom:14px;}
.test-card p{font-family:'Fraunces',serif;font-style:italic;font-size:15px;line-height:1.65;color:var(--espresso);margin-bottom:16px;font-weight:300;}
.test-card cite{font-size:13px;color:var(--muted);font-style:normal;}

.contact-page{background:var(--cream);min-height:calc(100vh - 71px);display:flex;align-items:center;justify-content:center;padding:clamp(60px,8vw,80px) clamp(24px,5vw,52px);}
.contact-inner{max-width:640px;width:100%;}
.contact-inner h1{font-family:'Fraunces',serif;font-size:clamp(32px,5vw,56px);font-weight:400;font-optical-sizing:auto;font-variation-settings:'opsz' 140,'WONK' 0,'SOFT' 0;letter-spacing:-0.01em;color:var(--espresso);margin-bottom:14px;line-height:1.05;}
.contact-inner p{font-size:16px;color:var(--muted);margin-bottom:44px;font-weight:300;}
.contact-form{display:grid;gap:12px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.contact-form input,.contact-form textarea,.contact-form select{background:#fff;border:1px solid var(--sand);border-radius:12px;padding:14px 18px;font-size:14px;color:var(--espresso);font-family:'DM Sans';width:100%;outline:none;transition:border-color 0.2s;}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--sage-deep);}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);}
.contact-form select option{background:#fff;color:var(--espresso);}
.contact-form textarea{height:110px;resize:none;}
.submit-btn{background:var(--terra);color:#fff;border:none;padding:16px;border-radius:50px;font-size:15px;font-weight:500;cursor:pointer;font-family:'DM Sans';width:100%;transition:background 0.2s;}
.submit-btn:hover{background:var(--terra-dark);}
.contact-footer{background:var(--espresso);border-top:1px solid rgba(255,255,255,0.07);padding:22px clamp(24px,5vw,52px);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.contact-footer p{font-size:13px;color:rgba(244,237,226,0.3);}
.contact-footer-links{display:flex;gap:20px;}
.contact-footer-links a{font-size:13px;color:rgba(244,237,226,0.45);text-decoration:none;}
.contact-footer-links a:hover{color:var(--cream);}

/* TABLET */
@media(max-width:1024px){
.test-grid{grid-template-columns:repeat(2,1fr);}
.work-grid{grid-template-columns:repeat(2,1fr);}
.work-card.featured{grid-column:span 2;}
}

/* MOBILE */
@media(max-width:768px){
.hamburger{display:flex;}
.hero-video{display:none!important;}
.hero-video-mobile{display:block;}
.home-hero{min-height:min(85vh,560px);padding:60px 24px 50px;}
.hero-video-overlay{background:linear-gradient(180deg, rgba(244,237,226,0.55) 0%, rgba(244,237,226,0.72) 55%, rgba(244,237,226,0.9) 100%);}
.btn-glass{background:var(--terra);color:#fff;border:none;backdrop-filter:none;-webkit-backdrop-filter:none;}
.btn-glass:hover{background:var(--terra-dark);}
.btn-glass:not(.btn-glass-primary){background:transparent;border:1.5px solid var(--sand);color:var(--body);}
.btn-glass:not(.btn-glass-primary):hover{border-color:var(--espresso);color:var(--espresso);background:transparent;}
.nav-links{position:fixed;top:0;right:0;height:100vh;width:min(75vw,300px);background:var(--cream);flex-direction:column;align-items:flex-start;justify-content:center;gap:28px;padding:40px;transform:translateX(100%);transition:transform 0.3s ease;box-shadow:-8px 0 40px rgba(61,50,41,0.15);}
.nav-links.open{transform:translateX(0);}
.nav-links a{font-size:20px;}
.nav-cta{font-size:16px;padding:12px 28px;}
.work-grid{grid-template-columns:1fr;}
.work-card.featured{grid-column:span 1;}
.work-card.featured .work-thumb{aspect-ratio:16/10;}
.about-body{grid-template-columns:1fr;}
.about-photo{position:static;aspect-ratio:3/4;max-width:340px;margin:0 auto;}
.test-grid{grid-template-columns:1fr;}
.contact-page{align-items:flex-start;}
.form-row{grid-template-columns:1fr;}
footer,.contact-footer{flex-direction:column;text-align:center;}
}
