@font-face{font-family:"Varino";src:url("brand/Varino%20-%20Normal.otf") format("opentype");font-display:swap}
:root{--ink:#151510;--paper:#ece9e1;--lime:#d7f34b;--cream:#f7f5ef;--line:rgba(21,21,16,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);background:var(--lime);color:var(--ink);padding:12px 15px;font-weight:700}.skip-link:focus{transform:none}
.kicker{margin:0 0 18px;font-size:10px;font-weight:700;letter-spacing:.16em}.kicker.dark{color:#57574f}
h1,h2,h3,p{margin-top:0}h1,h2{font-family:Varino,Arial,sans-serif;font-weight:400;letter-spacing:-.06em;line-height:.92}em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.075em}
.hero{height:380svh;isolation:isolate;position:relative;color:white;background:#111}.hero-stage{position:sticky;top:0;height:100svh;isolation:isolate;overflow:hidden}.hero-canvas{position:absolute;inset:0;z-index:0;display:block;height:100%;width:100%;background:url("images/hero.jpg") center/cover no-repeat}.hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.54),rgba(0,0,0,.03) 40%,rgba(0,0,0,.66))}
.nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:28px clamp(22px,4vw,64px)}.brand img,footer img{width:152px;height:auto;display:block}.nav-links{display:flex;align-items:center;gap:clamp(18px,2.6vw,42px);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.book-link{border:1px solid rgba(255,255,255,.64);border-radius:100px;padding:12px 15px;transition:background .25s,color .25s}.book-link:hover,.book-link:focus-visible,.hero-book:hover,.hero-book:focus-visible{background:white;color:#111}.book-link span,.cta span,.hero-book span{font-size:16px;margin-left:6px}
.hero-copy{position:relative;z-index:2;max-width:920px;padding:clamp(80px,14vh,155px) clamp(22px,9vw,150px) 56px}.hero-copy .kicker{color:var(--lime)}h1{font-size:clamp(52px,8.5vw,136px)}.hero-sparkle{color:transparent;background:linear-gradient(112deg,#fff 0%,#fff 37%,#fff6cd 47%,#fff 50%,#d7f34b 53%,#fff 65%,#fff 100%);background-size:280% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;animation:letter-sparkle 4.8s cubic-bezier(.45,.05,.55,.95) infinite .8s}.hero-sparkle em{color:transparent}.intro{max-width:430px;margin:30px 0 0;line-height:1.55;font-size:15px}.hero-book{display:inline-block;margin-top:25px;border:1px solid rgba(255,255,255,.75);border-radius:100px;padding:14px 18px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s}
.enter{position:absolute;z-index:2;bottom:32px;left:clamp(22px,4vw,64px);display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.enter-dot{height:11px;width:11px;border:1px solid white;border-radius:50%;box-shadow:0 0 0 5px rgba(255,255,255,.14);animation:pulse 2s infinite}.enter b{margin-left:7px;font-size:20px;font-weight:400}.hero-card{position:absolute;z-index:2;right:clamp(22px,4vw,64px);bottom:32px;display:grid;gap:5px;width:205px;padding:16px 0;border-top:1px solid rgba(255,255,255,.65);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hero-card strong{font-size:13px;letter-spacing:.02em;text-transform:none}.hero-card i{font-style:normal;color:#d0d0ca}
.motion-cues{position:absolute;z-index:2;inset:0;pointer-events:none}.motion-cue{position:absolute;right:clamp(22px,8vw,130px);color:#f0dfc7;font-size:clamp(18px,2.15vw,34px);font-weight:800;letter-spacing:.08em;line-height:1;text-shadow:0 3px 24px rgba(0,0,0,.82);opacity:0;visibility:hidden;transform:translate3d(96px,0,0);transition:opacity .18s ease,transform .72s cubic-bezier(.16,1,.3,1),visibility 0s linear .18s}.motion-cue.is-active{opacity:1;visibility:visible;transform:translate3d(0,0,0);transition-delay:0s}.motion-cue small{display:block;margin:0 0 10px;color:var(--lime);font-size:9px;font-weight:700;letter-spacing:.18em;line-height:1}.motion-cue strong{display:block;font:inherit}.cue-aerial{top:35%}.cue-interior{top:46%;white-space:nowrap}.cue-staging{top:57%;white-space:nowrap}.cue-exterior{top:68%;white-space:nowrap}
.statement{position:relative;z-index:4;display:grid;grid-template-columns:1fr 1.05fr;gap:40px;margin-top:-16svh;padding:clamp(112px,16vw,240px) clamp(22px,11vw,180px) clamp(100px,15vw,220px);border-radius:32px 32px 0 0;box-shadow:0 -22px 55px rgba(0,0,0,.2)}.statement h2,.journey h2,.feature h2,.full-services h2,.easy-booking h2,.booking h2{font-size:clamp(47px,7vw,108px)}.statement>p:last-child{align-self:end;max-width:330px;margin:0 0 7px auto;line-height:1.65;font-size:15px}
.journey{padding:clamp(80px,9vw,140px) clamp(22px,4vw,64px);color:var(--cream);background:var(--ink)}.journey-intro{display:grid;grid-template-columns:.8fr 1.25fr .65fr;gap:40px;align-items:end;margin-bottom:70px}.journey-intro p:last-child{line-height:1.6;color:#c4c3b9;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service-card{min-height:clamp(300px,44vw,630px);position:relative;overflow:hidden;padding:28px;display:flex;align-items:flex-end}.service-card img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.service-card:hover img{transform:scale(1.07)}.service-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(0,0,0,.8))}.service-text{position:relative;z-index:1}.service-text span{display:block;color:var(--lime);font-size:10px;font-weight:bold;letter-spacing:.12em;margin-bottom:12px}.service-text h3{margin:0;font-family:Varino,Arial,sans-serif;font-size:clamp(20px,3vw,43px);font-weight:400;letter-spacing:-.06em}.service-text p{max-height:0;max-width:390px;overflow:hidden;margin:0;opacity:0;line-height:1.5;transition:max-height .4s,opacity .35s,margin .35s}.service-card:hover .service-text p,.service-card:focus-within .service-text p{max-height:100px;margin-top:13px;opacity:1}
.feature{display:grid;grid-template-columns:1.15fr .85fr;min-height:750px;background:#cbc7b9}.feature-image{min-height:500px;background:url("images/exterior.jpg") center/cover no-repeat}.feature-copy{padding:clamp(50px,8vw,130px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.sparkle-title{color:transparent;background:linear-gradient(112deg,#151510 0%,#151510 36%,#fff6cd 47%,#fff 50%,#d7f34b 53%,#151510 65%,#151510 100%);background-size:280% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;animation:letter-sparkle 4.8s cubic-bezier(.45,.05,.55,.95) infinite}.sparkle-title em{color:transparent}.feature-copy>p:not(.kicker){max-width:420px;margin:30px 0;line-height:1.65;font-size:15px}.line-link{border-bottom:1px solid var(--ink);padding-bottom:9px;font-size:12px;font-weight:bold;letter-spacing:.09em;text-transform:uppercase}.line-link span{margin-left:20px}
.full-services{padding:clamp(90px,12vw,170px) clamp(22px,8vw,130px);background:var(--paper)}.section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:55px;align-items:end;margin-bottom:70px}.section-head p:last-child{max-width:330px;margin:0 0 8px auto;line-height:1.65;color:#525249}.service-list{border-top:1px solid var(--ink)}.service-category{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--ink);font-size:10px;font-weight:700;letter-spacing:.15em}.service-category b{font-weight:400;color:#626259}.service-category.video-category{margin-top:70px}.service-row{display:grid;grid-template-columns:70px minmax(230px,.8fr) 1.2fr;gap:24px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}.service-row>b{font-size:10px;letter-spacing:.12em;color:#74746c}.service-row h3{margin:0;font-family:Varino,Arial,sans-serif;font-size:clamp(21px,2.2vw,34px);font-weight:400;letter-spacing:-.045em;line-height:1.05}.service-row p{max-width:500px;margin:0;line-height:1.6;color:#515149;font-size:14px}
.easy-booking{display:grid;grid-template-columns:1fr 1fr;gap:clamp(55px,9vw,150px);padding:clamp(95px,13vw,180px) clamp(22px,9vw,150px);background:#10100d;color:var(--cream)}.easy-copy>p:not(.kicker){max-width:500px;margin:35px 0 0;line-height:1.7;color:#c9c8bf}.cta.light{border-color:rgba(255,255,255,.72);margin-top:35px}.cta.light:hover,.cta.light:focus-visible{background:var(--lime);border-color:var(--lime);color:var(--ink)}.booking-steps{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.35)}.booking-steps li{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.22)}.booking-steps li>b{color:var(--lime);font-size:10px;letter-spacing:.12em}.booking-steps h3{margin:0 0 8px;font-family:Varino,Arial,sans-serif;font-size:24px;font-weight:400;letter-spacing:-.04em}.booking-steps p{margin:0;color:#aaa99f;font-size:14px;line-height:1.55}
.reveal-on-scroll{opacity:0;transform:translate3d(0,30px,0);transition:opacity .9s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}.reveal-on-scroll.is-revealed{opacity:1;transform:translate3d(0,0,0)}.service-row:nth-of-type(2n),.booking-steps li:nth-child(2){transition-delay:.12s}
.booking{padding:clamp(100px,14vw,190px) 22px;text-align:center;background:var(--lime)}.booking h2{font-size:clamp(46px,7.3vw,118px)}.booking .kicker{margin-bottom:28px}.cta{display:inline-block;border:1px solid var(--ink);border-radius:100px;padding:16px 20px;margin-top:24px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;transition:background .2s,color .2s}.cta:hover,.cta:focus-visible{background:var(--ink);color:var(--lime)}.booking-note{margin:65px 0 0;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
footer{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#0c0c0a;color:#e7e5da;padding:28px clamp(22px,4vw,64px);font-size:9px;letter-spacing:.12em}footer img{width:115px}footer div{display:flex;gap:25px}footer a{border-bottom:1px solid #aaa99d;padding-bottom:4px}.mobile-book{display:none}
@keyframes pulse{50%{box-shadow:0 0 0 10px rgba(255,255,255,0)}}@keyframes letter-sparkle{0%,55%{background-position:100% 0}78%,100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-on-scroll{opacity:1;transform:none}}
@media(max-width:760px){body{padding-bottom:68px}.hero{height:330svh}.nav-links>a:not(.book-link){display:none}.nav{padding-top:22px}.hero-copy{width:100%;max-width:none;padding:clamp(108px,16vh,128px) 20px 56px}.hero-copy h1{max-width:100%;font-size:clamp(40px,12.5vw,54px);line-height:.96;letter-spacing:-.065em}.hero-card{display:none}.motion-cues{display:grid;grid-template-columns:1fr;align-items:end;padding:0 20px 21svh}.motion-cue{position:relative;right:auto;top:auto;display:grid;grid-template-columns:62px minmax(0,1fr);column-gap:10px;align-items:baseline;width:100%;font-size:clamp(16px,4.7vw,20px);letter-spacing:.04em;line-height:1;transform:translate3d(34px,0,0)}.motion-cue small{grid-column:1;grid-row:1;margin:0;padding-top:2px;color:#e5d0af;font-size:8px;letter-spacing:.1em;line-height:1.2}.motion-cue strong{grid-column:2;grid-row:1;white-space:nowrap}.motion-cue::before{content:"";position:absolute;top:0;left:0;width:48px;border-top:1px solid rgba(240,223,199,.72)}.statement,.journey-intro,.feature,.section-head,.easy-booking{grid-template-columns:1fr}.statement>p:last-child,.section-head p:last-child{margin:0}.journey-intro{gap:10px;margin-bottom:45px}.service-grid{grid-template-columns:1fr}.service-card{min-height:420px}.service-text p{max-height:100px;margin-top:13px;opacity:1}.feature{min-height:0}.feature-image{min-height:400px}.section-head{gap:25px}.service-row{grid-template-columns:38px 1fr;gap:16px}.service-row p{grid-column:2}.easy-booking{gap:65px}.nav-links{gap:0}.hero-book{display:none}footer{flex-wrap:wrap}footer>span{order:3;width:100%}.mobile-book{position:fixed;z-index:90;display:flex;align-items:center;justify-content:center;gap:8px;left:12px;right:12px;bottom:10px;height:48px;border-radius:100px;background:var(--lime);color:var(--ink);box-shadow:0 8px 28px rgba(0,0,0,.28);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}}
@media(max-width:760px){.motion-cue{grid-area:1/1;align-self:end}}
