:root{--black:#090909;--white:#fff;--off:#f4f3ef;--gray:#6e6e6a;--line:#dddcd6;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--black);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}header{position:fixed;z-index:20;top:0;left:0;right:0;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.08)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:12px}.logo img{width:48px;height:32px;object-fit:contain}.logo span{font-family:'Playfair Display',serif;font-size:14px;letter-spacing:.32em}.links{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:600}.links>a:not(.nav-cta){opacity:.72}.links>a:hover{opacity:1}.nav-cta{background:#0a0a0a;color:#fff;padding:13px 18px}.menu{display:none;background:none;border:0;font-size:24px}.hero{min-height:760px;background:#090909;color:#fff;position:relative;overflow:hidden;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.72) 48%,rgba(0,0,0,.25) 100%),url('https://images.unsplash.com/photo-1700183235397-f80afdc308a7?fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1yZWxhdGVkfDE3fHx8ZW58MHx8fHx8&ixlib=rb-4.1.0&q=60&w=3000') center/cover;filter:saturate(.25)}.hero-content{position:relative;padding-top:90px}.pill{display:inline-block;border:1px solid rgba(255,255,255,.28);padding:9px 13px;font-size:10px;letter-spacing:.2em}.hero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(66px,8vw,112px);line-height:.84;letter-spacing:-.045em;margin:30px 0 28px}.hero h1 em{font-weight:500;color:#bdbdb8}.hero p{max-width:590px;color:#c8c8c4;font-size:18px;line-height:1.7}.actions{display:flex;gap:12px;margin-top:36px}.button{min-height:52px;padding:0 23px;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700;border:1px solid transparent;cursor:pointer}.light{background:#fff;color:#0a0a0a}.ghost{border-color:#555;color:#fff}.black{background:#0a0a0a;color:#fff}.hero-proof{display:flex;gap:42px;margin-top:78px;color:#a7a7a2;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.hero-proof span{display:flex;gap:10px}.hero-proof b{color:#fff}.marquee{overflow:hidden;white-space:nowrap;border-bottom:1px solid var(--line);padding:17px 0;font-family:'Playfair Display',serif;letter-spacing:.16em;font-size:13px}.marquee div{width:max-content;animation:scroll 28s linear infinite}.marquee i{padding:0 25px}@keyframes scroll{to{transform:translateX(-35%)}}.section{padding:120px 0}.heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;margin-bottom:54px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em}.heading h2,.statement h2,.cta h2,.contact h2{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(42px,5.2vw,68px);line-height:1.02;letter-spacing:-.03em;margin:13px 0}.heading p,.contact>div>p{color:var(--gray);line-height:1.8;max-width:500px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.service-grid article{min-height:390px;border:1px solid var(--line);padding:34px;display:flex;flex-direction:column;position:relative}.service-grid article.dark{background:#0a0a0a;color:#fff;border-color:#0a0a0a}.service-grid article>span{font-size:11px;letter-spacing:.15em;color:#888}.tag{position:absolute;right:28px;top:28px;font-size:9px;letter-spacing:.15em;border:1px solid #444;padding:7px 9px}.service-grid h3{font-family:'Playfair Display',serif;font-size:34px;font-weight:500;margin:72px 0 15px}.service-grid p{color:#70706c;line-height:1.7}.service-grid .dark p{color:#aaa}.service-grid a{margin-top:auto;font-size:12px;font-weight:700}.statement{background:#0a0a0a;color:#fff;padding:120px 0}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.mark{background:#fff;aspect-ratio:1.15;display:flex;align-items:center;justify-content:center;padding:70px}.mark img{width:100%}.inverse{color:#aaa}.statement p{color:#aaa;line-height:1.8;max-width:570px}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #333;margin-top:40px}.stats div{padding-top:25px}.stats strong{display:block;font-family:'Playfair Display',serif;font-size:34px;font-weight:500}.stats span{font-size:10px;letter-spacing:.15em;color:#999;text-transform:uppercase}.gallery{display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:14px}.shot{min-height:470px;background-size:cover;background-position:center;position:relative;filter:grayscale(1)}.shot:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 65%,rgba(0,0,0,.62))}.shot span{position:absolute;z-index:2;left:22px;bottom:20px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.18em}.one{background-image:url('https://images.unsplash.com/photo-1503376780353-7e6692767b70?auto=format&fit=crop&w=1400&q=85')}.two{background-image:url('https://images.unsplash.com/photo-1504215680853-026ed2a45def?auto=format&fit=crop&w=1000&q=85')}.three{background-image:url('https://images.unsplash.com/photo-1503736334956-4c8f8e92946d?auto=format&fit=crop&w=1000&q=85')}.cta{background:#111;color:#fff;padding:90px 0}.cta-inner{display:flex;align-items:end;justify-content:space-between;gap:40px}.cta h2{margin-bottom:0}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.email{display:inline-block;margin-top:20px;border-bottom:1px solid #bbb;padding-bottom:4px;font-size:14px}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{display:flex;flex-direction:column;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}.contact label:nth-child(4),.contact button,.contact small{grid-column:1/-1}.contact input,.contact select,.contact textarea{font:inherit;border:1px solid var(--line);background:#fafafa;padding:16px;outline:0}.contact input:focus,.contact select:focus,.contact textarea:focus{border-color:#777}.contact small{color:#888}footer{background:#090909;color:#fff;border-top:1px solid #222}.footer{min-height:120px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.footer-logo img{filter:invert(1)}.footer p{font-size:9px;letter-spacing:.15em;color:#888;text-align:center}.footer p:last-child{text-align:right}.footer b{padding:0 8px}@media(max-width:800px){.wrap{width:min(var(--max),calc(100% - 30px))}.menu{display:block}.links{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;flex-direction:column;padding:25px;border-bottom:1px solid #ddd}.links.open{display:flex}.hero{min-height:700px}.hero-bg{background-position:62% center}.hero-proof{gap:18px;flex-wrap:wrap}.heading,.statement-grid,.contact{grid-template-columns:1fr;gap:35px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:300px}.section,.statement{padding:80px 0}.gallery{grid-template-columns:1fr 1fr}.shot{min-height:350px}.shot:first-child{grid-column:1/-1}.cta-inner{align-items:flex-start;flex-direction:column}.contact form{grid-template-columns:1fr}.contact label{grid-column:1/-1}.footer{grid-template-columns:1fr;text-align:center;padding:30px 0;gap:15px}.footer .logo{justify-content:center}.footer p,.footer p:last-child{text-align:center;margin:0}}@media(max-width:520px){.hero h1{font-size:62px}.hero p{font-size:16px}.actions{flex-direction:column;align-items:stretch}.hero-proof{margin-top:48px}.heading{margin-bottom:35px}.gallery{grid-template-columns:1fr}.shot,.shot:first-child{grid-column:auto;min-height:300px}.mark{padding:40px}.contact{gap:45px}}

/* Motion + polish */
body{overflow-x:hidden}
header{transition:transform .45s cubic-bezier(.22,1,.36,1),background .35s ease,box-shadow .35s ease}
header.scrolled{background:rgba(255,255,255,.82);box-shadow:0 14px 40px rgba(0,0,0,.06)}
header.hide-nav{transform:translateY(-100%)}
.logo img,.logo span,.links a,.button,.service-grid article,.shot,.mark,.email{transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease,background .35s ease,border-color .35s ease,box-shadow .45s ease,color .35s ease,filter .45s ease}
.logo:hover img{transform:rotate(-3deg) scale(1.04)}
.links>a:not(.nav-cta){position:relative}
.links>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:#111;transition:right .35s cubic-bezier(.22,1,.36,1)}
.links>a:not(.nav-cta):hover:after{right:0}
.nav-cta:hover,.black:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.2)}
.light:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,255,255,.14)}
.ghost:hover{background:#fff;color:#111;border-color:#fff;transform:translateY(-2px)}
.hero-bg{transform:scale(1.04);will-change:transform;transition:transform .15s linear}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:110px;background:linear-gradient(to bottom,transparent,#fff);opacity:.03;pointer-events:none}
.pill{backdrop-filter:blur(8px);background:rgba(255,255,255,.03)}
.hero h1 em{display:inline-block;transition:letter-spacing .5s ease,color .5s ease}
.hero h1:hover em{letter-spacing:-.02em;color:#e3e3df}
.button{position:relative;overflow:hidden}
.button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,rgba(255,255,255,.22) 50%,transparent 85%);transform:translateX(-130%);transition:transform .8s cubic-bezier(.22,1,.36,1)}
.button:hover:before{transform:translateX(130%)}
.marquee{position:relative;background:#fff}
.marquee:before,.marquee:after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none}
.marquee:before{left:0;background:linear-gradient(90deg,#fff,transparent)}
.marquee:after{right:0;background:linear-gradient(-90deg,#fff,transparent)}
.service-grid article{overflow:hidden}
.service-grid article:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 60%,rgba(0,0,0,.035));opacity:0;transition:opacity .45s ease}
.service-grid article:hover{transform:translateY(-8px);box-shadow:0 22px 60px rgba(0,0,0,.09);border-color:#c8c7c2}
.service-grid article.dark:hover{box-shadow:0 24px 65px rgba(0,0,0,.24)}
.service-grid article:hover:before{opacity:1}
.service-grid article:hover h3{transform:translateX(4px)}
.service-grid h3{transition:transform .45s cubic-bezier(.22,1,.36,1)}
.mark{overflow:hidden;position:relative}
.mark:after{content:"";position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 30%,rgba(0,0,0,.05) 50%,transparent 70%);transform:translateX(-100%) rotate(7deg);transition:transform 1s cubic-bezier(.22,1,.36,1)}
.mark:hover{transform:scale(.985)}
.mark:hover:after{transform:translateX(100%) rotate(7deg)}
.shot{overflow:hidden;isolation:isolate}
.shot:before{content:"";position:absolute;inset:-4%;background:inherit;background-size:cover;background-position:center;transform:scale(1.03);transition:transform 1s cubic-bezier(.22,1,.36,1),filter .7s ease;z-index:-1}
.shot:hover{filter:grayscale(.25)}
.shot:hover:before{transform:scale(1.1)}
.shot span{transition:transform .45s cubic-bezier(.22,1,.36,1),letter-spacing .45s ease}
.shot:hover span{transform:translateY(-5px);letter-spacing:.25em}
.cta{position:relative;overflow:hidden}
.cta:before{content:"";position:absolute;width:420px;height:420px;border:1px solid #2d2d2d;border-radius:50%;right:-130px;top:-210px;opacity:.8}
.cta:after{content:"";position:absolute;width:250px;height:250px;border:1px solid #292929;border-radius:50%;right:-40px;top:-110px}
.contact input,.contact select,.contact textarea{transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease,background .3s ease}
.contact input:focus,.contact select:focus,.contact textarea:focus{transform:translateY(-1px);background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.email:hover{transform:translateX(4px)}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,1,.36,1)}
.reveal-left{opacity:0;transform:translateX(-38px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}
.reveal-right{opacity:0;transform:translateX(38px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}
.reveal.in-view,.reveal-left.in-view,.reveal-right.in-view{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(28px);transition:opacity .72s ease,transform .72s cubic-bezier(.22,1,.36,1)}
.stagger.in-view>*{opacity:1;transform:none}
.stagger.in-view>*:nth-child(2){transition-delay:.1s}.stagger.in-view>*:nth-child(3){transition-delay:.2s}.stagger.in-view>*:nth-child(4){transition-delay:.3s}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal,.reveal-left,.reveal-right,.stagger>*,.hero-bg,.button,.shot,.service-grid article{transition:none!important;transform:none!important;opacity:1!important}.button:before{display:none}}


/* ===== Luxury motion upgrade ===== */
.loader{position:fixed;inset:0;z-index:9999;background:#080808;color:#fff;display:grid;place-items:center;transition:opacity .8s ease,visibility .8s ease}.loader-inner{text-align:center;width:min(320px,70vw)}.loader img{width:150px;filter:invert(1);opacity:0;transform:translateY(20px) scale(.94);animation:loaderMark .7s .08s cubic-bezier(.22,1,.36,1) forwards}.loader span{display:block;font-family:'Playfair Display',serif;letter-spacing:.5em;font-size:13px;margin:12px 0 22px;opacity:0;animation:loaderText .6s .3s ease forwards}.loader-line{height:1px;background:#2c2c2c;overflow:hidden}.loader-line i{display:block;height:100%;width:100%;background:#fff;transform:translateX(-100%);animation:loaderLine 1.25s .2s cubic-bezier(.22,1,.36,1) forwards}.loader small{display:block;margin-top:14px;color:#777;font-size:8px;letter-spacing:.25em;opacity:0;animation:loaderText .5s .55s ease forwards}.loaded .loader{opacity:0;visibility:hidden;pointer-events:none}.is-loading{overflow:hidden}@keyframes loaderMark{to{opacity:1;transform:none}}@keyframes loaderText{to{opacity:1}}@keyframes loaderLine{to{transform:none}}
.cursor-glow{position:fixed;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.06),transparent 66%);pointer-events:none;z-index:2;transform:translate(-50%,-50%);opacity:0;transition:opacity .4s ease;mix-blend-mode:difference}.cursor-glow.active{opacity:.6}
.panel{position:relative}.panel:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.15),transparent);transform:scaleX(0);transform-origin:center;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}.panel.panel-in:before{transform:scaleX(1)}.statement.panel:before,.cta.panel:before,.hero.panel:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 70% 50%,transparent 0 22%,rgba(0,0,0,.1) 48%,rgba(0,0,0,.55) 100%);pointer-events:none}.hero-orbit{position:absolute;border:1px solid rgba(255,255,255,.1);border-radius:50%;pointer-events:none}.orbit-one{width:700px;height:700px;right:-250px;top:20px;animation:floatOrbit 9s ease-in-out infinite}.orbit-two{width:480px;height:480px;right:-80px;top:145px;animation:floatOrbit 7s 1.2s ease-in-out infinite reverse}@keyframes floatOrbit{50%{transform:translate(-18px,15px) scale(1.03);opacity:.45}}
.scroll-cue{position:absolute;right:34px;bottom:28px;z-index:3;color:#aaa;display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.24em;writing-mode:vertical-rl}.scroll-cue i{height:60px;width:1px;background:#444;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:#fff;transform:translateY(-100%);animation:scrollCue 2s ease-in-out infinite}@keyframes scrollCue{70%,100%{transform:translateY(100%)}}
.stats{grid-template-columns:repeat(3,1fr)}.stats div{border-right:1px solid #292929;padding-right:18px}.stats div:last-child{border-right:0}.stats strong{font-variant-numeric:tabular-nums}
.comparison-wrap{margin:0 0 18px}.comparison{height:min(66vw,650px);min-height:430px;position:relative;overflow:hidden;background:#111;cursor:ew-resize}.comparison>img,.after-layer img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.before-img{filter:grayscale(1) brightness(.58) contrast(.9)}.after-layer{position:absolute;inset:0;width:50%;overflow:hidden;border-right:1px solid rgba(255,255,255,.8)}.after-layer img{width:calc(100vw - 48px);max-width:1200px;filter:saturate(.7) contrast(1.08) brightness(1.04)}.compare-label{position:absolute;top:26px;z-index:3;color:#fff;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);padding:9px 12px;font-size:9px;letter-spacing:.2em}.before-label{left:26px}.after-label{right:26px}.compare-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:rgba(255,255,255,.8);z-index:4;pointer-events:none}.compare-line button{pointer-events:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.7);background:rgba(9,9,9,.75);backdrop-filter:blur(10px);color:#fff;font-size:17px}.comparison input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5}.comparison-note{display:flex;justify-content:space-between;gap:30px;padding:15px 0 26px;border-bottom:1px solid var(--line)}.comparison-note span{font-size:9px;letter-spacing:.2em;font-weight:700}.comparison-note p{margin:0;max-width:600px;color:var(--gray);font-size:12px;line-height:1.6;text-align:right}
.cta-rings{position:absolute;width:700px;height:700px;border:1px solid #282828;border-radius:50%;right:-260px;top:-360px}.cta-rings:before,.cta-rings:after{content:"";position:absolute;border:1px solid #252525;border-radius:50%;inset:80px}.cta-rings:after{inset:175px}.cta:hover .cta-rings{transform:rotate(8deg) scale(1.025)}.cta-rings{transition:transform 2s cubic-bezier(.22,1,.36,1)}
.magnetic{will-change:transform}.heading h2,.statement h2,.cta h2,.contact h2{transition:letter-spacing .8s cubic-bezier(.22,1,.36,1)}.panel-in .heading h2,.panel-in .statement h2,.panel-in .cta h2,.panel-in .contact h2{letter-spacing:-.035em}
@media(max-width:800px){.cursor-glow{display:none}.scroll-cue{display:none}.stats{grid-template-columns:repeat(3,1fr)}.stats strong{font-size:26px}.comparison{min-height:360px}.after-layer img{width:calc(100vw - 30px)}.comparison-note{display:block}.comparison-note p{text-align:left;margin-top:8px}.hero-orbit{opacity:.5}}
@media(max-width:520px){.comparison{min-height:300px;height:76vw}.compare-label{top:14px}.before-label{left:14px}.after-label{right:14px}.compare-line button{width:44px;height:44px}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid #292929;padding:18px 0}.stats div:last-child{border-bottom:0}}
@media(prefers-reduced-motion:reduce){.loader img,.loader span,.loader-line i,.loader small,.scroll-cue i:after,.hero-orbit{animation:none!important}.loader{display:none}.is-loading{overflow:auto}.cursor-glow{display:none}}

/* Pricing + booking enhancements */
.pricing-grid article{min-height:560px}.pricing-grid .price{font-family:'Playfair Display',serif;font-size:62px;line-height:1;margin:50px 0 0;letter-spacing:-.04em}.pricing-grid h3{margin:14px 0 12px}.pricing-grid ul{padding:0;margin:20px 0 26px;list-style:none;display:grid;gap:10px}.pricing-grid li{font-size:13px;line-height:1.45;color:#666;padding-left:18px;position:relative}.pricing-grid li:before{content:'✓';position:absolute;left:0;top:0;font-size:11px;color:#111}.pricing-grid .dark li{color:#bbb}.pricing-grid .dark li:before{color:#fff}.package-btn{margin-top:auto;min-height:48px;border:1px solid #111;background:#111;color:#fff;text-transform:uppercase;letter-spacing:.12em;font:700 10px 'DM Sans',sans-serif;cursor:pointer;padding:0 18px;transition:transform .35s ease,background .3s ease,color .3s ease,border-color .3s ease}.dark .package-btn{background:#fff;color:#111;border-color:#fff}.package-btn:hover{background:#fff;color:#111}.dark .package-btn:hover{background:transparent;color:#fff}.pricing-note{margin-top:18px;color:var(--gray);font-size:12px;line-height:1.6}.instagram-link{display:block;margin-top:12px;font-size:13px;font-weight:700;letter-spacing:.04em}.instagram-link:hover,.footer-instagram:hover{opacity:.62}.payment-info{margin-top:34px;border-top:1px solid var(--line);padding-top:20px;display:grid;gap:8px;font-size:12px;color:var(--gray)}.payment-info strong{color:#111;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.payment-info span:before{content:'✓';margin-right:8px;color:#111}.contact label.full{grid-column:1/-1}.footer-instagram{display:inline-block;margin-top:9px;color:#ccc}.before-dirt{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 16% 72%,rgba(95,67,36,.48) 0 1%,transparent 7%),radial-gradient(circle at 36% 60%,rgba(95,67,36,.38) 0 1%,transparent 9%),radial-gradient(circle at 76% 55%,rgba(95,67,36,.30) 0 1%,transparent 8%),linear-gradient(rgba(79,59,39,.16),rgba(79,59,39,.16));mix-blend-mode:multiply;filter:blur(.2px)}.after-layer{z-index:2}.compare-label,.compare-line,.comparison input{z-index:5}.before-label{z-index:6}.after-label{z-index:6}
@media(max-width:800px){.pricing-grid article{min-height:480px}.pricing-grid .price{font-size:54px}.payment-info{margin-bottom:4px}}
