 :root{--ink:#29221d;--muted:#766c62;--paper:#f7f3ed;--white:#fffdfa;--sand:#e8dfd2;--gold:#bd8d51;--brown:#684326;--dark:#241b16;--line:#e8e0d6;--green:#49755b;--red:#a94e45;--shadow:0 18px 55px rgba(40,27,16,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.site-header{height:82px;padding:0 clamp(22px,6vw,90px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,250,.97);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(80,60,40,.08)}.brand{font-family:'Playfair Display',serif;font-size:20px;letter-spacing:.02em;color:#34271d;white-space:nowrap}.brand b{color:var(--gold);font-size:17px}.brand img{max-height:49px;max-width:200px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,34px);font-size:12px;font-weight:600}.main-nav>a:not(.button){transition:color .2s}.main-nav>a:hover{color:var(--gold)}.menu-toggle{display:none;border:0;background:none;font-size:24px}.button{border:1px solid var(--brown);display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 21px;background:var(--brown);color:#fffdf9;font-size:12px;font-weight:700;letter-spacing:.01em;transition:transform .2s,background .2s;border-radius:3px;cursor:pointer}.button:hover{transform:translateY(-2px);background:#4f311e}.button span{font-size:16px}.button-small{padding:10px 16px;font-size:11px}.button-outline{background:transparent;color:var(--brown)}.button-outline:hover{color:white}.button-light{background:var(--paper);border-color:var(--paper);color:var(--brown)}.button-light:hover{background:white;color:var(--brown)}.hero{position:relative;min-height:660px;height:min(76vh,800px);display:flex;align-items:center;background-image:var(--hero-image);background-position:center 43%;background-size:cover;color:white;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,17,13,.77) 0%,rgba(20,17,13,.56) 44%,rgba(20,17,13,.06) 100%),linear-gradient(0deg,rgba(20,17,13,.22),transparent 40%)}.hero-content{position:relative;width:min(660px,90%);margin-left:clamp(24px,9vw,140px);padding:70px 0}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700;color:var(--gold);margin:0 0 18px}.hero h1,.booking-intro h1{font-family:'Playfair Display',serif;font-weight:400;font-size:clamp(48px,6vw,82px);line-height:1.03;letter-spacing:-.035em;margin:0 0 23px;max-width:700px}.hero-copy{max-width:420px;color:rgba(255,255,255,.87);font-size:15px;line-height:1.8;margin:0 0 29px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.watch-link{font-size:12px;font-weight:600}.hero-note{position:absolute;right:clamp(22px,6vw,90px);bottom:34px;font-size:9px;letter-spacing:.2em}.hero-note span{color:#e7bd83}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:27px clamp(20px,7vw,100px);background:#fffdfa;border-bottom:1px solid var(--line);gap:16px}.trust-strip div{display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;font-weight:600;color:#5f554c}.trust-strip span{color:var(--gold)}.section{padding:100px clamp(22px,8vw,120px)}.intro{text-align:center;max-width:1020px;margin:auto}.intro h2,.section h2,.closing-cta h2{font-family:'Playfair Display',serif;font-size:clamp(36px,4vw,55px);font-weight:400;line-height:1.14;letter-spacing:-.025em;margin:0 0 24px}.intro h2 em,.closing-cta h2 em{font-weight:400;color:#98704b}.section-copy{max-width:660px;margin:0 auto;color:var(--muted);line-height:1.9}.services,.packages-section{background:#f0e9df}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:43px}.section-heading h2{margin:0}.section-heading>p{max-width:365px;color:var(--muted);font-size:13px;margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{padding:31px;background:rgba(255,253,250,.78);border:1px solid #e5dbce;min-height:225px}.service-number{font-family:'Playfair Display',serif;font-size:29px;color:#b28b61;margin-bottom:28px}.service-card h3,.film-meta h3,.package-card h3{font-family:'Playfair Display',serif;font-size:24px;font-weight:400;margin:0 0 10px}.service-card p,.package-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.8;margin:0}.portfolio-section{background:var(--white)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px}.film-image{height:260px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#d4c7b6}.film-image:after{content:"";position:absolute;inset:0;background:rgba(24,19,14,.12);transition:background .2s}.film-card:hover .film-image:after{background:rgba(24,19,14,.32)}.play-button{position:relative;z-index:1;width:49px;height:49px;border:1px solid rgba(255,255,255,.8);border-radius:50%;display:grid;place-items:center;color:white;font-size:13px;padding-left:3px}.film-meta{display:flex;align-items:flex-start;justify-content:space-between;padding:15px 2px}.film-meta h3{font-size:20px;margin-bottom:3px}.film-meta p{font-size:11px;color:var(--muted);margin:0}.film-meta>span{color:var(--gold);font-size:20px}.placeholder-film{background:linear-gradient(135deg,#c9b69f,#6d5542)}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}.package-card{position:relative;background:#fffdfa;padding:26px 22px 22px;border:1px solid #e5dbce;display:flex;flex-direction:column;align-items:flex-start}.package-card.featured{border-color:#b58a5c;box-shadow:var(--shadow)}.package-image{width:calc(100% + 44px);max-width:none;height:145px;object-fit:cover;margin:-26px -22px 24px}.popular-label{position:absolute;top:0;right:0;background:var(--brown);color:white;padding:7px 10px;font-size:8px;letter-spacing:.13em}.package-card .eyebrow{font-size:9px;margin-bottom:9px}.package-card h3{font-size:26px}.price{font-family:'Playfair Display',serif;font-size:25px;margin:2px 0 13px}.package-card ul{padding:0;list-style:none;margin:22px 0 27px;font-size:11px;color:#51473d;flex:1}.package-card li{padding:8px 0;border-bottom:1px solid #f0e9e1}.package-card li:before{content:'✓';color:#9b774f;margin-right:9px}.package-card .button{width:100%;padding:12px 9px;gap:8px;font-size:10px}.package-note{text-align:center;color:var(--muted);font-size:12px;margin:27px 0 0}.closing-cta{text-align:center;padding:90px 20px;background:var(--dark);color:white}.closing-cta h2{font-size:clamp(40px,5vw,65px);margin-bottom:28px}.site-footer{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;padding:48px clamp(22px,8vw,120px) 25px;background:#f9f5ef}.footer-brand{font-size:17px}.site-footer p{font-size:12px;color:var(--muted);max-width:340px}.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-size:12px}.site-footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:10px}.booking-page{min-height:calc(100vh - 82px);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,100px);padding:80px clamp(22px,9vw,140px);max-width:1600px;margin:auto}.booking-intro{padding-top:35px}.booking-intro h1{font-size:clamp(45px,5vw,68px)}.booking-intro>p:not(.eyebrow){max-width:370px;color:var(--muted);line-height:1.9}.booking-promise{display:flex;gap:14px;align-items:center;margin-top:50px;padding-top:25px;border-top:1px solid var(--line);max-width:350px}.booking-promise>span{font-size:25px;color:var(--gold)}.booking-promise b,.booking-promise small{display:block}.booking-promise b{font-size:12px}.booking-promise small{font-size:11px;color:var(--muted)}.booking-form-wrap{background:#fffdfa;padding:clamp(25px,4vw,48px);box-shadow:var(--shadow);border:1px solid #eee6dc}.form-progress{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:29px;font-size:9px;letter-spacing:.1em;color:#aaa096}.form-progress .active{color:var(--brown);font-weight:700}.booking-form h2,.success-panel h2{font-family:'Playfair Display',serif;font-size:32px;font-weight:400;margin:0 0 6px}.form-subtitle{font-size:12px;color:var(--muted);margin:0 0 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 15px}.booking-form label,.content-form label,.login-card label,.availability-form label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;color:#51473d}.booking-form label b{display:inline;color:#a75c48}.booking-form input,.booking-form select,.booking-form textarea,.content-form input,.content-form textarea,.login-card input,.availability-form input,.availability-form select,.inline-status-form select{width:100%;border:1px solid #e5ddd2;background:#fffefa;padding:12px 12px;border-radius:2px;color:var(--ink);outline:none;font-size:12px}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus,.content-form input:focus,.content-form textarea:focus{border-color:#a78055;box-shadow:0 0 0 3px rgba(167,128,85,.1)}.booking-form input::placeholder,.booking-form textarea::placeholder{color:#b0a69b}.full-label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:700;margin-top:19px}.privacy-note{font-size:10px;color:var(--muted);margin:20px 0}.submit-button{width:100%}.success-panel{text-align:center;padding:35px 10px}.success-icon{width:55px;height:55px;border-radius:50%;background:#efe5d8;color:var(--brown);display:grid;place-items:center;margin:0 auto 25px;font-size:25px}.success-panel>p:not(.eyebrow){color:var(--muted);font-size:13px;margin-bottom:28px}.alert{padding:12px 15px;background:#e7f0e7;color:#365b3e;font-size:12px;margin:15px 0}.alert-error{background:#f6e8e5;color:#8e342d}.admin-login-body{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(120deg,#eee3d5,#faf7f1)}.login-card{width:min(440px,100%);padding:42px;background:#fffdfa;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:17px}.login-card .brand{margin-bottom:10px}.login-card .eyebrow{margin-bottom:-9px}.login-card h1{font-family:'Playfair Display',serif;font-size:38px;font-weight:400;margin:0}.login-card>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0 0 5px}.login-card small{font-size:10px;color:var(--muted)}.admin-body{background:#f7f5f1;min-height:100vh}.admin-sidebar{width:245px;position:fixed;inset:0 auto 0 0;background:#281e17;color:#f7f0e6;padding:28px 20px;display:flex;flex-direction:column;gap:7px;z-index:20}.admin-sidebar .brand{color:#fff5e8;margin:0 8px 36px;font-size:17px}.sidebar-caption{font-size:9px;letter-spacing:.2em;color:#b9a797;padding:0 12px;margin:0 0 8px}.admin-sidebar>a:not(.brand){padding:12px;border-radius:3px;font-size:12px;color:#ded2c5}.admin-sidebar>a.side-active,.admin-sidebar>a:not(.brand):hover{background:#6a472d;color:white}.admin-sidebar .side-bottom{margin-top:auto}.admin-main{margin-left:245px;padding:45px clamp(22px,4vw,65px);max-width:1800px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:35px}.admin-topbar .eyebrow{margin-bottom:7px}.admin-topbar h1{font-family:'Playfair Display',serif;font-weight:400;font-size:40px;line-height:1.15;margin:0}.admin-topbar p:not(.eyebrow){font-size:12px;color:var(--muted);margin:7px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:28px}.stat-card{padding:22px;background:#fffdfa;border:1px solid #eee7df;display:flex;flex-direction:column;gap:6px}.stat-card span{font-size:11px;color:var(--muted)}.stat-card strong{font-family:'Playfair Display',serif;font-size:31px;font-weight:400}.stat-card small{font-size:10px;color:#9b9085}.admin-panel{background:#fffdfa;border:1px solid #eee7df;padding:25px;margin-bottom:25px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.admin-panel h2,.panel-heading h2{font-family:'Playfair Display',serif;font-weight:400;font-size:25px;margin:0 0 5px}.panel-heading p{font-size:11px;color:var(--muted);margin:0}.panel-heading>a,.admin-panel a{font-size:11px;color:#8a603a}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;min-width:720px}th{text-align:left;text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:#8c8176;font-weight:700;background:#faf7f2}th,td{padding:14px 12px;border-bottom:1px solid #f0e9e1;vertical-align:top}td b,td small{display:block}td small{color:var(--muted);font-size:10px;margin-top:4px;max-width:260px;overflow-wrap:anywhere}.status{display:inline-block;padding:5px 8px;border-radius:30px;font-size:9px;background:#eee5d8;color:#694629}.status-confirmed,.status-completed{background:#e2eee3;color:#3f6d49}.status-cancelled{background:#f5e5e2;color:#9c463d}.status-contacted{background:#e7edf4;color:#49627f}.status-new{background:#f7ecd9;color:#95672e}.admin-note{background:#eee7dd;padding:17px 20px;font-size:11px;color:#65584a;line-height:1.8}.admin-note a{color:#694326;text-decoration:underline}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filter-row a{padding:8px 12px;background:#eee8df;border-radius:2px;font-size:11px}.filter-row a.filter-active{background:var(--brown);color:white}.inline-status-form{display:flex;gap:6px;min-width:370px}.inline-status-form select{width:auto;min-width:95px;padding:7px;font-size:10px}.inline-status-form .button{padding:7px 10px}.message-details{font-size:10px;color:var(--muted);margin-top:8px}.message-details summary{cursor:pointer;color:#8a603a}.content-form{display:grid;grid-template-columns:1fr 1fr;gap:19px}.content-form label small{color:#978b7e;font-weight:400;font-size:10px}.content-form .button{justify-self:start}.check-label{flex-direction:row!important;align-items:center}.check-label input{width:auto}.availability-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:15px;align-items:end}.availability-form .button{padding:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.detail-grid p{font-size:12px;color:var(--muted);line-height:1.9}.detail-grid p b{color:var(--ink)}.detail-message{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px}.text-link{padding:12px}.admin-main> a:first-child{font-size:11px;color:#8a603a}
@media(max-width:1100px){.package-grid{grid-template-columns:repeat(2,1fr)}.section{padding:80px 5vw}.booking-page{padding:55px 5vw;gap:35px}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-main{padding:35px 25px}.admin-sidebar{width:210px}.admin-main{margin-left:210px}}
@media(max-width:760px){.site-header{height:70px;padding:0 20px}.brand{font-size:18px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fffdfa;padding:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:17px}.main-nav.open{display:flex}.main-nav .button{align-self:flex-start}.hero{height:auto;min-height:620px;background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(20,17,13,.78),rgba(20,17,13,.35)),linear-gradient(0deg,rgba(20,17,13,.25),transparent)}.hero-content{margin-left:24px;padding:80px 0}.hero h1{font-size:clamp(47px,12vw,66px)}.hero-copy{max-width:340px}.hero-note{display:none}.trust-strip{grid-template-columns:1fr 1fr;padding:22px;gap:17px}.trust-strip div{justify-content:flex-start;font-size:10px}.section{padding:65px 22px}.intro h2,.section h2{font-size:39px}.section-heading{display:block}.section-heading>p{margin-top:17px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.portfolio-grid{grid-template-columns:1fr 1fr;gap:20px 13px}.film-image{height:190px}.film-meta h3{font-size:17px}.film-meta p{font-size:10px}.package-grid{grid-template-columns:1fr}.package-card{padding:25px}.package-image{width:calc(100% + 50px);margin:-25px -25px 22px;height:190px}.site-footer{grid-template-columns:1fr;padding:40px 22px 20px}.footer-links{align-items:flex-start}.site-footer small{grid-column:1}.booking-page{grid-template-columns:1fr;padding:35px 18px;gap:28px}.booking-intro{padding-top:10px}.booking-intro h1{font-size:52px}.booking-promise{margin-top:24px}.booking-form-wrap{padding:24px 18px}.form-grid{grid-template-columns:1fr}.form-progress{font-size:8px}.admin-sidebar{position:relative;width:auto;inset:auto;display:grid;grid-template-columns:repeat(3,1fr);padding:15px;gap:5px}.admin-sidebar .brand{grid-column:1/-1;margin:0 4px 10px}.sidebar-caption{display:none}.admin-sidebar>a:not(.brand){padding:9px 6px;font-size:10px;text-align:center}.admin-sidebar .side-bottom{margin-top:0}.admin-main{margin-left:0;padding:25px 14px}.admin-topbar{align-items:flex-start;flex-direction:column;margin-bottom:22px}.admin-topbar h1{font-size:34px}.stats-grid{gap:9px}.stat-card{padding:15px}.stat-card strong{font-size:26px}.admin-panel{padding:17px}.content-form{grid-template-columns:1fr}.availability-form{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-message{grid-column:auto}.inline-status-form{min-width:360px}.login-card{padding:30px 23px}}
@media(max-width:400px){.portfolio-grid{grid-template-columns:1fr}.film-image{height:230px}.hero-actions{gap:17px}.hero-actions .button{padding:13px 15px}.stats-grid{grid-template-columns:1fr 1fr}}
