@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#141414;--ink:#f4f2ed;--muted:#b9b7b0;--line:#44443f;--accent:#c3aa7e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.02}h1{font-size:clamp(4.5rem,10vw,10rem);letter-spacing:-.04em}h2{font-size:clamp(3rem,5.6vw,6rem);letter-spacing:-.025em}em{font-weight:400}.eyebrow{font-size:.875rem;letter-spacing:.15em;text-transform:uppercase}.header{padding:25px 4%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#141414}.brand{font-family:Georgia,serif;font-size:2.5rem;white-space:nowrap;letter-spacing:-.08em;line-height:1.2}.brand span{font-family:'DM Sans',sans-serif;font-size:1rem;letter-spacing:.035em;margin-left:8px}.header nav{display:flex;align-items:center;gap:25px;font-size:.875rem}.header a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--accent);padding:8px 0}.menu-toggle{display:none}.skip{position:absolute;top:-100px;z-index:100;background:#fff;color:#111;padding:12px}.skip:focus{top:10px}.hero{position:relative;min-height:740px;height:calc(100svh - 100px);max-height:1100px;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0008,transparent 75%),linear-gradient(0deg,#000b,transparent 70%);z-index:-2}.hero-copy{width:100%;padding:70px 6% 55px}.hero-copy .eyebrow{margin-bottom:26px;color:#eee}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:35px}.hero-bottom p{font-size:1.1rem}.hero-index{position:absolute;right:4%;top:30px;font-size:.875rem;letter-spacing:.14em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:18px 24px;font-size:.875rem;min-height:56px;border:1px solid transparent}.light{background:#f4f2ed;color:#171717}.dark{background:#171717;color:#f4f2ed}.button:hover{background:var(--accent);color:#141414}.section{padding:110px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:55px}.section-heading .eyebrow{margin-bottom:22px;color:var(--accent)}.section-heading>p{color:var(--muted)}.gallery-toolbar{margin-bottom:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.filters{display:flex;gap:10px 22px;flex-wrap:wrap}.filter{background:none;border:0;padding:8px 0;color:var(--muted);font-size:.875rem;border-bottom:1px solid transparent}.filter[aria-pressed=true]{color:var(--ink);border-color:var(--accent)}#photo-count{color:var(--muted);font-size:.875rem;margin-top:14px}.photo-grid{columns:3;column-gap:22px}.photo-card{display:block;width:100%;break-inside:avoid;border:0;background:none;padding:0;margin-bottom:28px;text-align:left;cursor:zoom-in}.photo-card[hidden]{display:none}.photo-card img{width:100%;height:auto;transition:filter .25s}.photo-card:hover img{filter:brightness(1.08)}.photo-card span{display:flex;justify-content:space-between;padding-top:10px;color:var(--muted);font-size:.875rem}.photo-card i{font-style:normal;color:var(--accent)}.about{background:#eae8e2;color:#212321;display:grid;grid-template-columns:1fr 3fr;gap:40px}.about>.eyebrow{padding-top:10px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;color:#50534d}.collection-type{font-size:2.5rem;margin-bottom:12px}.collection-intro{color:var(--muted);margin-bottom:35px}.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.package{padding:40px 28px;display:flex;flex-direction:column}.package+.package{border-left:1px solid var(--line)}.package.featured{background:#22241f}.package>.eyebrow{color:var(--accent)}.package h3{font-size:3.3rem;margin:25px 0 16px}.price{font-size:2rem;margin-bottom:20px}.price span{font-size:.875rem;color:var(--muted)}.package>p:not(.eyebrow):not(.price){color:var(--muted)}.package ul{padding:0;list-style:none;margin:25px 0 35px;font-size:.875rem}.package li{padding:10px 0;border-bottom:1px solid #44443f}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--accent);padding:14px 0;margin-top:auto;font-size:.875rem}.text-link:hover{color:var(--accent)}.package-note{font-size:.875rem;max-width:90ch;color:var(--muted);margin-top:25px}.event-collection{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;margin-top:100px}.event-collection>img{width:100%;height:680px;object-fit:cover;object-position:52% center}.event-collection h3{font-size:4rem;margin:25px 0}.event-collection p:not(.eyebrow){color:var(--muted)}.event-row{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.event-row strong,.event-row span{display:block}.event-row strong{font-weight:500}.event-row span{font-size:.875rem;color:var(--muted)}.event-row b{white-space:nowrap;font-weight:500}.event-details{font-size:.875rem;margin:25px 0}.process{border-top:1px solid var(--line);background:#1c1e1a}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:40px}.steps span{color:var(--accent)}.steps h3{font-size:2.7rem;margin:20px 0}.steps p{color:var(--muted)}.contact{position:relative;text-align:center;background:linear-gradient(#101510db,#101510ed),url('photos/portfolio-47.webp') center 48%/cover}.contact h2{font-size:clamp(4.2rem,8vw,8rem);margin:30px 0}.contact>p:not(.eyebrow){max-width:48ch;margin:0 auto 30px;color:var(--muted)}.contact-location{display:block;font-size:.875rem;letter-spacing:.2em;margin-top:50px}footer{padding:35px 4%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>span{font-size:.875rem;color:var(--muted)}dialog{border:0;padding:70px 65px 25px;background:#101010;color:#fff;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}dialog::backdrop{background:#101010}dialog img{width:100%;height:calc(100dvh - 150px);object-fit:contain}dialog p{text-align:center;margin-top:16px;font-size:.875rem}.close-viewer{position:absolute;right:25px;top:15px;background:none;border:1px solid #555;padding:8px 16px}.viewer-prev,.viewer-next{position:absolute;top:50%;background:#222;border:1px solid #666;width:45px;height:55px;font-size:1.5rem}.viewer-prev{left:10px}.viewer-next{right:10px}
@media(max-width:1000px){.header nav{gap:14px}.section{padding:80px 5%}.hero{min-height:640px}.photo-grid{columns:2}.about{grid-template-columns:1fr}.event-collection{gap:30px}.event-collection>img{height:550px}.package{padding:30px 18px}.steps{gap:30px}footer p{display:none}}
@media(max-width:700px){.header{padding:20px 5%;flex-wrap:wrap}.brand{font-size:2rem}.brand span{font-size:.875rem}.menu-toggle{display:block;border:1px solid var(--line);background:none;padding:8px 14px}.header nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding-top:20px;gap:16px}.header nav.open{display:flex}.hero{height:82svh;min-height:650px}.hero-backdrop{object-position:55% center}.hero-copy{padding:35px 6%}.hero h1{font-size:clamp(4rem,15vw,6.3rem)}.hero-copy .eyebrow{font-size:.875rem;max-width:25ch}.hero-bottom{display:block;margin-top:30px}.hero-bottom .button{margin-top:25px}.hero-index{display:none}.section{padding:65px 5%}.section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:25px}.photo-grid{column-gap:12px}.photo-card{margin-bottom:20px}.photo-card span{font-size:.875rem;line-height:1.4}.filters{gap:8px 18px}.about-copy{grid-template-columns:1fr;gap:25px}.package-grid{grid-template-columns:1fr}.package{padding:32px 24px}.package+.package{border-left:0;border-top:1px solid var(--line)}.event-collection{grid-template-columns:1fr;margin-top:65px}.event-collection>img{height:auto}.event-collection h3{font-size:3.5rem}.steps{grid-template-columns:1fr;gap:35px}.steps article+article{border-top:1px solid var(--line);padding-top:25px}footer{flex-wrap:wrap;padding:30px 5%}dialog{padding:65px 0 25px}.viewer-prev,.viewer-next{top:auto;bottom:16px}.viewer-prev{left:15px}.viewer-next{right:15px}dialog img{height:calc(100dvh - 160px)}dialog p{max-width:65%;margin:20px auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.about{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:7%;align-items:start}.about-portrait>.eyebrow{margin-bottom:28px}.about-portrait figure{margin:0}.about-portrait img{width:100%;height:auto}.about-portrait figcaption{font-size:.875rem;color:#50534d;margin-top:14px}.about-story>.eyebrow{color:#50534d;margin-bottom:24px}.about-story h2{font-size:clamp(3rem,4.7vw,5rem)}.about-lead{font-size:1.125rem;line-height:1.7;margin-top:28px;max-width:49ch}.about-block{margin-top:36px}.about-block h3{font-size:2.3rem;margin-bottom:18px}.about-block p:not(.eyebrow){color:#50534d;margin-top:16px;max-width:58ch}.philosophy{border-top:1px solid #b7b9af;padding-top:30px}.philosophy .eyebrow{margin-bottom:18px;color:#50534d}.about-story .text-link{margin-top:28px;border-color:#565c4e}.about-story .text-link:hover{color:#4e5a3d}.about-supporting{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:38px;align-items:start}.about-supporting img{width:100%;height:auto}.about-supporting img+img{margin-top:42px}@media(min-width:1100px){.about-portrait{position:sticky;top:32px}}@media(max-width:850px){.about{grid-template-columns:1fr;gap:45px}.about-portrait{max-width:520px}.about-story h2{font-size:clamp(3rem,8vw,4.5rem)}.about-supporting{gap:16px}.about-supporting img+img{margin-top:24px}}

.event-extras{border-left:2px solid var(--accent);padding:4px 0 4px 20px;margin:28px 0}.event-extras h4{font-family:Georgia,serif;font-weight:400;font-size:1.4rem;line-height:1.3;margin:0 0 12px}.event-extras p{font-size:1rem;line-height:1.65}

/* A short portfolio preview keeps pricing close to the first impression. */
.portfolio.section{padding-top:55px;padding-bottom:45px}
.portfolio .section-heading{margin-bottom:25px}
.portfolio .section-heading h2{font-size:clamp(2.4rem,4vw,4rem)}
.portfolio .section-heading .eyebrow{margin-bottom:12px}
.gallery-toolbar{padding:12px 0;margin-bottom:20px}
#photo-count{margin-top:6px}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;columns:auto}
.photo-card{margin:0;min-width:0}
.photo-card img{height:clamp(160px,18vw,245px);object-fit:cover}
.gallery-actions{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:28px;flex-wrap:wrap}
.gallery-actions .text-link{margin:0;gap:25px}
.packages.section{padding-top:55px}
@media(max-width:700px){
.hero{min-height:560px;height:78svh}
.portfolio.section{padding-top:38px;padding-bottom:35px}
.portfolio .section-heading>p{margin-top:14px}
.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.photo-card img{height:clamp(130px,36vw,215px)}
.gallery-actions{gap:14px;margin-top:24px}
.packages.section{padding-top:38px}
}

#portfolio-photos[hidden]{display:none}

/* The full portfolio lives on its own page, keeping the homepage compact. */
.gallery-page{padding-top:35px}
.gallery-back{width:fit-content;gap:20px;margin-bottom:40px}
.gallery-page h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.025em}
.gallery-page .section-heading>.text-link{flex-shrink:0}
.gallery-page .photo-grid{display:block;columns:3;column-gap:22px}
.gallery-page .photo-card{display:inline-block;margin:0 0 26px;break-inside:avoid}
.gallery-page .photo-card[hidden]{display:none}
.gallery-page .photo-card img{height:auto;object-fit:contain}
.gallery-page .photo-card:focus-visible{outline-offset:4px}
#viewer-image{touch-action:pan-y pinch-zoom}
@media(max-width:700px){.gallery-page .photo-grid{columns:2;column-gap:12px}.gallery-page .photo-card{margin-bottom:20px}.gallery-page .section-heading>.text-link{width:fit-content;margin-top:20px}.gallery-back{margin-bottom:28px}}
@media(max-width:360px){.gallery-page .photo-grid{columns:1}}

.contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.contact-details{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:24px;font-size:1rem}.contact-details a{overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}

.contact>p.contact-call-note{font-size:.875rem;line-height:1.6;max-width:58ch;margin:24px auto 0;color:var(--muted)}
