@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');:root{--black:#121311;--cream:#f7f5ef;--gold:#bd9d6c;--muted:#77766f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--black);background:var(--cream)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-.045em}h2{font-size:clamp(32px,4.3vw,62px);line-height:1.14}h2 em{font-style:normal;color:var(--gold)}a{color:inherit;text-decoration:none}.nav{height:82px;padding:0 max(5%,calc((100vw - 1250px)/2));display:flex;justify-content:space-between;align-items:center;background:#141511;color:white;position:relative;z-index:5}.logo{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:.17em;font-weight:800}.nav nav{display:flex;align-items:center;gap:29px;font-size:13px}.nav nav a:hover{color:var(--gold)}.navcta{border:1px solid #777;padding:12px 18px}.menu{display:none;background:none;border:0;color:white;font-size:28px}.hero{min-height:660px;height:calc(100vh - 82px);max-height:900px;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.15)),var(--hero,linear-gradient(130deg,#34342f,#777060 50%,#272a26));background-position:center;background-size:cover;color:white;display:flex;align-items:center;position:relative}.heroInner{width:min(1100px,90%);margin:auto}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.23em;margin-bottom:24px}.gold{color:var(--gold)}.hero h1{max-width:760px;font-size:clamp(45px,6.5vw,92px);line-height:1.05}.hero p{font-size:18px;color:#e2e0d9;max-width:620px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.btn{display:inline-block;padding:16px 25px;background:var(--gold);color:#161511;border:1px solid var(--gold);font-size:13px;font-weight:800;cursor:pointer;text-align:center}.btn:hover{background:#d3b88c}.btn.ghost{background:transparent;color:white;border-color:#ddd}.scrollhint{position:absolute;bottom:32px;left:5%;font-size:10px;letter-spacing:.2em}.section{padding:110px max(5%,calc((100vw - 1220px)/2))}.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.intro p{font-size:19px;line-height:1.9;color:#555}.mini{font-size:10px;letter-spacing:.12em;margin-top:30px}.dark{background:#181a18;color:white}.center{text-align:center;max-width:760px;margin:0 auto 55px}.center p{color:#8f8f88;line-height:1.7}.dark .center p,.film .center p{color:#bbb}.servicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{background:#222522;overflow:hidden}.serviceimg{height:190px;background:linear-gradient(135deg,#5d5b50,#303c3a);background-size:cover;background-position:center}.service:nth-child(2n) .serviceimg{background-color:#605747}.servicebody{padding:28px}.servicebody>span{color:var(--gold);font-size:25px}.service h3{font-size:20px;margin:15px 0}.service p{color:#b6b7b0;font-size:14px;line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.galleryitem{height:310px;padding:0;border:0;position:relative;overflow:hidden;cursor:pointer;background:#ddd}.galleryitem img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.galleryitem:hover img{transform:scale(1.05)}.galleryitem span{position:absolute;bottom:0;left:0;right:0;padding:25px;color:white;text-align:left;background:linear-gradient(transparent,#0009)}.empty{text-align:center;padding:75px 20px;border:1px dashed #bbb;color:#777}.film{background:#242622;color:white}.videowrap{max-width:1000px;margin:auto;aspect-ratio:16/9;background:#111}.videowrap iframe,.videowrap video{width:100%;height:100%;border:0}.videoplace{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse,#4a4a41,#10110f)}.play{border:1px solid var(--gold);border-radius:50%;width:75px;height:75px;display:grid;place-items:center;color:var(--gold);margin-bottom:20px}.videoplace p{color:#aaa}.pricegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pricecard{background:white;border:1px solid #e4e1d9;padding:38px;display:flex;flex-direction:column}.pricecard h3{font-size:24px}.price{font-size:52px;font-weight:800;letter-spacing:-.05em}.price small{font-size:25px}.features{border-top:1px solid #eee;padding:25px 0;flex:1}.features p{line-height:1.65;color:#5e5e5a;font-size:14px}.features b{color:var(--gold);margin-right:8px}.outline{background:transparent}.disclaimer{font-size:12px;text-align:center;color:#777;margin:28px 0 0}.extras{background:#eae7df}.extrasgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.extra{background:#fff;display:flex;gap:12px;align-items:center;padding:20px;cursor:pointer;font-size:14px}.extra input{accent-color:#a88b60;width:18px;height:18px}.extra span{flex:1}.extra strong{white-space:nowrap}.contact{background:#191b18;color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.contactcopy p{line-height:1.8;color:#b7b8b2}.contactform{background:#f8f7f3;color:#161713;padding:40px}.contactform h3{font-size:26px}.contactform label,.adminpanel label{display:block;font-size:13px;font-weight:700;margin-bottom:18px}.contactform input,.contactform textarea,.contactform select,.adminpanel input,.adminpanel textarea,.adminpanel select{width:100%;border:1px solid #dcdcd7;background:white;padding:13px;font:inherit;margin-top:8px;color:#161713}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.total{padding:18px 0;display:flex;justify-content:space-between;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:15px 0 25px}.total strong{font-size:23px}.consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important;line-height:1.5}.consent input{width:auto;margin:3px 0}.honeypot{position:absolute!important;left:-9999px!important}.notice{background:#e6f4e6;color:#235b28;padding:14px;margin-bottom:20px}.notice.error{background:#ffeded;color:#9b2727}footer{background:#10110f;color:white;text-align:center;padding:65px 20px}footer p{color:#aaa;margin:22px 0}footer small{color:#888}.lightbox{display:none;position:fixed;inset:0;background:#000e;z-index:30;align-items:center;justify-content:center;flex-direction:column;padding:25px;color:white}.lightbox.open{display:flex}.lightbox img{max-width:95%;max-height:80vh;object-fit:contain}.lightbox button{position:absolute;top:20px;right:25px;background:none;border:0;color:white;font-size:45px;cursor:pointer}.adminbody{background:#ecece8}.adminwrap{max-width:1050px;margin:auto;padding:25px 20px 80px}.adminhead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}.adminhead h1{font-size:24px}.adminhead span{color:#ae8a4e}.adminhead a{font-size:13px;text-decoration:underline}.adminpanel{background:white;padding:30px;margin-bottom:22px;border:1px solid #deded9}.adminpanel h2{font-size:25px}.adminpanel p{color:#666;font-size:14px}.admingrid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.adminitems details,.adminpanel>details{border:1px solid #e3e3df;margin:8px 0;padding:16px}.adminitems summary,.adminpanel>details>summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px}.adminitems summary span{color:#777;font-size:12px}.itemform{margin-top:25px}.adminthumb{width:160px;max-height:120px;object-fit:cover;display:block;margin:10px 0}.delete{background:#fff;border:1px solid #b44;color:#b44;padding:10px 15px;cursor:pointer;margin-top:12px}.newitem{background:#f6f4ed}.login{max-width:480px;margin:80px auto}.login input{margin-bottom:15px}@media(max-width:850px){.servicegrid{grid-template-columns:repeat(2,1fr)}.intro,.contact{grid-template-columns:1fr;gap:30px}.nav nav{display:none;position:absolute;top:82px;left:0;right:0;background:#151515;padding:25px;flex-direction:column}.nav nav.show{display:flex}.menu{display:block}.section{padding:75px 5%}}@media(max-width:600px){.servicegrid,.pricegrid,.extrasgrid,.gallery,.formrow,.admingrid{grid-template-columns:1fr}.hero{min-height:590px;height:75vh}.hero h1{font-size:46px}.section{padding:65px 20px}.galleryitem{height:340px}.contactform,.pricecard{padding:25px}.nav{padding:0 20px}.logo{font-size:15px}.adminpanel{padding:18px}.adminhead{flex-direction:column;align-items:flex-start}}

/* v1.1: Centered compact cover text, actual uploaded photo always visible */
.hero{isolation:isolate;background:#34342f;min-height:580px;height:min(760px,calc(100vh - 82px));max-height:none;justify-content:center;text-align:center;overflow:hidden}
.heroPhoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}
.heroShade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.48));z-index:-1;pointer-events:none}
.heroInner{width:min(850px,92%);margin:auto;display:flex;align-items:center;flex-direction:column;text-align:center}
.hero h1{max-width:790px;margin:0 auto 22px;font-size:clamp(30px,4vw,56px);line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
.hero .eyebrow{margin-bottom:22px}
.hero p{max-width:680px;margin:0 auto;font-size:clamp(14px,1.45vw,17px);line-height:1.65}
.hero .actions{justify-content:center;margin-top:29px}
.hero .scrollhint{left:50%;transform:translateX(-50%);white-space:nowrap}
.heroAdminPreview{display:block;width:min(480px,100%);max-height:230px;object-fit:cover;border:1px solid #ddd;margin:12px 0 25px}
@media(max-width:600px){.hero{height:70vh;min-height:500px}.hero h1{font-size:clamp(29px,8vw,39px);line-height:1.2}.hero .eyebrow{font-size:9px;letter-spacing:.16em}.hero p{font-size:14px}.hero .actions{justify-content:center}.hero .btn{padding:13px 15px}}

/* v1.2 image diagnostics & thumbnails */
.uploadInfo{background:#faf7ef;border:1px solid #e7daca;padding:12px 15px;margin:12px 0 16px;font-size:13px;line-height:1.6}.uploadInfo p{margin:5px 0}.uploadInfo .warn{color:#9c3f26}.uploadThumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:10px;margin:8px 0 22px}.uploadThumbnails>div{border:1px solid #e0ded6;background:#fff;min-width:0;padding:5px}.uploadThumbnails img{width:100%;height:85px;object-fit:cover;display:block}.uploadThumbnails span{display:block;font-size:11px;overflow-wrap:anywhere;padding:6px 0 2px}.hero h1{font-size:clamp(28px,3.4vw,48px);max-width:740px}.heroInner{max-width:800px}

/* v1.3: single selected hero preview instead of a grid of every uploaded image */
.singleHeroPreview{display:flex;align-items:center;gap:16px;padding:14px;margin:12px 0;border:1px solid #e3ded4;background:#faf9f6;max-width:660px;min-height:112px}
.singleHeroPreview img{display:block;width:160px;height:104px;object-fit:cover;border-radius:4px;flex:none}
.singleHeroPreview img[hidden]{display:none}
.heroPreviewDetails{display:flex;flex-direction:column;gap:7px;min-width:0}
.heroPreviewDetails strong{font-size:14px;overflow-wrap:anywhere}
.heroPreviewDetails span,.heroHint{font-size:13px;color:#666}
@media(max-width:540px){.singleHeroPreview{flex-direction:column;align-items:flex-start}.singleHeroPreview img{width:100%;height:auto;max-height:230px}}

/* Video management, v1.4 */
.video-admin-box{background:#f8f6f0;border:1px solid #e4dccd;padding:20px;margin:18px 0 24px}
.video-admin-box h3{font-size:19px;margin:0 0 8px}.video-admin-box p{line-height:1.6;font-size:13px}
.video-admin-box code{word-break:break-word}.video-admin-box video{display:block;margin:12px 0}
.video-admin-box .warn{color:#a43b29}.videowrap video{display:block;object-fit:contain;background:#000}

/* v1.5: editable contact details placed beneath intro, next to inquiry form */
.contactcopy{min-width:0}
.contact-more{margin-top:46px;padding:28px 30px 30px;border:1px solid rgba(191,157,108,.32);background:rgba(255,255,255,.035);border-radius:3px}
.contact-more>.eyebrow{font-size:10px;letter-spacing:.2em}
.contact-more h3{font-size:clamp(21px,2vw,28px);line-height:1.28;margin:13px 0 14px;color:#f7f4ec}
.contact-more .contact-more-intro{font-size:14px;line-height:1.8;color:#bfc0b9;margin-bottom:25px}
.contact-detail{display:flex;gap:16px;align-items:flex-start;border-top:1px solid rgba(255,255,255,.12);padding:18px 0}
.contact-detail-icon{color:var(--gold);font-size:23px;line-height:1.15;width:27px;flex:0 0 27px}
.contact-detail strong{color:#f2e5cd;font-size:13px;font-weight:700;letter-spacing:.02em}
.contact-detail p{margin:5px 0 0!important;color:#d5d5ce!important;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.contact-detail a{color:inherit;text-decoration:none}.contact-detail a:hover{text-decoration:underline}
.contact-free-text{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin:6px 0 18px;font-size:14px;line-height:1.9;white-space:normal;color:#c9c8c0;overflow-wrap:anywhere}
.contact-map-link{display:inline-block;color:var(--gold);font-size:13px;font-weight:700;margin:14px 22px 0 0;text-decoration:none}.contact-map-link:hover{text-decoration:underline}
.contact-admin-box{background:#f8f6f0;border:1px solid #e4dccd;padding:20px;margin:20px 0 25px}.contact-admin-box h3{font-size:20px;margin:0 0 9px}.contact-admin-box p{font-size:13px;line-height:1.65}
@media(max-width:850px){.contact-more{margin-top:30px}}
@media(max-width:600px){.contact-more{padding:22px 19px}}

/* v1.6: Per-service front image dimensions. Aspect ratio retained on smaller screens. */
.serviceimg{height:auto;width:100%;max-width:var(--service-image-width,400px);aspect-ratio:2/1;margin-inline:auto;background-position:center;background-size:cover;background-repeat:no-repeat;}
.dimension-control{border:1px solid #e2d6bf;background:#faf7f0;padding:16px;margin:15px 0 20px;}
.dimension-control strong{display:block;font-size:14px;margin-bottom:12px;}
.dimension-control small{display:block;color:#756a59;line-height:1.6;}
.dimension-control .formrow{margin-bottom:0;}
@media(max-width:600px){.dimension-control .formrow{grid-template-columns:1fr 1fr;}}
