:root{--paper:#fbf9f6;--cream:#f4eee9;--ink:#272321;--muted:#7d746e;--line:#ded6d0;--gold:#b78a4a;--gold2:#d9b879;--pink:#e8c8ca;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;transition:.35s;background:rgba(251,249,246,.58);backdrop-filter:blur(14px)}.site-header.scrolled{background:rgba(251,249,246,.94);box-shadow:0 10px 35px rgba(40,30,20,.05)}.brand{display:flex;flex-direction:column;line-height:1}.brand-main{font:600 27px/1 var(--serif);letter-spacing:.11em}.brand-sub{font-size:7px;letter-spacing:.27em;color:#8b7460;margin-top:7px}.desktop-nav{display:flex;gap:30px;margin-left:auto;margin-right:40px}.nav-link{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#756d68;position:relative}.nav-link:after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--gold);transition:.3s}.nav-link:hover:after,.nav-link.active:after{right:0}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 21px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;transition:.3s;border:1px solid var(--ink)}.header-cta{padding:12px 17px}.header-cta:hover,.btn-dark:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(35,25,20,.13)}.btn-dark{background:var(--ink);color:#fff}.btn-outline{border-color:#b9aea7;background:transparent}.btn-outline:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-3px)}.btn-light{background:#fff;color:var(--ink);border-color:#fff}.btn-light:hover{transform:translateY(-3px)}.menu-btn{display:none}.mobile-menu{display:none}.section{padding:125px 6vw}.hero{min-height:100vh;overflow:hidden;padding-top:145px;display:grid;grid-template-columns:1fr .92fr;align-items:center;gap:7vw;position:relative}.hero-copy{position:relative;z-index:3;padding-left:3vw;max-width:650px}.eyebrow{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:#8c817a;margin:0 0 22px}.eyebrow span{display:inline-block;width:28px;height:1px;background:var(--gold);vertical-align:middle;margin-right:12px}.hero h1,h2{font:500 clamp(64px,7.1vw,104px)/.82 var(--serif);letter-spacing:-.035em;margin:0}.hero h1 em,h2 em{font-style:italic;font-weight:400;color:#9b7c63}.hero-text{max-width:520px;color:#746d68;font-size:14px;line-height:1.9;margin:32px 0}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{font-size:10px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid #bfb6b0;padding-bottom:5px;transition:.3s}.text-link:hover{border-color:var(--gold);color:#8b6a4d}.hero-proof{display:flex;gap:42px;margin-top:65px}.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font:600 27px var(--serif)}.hero-proof span{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#8e857f;margin-top:5px}.hero-visual{position:relative;z-index:1;padding-right:2vw}.hero-image-wrap{height:min(690px,78vh);min-height:570px;position:relative;overflow:hidden;background:#e6ddd7;box-shadow:0 25px 65px rgba(42,30,22,.14)}.hero-image-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s}.hero-image-wrap:hover img{transform:scale(1.035)}.hero-orbit{position:absolute;inset:12px;border:1px solid rgba(255,255,255,.28);pointer-events:none}.hero-stamp{z-index:4;position:absolute;right:22px;top:22px;width:72px;height:72px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;color:#fff;text-align:center;font:600 27px/.62 var(--serif);background:rgba(35,25,20,.12);backdrop-filter:blur(5px)}.hero-stamp small{font:8px var(--sans);letter-spacing:.22em}.floating-note{z-index:4;position:absolute;left:-35px;bottom:35px;background:rgba(251,249,246,.94);padding:18px 22px;box-shadow:0 16px 40px rgba(35,25,20,.1);display:flex;flex-direction:column;gap:5px}.floating-note span{font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:#a0805b}.floating-note strong{font:500 18px var(--serif)}.scroll-cue{position:absolute;bottom:30px;left:6vw;font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:#8e857e;display:flex;align-items:center;gap:15px}.scroll-cue span{display:block;width:60px;height:1px;background:var(--line)}.section-label{font-size:9px;letter-spacing:.2em;color:#a09085}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;margin-top:25px}.intro h2,.section-head h2,.services h2,.location h2{font-size:clamp(55px,6.2vw,91px)}.intro-copy{max-width:510px;padding-top:30px}.intro-copy p{font-size:14px;line-height:1.95;color:#746c66;margin:0 0 20px}.mini-features{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:1px solid var(--line)}.mini-features>div{padding:27px 25px 15px 0;border-right:1px solid var(--line);display:flex;flex-direction:column}.mini-features>div:last-child{border-right:0;padding-left:25px}.mini-features>div:nth-child(2){padding-left:25px}.mini-features span{font-size:8px;color:#a58b6f;margin-bottom:22px}.mini-features strong{font:500 22px var(--serif)}.mini-features small{font-size:10px;color:#817871;margin-top:8px}.gallery{background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.section-head>p{font-size:11px;line-height:1.7;color:#847b75;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:14px;grid-auto-flow:dense}.gallery-item{border:0;padding:0;position:relative;overflow:hidden;cursor:pointer;background:#ddd;min-width:0}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.gallery-item:hover img{transform:scale(1.06);filter:saturate(1.06)}.gallery-item:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(25,18,14,.5));opacity:0;transition:.35s}.gallery-item span{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font-size:8px;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:.35s}.gallery-item:hover:after,.gallery-item:hover span{opacity:1}.gallery-item:hover span{transform:none}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}.services{background:#f1e9e3}.services-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:9vw;margin-top:30px}.services-intro>p:not(.eyebrow){font-size:13px;line-height:1.85;color:#7d746e;max-width:400px;margin:28px 0 32px}.service-list{border-top:1px solid #d1c6bf}.service-row{display:grid;grid-template-columns:38px 1fr 25px;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid #d1c6bf;transition:.35s}.service-row>span{font-size:8px;color:#9b8165}.service-row h3{font:500 34px var(--serif);margin:0}.service-row p{font-size:10px;color:#817770;line-height:1.7;margin:6px 0 0;max-width:560px}.service-row b{font:300 22px var(--serif);transition:.3s}.service-row:hover{padding-left:12px}.service-row:hover b{transform:translate(4px,-4px);color:var(--gold)}.pricing-note{display:grid;grid-template-columns:35px 1fr 35px 1fr;gap:15px 22px;border-top:1px solid #d1c6bf;margin-top:70px;padding-top:25px}.pricing-note>span{font-size:8px;color:#a28464}.pricing-note strong{font:500 18px var(--serif)}.pricing-note p{font-size:10px;color:#827972;margin:6px 0 0;line-height:1.6}.reels{background:var(--paper);overflow:hidden}.slider-controls{display:flex;gap:8px}.slider-controls button{width:43px;height:43px;border:1px solid #c9beb8;background:transparent;cursor:pointer;font:20px var(--serif);transition:.3s}.slider-controls button:hover{background:var(--ink);color:#fff}.reel-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px 0 20px}.reel-track::-webkit-scrollbar{display:none}.reel-card{flex:0 0 min(330px,30vw);scroll-snap-align:start}.reel-frame{aspect-ratio:9/14;background:#ddd;overflow:hidden;box-shadow:0 18px 40px rgba(40,30,25,.08)}.reel-frame iframe{width:100%;height:100%;border:0}.reel-card>a{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;margin-top:13px;color:#817771}.reel-card>a:hover{color:#a27d54}.instagram-strip{margin-top:55px;border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;align-items:center}.instagram-strip>div{display:flex;flex-direction:column;gap:7px}.instagram-strip strong{font:500 27px var(--serif)}.reviews{background:var(--cream)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-card{padding:34px 30px;background:rgba(255,255,255,.48);border:1px solid #e0d7d0;min-height:275px;display:flex;flex-direction:column}.review-stars{color:#b78a4a;letter-spacing:4px;font-size:12px}.review-card p{font:400 22px/1.35 var(--serif);margin:28px 0}.review-card strong{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.review-card span{font-size:9px;color:#8a817b;margin-top:5px}.google-review-card{margin-top:45px;padding:32px 35px;border:1px solid #d8cec7;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:35px;background:rgba(255,255,255,.45)}.rating{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:15px;align-items:center}.rating strong{font:600 60px/.8 var(--serif);grid-row:span 2}.rating span{letter-spacing:3px;color:#b88755;font-size:18px}.rating small{font-size:10px;color:#7e7772}.rating-copy p{font:26px var(--serif);margin:0 0 6px}.rating-copy span{font-size:10px;color:#8a837e}.location{background:var(--paper)}.location-card{min-height:590px;background:#292422;color:#fff;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.location-copy{padding:80px 8vw}.location-copy .eyebrow{color:#b7a89e}.location-copy>p:not(.eyebrow){color:#bbb3ae;line-height:1.85;margin:25px 0}.location-copy .address{max-width:520px}.location-actions{display:flex;align-items:center;gap:25px;margin-top:35px}.text-link.light{color:#fff;border-color:rgba(255,255,255,.25)}.map-art{position:relative;overflow:hidden;background:#ddd3cc;min-height:590px}.map-grid{position:absolute;inset:0;opacity:.55;background:linear-gradient(25deg,transparent 0 45%,rgba(62,53,47,.18) 45% 46%,transparent 46% 67%,rgba(62,53,47,.16) 67% 68%,transparent 68%),linear-gradient(120deg,transparent 0 38%,rgba(62,53,47,.14) 38% 39%,transparent 39% 74%,rgba(62,53,47,.16) 74% 75%,transparent 75%),repeating-linear-gradient(0deg,transparent 0 62px,rgba(62,53,47,.12) 62px 63px),repeating-linear-gradient(90deg,transparent 0 88px,rgba(62,53,47,.12) 88px 89px)}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50% 50% 50% 0;background:#292422;color:#e9cfc2;rotate:-45deg;display:grid;place-items:center;font-size:24px;box-shadow:0 18px 40px rgba(0,0,0,.22)}.map-label{position:absolute;left:50%;top:calc(50% + 70px);transform:translateX(-50%);background:rgba(255,255,255,.9);color:#292422;padding:13px 18px;text-align:center;font-size:10px;letter-spacing:.14em;white-space:nowrap}.map-label small{font-size:8px;color:#8c827c}.final-cta{text-align:center;background:linear-gradient(115deg,#f6eee9,#f3e7e5 60%,#f7f1eb);padding-top:140px;padding-bottom:140px;position:relative}.final-cta:before{content:'✦';position:absolute;left:13%;top:22%;font-size:22px;color:var(--gold);opacity:.55;animation:float 4s ease-in-out infinite}.final-cta:after{content:'✦';position:absolute;right:15%;bottom:22%;font-size:15px;color:#c48f91;opacity:.55;animation:float 5s ease-in-out infinite reverse}.final-inner{max-width:750px;margin:auto}.final-cta h2{font-size:clamp(60px,7vw,100px)}.final-cta p:not(.eyebrow){color:#7a736e;line-height:1.7;margin:30px auto 34px}.footer{background:#201d1b;color:#f5efea;padding:65px 6vw 25px;display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:50px}.footer .brand-main{font-size:31px}.footer .brand-sub{color:#b89a76}.footer-brand p{font-size:10px;color:#9d9691;margin-top:15px}.footer-links,.footer-social{display:flex;flex-direction:column;gap:14px}.footer a{font-size:10px;color:#c6bdb7}.footer a:hover{color:#fff}.footer-bottom{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;margin-top:25px;display:flex;justify-content:space-between;font-size:9px;color:#8f8883;text-transform:uppercase;letter-spacing:.1em}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:45;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#2d2a28;color:#fff;font-size:9px;letter-spacing:.05em;box-shadow:0 15px 35px rgba(0,0,0,.22);transition:.3s}.whatsapp-float:hover{transform:translateY(-5px) scale(1.04)}.lightbox{position:fixed;z-index:100;inset:0;background:rgba(22,19,17,.94);display:none;place-items:center;padding:4vw}.lightbox.open{display:grid}.lightbox img{max-width:88vw;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;right:25px;top:18px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;z-index:3}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font:300 32px/1 var(--serif);display:grid;place-items:center;cursor:pointer;z-index:2}.lightbox-nav:hover{background:rgba(255,255,255,.18)}.lightbox-prev{left:28px}.lightbox-next{right:28px}.lightbox-counter{position:absolute;bottom:22px;color:#fff;font-size:9px;letter-spacing:.15em}.cursor-glow{position:fixed;width:260px;height:260px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(205,157,105,.12),transparent 65%);transform:translate(-50%,-50%);z-index:0;display:none}.sparkles{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden;opacity:1;transition:opacity .35s ease;will-change:transform,opacity}.sparkles.scrolled-away{opacity:0}.sparkles i{position:absolute;width:3px;height:3px;background:#d7b26f;border-radius:50%;box-shadow:0 0 12px rgba(215,178,111,.65);opacity:0;animation:sparkle 4.5s infinite}.reveal{opacity:0;transform:perspective(1100px) translate3d(0,42px,0) rotateX(7deg) rotateY(var(--reveal-rotate,0deg)) scale(.975);transform-origin:50% 80%;backface-visibility:hidden;will-change:transform,opacity;transition:opacity .9s cubic-bezier(.2,.65,.2,1),transform 1s cubic-bezier(.16,.75,.2,1)}.reveal.visible{opacity:1;transform:perspective(1100px) translate3d(0,0,0) rotateX(0deg) rotateY(0deg) scale(1)}.reveal-delay{transition-delay:.12s}.reveal-delay-2{transition-delay:.22s}.reveal-delay-3{transition-delay:.32s}.reveal-delay-4{transition-delay:.42s}.reveal-delay-5{transition-delay:.52s}.gallery-item.reveal:nth-child(odd){--reveal-rotate:-2.5deg}.gallery-item.reveal:nth-child(even){--reveal-rotate:2.5deg}.service-row{transform-origin:left center}.service-row.reveal{transform:perspective(1100px) translate3d(28px,24px,0) rotateY(-3deg) rotateX(2deg) scale(.985)}.service-row.reveal.visible{transform:perspective(1100px) translate3d(0,0,0) rotateY(0) rotateX(0) scale(1)}.reel-card.reveal{transform:perspective(1200px) translate3d(0,34px,0) rotateY(4deg) scale(.98)}.reel-card.reveal.visible{transform:perspective(1200px) translate3d(0,0,0) rotateY(0) scale(1)}.map-art.reveal{transform:perspective(1200px) translate3d(28px,0,0) rotateY(-2deg) scale(.985)}.map-art.reveal.visible{transform:perspective(1200px) translate3d(0,0,0) rotateY(0) scale(1)}@keyframes sparkle{0%,100%{opacity:0;transform:scale(.5)}35%{opacity:.75}50%{opacity:0;transform:scale(1.8)}}@keyframes float{50%{transform:translateY(-12px) rotate(10deg)}}
@media(min-width:1000px){.cursor-glow{display:block}}
@media(max-width:1000px){.desktop-nav,.header-cta{display:none}.menu-btn{display:flex;background:none;border:0;width:40px;height:40px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.menu-btn span{display:block;width:23px;height:1px;background:var(--ink);transition:.3s}.menu-btn.open span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-btn.open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:40;top:82px;left:0;right:0;background:rgba(251,249,246,.98);backdrop-filter:blur(20px);padding:25px 7vw 35px;display:flex;flex-direction:column;transform:translateY(-130%);transition:.45s cubic-bezier(.2,.7,.2,1);border-bottom:1px solid var(--line)}.mobile-menu.open{transform:none}.mobile-menu>a{padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;text-transform:uppercase;letter-spacing:.08em}.mobile-book{margin-top:18px;background:var(--ink);color:#fff!important;text-align:center;border:0!important}.hero{grid-template-columns:1fr;padding-top:120px;gap:55px}.hero-copy{padding-left:0}.hero-visual{padding-right:0}.hero-image-wrap{height:620px;max-width:100%;margin:0}.floating-note{left:15px}.scroll-cue{display:none}.intro-grid,.services-grid,.location-card{grid-template-columns:1fr}.map-art{min-height:400px}.location-copy{padding:70px 7vw}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-item.wide{grid-column:span 2}.google-review-card{grid-template-columns:1fr 1fr}.google-review-card .btn{grid-column:1/-1;justify-self:start}.footer{grid-template-columns:1fr 1fr}.footer-bottom{grid-column:1/-1}}
@media(max-width:650px){.section{padding:82px 6vw}.site-header{height:70px;padding:0 6vw}.brand-main{font-size:23px}.hero{padding-top:105px;min-height:auto}.hero h1{font-size:64px}.hero-text{font-size:14px;margin:28px 0}.hero-actions{gap:20px;flex-wrap:wrap}.hero-proof{gap:20px;margin-top:45px}.hero-proof strong{font-size:21px}.hero-proof span{font-size:8px}.hero-image-wrap{height:520px;min-height:0}.floating-note{bottom:20px;font-size:12px}.section-label{margin-bottom:55px}.intro h2,.section-head h2,.services h2,.location h2{font-size:56px}.intro-grid{gap:40px}.mini-features{grid-template-columns:1fr;margin-top:60px}.mini-features>div,.mini-features>div:nth-child(2),.mini-features>div:last-child{border-right:0;border-bottom:1px solid var(--line);padding:20px 0}.section-head{align-items:flex-start;gap:25px;flex-direction:column}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px;gap:9px}.gallery-item.wide{grid-column:span 2}.gallery-item.tall{grid-row:span 2}.service-row{grid-template-columns:28px 1fr 20px;padding:22px 0}.service-row h3{font-size:27px}.pricing-note{grid-template-columns:1fr;gap:10px;margin-top:55px}.reel-card{flex-basis:74vw}.slider-controls{align-self:flex-end}.instagram-strip{align-items:flex-start;gap:20px;flex-direction:column}.review-grid{grid-template-columns:1fr}.google-review-card{grid-template-columns:1fr;padding:25px}.rating-copy p{font-size:23px}.location-card{min-height:0}.location-copy{padding:60px 7vw}.location-actions{flex-direction:column;align-items:flex-start}.map-art{min-height:360px}.final-cta{padding-top:95px;padding-bottom:95px}.final-cta h2{font-size:64px}.footer{grid-template-columns:1fr;gap:35px;padding:55px 6vw 25px}.footer-bottom{display:flex;flex-direction:column;gap:14px}.whatsapp-float{right:17px;bottom:17px;width:53px;height:53px}.lightbox{padding:55px 45px}.lightbox img{max-width:95vw;max-height:80vh}.lightbox-nav{width:38px;height:38px;font-size:28px}.lightbox-prev{left:10px}.lightbox-next{right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal.visible{transition:none;transform:none;opacity:1}}

/* --- Mahinaa visual refinement --- */
.hero{min-height:100vh;overflow:hidden;height:100vh;padding-top:82px;padding-bottom:55px;display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate;overflow:hidden;background:#24191a}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(24,14,15,.48),rgba(24,14,15,.58)),url('assets/hero-cover.jpg');background-size:cover;background-position:center 46%;transform:scale(1.015);z-index:-2}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,222,192,.08),transparent 42%),linear-gradient(180deg,rgba(17,10,10,.2),transparent 30%,rgba(17,10,10,.22));z-index:-1;pointer-events:none}
.hero-copy{padding:0;max-width:900px;width:min(900px,88vw);text-align:center;color:#fff;display:flex;flex-direction:column;align-items:center;position:relative;z-index:4}
.hero .eyebrow{color:rgba(255,245,238,.8)}.hero .eyebrow span{background:#e1b977}
.hero h1{font-size:clamp(62px,8vw,116px);line-height:.82;text-shadow:0 3px 28px rgba(0,0,0,.24)}.hero h1 em{color:#f2c8bd}
.hero-text{color:rgba(255,248,244,.86);max-width:690px;margin:32px auto;font-size:14px;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hero-actions{justify-content:center}.hero .btn-dark{background:#fff;color:#272321;border-color:#fff}.hero .btn-dark:hover{background:#f7e4df;border-color:#f7e4df}.hero .text-link{color:#fff;border-color:rgba(255,255,255,.65)}.hero .text-link:hover{color:#f2c8bd;border-color:#f2c8bd}
.hero-proof{justify-content:center;margin-top:58px}.hero-proof strong{color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3)}.hero-proof span{color:rgba(255,248,244,.72)}
.hero-visual{display:none}.scroll-cue{color:rgba(255,255,255,.7);z-index:4}.scroll-cue span{background:rgba(255,255,255,.45)}
.site-header{background:linear-gradient(180deg,rgba(20,12,12,.46),rgba(20,12,12,.04));backdrop-filter:blur(7px)}.site-header:not(.scrolled) .brand-main,.site-header:not(.scrolled) .nav-link,.site-header:not(.scrolled) .brand-sub{color:#fff}.site-header:not(.scrolled) .nav-link{color:rgba(255,255,255,.88)}.site-header:not(.scrolled) .header-cta{color:#fff;border-color:rgba(255,255,255,.6)}
.gallery-head-right{display:flex;align-items:end;gap:34px}.gallery-controls{display:flex;gap:10px}.gallery-controls button{width:42px;height:42px;border:1px solid #c9b8aa;border-radius:50%;background:transparent;color:#514943;cursor:pointer;font:20px var(--serif);transition:.3s}.gallery-controls button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.gallery-grid{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 0 14px;grid-auto-flow:initial;grid-auto-rows:initial}.gallery-grid::-webkit-scrollbar{display:none}.gallery-item,.gallery-item.wide,.gallery-item.tall{flex:0 0 calc((100% - 56px)/5);width:calc((100% - 56px)/5);height:250px;grid-column:auto;grid-row:auto;scroll-snap-align:start}.gallery-item img{object-position:center}.gallery-grid:after{content:"";flex:0 0 1px}
.sparkles{z-index:5}.sparkles i{width:0;height:0;background:none;border-radius:0;opacity:0;box-shadow:none;animation:twinkle-star 4.8s ease-in-out infinite;will-change:transform,opacity;position:absolute}.sparkles i:before{content:"";position:absolute;left:50%;top:50%;width:4px;height:18px;transform:translate(-50%,-50%);background:linear-gradient(transparent,#f8d28a 35%,#fff7df 50%,#f8d28a 65%,transparent);border-radius:999px;filter:drop-shadow(0 0 7px rgba(255,210,133,.9))}.sparkles i:after{content:"";position:absolute;left:50%;top:50%;width:18px;height:4px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#f8d28a 35%,#fff7df 50%,#f8d28a 65%,transparent);border-radius:999px;filter:drop-shadow(0 0 7px rgba(255,210,133,.9))}.sparkles i.shooting{width:105px;height:1px;background:linear-gradient(90deg,rgba(255,239,190,0),rgba(255,239,190,.95),rgba(255,239,190,0));box-shadow:0 0 8px rgba(255,220,151,.9);animation:shooting-star 6.8s cubic-bezier(.25,.1,.25,1) infinite;transform:rotate(-30deg);opacity:0}.sparkles i.shooting:before,.sparkles i.shooting:after{display:none}
@keyframes twinkle-star{0%,100%{opacity:0;transform:scale(.35)}18%{opacity:.18;transform:scale(.6)}34%{opacity:.95;transform:scale(1)}48%{opacity:.38;transform:scale(.72)}63%{opacity:.72;transform:scale(.9)}78%{opacity:.12;transform:scale(.45)}}
@keyframes shooting-star{0%,70%{opacity:0;transform:translate3d(35px,-10px,0) rotate(-30deg) scaleX(.2)}74%{opacity:.65}84%{opacity:.8;transform:translate3d(-75px,58px,0) rotate(-30deg) scaleX(1)}94%,100%{opacity:0;transform:translate3d(-155px,105px,0) rotate(-30deg) scaleX(1.08)}}
@media(max-width:1000px){.hero{height:100svh;min-height:680px;padding-top:100px;padding-bottom:40px}.hero-copy{width:min(720px,88vw)}.hero h1{font-size:clamp(58px,11vw,90px)}.hero-proof{gap:28px}.gallery-head-right{width:100%;justify-content:space-between;align-items:end}.gallery-item,.gallery-item.wide,.gallery-item.tall{flex-basis:calc((100% - 28px)/3);width:calc((100% - 28px)/3);height:240px}}
@media(max-width:650px){.hero{min-height:720px;padding-top:90px}.hero h1{font-size:clamp(54px,15vw,76px);line-height:.86}.hero-text{font-size:13px;line-height:1.75;margin:25px 0}.hero-proof{gap:18px;margin-top:42px}.hero-proof strong{font-size:21px}.hero-proof span{font-size:7px}.gallery-head-right{align-items:flex-start;gap:18px;flex-direction:column}.gallery-item,.gallery-item.wide,.gallery-item.tall{flex-basis:78vw;width:78vw;height:260px}.gallery-controls button{width:40px;height:40px}}


/* --- Gallery v2: recent work + all-time edit --- */
.gallery{overflow:hidden}
.recent-gallery{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 0 18px}
.recent-gallery::-webkit-scrollbar{display:none}
.recent-item{flex:0 0 clamp(210px,19vw,290px);width:clamp(210px,19vw,290px);height:360px;scroll-snap-align:start;border-radius:2px}
.recent-item:nth-child(2n){transform-origin:50% 80%}
.recent-item img{object-position:center top}
.gallery-subhead{display:grid;grid-template-columns:1fr .7fr;gap:7vw;align-items:end;margin:105px 0 42px;padding-top:35px;border-top:1px solid var(--line)}
.gallery-subhead h3{font:500 clamp(48px,5.6vw,78px)/.88 var(--serif);letter-spacing:-.035em;margin:0}
.gallery-subhead h3 em{font-style:italic;font-weight:400;color:#9b7c63}
.gallery-subhead>p{font-size:11px;line-height:1.8;color:#847b75;max-width:420px;margin:0 0 4px}
.best-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:260px;gap:14px;grid-auto-flow:dense}
.best-item{min-width:0;border-radius:2px}
.best-item:nth-child(5n+1){grid-row:span 2}
.best-item:nth-child(7n+3){grid-column:span 2}
.best-item:nth-child(11n+5){grid-row:span 2}
.best-item img{object-position:center}
.gallery-end{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:45px;color:#a08e80}
.gallery-end span{width:45px;height:1px;background:var(--line)}
.gallery-end p{margin:0;font:italic 18px var(--serif)}
@media(max-width:1000px){
 .recent-item{flex-basis:31vw;width:31vw;height:330px}
 .gallery-subhead{grid-template-columns:1fr 1fr;gap:35px}
 .best-gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:230px}
}
@media(max-width:650px){
 .recent-item{flex-basis:70vw;width:70vw;height:390px}
 .gallery-subhead{grid-template-columns:1fr;gap:20px;margin-top:80px}
 .best-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px;gap:9px}
 .best-item:nth-child(7n+3){grid-column:span 2}
 .gallery-end{margin-top:35px}
}

.gallery-explore{margin-top:92px;padding-top:35px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between;gap:45px}.gallery-explore>div{max-width:620px}.gallery-explore h3{font:500 clamp(44px,5vw,70px)/.9 var(--serif);letter-spacing:-.035em;margin:0 0 16px}.gallery-explore h3 em{font-style:italic;font-weight:400;color:#9b7c63}.gallery-explore>div>p:last-child{font-size:11px;line-height:1.8;color:#847b75;max-width:520px;margin:0}.gallery-page{padding-top:150px;min-height:100vh}.gallery-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:42px}.gallery-page-head h1{font:500 clamp(58px,7vw,100px)/.84 var(--serif);letter-spacing:-.04em;margin:0}.gallery-page-head h1 em{font-style:italic;font-weight:400;color:#9b7c63}.gallery-page-head-copy{max-width:390px;font-size:11px;line-height:1.85;color:#847b75;margin-bottom:4px}.gallery-back{display:inline-flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#817770;border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:25px}.gallery-back:hover{color:#8b6a4d;border-color:var(--gold)}.best-carousel-wrap{position:relative;padding:0 56px}.best-carousel{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 20px}.best-carousel::-webkit-scrollbar{display:none}.best-slide{flex:0 0 clamp(230px,19vw,300px);height:420px;scroll-snap-align:start}.best-slide:nth-child(3n+2){height:360px;margin-top:30px}.best-slide:nth-child(5n+1){height:455px;margin-top:-2px}.best-slide img{object-position:center}.best-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:1px solid #c9beb8;border-radius:50%;background:rgba(251,249,246,.9);color:var(--ink);font:20px var(--serif);display:grid;place-items:center;cursor:pointer;z-index:3;transition:.3s}.best-carousel-arrow:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-50%) scale(1.04)}.best-carousel-prev{left:0}.best-carousel-next{right:0}.gallery-page-note{display:flex;align-items:center;justify-content:center;gap:16px;margin:30px 0 70px;color:#a08e80}.gallery-page-note span{width:42px;height:1px;background:var(--line)}.gallery-page-note p{font:italic 17px var(--serif);margin:0}.gallery-page-cta{margin:0 auto 80px;max-width:920px;padding:28px 34px;border:1px solid #ded5ce;background:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:25px}.gallery-page-cta p{font:500 25px var(--serif);margin:0}.gallery-page .footer{margin-top:0}
@media(max-width:1000px){.gallery-explore{margin-top:75px}.gallery-page{padding-top:125px}.gallery-page-head{align-items:flex-start;flex-direction:column}.best-carousel-wrap{padding:0 50px}.best-slide{flex-basis:31vw;height:380px}.best-slide:nth-child(3n+2){height:340px}.best-slide:nth-child(5n+1){height:410px}.gallery-page-cta{margin-left:0;margin-right:0}}
@media(max-width:650px){.gallery-explore{margin-top:65px;align-items:flex-start;flex-direction:column;gap:28px}.gallery-page{padding-top:115px}.gallery-page-head{margin-bottom:30px}.gallery-page-head h1{font-size:57px}.best-carousel-wrap{padding:0 42px}.best-carousel{gap:10px}.best-slide{flex-basis:70vw;height:390px}.best-slide:nth-child(3n+2){height:350px;margin-top:22px}.best-slide:nth-child(5n+1){height:410px}.best-carousel-arrow{width:38px;height:38px}.gallery-page-cta{align-items:flex-start;flex-direction:column;padding:24px;margin-bottom:55px}.gallery-page-cta p{font-size:22px}.gallery-page-note{margin-bottom:45px}}
.review-actions{margin-top:24px;padding:28px 32px;border:1px solid #d8cec7;background:rgba(255,255,255,.45);display:flex;align-items:center;justify-content:space-between;gap:30px}.review-actions-copy{display:flex;flex-direction:column;gap:7px}.review-actions-copy .eyebrow{margin:0}.review-actions-copy>strong{font:400 28px/1 var(--serif)}.review-actions-copy>strong span{font:16px/1 var(--sans);letter-spacing:3px;color:#b88755}.review-actions-copy small{font-size:9px;color:#8a817b;line-height:1.6;max-width:520px}.review-action-buttons{display:flex;align-items:center;gap:25px;flex-wrap:wrap;justify-content:flex-end}.review-action-buttons .text-link{white-space:nowrap}@media(max-width:1000px){.review-actions{align-items:flex-start;flex-direction:column}.review-action-buttons{justify-content:flex-start}}@media(max-width:650px){.review-actions{padding:24px 20px}.review-actions-copy>strong{font-size:24px}.review-action-buttons{flex-direction:column;align-items:flex-start;gap:16px}.review-action-buttons .btn{width:100%;justify-content:center}}

/* Website review collection */
.review-showcase{position:relative}.review-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 14px}.review-track::-webkit-scrollbar{display:none}.review-track .review-card{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start}.review-slider-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:16px}.review-slider-controls button{width:42px;height:42px;border:1px solid var(--line);background:transparent;border-radius:50%;cursor:pointer;transition:.3s}.review-slider-controls button:hover{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-2px)}.review-slider-controls span{font-size:9px;letter-spacing:.14em;color:#8b817b;min-width:58px;text-align:center}.review-actions{margin-top:34px;padding:28px 32px;border:1px solid #d8cec7;background:rgba(255,255,255,.45);display:flex;align-items:center;justify-content:space-between;gap:30px}.review-actions-copy{display:flex;flex-direction:column;gap:7px}.review-actions-copy .eyebrow{margin:0}.review-actions-copy>strong{font:400 28px/1 var(--serif)}.review-actions-copy>strong span{font:16px/1 var(--sans);letter-spacing:3px;color:#b88755}.review-actions-copy small{font-size:9px;color:#8a817b;line-height:1.6;max-width:520px}.review-action-buttons{display:flex;align-items:center;gap:25px;flex-wrap:wrap;justify-content:flex-end}.review-action-buttons .text-link{white-space:nowrap}.reviews-hero{padding-top:150px;background:var(--paper)}.reviews-hero-grid{display:grid;grid-template-columns:1fr .72fr;gap:9vw;align-items:start;margin-top:25px}.reviews-hero h1{font:500 clamp(64px,7vw,100px)/.84 var(--serif);letter-spacing:-.035em;margin:0}.reviews-hero h1 em{font-style:italic;color:#9b7c63;font-weight:400}.review-form-card{background:rgba(255,255,255,.58);border:1px solid var(--line);padding:34px;box-shadow:0 20px 55px rgba(45,32,24,.06)}.review-form-card form{display:flex;flex-direction:column;gap:17px}.review-form-card label{display:flex;flex-direction:column;gap:7px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#817771}.review-form-card input,.review-form-card select,.review-form-card textarea{width:100%;border:1px solid #d8cec7;background:#fffaf7;color:var(--ink);padding:13px 14px;font:13px var(--sans);outline:none;transition:.25s}.review-form-card textarea{min-height:150px;resize:vertical;line-height:1.65}.review-form-card input:focus,.review-form-card select:focus,.review-form-card textarea:focus{border-color:#a88b73;box-shadow:0 0 0 3px rgba(183,138,74,.08)}.review-form-card .btn{margin-top:4px;cursor:pointer}.review-form-card .btn:disabled{opacity:.6;cursor:wait}.form-note{font-size:9px;line-height:1.6;color:#8a817b;margin:0}.review-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.all-reviews{background:var(--cream)}.review-count-wrap{display:flex;flex-direction:column;align-items:flex-end}.review-count-wrap strong{font:500 54px/.8 var(--serif)}.review-count-wrap span{font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:#8a817b;margin-top:8px}.all-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.site-review-card{border:1px solid var(--line);background:rgba(255,255,255,.55);padding:38px 34px;display:flex;flex-direction:column;min-height:330px}.site-review-card .review-stars{font-size:13px;letter-spacing:4px;color:#b88755;margin-bottom:38px}.site-review-card p{font:400 24px/1.35 var(--serif);margin:0 0 auto}.site-review-card strong{font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-top:35px}.site-review-card span{font-size:9px;color:#8a817b;margin-top:7px}.empty-reviews{border:1px dashed #cfc4bc;padding:40px;text-align:center;color:#847a74}.empty-reviews p{margin:0;font-size:12px}
@media(max-width:1000px){.review-track .review-card{flex-basis:calc((100% - 24px)/2)}.reviews-hero-grid{grid-template-columns:1fr}.all-review-grid{grid-template-columns:1fr 1fr}.review-actions{align-items:flex-start;flex-direction:column}.review-action-buttons{justify-content:flex-start}}
@media(max-width:650px){.review-track .review-card{flex-basis:86vw}.review-actions{padding:24px 20px}.review-actions-copy>strong{font-size:24px}.review-action-buttons{flex-direction:column;align-items:flex-start;gap:16px}.review-action-buttons .btn{width:100%;justify-content:center}.reviews-hero{padding-top:115px}.review-form-card{padding:24px}.all-review-grid{grid-template-columns:1fr}.site-review-card{min-height:290px;padding:30px 25px}.site-review-card p{font-size:22px}.review-count-wrap{align-items:flex-start}.review-slider-controls{margin-top:10px}}

.location-coordinates{font-size:.82em;opacity:.72;letter-spacing:.02em;}
