.loader{z-index:100;justify-content:center;align-items:center;gap:var(--space-sm);background:var(--color-charcoal);opacity:1;transition:opacity .6s var(--ease-out);flex-direction:column;display:flex;position:fixed;inset:0}.loader--leaving{opacity:0;pointer-events:none}.loader__wordmark{font-family:var(--font-serif);font-size:var(--fs-h1);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);color:var(--color-text);animation:loader-rise .9s var(--ease-out) both;margin:0}.loader__tagline{font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent);animation:loader-rise .9s var(--ease-out) .25s both;margin:0}.loader__progress{width:min(14rem,50vw);height:1px;margin-top:var(--space-sm);background:var(--color-border-subtle);overflow:hidden}.loader__progress span{background:var(--color-accent);transform-origin:0;width:100%;height:100%;animation:loader-progress 1.6s var(--ease-in-out) .15s forwards;display:block;transform:scaleX(0)}@keyframes loader-rise{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}@keyframes loader-progress{to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.loader__wordmark,.loader__tagline{animation:none}.loader__progress span{animation-duration:.3s}.loader{transition-duration:.2s}}.mobile-menu{display:none}@media (width<=860px){.mobile-menu{display:block}}.mobile-menu__toggle{z-index:95;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:10px;display:flex;position:relative}.mobile-menu__toggle span{background:var(--color-text);width:100%;height:1px;transition:transform var(--transition-base), opacity var(--transition-base);display:block}.mobile-menu__toggle.is-open span:first-child{transform:translateY(4px)rotate(45deg)}.mobile-menu__toggle.is-open span:last-child{transform:translateY(-4px)rotate(-45deg)}.mobile-menu__overlay{z-index:90;padding:var(--space-lg) var(--container-gutter);background:var(--color-charcoal);opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-out), visibility 0s linear var(--duration-base);flex-direction:column;justify-content:center;display:flex;position:fixed;inset:0}.mobile-menu__overlay.is-open{opacity:1;visibility:visible;transition:opacity var(--duration-base) var(--ease-out), visibility 0s}.mobile-menu__list{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mobile-menu__list li{opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);transform:translateY(1rem)}.mobile-menu__overlay.is-open li{opacity:1;transform:translateY(0)}.mobile-menu__link{align-items:baseline;gap:var(--space-sm);font-family:var(--font-serif);font-size:var(--fs-h2);font-weight:var(--fw-medium);line-height:var(--lh-heading);color:var(--color-text);padding-block:var(--space-3xs);min-height:44px;transition:color var(--transition-base);display:flex}.mobile-menu__link:hover,.mobile-menu__link.active{color:var(--color-accent)}.mobile-menu__index{font-family:var(--font-sans);font-size:var(--fs-label);letter-spacing:var(--tracking-label);color:var(--color-accent)}.mobile-menu__tagline{margin:var(--space-lg) 0 0;font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted)}.mobile-menu__overlay{width:100%;max-width:none;height:100dvh;max-height:none;color:var(--color-text);padding:5rem var(--container-gutter) 2rem;border:0;justify-content:safe center;margin:0;overflow-y:auto}.mobile-menu__overlay:not([open]){display:none}.mobile-menu__close{right:var(--container-gutter);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:.5rem;position:absolute;top:1rem}.mobile-menu__close span{margin-left:.5rem;font-size:1.5rem}@media (height<=600px){.mobile-menu__overlay{justify-content:flex-start;padding-top:4.5rem}.mobile-menu__link{font-size:2rem;line-height:1.1}.mobile-menu__list{gap:.25rem}.mobile-menu__tagline{margin-top:1rem}}@media (prefers-reduced-motion:reduce){.mobile-menu__list li{transform:none;transition-delay:0s!important}}.navbar{--nav-height:4.75rem;z-index:50;transition:background-color var(--transition-base), border-color var(--transition-base), backdrop-filter var(--transition-base);background:0 0;border-bottom:1px solid #0000;position:fixed;inset:0 0 auto}.navbar--scrolled{background:color-mix(in srgb, var(--color-charcoal) 78%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:var(--border-subtle)}.navbar__inner{justify-content:space-between;align-items:center;gap:var(--space-sm);height:var(--nav-height);max-width:var(--container-max);padding-inline:var(--container-gutter);margin-inline:auto;display:flex}.navbar__wordmark{font-family:var(--font-serif);font-size:var(--fs-h4);font-weight:var(--fw-semibold);letter-spacing:var(--tracking-label);color:var(--color-text)}.navbar__wordmark:hover{color:var(--color-accent)}.navbar__links{align-items:center;gap:var(--space-sm);display:flex}.navbar__link{font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);padding-block:var(--space-3xs);transition:color var(--transition-base);position:relative}.navbar__link:after{content:"";background:var(--color-accent);transform-origin:0;height:1px;transition:transform var(--transition-base);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.navbar__link:hover,.navbar__link.active{color:var(--color-text)}.navbar__link:hover:after,.navbar__link.active:after{transform:scaleX(1)}.navbar__cta{white-space:nowrap;font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent);border:var(--border-thin);padding:var(--space-2xs) var(--space-sm);transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base);border-radius:999px}.navbar__cta:hover{color:var(--color-charcoal);background:var(--color-accent);border-color:var(--color-accent)}@media (width<=860px){.navbar__links,.navbar__cta{display:none}}@media (width>=861px) and (width<=1100px){.navbar__inner{gap:var(--space-xs);padding-inline:var(--space-sm)}.navbar__links{gap:var(--space-xs)}.navbar__cta{padding:var(--space-2xs) var(--space-xs)}}.site-main{min-height:100vh;padding-top:4.75rem}.stories{padding-block:var(--space-2xl) var(--space-xl);border-top:var(--border-subtle)}.stories__head{max-width:46rem;margin-bottom:var(--space-2xl)}.stories__title{font-size:var(--fs-h1);font-weight:var(--fw-light);margin-block:var(--space-xs) var(--space-sm)}.stories__intro{color:var(--color-text-muted);font-size:var(--fs-body-lg);max-width:38rem;margin:0}.stories__list{gap:var(--space-2xl);margin:0;padding:0;list-style:none;display:grid}.story{align-items:center;gap:var(--space-md);grid-template-columns:repeat(12,1fr);display:grid}.story--1 .story__media{grid-column:1/9}.story--1 .story__body{grid-column:9/13}.story--2{margin-block:var(--space-xl)}.story--2 .story__body{grid-area:1/1/auto/6}.story--2 .story__media{transform:translateY(calc(-1 * var(--space-lg)));grid-column:7/12}.story--3 .story__media{grid-column:5/13}.story--3 .story__body{padding-top:var(--space-lg);grid-area:1/1/auto/5;align-self:start}.story__media{min-width:0}.story__frame{background:var(--color-surface);display:block;overflow:hidden}.story__img{object-fit:cover;width:100%;height:100%;transition:scale var(--duration-slow) var(--ease-out);will-change:transform;scale:1.12}.story:hover .story__img,.story:focus-within .story__img{scale:1.18}.story__credit{margin:var(--space-2xs) 0 0;font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);opacity:.75}.story__body{min-width:0}.story__topline{align-items:center;gap:var(--space-2xs) var(--space-xs);margin:0 0 var(--space-2xs);flex-wrap:wrap;display:flex}.story__category{margin:0}.tag-sample{font-family:var(--font-sans);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);border:var(--border-subtle);padding:var(--space-3xs) var(--space-2xs);white-space:nowrap;border-radius:999px;display:inline-block}.story__couple{font-size:var(--fs-h2);font-weight:var(--fw-light);margin:0}.story__couple-link{color:var(--color-text);transition:background-size var(--duration-slow) var(--ease-out), color var(--transition-base);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.story:hover .story__couple-link,.story:focus-within .story__couple-link,.story__couple-link:hover{color:var(--color-accent);background-size:100% 1px}.story__location{margin:var(--space-2xs) 0 var(--space-xs);font-family:var(--font-serif);font-style:italic;font-size:var(--fs-body-lg);color:var(--color-accent)}.story__excerpt{color:var(--color-text-muted);margin:0 0 var(--space-sm);transition:color var(--transition-base), transform var(--duration-slow) var(--ease-out)}.story:hover .story__excerpt,.story:focus-within .story__excerpt{color:var(--color-text);transform:translateY(-2px)}.story__link{align-items:center;gap:var(--space-2xs);font-family:var(--font-sans);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent);padding-block:var(--space-3xs);border-bottom:var(--border-thin);transition:color var(--transition-base), border-color var(--transition-base);display:inline-flex}.story__link-arrow{transition:transform var(--duration-base) var(--ease-out);display:inline-block}.story__link:hover{color:var(--color-text);border-bottom-color:var(--color-text)}.story__link:hover .story__link-arrow{transform:translate(6px)}@media (width<=1023px){.story{grid-template-columns:repeat(6,1fr)}.story--1 .story__media{grid-column:1/7}.story--1 .story__body{grid-column:1/6;padding-inline-start:var(--space-sm)}.story--2{margin-block:0}.story--2 .story__media{grid-area:1/2/auto/7;transform:none}.story--2 .story__body{grid-area:2/1/auto/6;padding-inline-start:var(--space-md)}.story--3 .story__media{grid-column:1/7}.story--3 .story__body{padding:0 0 0 var(--space-sm);grid-area:2/1/auto/6}}@media (width<=640px){.stories{padding-block:var(--space-xl) var(--space-lg)}.stories__head{margin-bottom:var(--space-xl)}.stories__list{gap:var(--space-xl)}.story{gap:var(--space-xs);grid-template-columns:1fr}.story .story__media,.story .story__body{grid-area:auto/1/auto/-1;padding:0;transform:none}}@media (prefers-reduced-motion:reduce){.story__img,.story:hover .story__img,.story:focus-within .story__img{scale:1}.story--2 .story__media{transform:none}}:root{--color-charcoal:#11100f;--color-ivory:#f5f0e8;--color-gold:#c6a875;--color-beige:#d8ccba;--color-brown:#29221d;--color-gold-deep:#7a5c2e;--color-bg:var(--color-charcoal);--color-surface:var(--color-brown);--color-text:var(--color-ivory);--color-text-muted:var(--color-beige);--color-accent:var(--color-gold);--color-accent-on-light:var(--color-gold-deep);--color-border:color-mix(in srgb, var(--color-gold) 35%, transparent);--color-border-subtle:color-mix(in srgb, var(--color-beige) 18%, transparent);--font-serif:"Cormorant Garamond", "Times New Roman", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-display:clamp(3rem, 2rem + 6vw, 7rem);--fs-h1:clamp(2.5rem, 1.8rem + 4vw, 5rem);--fs-h2:clamp(2rem, 1.5rem + 3vw, 3.5rem);--fs-h3:clamp(1.5rem, 1.2rem + 1.8vw, 2.25rem);--fs-h4:clamp(1.25rem, 1.1rem + .8vw, 1.5rem);--fs-body-lg:clamp(1.125rem, 1.05rem + .4vw, 1.375rem);--fs-body:clamp(1rem, .95rem + .25vw, 1.125rem);--fs-small:.875rem;--fs-label:.75rem;--lh-tight:1.05;--lh-heading:1.15;--lh-body:1.65;--tracking-label:.28em;--tracking-heading:.01em;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--space-3xs:clamp(.25rem, .2rem + .25vw, .375rem);--space-2xs:clamp(.5rem, .45rem + .3vw, .625rem);--space-xs:clamp(.75rem, .7rem + .4vw, 1rem);--space-sm:clamp(1rem, .9rem + .8vw, 1.5rem);--space-md:clamp(1.5rem, 1.3rem + 1.2vw, 2.5rem);--space-lg:clamp(2.5rem, 2rem + 2.5vw, 4.5rem);--space-xl:clamp(4rem, 3rem + 5vw, 8rem);--space-2xl:clamp(6rem, 4rem + 9vw, 12rem);--container-max:87.5rem;--container-gutter:clamp(1.25rem, 4vw, 4rem);--border-thin:1px solid var(--color-border);--border-subtle:1px solid var(--color-border-subtle);--duration-fast:.15s;--duration-base:.3s;--duration-slow:.6s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--transition-base:var(--duration-base) var(--ease-out)}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:var(--fw-medium);line-height:var(--lh-heading);letter-spacing:var(--tracking-heading);margin:0 0 var(--space-xs);text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}p{margin:0 0 var(--space-sm);max-width:65ch}a{color:var(--color-accent);text-underline-offset:.2em;transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--color-text)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--color-accent);outline-offset:3px}img,video,canvas{max-width:100%;height:auto;display:block}::selection{background:var(--color-accent);color:var(--color-charcoal)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.gallery__credit,.about__credit,.story__credit,.lightbox__credit{letter-spacing:.08em;font-size:.8125rem;line-height:1.6}.skip-link{z-index:110;background:var(--color-ivory);color:var(--color-charcoal);padding:.75rem 1rem;position:fixed;top:.5rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{color:var(--color-charcoal);transform:none}button,input,select,textarea,a{-webkit-tap-highlight-color:#c6a8752e}button:active:not(:disabled),.hero__cta:active{filter:brightness(.88)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}h1[tabindex="-1"]:focus{outline:none}.concept-note{font-size:var(--fs-small);color:var(--color-text-muted);margin-top:var(--space-sm);max-width:65ch}.gallery__filter{min-height:44px}.gallery__filter:focus-visible{color:var(--color-accent);border-bottom-color:currentColor}.navbar__link:focus-visible:after{transform:scaleX(1)}.story-nav__link:focus-visible,.experience__link:focus-visible{text-underline-offset:.35em;text-decoration:underline}.contact-form__field input:focus-visible,.contact-form__field textarea:focus-visible,.contact-form__field select:focus-visible{outline:2px solid var(--color-accent-on-light);outline-offset:4px}@media (prefers-reduced-motion:reduce){.story:hover .story__excerpt,.story:focus-within .story__excerpt,.story__link:hover .story__link-arrow{transform:none}}.story-moment__credit,.story-hero__credit,.gallery__credit,.about__credit,.story__credit,.lightbox__credit{letter-spacing:.08em;font-size:.8125rem;line-height:1.6}.contact-success__title:focus{outline:2px solid var(--color-accent-on-light);outline-offset:.4rem}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-gutter);margin-inline:auto}.section-full{flex-direction:column;justify-content:center;min-height:100svh;display:flex}.display{font-family:var(--font-serif);font-size:var(--fs-display);font-weight:var(--fw-light);line-height:var(--lh-tight);letter-spacing:var(--tracking-heading)}.eyebrow{font-family:var(--font-sans);font-size:var(--fs-label);font-weight:var(--fw-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.rule-gold{border:0;border-top:var(--border-thin);margin-block:var(--space-md)}.accent-serif-italic{font-family:var(--font-serif);font-style:italic;font-weight:var(--fw-regular);color:var(--color-accent)}.grain{isolation:isolate;position:relative}.grain:after{content:"";z-index:1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}
