:root{--ease-out:cubic-bezier(.22,1,.36,1);--forest:#263c33;--cream:#f7f3e9;--space-section:clamp(4.5rem,8vw,8rem)}
body{background:var(--cream);-webkit-font-smoothing:antialiased}
::selection{background:#d7bd82;color:#263c33}
.site-header{background:#f7f3e9;transition:box-shadow .3s ease}
.nav-wrap{height:94px;gap:1rem}.nav-links{gap:1.15rem;font-size:.82rem;white-space:nowrap}.nav-links .button{font-size:.72rem;padding:.85rem 1rem}.brand{min-width:245px;gap:.75rem}.brand-copy strong{font-size:1.12rem}
.button{border-radius:3px;transition:background .3s ease,transform .4s var(--ease-out),box-shadow .3s ease}.button:hover{box-shadow:0 8px 22px #312a251a;transform:translateY(-3px)}
.text-link{display:inline-flex;align-items:center;gap:1rem}.text-link::after{content:'↗';font-size:1.1em;transition:transform .35s var(--ease-out)}.text-link:hover::after{transform:translate(3px,-3px)}
.page-hero{background:radial-gradient(ellipse at 85% 0%,#e9e4d5,transparent 65%);padding-bottom:4.5rem}.page-hero h1{font-size:clamp(3rem,6vw,5.3rem);line-height:1.06;text-wrap:balance}.page-hero .eyebrow{display:block;margin-bottom:.5rem}
.event-project{scroll-margin-top:120px}.project-head{gap:3rem}.project-feature{background:#eee8dc;padding:clamp(.5rem,1.5vw,1.25rem)}.project-feature .portfolio-shot{background:#eee8dc}.project-gallery{gap:1rem}.portfolio-shot{border-radius:3px}.portfolio-shot img{transition:transform 1s var(--ease-out)}.portfolio-shot:hover img{transform:scale(1.035)}
.public-review{transition:background .3s ease,box-shadow .3s ease}.public-review:hover{background:#fffdf8;box-shadow:0 12px 32px #312a2509}.review-form,.contact-card,.testimonial-note,.testimonial-aside{border-radius:5px}.field input,.field select,.field textarea{border-radius:3px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #b8893d18;outline:none}
.cta-band{position:relative;overflow:hidden;background:#e8ddc5}.cta-band::before{content:'';position:absolute;width:440px;height:440px;border:1px solid #b8893d40;border-radius:50%;right:-140px;top:-240px;pointer-events:none}.site-footer{padding-top:3.5rem}.footer-links a{transition:color .2s,padding-left .3s}.footer-links a:hover{color:#e7cf9a;padding-left:4px}
.home-hero{position:relative;overflow:hidden;background:var(--cream)}.home-hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:5%;align-items:center;min-height:min(800px,calc(100svh - 94px));padding-block:3rem 2rem}.home-hero-copy{position:relative;z-index:2;min-width:0}.home-hero .eyebrow{font-size:.73rem;letter-spacing:.17em;white-space:nowrap}.home-hero h1{font-size:clamp(3.6rem,6.4vw,6.1rem);line-height:1.03;letter-spacing:-.045em;margin-top:1.5rem}.home-hero h1 span,.home-hero h1 em{display:block;white-space:nowrap}.home-hero h1 em{color:#816033;font-style:italic;font-size:.97em}.home-hero-copy>p{max-width:450px;margin:1.65rem 0 1.9rem;color:var(--muted);line-height:1.8;font-size:1rem}.home-hero .hero-actions{gap:.75rem}.home-hero .hero-actions .button{min-width:0;padding:1rem 1.3rem;font-size:.74rem}.hero-location{display:flex;gap:.6rem;align-items:center;font-size:.73rem;color:var(--muted);margin-top:2.4rem;letter-spacing:.06em}.hero-location::before{content:'';width:6px;height:6px;border-radius:50%;background:#7e8d72}
.hero-art{position:relative;margin:0;min-width:0;padding:0 0 2.5rem}.hero-art-frame{position:relative;overflow:hidden;border-radius:45% 45% 3px 3px/30% 30% 3px 3px;height:clamp(440px,43vw,590px);background:#e3d8c5}.hero-art-frame img{width:100%;height:100%;object-fit:cover}.hero-art-frame::after{content:'';position:absolute;inset:12px;border:1px solid #fff7e480;border-radius:inherit;pointer-events:none}.hero-art figcaption{display:flex;justify-content:space-between;font-size:.63rem;text-transform:uppercase;letter-spacing:.13em;padding-top:1rem;color:var(--muted)}.hero-seal{position:absolute;left:-35px;bottom:5.5rem;border-radius:50%;width:105px;height:105px;display:grid;place-content:center;text-align:center;background:#f7f3e9;border:1px solid #bd9c63;outline:7px solid #f7f3e9;color:#816033;font-family:var(--serif);font-size:1.25rem;line-height:1.1;transform:rotate(-10deg)}
.occasion-strip{border-block:1px solid var(--line)}.occasion-strip .shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:82px}.occasion-strip a{display:flex;align-items:center;gap:1rem;font-family:var(--serif);font-size:1.35rem;transition:color .2s}.occasion-strip a::before{content:'✧';color:var(--gold);font-size:1.2rem}.occasion-strip a:hover{color:var(--gold-dark)}
.home-intro{padding:clamp(5rem,10vw,9rem) 0}.home-intro .shell{display:grid;grid-template-columns:.35fr 1fr;gap:6vw}.chapter-label{display:flex;align-items:center;gap:.7rem;color:var(--gold-dark);font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}.chapter-label::before{content:'';width:22px;height:1px;background:currentColor}.home-intro h2{font-size:clamp(2.6rem,4.4vw,4.25rem);line-height:1.15;max-width:850px;text-wrap:balance}.home-intro h2 em{color:var(--gold-dark);font-weight:400}.intro-bottom{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:end;margin-top:2rem}.intro-bottom p{max-width:510px;color:var(--muted);margin:0}
.story-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2.8rem}.story-heading h2{margin-top:1rem;max-width:650px;font-size:clamp(2.6rem,4.5vw,4.25rem);text-wrap:balance}.story-heading>p{max-width:330px;color:var(--muted);margin:0}.celebration-section{padding:0 0 var(--space-section)}.occasion-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}.occasion-card{display:block;min-width:0}.occasion-card figure{margin:0 0 1.5rem;position:relative;overflow:hidden;height:350px;background:#e9dfcf;border-radius:4px}.occasion-card:nth-child(2){padding-top:3rem}.occasion-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease-out)}.occasion-card:hover img{transform:scale(1.045)}.occasion-card .occasion-num{position:absolute;left:1rem;top:1rem;background:#f7f3e9ed;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:.7rem;color:var(--gold-dark)}.occasion-card h3{display:flex;justify-content:space-between;align-items:center;font-size:2rem}.occasion-card h3 span{font-family:var(--sans);font-size:1.2rem;font-weight:400;transition:transform .3s}.occasion-card:hover h3 span{transform:translate(3px,-3px)}.occasion-card p{color:var(--muted);font-size:.9rem;margin-top:.85rem;max-width:320px}.image-note{font-size:.68rem;color:var(--muted);margin:1.5rem 0 0}
.planning-story{background:var(--forest);color:#f7f3e9;padding:var(--space-section) 0;position:relative}.planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.planning-aside{position:sticky;top:135px;align-self:start}.planning-story .chapter-label{color:#d7bd82}.planning-aside h2{font-size:clamp(2.8rem,4.7vw,4.8rem);margin-top:1.3rem;line-height:1.08;text-wrap:balance}.planning-aside>p{max-width:385px;color:#d3dbd2;margin:1.5rem 0 2rem}.planning-orbit{display:flex;align-items:center;gap:.8rem;margin-top:2rem;color:#d7bd82;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.planning-orbit span{width:45px;height:45px;border:1px solid #d7bd8270;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.5rem}.planning-chapter{position:relative;padding:1.75rem 0 2.3rem 3.2rem;border-top:1px solid #ffffff30;scroll-margin-top:130px}.planning-chapter:last-child{padding-bottom:0}.planning-chapter::before{content:'';position:absolute;top:1.95rem;left:0;width:8px;height:8px;border:1px solid #d7bd82;border-radius:50%;transition:background .4s,box-shadow .4s}.planning-chapter.is-current::before{background:#d7bd82;box-shadow:0 0 0 7px #d7bd8215}.planning-chapter .chapter-count{font-size:.68rem;letter-spacing:.1em;color:#d7bd82;display:block;margin-bottom:.8rem}.planning-chapter h3{font-size:2.15rem;line-height:1.2}.planning-chapter p{color:#d3dbd2;margin:1rem 0 0;max-width:380px;line-height:1.8}.planning-chapter.is-current h3{color:#e7cf9a}
.real-moments{padding:var(--space-section) 0}.moments-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:2rem;align-items:start}.moment-card{display:block;min-width:0}.moment-card:nth-child(2){margin-top:5.5rem}.moment-card figure{margin:0;overflow:hidden;border-radius:4px;aspect-ratio:1.35;background:#e4d8c5}.moment-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}.moment-card:hover img{transform:scale(1.035)}.moment-caption{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--line)}.moment-caption h3{font-size:1.6rem}.moment-caption p{margin:.4rem 0 0;font-size:.72rem;color:var(--muted)}.moment-caption>span{font-size:1.5rem;color:var(--gold-dark)}
.ramki-note{padding:0 0 var(--space-section)}.ramki-note-inner{border-block:1px solid var(--line);padding:3.5rem 0;display:grid;grid-template-columns:.4fr 1fr;gap:6vw}.ramki-note blockquote{margin:0;font-family:var(--serif);font-size:clamp(2rem,3.3vw,3.2rem);line-height:1.25}.ramki-note .text-link{margin-top:1.6rem;font-size:.85rem}.home-closing{position:relative;text-align:center;background:#e7ddc8;padding:clamp(4.5rem,9vw,8rem) 1.5rem;overflow:hidden}.home-closing::before{content:'✧';position:absolute;right:3%;top:1rem;color:#b8893d35;font-size:20rem;line-height:1;pointer-events:none}.home-closing .chapter-label{justify-content:center}.home-closing h2{max-width:850px;margin:1.5rem auto 1.25rem;font-size:clamp(3rem,5.7vw,5.5rem);text-wrap:balance;line-height:1.08}.home-closing p{color:var(--muted);max-width:420px;margin:0 auto 2rem}.home-closing-actions{display:flex;gap:1.5rem;align-items:center;justify-content:center}.home-closing .phone{font-size:.95rem}.home-closing .button{padding:1rem 1.6rem}
@media(min-width:901px) and (max-width:1180px){.nav-links{gap:.7rem;font-size:.75rem}.brand{min-width:215px}.brand img{width:60px;height:60px}.brand-copy strong{font-size:1rem}.nav-links .button{font-size:.65rem;padding:.8rem}.home-hero h1{font-size:6.25vw}.home-hero .eyebrow{font-size:.63rem}.home-hero-grid{gap:4%}}
@media(max-width:900px){.nav-wrap{height:86px}.brand{min-width:0}.nav-links{white-space:normal;font-size:.92rem;gap:.45rem}.nav-links .button{font-size:.8rem}.brand-copy strong{font-size:1.02rem}.home-hero-grid{min-height:0;grid-template-columns:1fr 1fr;gap:3%;padding-block:3rem}.home-hero h1{font-size:6.1vw}.home-hero .eyebrow{white-space:normal;font-size:.64rem}.home-hero .hero-actions{flex-wrap:wrap}.home-hero .hero-actions .button{width:100%}.hero-art-frame{height:490px}.hero-seal{width:80px;height:80px;left:-15px;font-size:1rem}.hero-location{margin-top:1.25rem}.hero-art figcaption{font-size:.55rem;gap:.5rem}.occasion-strip a{font-size:1.1rem;gap:.5rem}.home-intro .shell{grid-template-columns:1fr;gap:1.6rem}.intro-bottom{grid-template-columns:1fr;gap:1.3rem}.intro-bottom .text-link{justify-self:start}.occasion-cards{gap:1rem}.occasion-card figure{height:270px}.occasion-card h3{font-size:1.6rem}.planning-grid{gap:6%}.planning-aside{top:115px}.planning-chapter{padding-left:1.75rem}.planning-chapter h3{font-size:1.85rem}.story-heading>p{max-width:270px}.ramki-note-inner{grid-template-columns:.4fr 1fr;gap:3vw}}
@media(max-width:600px){.home-hero-grid{grid-template-columns:1fr;padding-block:2.75rem 1rem;gap:2rem}.home-hero h1{font-size:clamp(2.75rem,11.8vw,4.7rem);margin-top:1.25rem}.home-hero .eyebrow{font-size:.65rem;letter-spacing:.13em}.home-hero-copy>p{font-size:.95rem;margin-block:1.25rem 1.5rem}.home-hero .hero-actions{flex-wrap:nowrap;gap:.5rem}.home-hero .hero-actions .button{font-size:.65rem;padding:.85rem .65rem;width:auto;flex:1;min-height:49px}.hero-location{font-size:.68rem}.hero-art{padding:0 0 1rem;margin:0 10px}.hero-art-frame{height:420px;border-radius:45% 45% 3px 3px/35% 35% 3px 3px}.hero-seal{bottom:4rem;left:-10px}.hero-art figcaption{font-size:.58rem}.occasion-strip .shell{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding-block:1.25rem}.occasion-strip a{font-size:1.05rem}.home-intro{padding:4.5rem 0}.home-intro h2{font-size:2.6rem}.intro-bottom p{font-size:.95rem}.story-heading{display:block;margin-bottom:2rem}.story-heading h2{font-size:2.6rem}.story-heading>p{margin-top:1rem;max-width:none;font-size:.95rem}.occasion-cards{grid-template-columns:1fr;gap:2rem}.occasion-card:nth-child(2){padding:0}.occasion-card figure{height:330px;margin-bottom:1rem}.occasion-card p{max-width:none;margin-bottom:0}.occasion-card h3{font-size:2rem}.image-note{font-size:.66rem}.planning-grid{grid-template-columns:1fr;gap:2.25rem}.planning-aside{position:static}.planning-aside h2{font-size:3rem}.planning-aside>p{font-size:.95rem}.planning-orbit{display:none}.planning-chapter{padding:1.5rem 0 1.8rem 1.8rem}.planning-chapter h3{font-size:2rem}.planning-chapter p{font-size:.95rem}.planning-chapter::before{top:1.75rem}.moments-grid{grid-template-columns:1fr;gap:2rem}.moment-card:nth-child(2){margin-top:0}.moment-card figure{aspect-ratio:1.25}.moment-caption h3{font-size:1.65rem}.ramki-note-inner{grid-template-columns:1fr;gap:1.5rem;padding-block:2.5rem}.ramki-note blockquote{font-size:2.2rem}.home-closing h2{font-size:3rem}.home-closing p{font-size:.95rem}.home-closing-actions{flex-direction:column;gap:1rem}.home-closing-actions .button{width:100%;max-width:320px}.page-hero{padding-bottom:3rem}.page-hero h1{font-size:clamp(2.75rem,12vw,4rem)}.brand-copy strong{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.celebrations > .celebration-card:not(:has(figure)){min-height:0}
.celebrations > .celebration-card:not(:has(figure)) .celebration-copy{padding:1.5rem}
.celebrations > .celebration-card:not(:has(figure)) .celebration-copy p:last-child{margin-bottom:0}
