:root{--ink:#161511;--ivory:#f3eee5;--paper:#e9e0d3;--gold:#c69248;--sage:#a5af98;--line:rgba(22,21,17,.16);--sans:"DM Sans",sans-serif;--serif:"Italiana",serif;--condensed:"Oswald",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
button{font:inherit}
.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;color:#111;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:96px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;color:#f5f0e7;border-bottom:1px solid rgba(255,255,255,.24);transition:color .4s,border-color .4s}
.site-header.is-airy{color:var(--ink);border-color:rgba(22,21,17,.18)}
.brand{display:flex;align-items:center;gap:12px;font-size:.78rem;font-weight:600;letter-spacing:.21em}
.brand-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;font-family:var(--serif);font-size:1.2rem;letter-spacing:0}
.nav{display:flex;align-items:center;gap:34px;font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}
.nav a:not(.nav-cta){position:relative}.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .25s}.nav a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{padding:11px 18px;border:1px solid currentColor}
.menu-toggle{display:none;background:none;border:0;color:inherit}
.hero{height:min(920px,100svh);min-height:680px;position:relative;overflow:hidden;background:#111}
.slides,.slide{position:absolute;inset:0}
.slide{opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;overflow:hidden}
.slide.is-active{opacity:1;visibility:visible}
.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.045);transition:transform 10s linear}
.slide.is-active img{transform:scale(1)}
.slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,9,8,.92) 0%,rgba(10,9,8,.7) 38%,rgba(10,9,8,.08) 72%)}
.slide-airy .slide-shade{background:linear-gradient(90deg,rgba(244,239,230,.96) 0%,rgba(244,239,230,.78) 40%,rgba(244,239,230,.05) 75%)}
.hero-copy{position:absolute;z-index:2;left:clamp(24px,6vw,92px);top:51%;transform:translateY(-44%);width:min(650px,48vw);color:#f7f0e5}
.slide-airy .hero-copy{color:var(--ink)}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600}
.eyebrow{margin:0 0 24px;opacity:.76}
.hero h1,.hero h2{font-family:var(--serif);font-size:clamp(3.6rem,6.6vw,7rem);font-weight:400;line-height:.94;letter-spacing:-.035em;margin:0}
.slide-cinematic h2{font-family:var(--condensed);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(4rem,7vw,7.5rem);max-width:590px}
.hero-note{max-width:530px;font-size:1.05rem;line-height:1.7;margin:28px 0 34px;opacity:.82}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;min-height:54px;padding:0 25px;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.1em;font-size:.73rem;font-weight:600;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-3px)}
.button-light{background:#f5efe5;color:#171511}.button-ghost{border-color:#eee7dc;color:#f5efe5}.button-ghost:hover{background:#f5efe5;color:#171511}
.button-gold{background:var(--gold);color:#15120e}.button-gold-ghost{border-color:var(--gold);color:#e4b46d}.button-gold-ghost:hover{background:var(--gold);color:#15120e}
.button-sage{background:var(--sage);color:#fff}.button-ink{border-color:var(--ink);color:var(--ink)}.button-ink:hover{background:var(--ink);color:#fff}
.slider-controls{position:absolute;z-index:5;left:clamp(24px,6vw,92px);bottom:38px;display:flex;align-items:center;gap:18px;color:#f7f0e5}
.slider-arrow{border:1px solid rgba(255,255,255,.4);color:inherit;background:rgba(0,0,0,.15);width:44px;height:44px;border-radius:50%;cursor:pointer;transition:background .2s}.slider-arrow:hover{background:rgba(255,255,255,.2)}
.slider-dots{display:flex;align-items:center;gap:9px}.dot{width:25px;height:3px;padding:0;border:0;background:rgba(255,255,255,.35);cursor:pointer}.dot.is-active{background:#fff}
.slide-count{font-size:.72rem;letter-spacing:.12em}.slide-count strong{font-size:1rem}
.timer{position:absolute;z-index:6;bottom:0;left:0;height:3px;width:100%;background:rgba(255,255,255,.13)}.timer span{display:block;height:100%;width:0;background:var(--gold)}.timer.run span{animation:timer 10s linear}
@keyframes timer{to{width:100%}}
.intro,.services,.packages{padding:clamp(85px,10vw,150px) clamp(24px,6vw,92px)}
.intro{display:grid;grid-template-columns:180px 1fr 80px;gap:clamp(24px,5vw,80px);border-bottom:1px solid var(--line)}
.section-label{margin:10px 0 0;color:#756b5f}.intro h2,.section-heading h2,.contact h2{font-family:var(--serif);font-size:clamp(3rem,5.2vw,6rem);line-height:1.04;font-weight:400;letter-spacing:-.03em;margin:0}.intro h2 em{font-weight:400;color:#8d806e}.intro div>p{max-width:670px;color:#655d53;margin:36px 0 0;font-size:1.1rem}.intro-number{font-family:var(--serif);font-size:4rem;color:#c0b3a2;margin:0}
.services{background:#171613;color:#eee8de}
.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:start;margin-bottom:70px}.services .section-label{color:#b8a993}.services .section-heading h2{max-width:800px}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18)}
.service-grid article{padding:35px 28px 30px 0;border-right:1px solid rgba(255,255,255,.18);min-height:250px}.service-grid article:not(:first-child){padding-left:28px}.service-grid article:last-child{border:0}
.service-grid span{color:#9a8e7f;font-size:.72rem}.service-grid h3{font-family:var(--serif);font-weight:400;font-size:2.1rem;margin:44px 0 12px}.service-grid p{color:#aaa195;font-size:.92rem}
.packages{background:#e8dfd2}
.package-heading{grid-template-columns:1.5fr 1fr}.package-heading>p{color:#675f54;max-width:470px;margin:45px 0 0}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.package-card{position:relative;background:#f5f0e7;padding:46px 40px;display:flex;flex-direction:column;border:1px solid transparent;transition:transform .25s,border-color .25s}.package-card:hover{transform:translateY(-8px);border-color:#b1a18b}
.package-card.featured{background:#191815;color:#eee9e1}
.popular{position:absolute;right:0;top:0;margin:0;padding:9px 16px;background:var(--gold);color:#15130f;text-transform:uppercase;letter-spacing:.13em;font-size:.63rem;font-weight:600}
.package-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.67rem;color:#7b7062;margin:0}.featured .package-kicker{color:#afa394}
.package-card h3{font-family:var(--serif);font-size:2.7rem;font-weight:400;margin:14px 0 22px}
.price{font-size:3.1rem;line-height:1;margin:0}.price span{font-size:1.4rem;vertical-align:top;margin-right:3px}.price-note{color:#8c8172;font-size:.75rem;margin:8px 0 28px}
.package-card ul{list-style:none;padding:24px 0;margin:0 0 30px;border-top:1px solid var(--line);flex:1}.featured ul{border-color:rgba(255,255,255,.17)}
.package-card li{padding:7px 0 7px 23px;position:relative;font-size:.91rem}.package-card li::before{content:"✓";position:absolute;left:0;color:var(--gold)}
.package-button{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid currentColor;text-transform:uppercase;font-size:.7rem;letter-spacing:.13em}.package-button span{font-size:1.1rem;transition:transform .2s}.package-button:hover span{transform:translate(4px,-4px)}
.custom-note{text-align:center;margin:38px 0 0;color:#675f54}.custom-note a{border-bottom:1px solid}
.contact{padding:clamp(90px,12vw,180px) 24px;text-align:center;background:#897c69;color:#f6f0e7}.contact .section-label{color:#ded2c1}.contact h2{max-width:940px;margin:24px auto}.contact>p:not(.section-label){opacity:.8}.contact-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:38px;flex-wrap:wrap}.text-link{border-bottom:1px solid}
footer{background:#11100e;color:#cfc5b7;padding:35px clamp(24px,6vw,92px);display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:.74rem}footer p{margin:0}
@media (max-width:900px){.site-header{height:78px}.menu-toggle{display:flex;flex-direction:column;gap:6px;padding:12px;z-index:2}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor}.nav{display:none;position:absolute;top:78px;left:0;width:100%;background:#151411;color:#fff;padding:25px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero-copy{width:min(80vw,620px)}.intro{grid-template-columns:120px 1fr}.intro-number{display:none}.section-heading{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(2){border-right:0}.package-grid{grid-template-columns:1fr}.package-card{min-height:auto}.package-heading>p{margin:0}.package-card:hover{transform:none}footer{flex-direction:column;text-align:center}}
@media (max-width:600px){.hero{height:760px;min-height:680px}.slide img{object-position:65% center}.slide-airy img{object-position:68% center}.slide-shade,.slide-airy .slide-shade{background:linear-gradient(180deg,rgba(14,13,12,.16) 15%,rgba(14,13,12,.86) 70%,rgba(14,13,12,.97) 100%)}.slide-airy .slide-shade{background:linear-gradient(180deg,rgba(244,239,230,.1) 10%,rgba(244,239,230,.82) 65%,rgba(244,239,230,.98) 100%)}.hero-copy{top:auto;bottom:105px;transform:none;left:24px;width:calc(100% - 48px)}.hero h1,.hero h2,.slide-cinematic h2{font-size:clamp(3rem,14vw,4.8rem)}.hero-note{font-size:.9rem;line-height:1.5;margin:16px 0 20px}.hero-actions{gap:8px}.button{min-height:46px;padding:0 17px}.slider-controls{left:24px;bottom:26px}.slider-arrow{width:38px;height:38px}.intro,.services,.packages{padding:75px 24px}.intro{display:block}.section-label{margin:0 0 28px}.intro h2,.section-heading h2,.contact h2{font-size:2.9rem}.intro div>p{font-size:1rem}.section-heading{margin-bottom:40px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article:not(:first-child){border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:28px 0;min-height:auto}.service-grid h3{margin:24px 0 8px}.package-card{padding:38px 27px}.price{font-size:2.8rem}footer{padding:35px 24px}.slider-dots{display:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.slide,.slide img,.button,.package-card{transition:none}.timer span{animation:none!important}}
