@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("../fonts/instrument-serif-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url("../fonts/montserrat-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url("../fonts/montserrat-medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
:root{--green:#0e241d;--mint:#29aa78;--ink:#101610;--cream:#f1f1ed;--white:#fff;--line:rgba(255,255,255,.22);--serif:"Instrument Serif",Georgia,serif;--serif-accent:"Instrument Serif",Georgia,serif;--sans:Montserrat,"Helvetica Neue",Arial,sans-serif;--pad:clamp(24px,5vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.55}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:.98}h1{font-size:clamp(54px,7.5vw,112px)}h2{font-size:clamp(44px,5.2vw,78px)}h3{font-size:clamp(26px,2.5vw,38px)}em{color:var(--mint);font-weight:400}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase}.mint{color:var(--mint)}.lede{max-width:720px;font-size:clamp(18px,2vw,25px)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:9999;background:#fff;padding:.75rem}.site-header{height:90px;padding:0 var(--pad);display:flex;align-items:center;gap:32px;background:var(--green);color:#fff;position:relative;z-index:20}.header-mark img{width:64px;height:48px;object-fit:contain}.desktop-nav{margin-left:auto}.site-menu{display:flex;align-items:center;gap:28px;padding:0;margin:0;list-style:none}.site-menu a,.header-cta,.menu-toggle{font-size:11px;text-transform:uppercase;letter-spacing:.04em}.site-menu a:hover,.footer-contact a:hover{color:var(--mint)}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:1px solid currentColor;text-transform:uppercase;font-size:11px;letter-spacing:.18em;transition:.2s}.header-cta:hover,.button:hover{background:var(--mint);border-color:var(--mint);color:var(--green)}.menu-toggle{display:none;margin-left:auto;background:none;color:#fff;border:1px solid rgba(255,255,255,.45);padding:10px 14px}.mobile-nav{background:var(--green);color:#fff;padding:26px 24px 38px;position:relative;z-index:19}.mobile-nav .site-menu{align-items:flex-start;flex-direction:column;margin-bottom:28px}.button-dark{background:var(--green);color:#fff}.button-light{background:#fff;color:var(--green)}.text-link{display:inline-block;padding-bottom:7px;border-bottom:1px solid var(--mint);font-size:11px;letter-spacing:.16em;text-transform:uppercase}.hero{position:relative;overflow:hidden}.hero-image{width:100%;height:auto}.hero-copy{position:absolute;left:var(--pad);top:10%;max-width:650px;z-index:2}.hero-copy h1{margin:30px 0 22px;font-size:clamp(58px,6vw,96px)}.hero-copy p:not(.eyebrow){font-size:12px;text-transform:uppercase;letter-spacing:.04em}.hero-copy .button{margin-top:28px}.dark-copy{color:var(--green)}.green-panel{background:var(--green);color:#fff;padding:clamp(70px,9vw,140px) var(--pad)}.section-heading{max-width:1100px}.section-heading h2{margin:30px 0 65px}.three-photo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.three-photo-row img{width:100%;height:auto}.editorial-intro{padding:clamp(80px,10vw,150px) var(--pad)}.split-copy{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:9vw;align-items:start}.split-copy h2{max-width:790px}.moment-list{font-family:var(--serif);font-style:italic;font-size:28px;border-left:1px solid var(--mint);padding-left:34px}.moment-list p{margin:0 0 8px}.moment-list .text-link{font-family:var(--sans);font-style:normal;margin-top:24px}.photo-ribbon{display:grid;grid-template-columns:1.3fr .8fr 1fr 1.1fr;gap:16px;padding:0 var(--pad)}.photo-ribbon img{width:100%;height:100%;object-fit:cover;min-height:360px}.center-link{text-align:center;padding:50px var(--pad) 90px}.real-weddings-section{padding:clamp(70px,9vw,130px) var(--pad);background:var(--cream)}.centered{text-align:center;margin-inline:auto}.wedding-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.wedding-cards article:nth-child(2){margin-top:80px}.wedding-cards img{width:100%;height:auto}.wedding-cards h3{margin:20px 0 5px}.wedding-cards p{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.about-home{display:grid;grid-template-columns:1.05fr 1fr .8fr;gap:5vw;padding:clamp(85px,10vw,150px) var(--pad);align-items:center}.about-copy h2{margin:28px 0 34px}.about-photo img{width:100%}.about-video blockquote,.about-video span{font-family:var(--serif);font-style:italic;font-size:26px}.about-video img{margin:34px 0 18px;max-width:260px}.about-video span{font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.testimonials h2{margin:20px 0 65px}.testimonial-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw}.quotes blockquote,.reviews-page blockquote{font-family:var(--serif);font-size:clamp(30px,3.3vw,52px);font-style:italic;margin:0 0 60px;padding-left:28px;border-left:1px solid rgba(41,170,120,.45)}blockquote cite{display:block;margin-top:24px;color:var(--mint);font-family:var(--sans);font-size:11px;font-style:normal;letter-spacing:.14em;text-transform:uppercase}.testimonial-images{display:grid;gap:28px}.image-cta{position:relative;color:#fff;min-height:720px;background:var(--green);overflow:hidden}.image-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.04))}.image-cta>img{width:100%;height:100%;position:absolute;object-fit:cover}.image-cta>div{position:relative;z-index:2;padding:clamp(120px,16vw,240px) var(--pad);max-width:820px}.image-cta h2{text-transform:uppercase}.image-cta h2 em{text-transform:none;color:#fff;font-size:1.35em}.image-cta p{max-width:580px;font-family:var(--serif);font-style:italic;font-size:24px}.image-cta .button{margin-top:25px}.site-footer{background:var(--green);color:#fff;padding:58px var(--pad) 28px}.footer-top{display:grid;grid-template-columns:1fr 1.4fr .9fr;gap:40px;align-items:start;min-height:145px}.footer-brand img{width:284px;height:auto}.site-footer .site-menu{justify-content:center}.footer-contact{display:flex;flex-direction:column;color:var(--mint);font-size:11px;text-transform:uppercase}.footer-bottom{border-top:1px solid var(--line);padding-top:26px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase}.page-intro{padding:clamp(80px,10vw,150px) var(--pad);max-width:1200px}.page-intro h1{margin:30px 0 40px}.masonry-gallery{columns:3;column-gap:18px;padding:0 var(--pad) clamp(90px,11vw,160px)}.masonry-gallery img{width:100%;margin:0 0 18px;break-inside:avoid}.statement-band{margin-bottom:clamp(90px,11vw,160px)}.statement-band h2{max-width:900px;margin-top:30px}.simple-cta{text-align:center;padding:clamp(90px,11vw,160px) var(--pad)}.simple-cta h2{max-width:900px;margin:0 auto 45px}.pricing-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;padding:clamp(65px,8vw,120px) var(--pad);min-height:690px}.pricing-copy h1{font-size:clamp(54px,6vw,90px);margin:30px 0 45px}.pricing-copy>p:not(.eyebrow){max-width:620px;font-size:18px;margin-bottom:30px}.pricing-images{position:relative;padding-bottom:140px}.pricing-images img:first-child{width:100%}.pricing-images img:nth-child(2){position:absolute;width:38%;right:4%;bottom:0}.pricing-images span{display:block;margin-top:28px;color:var(--mint);font-size:10px;text-transform:uppercase}.inclusions h2{margin:30px 0 65px}.inclusion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.16)}.inclusion-grid p{margin:0;padding:35px;background:var(--green);font-family:var(--serif);font-size:24px}.coverage-section{padding:clamp(90px,10vw,150px) var(--pad)}.coverage-section>h2{margin:30px 0 70px}.coverage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.coverage-grid article{border-top:1px solid var(--mint);padding-top:24px}.coverage-grid span{color:var(--mint);font-size:12px}.coverage-grid h3{margin:28px 0}.price-photo-strip{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:16px;padding:0 var(--pad) clamp(90px,10vw,150px)}.price-photo-strip img{width:100%;height:100%;object-fit:cover;max-height:560px}.pricing-promise{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.pricing-promise img{width:100%}.about-page-hero{display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;padding:clamp(75px,9vw,130px) var(--pad);align-items:center}.about-page-hero h1{margin:30px 0}.about-page-hero p:not(.eyebrow){font-size:20px;max-width:560px}.john-story{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw}.john-story p{font-size:18px}.john-video-section{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;padding:clamp(90px,10vw,150px) var(--pad)}.john-video-section img{width:100%}.john-video-section h2{margin:30px 0}.reviews-page{display:grid;grid-template-columns:1fr 1fr;gap:30px 7vw}.reviews-page blockquote{font-size:clamp(30px,3.4vw,50px)}.review-images{grid-column:2;grid-row:1 / span 3;display:grid;gap:28px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;padding:clamp(80px,10vw,150px) var(--pad);background:var(--cream)}.contact-copy h1{margin:30px 0}.contact-copy>p:not(.eyebrow){font-size:18px}.contact-form-shell{background:#fff;padding:clamp(28px,5vw,68px);min-height:600px}.contact-form-shell input,.contact-form-shell textarea,.contact-form-shell select{width:100%;max-width:100%;padding:14px;border:0;border-bottom:1px solid #bbb;background:transparent;font:inherit}.story-archive{padding:0 var(--pad) clamp(90px,10vw,150px);display:grid;grid-template-columns:repeat(2,1fr);gap:70px 35px}.story-card img{width:100%;height:auto}.story-card h2{font-size:clamp(36px,4vw,58px)}.story-card span{font-size:11px;text-transform:uppercase;letter-spacing:.15em}.single-story>header{padding:clamp(80px,10vw,150px) var(--pad);max-width:1100px}.single-story>header h1{margin-top:30px}.story-hero img{width:100%}.story-content{max-width:860px;margin:0 auto;padding:clamp(70px,9vw,130px) 24px;font-size:18px}.story-content h2{margin-top:70px}.story-content img{margin:40px auto}.standard-page{max-width:950px;margin:0 auto;padding:clamp(80px,10vw,150px) 24px}.standard-page h1{font-size:clamp(54px,7vw,90px)}.not-found{min-height:65vh}.warren-form-placeholder{border:1px solid #ddd;padding:38px}
@media(max-width:980px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:block}.site-header{height:74px}.hero-copy{top:7%;max-width:78%}.hero-copy h1{font-size:clamp(44px,7vw,72px)}.three-photo-row{gap:14px}.about-home{grid-template-columns:1fr 1fr}.about-video{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-top{grid-template-columns:1fr 1fr}.footer-contact{grid-column:2}.site-footer nav{display:none}.pricing-hero{gap:4vw}.reviews-page{grid-template-columns:1fr}.review-images{grid-column:1;grid-row:auto;grid-template-columns:1fr 1fr}}
@media(max-width:700px){h1{font-size:54px}h2{font-size:46px}.site-header{padding:0 20px}.header-mark img{width:58px}.hero-home{background:#f5f5f1;padding-bottom:0}.hero-image{min-height:620px;object-fit:cover;object-position:center top}.hero-copy{left:24px;right:24px;top:42px;max-width:none}.hero-copy h1{font-size:48px;margin-top:18px}.hero-copy .button{margin-top:12px}.green-panel{padding:72px 24px}.three-photo-row{grid-template-columns:1fr;gap:18px}.split-copy{grid-template-columns:1fr;gap:38px}.editorial-intro{padding:75px 24px}.moment-list{font-size:25px}.photo-ribbon{grid-template-columns:1fr 1fr;padding:0 24px;gap:10px}.photo-ribbon img{min-height:0;height:auto;object-fit:contain}.wedding-cards{grid-template-columns:1fr;gap:48px}.wedding-cards article:nth-child(2){margin-top:0}.about-home{grid-template-columns:1fr;padding:75px 24px}.about-video{grid-column:auto;display:block}.testimonial-grid{grid-template-columns:1fr}.quotes blockquote{font-size:32px}.image-cta{min-height:650px}.image-cta:after{background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.06))}.image-cta>div{padding:260px 24px 70px}.footer-top{display:block;min-height:320px}.footer-brand img{width:245px}.footer-contact{margin-top:80px}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:12px}.page-intro{padding:75px 24px}.masonry-gallery{columns:2;column-gap:10px;padding:0 24px 80px}.masonry-gallery img{margin-bottom:10px}.pricing-hero{grid-template-columns:1fr;padding:65px 24px}.pricing-copy h1{font-size:52px}.pricing-copy>p:not(.eyebrow){font-size:16px}.pricing-images{padding-bottom:110px}.inclusion-grid{grid-template-columns:1fr}.coverage-section{padding:75px 24px}.coverage-grid{grid-template-columns:1fr}.price-photo-strip{grid-template-columns:1fr 1fr;padding:0 24px 80px}.price-photo-strip img:first-child{grid-column:1 / -1}.pricing-promise,.about-page-hero,.john-story,.john-video-section,.contact-layout{grid-template-columns:1fr}.about-page-hero,.john-video-section,.contact-layout{padding:75px 24px}.reviews-page{display:block}.reviews-page blockquote{font-size:32px}.review-images{display:grid;grid-template-columns:1fr}.story-archive{grid-template-columns:1fr;padding:0 24px 80px}.site-menu{gap:12px}.mobile-nav .site-menu{gap:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
h1,h2,h3{line-height:.94;letter-spacing:-.018em}
em,.moment-list,.about-video blockquote,.quotes blockquote,.reviews-page blockquote,.image-cta p{font-family:var(--serif-accent);letter-spacing:-.025em}
.hero-copy{max-width:590px;top:8%}
.hero-copy h1{font-size:clamp(54px,5.4vw,84px);line-height:.91}
@media(max-width:700px){.hero-copy{top:42px;max-width:none}.hero-copy h1{font-size:48px}}
.site-header{background:#fff;color:var(--green)}
.header-mark img{filter:invert(1)}
.header-cta{min-width:210px;background:var(--green);border-color:var(--green);border-radius:999px;color:#fff}
.menu-toggle{color:var(--green);border-color:rgba(14,36,29,.35)}
.mobile-nav{background:#fff;color:var(--green)}
.hero-copy{top:9%;max-width:760px}
.hero-copy h1{font-size:clamp(52px,5.25vw,76px);line-height:1.02;letter-spacing:-.022em}
.hero-floating-cta{position:absolute;right:var(--pad);bottom:5%;z-index:3;min-width:220px;background:#fff;border-color:#fff;color:var(--green)}
@media(max-width:700px){.site-header{background:#fff}.hero-copy{top:42px;max-width:none}.hero-copy h1{font-size:46px}.hero-floating-cta{right:24px;bottom:28px;min-width:190px}}
.hero-copy h1{font-size:clamp(52px,5.42vw,78px);line-height:1}
.promise-panel h2{font-size:62px;line-height:64px}
.editorial-intro h2{font-size:58px;line-height:59px}
.testimonials .quotes blockquote{font-size:38px;line-height:45px}
.image-cta p{font-size:17px;line-height:25px}
@media(max-width:700px){.hero-copy h1{font-size:44px;line-height:45px}.promise-panel h2{font-size:42px;line-height:43px}.editorial-intro h2{font-size:40px;line-height:42px}.moment-list{font-size:21px;line-height:28px}.testimonials .quotes blockquote{font-size:30px;line-height:35px}}
