@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--navy:#101e30;--ink:#19283a;--cream:#f7f4ec;--gold:#e6c78b;--muted:#687078}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #ad762c;outline-offset:6px}.skip{position:absolute;left:20px;top:-100px;z-index:99;background:white;padding:12px}.skip:focus{top:10px}header{height:102px;background:var(--navy);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:30px}.brand{display:flex;align-items:center;gap:12px;line-height:1.1;font-family:'Libre Caslon Display',Georgia,serif;font-size:29px;white-space:nowrap}.brand i{font-size:23px;font-weight:400}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:4px;margin-top:9px;text-align:center}.brand-icon{font-size:44px;color:var(--gold)}nav{display:flex;gap:30px;font-size:13px;color:#dce1e6}nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.nav-call{font-size:13px;letter-spacing:1px}.nav-call span{margin-left:12px;color:var(--gold)}.hero{min-height:720px;position:relative;background:#05090f;color:white;overflow:hidden;display:flex;align-items:center}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 62%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,23,.96) 0%,rgba(4,12,23,.80) 31%,rgba(4,12,23,.08) 78%),linear-gradient(0deg,rgba(4,12,23,.75),transparent 28%)}.hero-copy{position:relative;padding:70px 5.5% 110px;width:100%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 23px}.hero .eyebrow{color:var(--gold)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:10px;box-shadow:0 0 14px #e6c78b}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.06}h1{font-size:clamp(54px,5.5vw,86px);letter-spacing:-2px;margin-bottom:25px}h1 em{color:var(--gold);font-weight:400}h2{font-size:clamp(38px,3.9vw,57px);letter-spacing:-1px;margin-bottom:20px}h3{font-size:33px;margin-bottom:18px}.hero-intro{font-size:17px;color:#e1e4e6;line-height:1.8}.actions{display:flex;align-items:center;gap:26px;margin-top:32px;flex-wrap:wrap}.button{padding:17px 24px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:var(--navy)}.gold:hover{background:#f3dbab}.text-link{font-size:13px}.text-link span{margin-left:12px}.hero-note{font-size:11px;color:#b7c0ca;margin-top:23px}.photo-note{position:absolute;bottom:25px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;color:#d8dde2}.service-strip{display:flex;justify-content:space-around;gap:15px;padding:24px 5%;background:#eae6dc;font-size:10px;letter-spacing:2px}.section{padding:95px 7%;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:40px}.section-heading>p{max-width:350px;color:var(--muted);font-size:14px;margin-bottom:23px}.section-heading h2{margin-bottom:10px}.season-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.season{padding:38px;position:relative;overflow:hidden;min-height:300px}.christmas{background:#142d30;color:#f7f4ec}.halloween{background:#eae2d4;color:#342b29}.season-num{font-size:10px;letter-spacing:2px;display:block;margin-bottom:65px}.season p{font-size:14px;max-width:400px;margin:0;position:relative}.season h3{position:relative}.star-art,.moon-art{position:absolute;right:28px;top:2px;font-size:160px;font-family:Georgia;color:#d1b779;opacity:.38;line-height:1}.moon-art{color:#85633c;top:12px}.work{padding-top:20px}.work figure{margin:0}.work figure img{width:100%;height:480px;object-fit:cover;object-position:center 57%}.work figcaption{display:flex;justify-content:space-between;padding-top:15px;font-size:11px;color:var(--muted)}.work figcaption span:last-child{font-size:9px;letter-spacing:1px}.packages{background:#eeeae1;max-width:none}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.package-grid article{padding:28px 0 0;border-top:1px solid #c7c1b5;display:flex;flex-direction:column}.step{color:#7e6640;font-size:12px;letter-spacing:2px;margin-bottom:25px}.package-grid h3{font-size:29px}.package-grid p{font-size:14px;color:#5d6267;max-width:320px}.package-footer{font-size:10px;margin-top:auto;padding-top:22px;color:#6e5a39}.terms{font-size:11px;margin:35px 0 0;color:#666b6e;max-width:790px}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:10%;align-items:center}.portrait{height:440px;overflow:hidden;background:#dfd0b9}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 15%}.about-copy p:not(.eyebrow){color:#626a70;font-size:15px}.signature{font-family:'Libre Caslon Display',Georgia,serif;font-size:27px;margin-top:30px}.signature span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:7px}.area{background:var(--navy);color:var(--cream);max-width:none;text-align:center}.area .eyebrow{color:var(--gold)}.areas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:32px auto;max-width:900px}.areas span{padding:10px 18px;border:1px solid #425063;font-size:13px}.area>p:last-child{max-width:570px;margin:0 auto;color:#bcc5d0;font-size:13px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.faq h2{max-width:350px}.questions details{border-top:1px solid #d4d2cb}.questions details:last-child{border-bottom:1px solid #d4d2cb}summary{cursor:pointer;padding:21px 30px 21px 0;list-style:none;font-size:14px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:3px;font-size:20px;top:16px;color:#79603a}details[open] summary:after{content:'−'}details p{font-size:13px;color:#626a70;padding-right:20px;margin-bottom:22px}.contact{background:#e9e3d7;text-align:center;max-width:none;position:relative}.contact h2{font-size:clamp(46px,4.6vw,66px)}.contact p:not(.eyebrow){color:#626a70;font-size:14px}.contact strong{font-weight:500;color:var(--ink)}.contact .actions{justify-content:center}.contact .gold{background:var(--navy);color:white}.contact .gold:hover{background:#263b54}.outline{border-color:#a9a397;color:var(--ink)}.contact-note{display:block;margin-top:22px;font-size:10px;color:#626a70}footer{padding:40px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:var(--navy);color:#e6e7e8}footer .brand{font-size:23px}footer .brand i{font-size:18px}footer p,footer>a:last-child{font-size:10px;color:#c1c8d0;margin:0}.mobile-contact{display:none}@media(min-width:1600px){.hero{min-height:800px}}@media(max-width:1000px){nav{display:none}.hero{min-height:660px}.hero-shade{background:linear-gradient(90deg,rgba(4,12,23,.93),rgba(4,12,23,.28)),linear-gradient(0deg,rgba(4,12,23,.7),transparent)}.section{padding:70px 6%}.work{padding-top:0}.section-heading{gap:30px}.section-heading>p{max-width:280px}.about{gap:6%}.portrait{height:370px}.faq{gap:5%}footer p{display:none}.season{padding:28px}.package-grid{gap:22px}}
@media(max-width:650px){header{height:86px;padding:0 6%}.brand{font-size:24px}.brand i{font-size:18px}.brand-icon{font-size:34px}.brand small{font-size:7px;letter-spacing:3px}.nav-call{font-size:10px;letter-spacing:0}.nav-call span{display:none}.hero{min-height:780px;align-items:flex-start}.hero-image{height:470px;top:310px;object-fit:cover;object-position:53% 60%}.hero-shade{background:linear-gradient(180deg,#07101c 0%,#07101c 35%,rgba(7,16,28,.45) 57%,rgba(7,16,28,.03) 77%,#07101c 100%)}.hero-copy{padding:42px 6% 0}.hero .eyebrow{font-size:8px;letter-spacing:1.2px;margin-bottom:25px}h1{font-size:54px;letter-spacing:-1.5px}.hero-intro{font-size:14px}.hero .actions{gap:20px;margin-top:24px}.button{padding:16px 18px;font-size:11px;gap:18px}.text-link{font-size:12px}.hero-note{font-size:10px;margin-top:16px}.photo-note{font-size:7px;letter-spacing:.7px;bottom:20px}.service-strip{padding:18px 4%;gap:10px;font-size:7px;letter-spacing:.7px}.section{padding:60px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:100%;margin:20px 0 0}h2{font-size:40px}.eyebrow{font-size:9px;letter-spacing:1.5px}.season-grid,.package-grid{grid-template-columns:1fr}.season{min-height:265px}.season-num{margin-bottom:50px}.work{padding-top:0}.work figure img{height:290px;object-position:center}.work figcaption{font-size:9px;gap:10px}.work figcaption span:last-child{font-size:7px;white-space:nowrap}.package-grid{gap:28px}.package-grid article{padding-top:22px}.step{margin-bottom:18px}.package-grid p{max-width:100%}.package-footer{padding-top:4px}.terms{line-height:1.8}.about{grid-template-columns:1fr;gap:35px}.portrait{height:340px;width:85%;max-width:340px}.portrait img{object-position:center 14%}.about-copy p:not(.eyebrow){font-size:14px}.areas{gap:8px}.areas span{font-size:11px;padding:9px 13px}.faq{grid-template-columns:1fr;gap:15px}.faq h2{max-width:none}summary{font-size:13px}.contact .actions{gap:12px;flex-direction:column}.contact .button{min-width:260px}.desktop-break{display:none}footer{padding:32px 6% 95px;flex-direction:column;align-items:flex-start;gap:24px}.mobile-contact{display:grid;grid-template-columns:.8fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--navy);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid #425063}.mobile-contact a{text-align:center;padding:12px 6px;font-size:11px;color:white}.mobile-contact a:last-child{background:var(--gold);color:var(--navy);font-weight:700}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.portrait img{transform:scale(1.4);transform-origin:center 15%}
