:root{--black:#080808;--ink:#111;--gold:#cfa950;--gold2:#f0d486;--cream:#f7f3ea;--muted:#aaa;--line:#282828}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:#fff;font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}.nav{position:absolute;z-index:10;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,6vw,92px);border-bottom:1px solid rgba(255,255,255,.16)}.brand{display:flex;align-items:center}.brand img{display:block;width:68px;height:76px;object-fit:contain;filter:drop-shadow(0 2px 5px rgba(0,0,0,.4))}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav a{opacity:.88}nav a:hover{opacity:1;color:var(--gold2)}.nav-cta{border:1px solid var(--gold);padding:10px 18px}.hero{min-height:760px;height:100svh;position:relative;display:flex;align-items:center;padding:120px clamp(24px,8vw,122px) 70px;overflow:hidden}.hero-image{position:absolute;inset:0;background:url('assets/360-events-hero.png') center/cover no-repeat}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.68) 40%,rgba(0,0,0,.12) 73%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 45%)}.hero-content{position:relative;z-index:2;max-width:670px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.18em;color:#eee;margin:0 0 20px}.eyebrow.gold{color:var(--gold)}h1,h2{font-family:"Playfair Display",serif;line-height:1.05;margin:0}h1{font-size:clamp(3.3rem,7.3vw,6.8rem);letter-spacing:-.04em;max-width:760px}h2{font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.025em}.hero-copy{max-width:565px;color:#ddd;font-size:clamp(1.05rem,1.5vw,1.3rem);margin:27px 0 34px}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;font-size:14px;font-weight:700;letter-spacing:.035em;transition:.2s}.primary{background:var(--gold);color:#111;border:1px solid var(--gold)}.primary:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-2px)}.secondary{border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.18)}.secondary:hover{border-color:#fff;background:rgba(255,255,255,.08)}.scroll-cue{position:absolute;z-index:2;right:clamp(24px,6vw,92px);bottom:40px;color:#ddd;font-size:13px;letter-spacing:.08em}.scroll-cue span{color:var(--gold);margin-left:12px}.intro{background:var(--cream);color:var(--ink);padding:110px clamp(24px,8vw,122px) 85px;display:grid;grid-template-columns:1.3fr .7fr;gap:8vw;align-items:end}.intro>p{font-size:18px;color:#555;max-width:530px;margin:0}.services-grid{padding:0 clamp(24px,8vw,122px) 120px;background:var(--cream);color:var(--ink);display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;background:#fff;border:1px solid #e1dccf;padding:48px 36px 42px;min-height:480px}.service-card.featured{background:#111;color:white;border-color:#111}.service-number{position:absolute;right:24px;top:20px;color:#b9b4a8;font-size:12px;letter-spacing:.15em}.icon{width:70px;height:70px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:22px;margin-bottom:48px}.orbit{position:relative}.orbit:after{content:"";position:absolute;width:82px;height:30px;border:1px solid var(--gold);border-radius:50%;transform:rotate(-18deg)}.service-card h3{font-family:"Playfair Display",serif;font-size:30px;margin:0 0 15px}.service-card p{color:#666}.service-card.featured p{color:#bbb}.service-card ul{padding:15px 0 0;margin:18px 0 0;border-top:1px solid #e7e2d8;list-style:none}.service-card.featured ul{border-color:#333}.service-card li{margin:9px 0;color:inherit;font-size:14px}.service-card li:before{content:"◆";font-size:7px;color:var(--gold);margin-right:10px;vertical-align:2px}.events{padding:120px clamp(24px,8vw,122px);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.events-copy p:last-child{color:#aaa;font-size:17px;max-width:460px}.event-list>div{padding:24px 4px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:20px;align-items:center}.event-list strong{font-family:"Playfair Display",serif;font-size:24px}.event-list span{color:#aaa}.book{text-align:center;background:linear-gradient(135deg,#a9802c,#d1ac55 50%,#9b7425);color:#111;padding:115px 24px}.book h2{max-width:900px;margin:auto}.book>p:not(.eyebrow){font-size:18px;margin:20px auto 30px}.centered{justify-content:center}.primary.light{background:#111;border-color:#111;color:#fff}.primary.light:hover{background:#262626}.light-outline{border-color:#111;color:#111;background:transparent}.light-outline:hover{background:rgba(0,0,0,.08);border-color:#111}.contact-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:35px;font-size:15px;font-weight:600}footer{padding:38px clamp(24px,6vw,92px);display:flex;align-items:center;gap:30px;color:#999;font-size:13px}footer .brand{margin-right:auto;color:#fff}footer .brand img{width:56px;height:66px}
@media(max-width:800px){.nav{height:82px;padding:0 20px}.brand img{width:58px;height:67px}.nav nav a:not(.nav-cta){display:none}.nav-cta{padding:8px 14px}.hero{min-height:720px;padding:120px 24px 75px;align-items:flex-end}.hero-image{background-position:63% center}.hero-shade{background:linear-gradient(0deg,rgba(0,0,0,.97) 4%,rgba(0,0,0,.7) 57%,rgba(0,0,0,.1) 100%)}h1{font-size:clamp(3rem,14vw,4.6rem)}.hero-copy{font-size:1rem}.scroll-cue{display:none}.intro{grid-template-columns:1fr;padding:80px 24px 55px;gap:25px}.services-grid{grid-template-columns:1fr;padding:0 24px 80px}.service-card{min-height:auto}.events{grid-template-columns:1fr;padding:80px 24px;gap:45px}.event-list>div{grid-template-columns:1fr;gap:4px}.book{padding:80px 24px}footer{flex-wrap:wrap;gap:14px}footer .brand{width:100%}}
@media(max-width:430px){.actions .button{width:100%}.event-list strong{font-size:21px}.contact-row{flex-direction:column;gap:2px}.contact-row span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.service-area{display:flex;align-items:center;gap:10px;color:var(--gold2);font-weight:600;font-size:14px;margin:0 0 28px}.service-area span{font-size:8px}.book .book-area{font-size:15px;margin-top:-17px;margin-bottom:30px;font-weight:600}.book .book-area:before{content:"◆";font-size:7px;margin-right:10px;vertical-align:2px}
.keychain-card{grid-column:1/-1;padding:0;display:grid;grid-template-columns:1.15fr .85fr;min-height:430px;overflow:hidden}.keychain-image{background:url('assets/round-photo-keychains.png') center/cover no-repeat;min-height:430px}.keychain-copy{padding:56px}.keychain-copy .eyebrow{margin-bottom:12px}
@media(max-width:800px){.keychain-card{grid-template-columns:1fr}.keychain-image{min-height:300px}.keychain-copy{padding:38px 30px}}
.services-grid{grid-template-columns:repeat(2,1fr)}
.service-number{z-index:2}
.visual-card{padding:0;overflow:hidden}
.service-photo{height:285px;background-position:center;background-size:cover;background-repeat:no-repeat}
.photo-booth-photo{background-image:url('assets/photo-booth-backdrop.jpg')}
.video-guestbook-photo{background-image:url('assets/video-guestbook.jpg')}
.audio-guestbook-photo{background-image:url('assets/audio-guestbook.jpg')}
.service-body{padding:34px 36px 38px}
@media(max-width:800px){.services-grid{grid-template-columns:1fr}.service-photo{height:250px}.service-body{padding:30px 28px 34px}}
