:root{--bg:#080808;--panel:#111;--panel2:#161616;--gold:#d4af37;--gold2:#f0d477;--text:#f4f1e8;--muted:#aaa59a;--line:rgba(212,175,55,.24);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{height:76px;position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--max))/2));background:rgba(8,8,8,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{font-weight:900;letter-spacing:.12em}.brand span{font-weight:500;color:var(--gold);font-size:.72em}.topbar nav{display:flex;align-items:center;gap:24px;font-size:.91rem}.topbar nav a{color:#d6d2ca}.nav-cta{border:1px solid var(--gold);padding:9px 17px;color:var(--gold)!important}.hero{min-height:760px;height:92vh;display:grid;place-items:center;position:relative;background:url('assets/gallery-clean.jpg') center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.62) 52%,rgba(0,0,0,.2)),linear-gradient(0deg,#080808 0%,transparent 35%)}.hero-content{position:relative;width:min(var(--max),calc(100% - 40px));padding-top:60px}.eyebrow{color:var(--gold);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.hero h1,.section h2{font-family:Georgia,serif;line-height:1.03;margin:.25em 0}.hero h1{font-size:clamp(3.4rem,8vw,7.5rem);max-width:900px}.hero h1 em{color:var(--gold2);font-weight:400}.hero-copy{max-width:630px;color:#d4d0c7;font-size:1.08rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 22px;border:1px solid transparent;font-weight:800;letter-spacing:.02em;cursor:pointer}.primary{background:var(--gold);color:#090909}.primary:hover{background:var(--gold2)}.ghost{border-color:rgba(255,255,255,.25);background:rgba(0,0,0,.25)}.section{padding:110px 0}.section-head{max-width:720px;margin-bottom:42px}.section h2{font-size:clamp(2.5rem,5vw,4.5rem)}.section-head>p:not(.eyebrow){color:var(--muted)}.package-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{position:relative;background:linear-gradient(145deg,var(--panel2),#0d0d0d);border:1px solid rgba(255,255,255,.08);padding:30px;min-height:360px;display:flex;flex-direction:column}.card:hover{transform:translateY(-4px);border-color:var(--line)}.card,.btn,.text-link{transition:.25s}.card .label{color:var(--gold);text-transform:uppercase;font-size:.77rem;letter-spacing:.14em;font-weight:800}.card h3{font-family:Georgia,serif;font-size:3.2rem;margin:0 0 20px}.card ul{list-style:none;padding:0;margin:0 0 26px;color:#c6c1b7}.card li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.card li:before{content:'✓';color:var(--gold);margin-right:9px}.text-link{margin-top:auto;color:var(--gold);font-weight:800}.featured{border-color:var(--gold);box-shadow:0 16px 55px rgba(0,0,0,.35)}.popular{position:absolute;right:18px;top:18px;background:var(--gold);color:#090909;font-size:.66rem;font-weight:900;padding:5px 8px;text-transform:uppercase}.correction{margin-top:22px;border:1px solid var(--line);background:#0d0d0d}.correction summary{cursor:pointer;padding:20px 24px;color:var(--gold);font-weight:800}.correction-grid{display:grid;grid-template-columns:repeat(2,1fr);padding:0 24px 22px;gap:10px}.correction-grid p{display:flex;justify-content:space-between;margin:0;background:#141414;padding:16px}.correction-grid span{color:var(--gold)}.results-section{background:#0d0d0d;border-block:1px solid rgba(255,255,255,.06)}.result-block{display:grid;grid-template-columns:280px 1fr;gap:30px;padding:28px 0 52px;border-top:1px solid var(--line)}.result-copy span{font-family:Georgia,serif;color:var(--gold);font-size:3rem}.result-copy h3{font-size:2rem;margin:0}.result-copy p{color:var(--muted)}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-slot{min-height:330px;border:1px dashed rgba(212,175,55,.44);background:radial-gradient(circle at 50% 40%,#252525,#111);display:flex;flex-direction:column;justify-content:space-between;padding:20px;color:#8d887d}.photo-slot small{color:var(--gold);font-weight:900;letter-spacing:.16em}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}.contact-stack{display:flex;flex-direction:column;gap:11px;margin-top:30px}.contact-stack a{font-size:1.13rem;color:var(--gold)}.contact-stack span{color:var(--muted)}.form-card{background:#111;border:1px solid var(--line);padding:30px}.form-card h3{font-family:Georgia,serif;font-size:2rem;margin-top:0}label,legend{display:block;color:#d7d1c5;font-size:.84rem;font-weight:700}input,select,textarea{width:100%;margin:7px 0 18px;background:#090909;border:1px solid #34322d;color:#fff;padding:13px 14px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:500;margin-bottom:20px}.check input{width:auto;margin:4px 0}.full{width:100%}.form-note{font-size:.76rem;color:#8f8a80;margin:12px 0 0}.hidden{position:absolute;left:-9999px}.reviews-section{background:linear-gradient(180deg,#0a0a0a,#111)}.empty-review{border-left:2px solid var(--gold);padding:5px 0 5px 20px;margin-top:26px}.empty-review p{color:var(--muted)}.rating{border:0;padding:0;margin:0 0 18px}.rating label{display:inline-flex;margin-right:11px;cursor:pointer}.rating input{width:auto;margin:0 5px 0 0}.rating span{color:var(--gold);letter-spacing:1px}.rating i{color:#3a3833;font-style:normal}footer{border-top:1px solid var(--line);padding:34px 0;background:#070707}.footer-inner{display:flex;justify-content:space-between;align-items:center}.footer-inner p{color:var(--muted);margin:.25rem 0}.socials{display:flex;gap:18px}.socials a{color:var(--gold)}.reveal{opacity:0;transform:translateY(18px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.topbar nav a:not(.nav-cta){display:none}.package-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:25px}.result-block{grid-template-columns:1fr}.hero{min-height:680px}.section{padding:82px 0}}
@media(max-width:580px){.wrap,.hero-content{width:min(100% - 24px,var(--max))}.topbar{height:66px;padding:0 12px}.brand{font-size:.85rem}.hero{height:auto;min-height:720px}.hero h1{font-size:3.25rem}.actions .btn{width:100%}.package-grid,.correction-grid,.photo-pair,.field-row{grid-template-columns:1fr}.card{min-height:320px}.section{padding:70px 0}.section h2{font-size:2.65rem}.photo-slot{min-height:240px}.form-card{padding:20px}.footer-inner{align-items:flex-start;gap:22px;flex-direction:column}.socials{flex-wrap:wrap}}
.subsection-head{margin:70px 0 24px}.subsection-head h3,.flyer-card h3{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);margin:.15em 0}.correction-cards .card h3 small{font-family:Inter,ui-sans-serif,system-ui;font-size:.28em;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.flyer-card{margin-top:28px;padding:28px;border:1px solid var(--line);background:linear-gradient(145deg,#141414,#0b0b0b);display:grid;grid-template-columns:1fr minmax(260px,420px);gap:32px;align-items:center}.flyer-card p:not(.eyebrow){color:var(--muted);max-width:560px}.flyer-card a{display:block;border:1px solid rgba(255,255,255,.09);overflow:hidden}.flyer-card img{display:block;width:100%;height:auto}.result-photo{position:relative;min-height:330px;margin:0;overflow:hidden;border:1px solid rgba(212,175,55,.34);background:#111}.result-photo img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block}.result-photo figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;padding:15px 17px;background:linear-gradient(transparent,rgba(0,0,0,.9));padding-top:48px}.result-photo small{color:var(--gold);font-weight:900;letter-spacing:.16em}.result-photo span{font-size:.72rem;color:#d0cbc2}.photo-slot{display:none}
@media(max-width:900px){.flyer-card{grid-template-columns:1fr}.correction-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.correction-cards{grid-template-columns:1fr}.flyer-card{padding:18px}.result-photo,.result-photo img{min-height:240px}}

/* V3 booking, flyer and footer refinements */
.booking-section{background:linear-gradient(180deg,#080808,#0e0e0e)}
.booking-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:24px;align-items:start}
.availability-card{position:sticky;top:100px;background:linear-gradient(145deg,#171717,#0c0c0c);border:1px solid var(--gold);padding:32px;min-height:420px;display:flex;flex-direction:column}
.availability-card h3{font-family:Georgia,serif;font-size:2.25rem;line-height:1.1;margin:.25rem 0 1rem}.availability-card>p:not(.eyebrow):not(.form-note){color:var(--muted)}
.availability-icon{width:64px;height:64px;border:1px solid var(--gold);display:grid;place-items:center;color:#090909;background:var(--gold);font:900 1.25rem/1 Inter;margin-bottom:24px;box-shadow:0 14px 40px rgba(212,175,55,.14)}
.availability-card .btn{margin-top:18px}.availability-card code{color:var(--gold2)}.hours-mini{margin-top:auto;padding-top:26px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column}.hours-mini span{color:var(--muted)}
.upload-panel{padding:18px;border:1px dashed var(--gold);background:rgba(212,175,55,.05);margin:0 0 20px}.upload-panel p{font-size:.8rem;color:var(--muted);margin:0}.upload-panel input{margin-bottom:8px}
.flyer-strip{padding:58px 0;background:#0b0b0b;border-top:1px solid rgba(255,255,255,.06)}.flyer-strip-inner{display:grid;grid-template-columns:110px 1fr auto;gap:28px;align-items:center;border:1px solid var(--line);padding:22px;background:linear-gradient(145deg,#141414,#090909)}.flyer-strip h2{font-size:clamp(2rem,4vw,3.2rem);margin:.1em 0}.flyer-strip p{color:var(--muted);margin:.2rem 0}.flyer-thumb{height:130px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.flyer-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.socials{gap:10px;flex-wrap:wrap}.social-link{display:flex;align-items:center;gap:8px;border:1px solid rgba(212,175,55,.25);padding:9px 12px;color:#ddd!important}.social-link:hover{border-color:var(--gold);color:var(--gold)!important}.social-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#090909;font-size:.68rem;font-weight:900}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr}.availability-card{position:static;min-height:auto}.flyer-strip-inner{grid-template-columns:90px 1fr}.flyer-strip-inner>.btn{grid-column:1/-1}.flyer-thumb{height:110px}}
@media(max-width:580px){.flyer-strip-inner{grid-template-columns:1fr}.flyer-thumb{height:210px}.footer-inner{gap:28px}.socials{display:grid;width:100%;grid-template-columns:1fr}.social-link{justify-content:flex-start}.availability-card{padding:22px}}

.booking-note{margin:0 0 18px;color:#ddd;line-height:1.5;font-size:15px;}

.quick-contact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.quick-contact .btn{width:100%}@media(max-width:580px){.quick-contact{grid-template-columns:1fr}}
