@font-face{font-family:Dancing Script;src:url(/fonts/dancing-script-latin.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--ink:#353b31;--ink-soft:#656b60;--paper:#fcfaf5;--linen:#f3f0e8;--sage-light:#e7ebdf;--sage:#69775a;--sage-dark:#4e5e41;--line:#353b3133;--gutter:clamp(22px, 5.5vw, 90px);--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--heading:"Dancing Script", var(--serif)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.65}img,video{max-width:100%;display:block}img{width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,summary,select{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button{touch-action:manipulation}section{scroll-margin-top:18px}::selection{background:#dce2cf}:focus-visible{outline:2px solid var(--sage-dark);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--heading);font-synthesis:none;letter-spacing:0;text-wrap:balance;font-weight:500}h1{margin-bottom:26px;font-size:clamp(52px,5.25vw,84px);line-height:1.16}h1 em{color:var(--sage);font-weight:inherit;font-style:normal;display:block}h2{margin-bottom:24px;font-size:clamp(39px,3.7vw,58px);line-height:1.24}h2 em{color:var(--sage);font-weight:inherit;font-style:normal}h3{font-size:28px;line-height:1.3}.section{padding:clamp(62px, 7.5vw, 118px) var(--gutter)}.section-heading{text-align:center;margin:0 auto 42px}.section-heading h2{margin-bottom:0}.eyebrow{color:var(--ink-soft);letter-spacing:.1em;margin-bottom:22px;font-size:11px;line-height:1.8}.skip-link{z-index:100;background:var(--paper);border:1px solid var(--ink);padding:12px 18px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.site-header{z-index:30;min-height:94px;padding:18px var(--gutter);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#fcfaf5f5;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px;display:grid;position:sticky;top:0}.brand{flex-direction:column;width:max-content;line-height:1;display:inline-flex}.brand-script{font-family:var(--heading);letter-spacing:0;font-size:32px;font-style:normal;font-weight:500}.brand-byline{text-align:right;font-family:var(--serif);margin-top:5px;font-size:14px}.main-nav{align-items:center;gap:clamp(20px,2.4vw,36px);font-size:12px;display:flex}.main-nav a,.site-footer nav a{text-underline-offset:5px;padding:10px 0}.main-nav a:hover,.site-footer nav a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--sage);text-decoration-color:var(--sage)}.site-header>.button{justify-self:end}.button{border:1px solid var(--sage);width:max-content;max-width:100%;min-height:49px;color:var(--paper);background:var(--sage-dark);border-radius:50px;justify-content:center;align-items:center;gap:14px;padding:11px 26px;font-size:13px;line-height:1.6;transition:background .2s;display:inline-flex}.button:hover{background:var(--ink)}.button-small{min-height:43px;color:var(--ink);background:0 0;padding:8px 20px;font-size:12px}.button-small:hover{background:var(--sage-light)}.text-link{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:18px;width:max-content;max-width:100%;min-height:44px;padding:8px 0;font-size:12px;display:inline-flex}.text-link:hover{border-bottom-color:var(--sage-dark);color:var(--sage-dark)}.hero{min-height:min(800px,92svh - 94px);padding:66px var(--gutter) 86px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(30px,5vw,78px);display:grid}.hero-copy{min-width:0;max-width:490px}.hero h1{text-wrap:initial}.hero-actions{flex-wrap:wrap;gap:12px 27px;display:flex}.hero-media{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:clamp(16px,2.1vw,34px);padding:12px 0;display:grid}.hero-photo{aspect-ratio:4/5;overflow:hidden}.hero-photo img{object-fit:cover;object-position:center;width:100%;height:100%}.reel-video{background:var(--linen);position:relative;overflow:hidden}.reel-video video{object-fit:contain;width:100%;height:100%}.reel-control{min-width:76px;min-height:44px;color:var(--paper);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#272e22cc;border:1px solid #fcfaf5b3;border-radius:30px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex;position:absolute;bottom:12px;right:12px}.reel-control:hover{background:var(--ink)}.reel-control:focus-visible{outline-offset:-5px;outline-color:#fff}.reel-control span{font-size:10px}.watch{background:var(--linen)}.watch-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,7vw,110px);max-width:870px;margin:0 auto;display:grid}.watch-grid>:first-child{transform:rotate(-1deg)}.watch-grid>:last-child{justify-self:center;width:100%;max-width:330px;transform:rotate(1deg)}.portfolio{padding-bottom:56px}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,32px);display:grid}.gallery-photo{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.gallery-photo img{object-fit:contain;height:auto;transition:opacity .2s}.gallery-photo:hover img{opacity:.87}.portrait-library{margin-top:38px}.portrait-library>summary{border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:26px;width:max-content;max-width:100%;min-height:44px;margin:0 auto;font-size:13px;list-style:none;display:flex}.portrait-library>summary::-webkit-details-marker{display:none}.faq summary::-webkit-details-marker{display:none}.portrait-library>summary span,.faq summary span{font-family:var(--serif);font-size:23px;font-weight:400;transition:transform .2s}.portrait-library[open]>summary span,.faq details[open] summary span{transform:rotate(45deg)}.portrait-library-grid{columns:3;column-gap:25px;margin-top:38px}.portrait-library-grid .gallery-photo{break-inside:avoid;margin-bottom:25px}.photo-dialog{width:100vw;max-width:none;height:100dvh;max-height:none;color:var(--paper);background:0 0;border:0;margin:0;padding:20px 3vw;position:fixed;inset:0}.photo-dialog::backdrop{background:#1d221af2}.photo-dialog:focus-visible{outline:none}.lightbox-shell{pointer-events:none;flex-direction:column;max-width:1300px;height:100%;margin:auto;display:flex}.lightbox-toolbar,.lightbox-navigation{flex:none;justify-content:space-between;align-items:center;gap:24px;font-size:13px;display:flex}.lightbox-toolbar button,.lightbox-navigation button{pointer-events:auto;min-height:44px;color:inherit;background:0 0;border:1px solid #fcfaf54d;border-radius:30px;padding:10px 14px}.lightbox-toolbar button:hover,.lightbox-navigation button:hover{background:#ffffff1f}:is(.lightbox-toolbar button:focus-visible,.lightbox-navigation button:focus-visible){outline-color:var(--paper)}.lightbox-toolbar button span{margin-left:13px;font-size:20px}.lightbox-image{flex:1 1 0;justify-content:center;min-height:0;padding:16px 0;display:flex}.lightbox-image img{object-fit:contain;pointer-events:auto;width:auto;max-width:100%;height:100%;min-height:0}.experience{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:center;gap:clamp(40px,9vw,140px);display:grid}.process-photo{max-width:580px}.process-copy{max-width:500px}.process-copy h2{font-size:clamp(38px,3.1vw,49px)}.steps{margin:32px 0 16px;padding:0;list-style:none}.steps li{margin-bottom:23px}.steps h3{text-wrap:initial;margin-bottom:4px;font-size:28px}.steps p{max-width:365px;color:var(--ink-soft);margin-bottom:0;font-size:14px;line-height:1.65}.events{padding-top:45px}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(20px,2.5vw,40px);display:grid}.event-item:nth-child(2){padding-top:40px}.event-photo{overflow:hidden}.event-photo-wedding{aspect-ratio:1284/787}.event-photo-wedding img{width:100%;height:auto}.event-item h3{text-align:center;margin:17px 0 0;font-size:30px}.event-link{margin:8px auto 0;display:flex}.wedding-paintings{padding-top:45px}.wedding-intro{max-width:590px}.wedding-intro h2{margin-bottom:20px}.wedding-intro p{color:var(--ink-soft);margin:0}.wedding-media{grid-template-columns:minmax(0,1.56fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,60px);max-width:1000px;margin:0 auto;display:grid}.wedding-media>img{object-fit:contain;width:100%;height:auto}.wedding-media>video{aspect-ratio:9/16;object-fit:contain;background:var(--linen);width:100%;height:auto}.wedding-actions{text-align:center;margin-top:30px}.wedding-actions p{color:var(--ink-soft);margin-bottom:18px}.planning{background:var(--sage-light);text-align:center;padding-top:66px;padding-bottom:72px}.planning h2{font-size:clamp(35px,3.5vw,52px)}.planning-detail{max-width:790px;color:var(--ink-soft);margin:0 auto 30px;font-size:15px;line-height:1.85}.about{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);align-items:center;gap:clamp(42px,10vw,158px);display:grid}.about-copy{max-width:420px;margin:0 auto}.about-copy>p:not(.eyebrow):not(.about-signoff){color:var(--ink-soft);margin-bottom:20px}.about-signoff{font-family:var(--heading);color:var(--sage-dark);margin:28px 0 10px;font-size:29px;font-style:normal;font-weight:500}.about-photo{max-width:570px}.etsy-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 16px;padding:22px 0;display:grid}.etsy-stats>div{flex-direction:column-reverse;gap:5px;display:flex}.etsy-stats dt{color:var(--ink-soft);font-size:12px}.etsy-stats dd{font-family:var(--serif);white-space:nowrap;margin:0;font-size:clamp(25px,2.3vw,34px);line-height:1.2}.about-links{flex-wrap:wrap;gap:26px;display:flex}.portrait-reviews{text-align:center;padding-top:0}.portrait-reviews h2{margin-bottom:30px;font-size:33px}.review-grid{grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,85px);max-width:920px;margin:0 auto 22px;display:grid}.review-grid figure{margin:0}.review-grid blockquote{font-family:var(--serif);margin:0 0 18px;font-size:clamp(24px,2.2vw,32px);font-style:italic;line-height:1.4}.review-grid blockquote p{margin:0}.review-grid figcaption{color:var(--ink-soft);font-size:12px}.faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(35px,8vw,120px);display:grid}.faq h2{max-width:300px}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{font-family:var(--serif);justify-content:space-between;align-items:center;gap:25px;padding:19px 0;font-size:21px;line-height:1.35;list-style:none;display:flex}.faq summary span{flex-shrink:0}.faq details p{color:var(--ink-soft);margin-bottom:24px;padding-right:30px;font-size:14px;line-height:1.8}.inquiry{background:var(--sage-light);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(35px,9vw,135px);display:grid}.inquiry-intro{max-width:430px}.inquiry h2 em{display:block}.inquiry-intro>p:not(.eyebrow){color:var(--ink-soft);max-width:340px}.contact-address{overflow-wrap:anywhere;margin-top:28px;font-size:13px}.inquiry-form{grid-template-columns:1fr 1fr;gap:25px 28px;display:grid}.inquiry-form label{flex-direction:column;gap:8px;min-width:0;display:flex}.inquiry-form label>span{font-size:12px}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:0 0;border:0;border-bottom:1px solid #353b3173;border-radius:0;width:100%;min-width:0;min-height:44px;padding:8px 0;font-size:16px}.inquiry-form textarea{resize:vertical}.inquiry-form input:focus,.inquiry-form textarea:focus,.inquiry-form select:focus{outline:2px solid var(--sage-dark);outline-offset:4px}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:var(--ink-soft);opacity:1;font-size:13px}.inquiry-form .button{margin-top:3px}.form-wide{grid-column:1/-1}.form-note{color:var(--ink-soft);margin:-12px 0 0;font-size:11px}.draft-help{border-top:1px solid var(--line);padding-top:15px;font-size:13px}.draft-help>p{margin-bottom:8px}.draft-help details{margin-top:15px}.draft-help textarea{background:var(--paper);margin-top:10px;padding:10px;font-size:13px}.site-footer{padding:45px var(--gutter) 24px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:25px;display:grid}.site-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:15px 28px;font-size:12px;display:flex}.site-footer small{color:var(--ink-soft);grid-column:1/-1;margin-top:12px;font-size:10px}@media (min-width:1600px){:root{--gutter:max(90px, calc((100vw - 1420px) / 2))}}@media (max-width:1100px){.site-header{gap:18px;padding-left:26px;padding-right:26px}.main-nav{gap:18px;font-size:11px}.hero{grid-template-columns:.8fr 1.2fr;gap:28px}.hero h1{font-size:clamp(45px,5.5vw,65px)}.hero-actions{gap:7px 18px}.portrait-library-grid{columns:2}.experience,.about{gap:44px}.event-item h3{font-size:27px}.inquiry{gap:40px}}@media (max-width:850px){html{scroll-padding-top:148px}.site-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:122px;padding:12px 22px 0}.brand-script{font-size:30px}.brand-byline{font-size:12px}.site-header>.button{grid-area:1/2;min-height:44px;padding:8px 15px;font-size:12px}.main-nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:12px;width:100%;font-size:11px}.main-nav a{align-items:center;min-height:44px;padding:7px 0 12px;display:flex}}@media (max-width:700px){.hero{flex-direction:column;gap:33px;min-height:auto;padding-top:39px;padding-bottom:58px;display:flex}.hero-copy{width:100%;max-width:none}.hero h1{margin-bottom:16px;font-size:clamp(44px,10.8vw,68px);line-height:1.18}.hero-actions{gap:8px 24px}.hero-actions .text-link{gap:13px;font-size:11px}.hero-media{gap:16px;width:100%;padding:0}.reel-control{min-width:66px;padding:7px 10px;font-size:10px;bottom:7px;right:7px}.section-heading{margin-bottom:30px}.watch-grid{align-items:center;gap:21px}.portfolio-grid{grid-template-columns:1fr;gap:25px;max-width:520px;margin:0 auto}.portrait-library{margin-top:25px}.portrait-library-grid{columns:1;max-width:520px;margin:28px auto 0}.photo-dialog{padding:12px 3vw}.lightbox-image{padding:12px 0}.lightbox-toolbar,.lightbox-navigation{font-size:12px}.experience{grid-template-columns:1fr;gap:35px;padding-top:30px}.process-photo,.process-copy{max-width:none}.process-copy h2{font-size:39px}.steps{margin-top:26px}.steps p{max-width:420px}.event-grid{grid-template-columns:1fr;gap:38px;max-width:520px;margin:0 auto}.event-item:nth-child(2){padding-top:0}.event-item h3{margin-top:12px;font-size:30px}.wedding-media{grid-template-columns:1fr;gap:25px;max-width:520px}.wedding-media>video{justify-self:center;width:100%;max-width:380px}.about{grid-template-columns:1fr;gap:35px}.about-copy{max-width:460px;margin:0}.about-photo{max-width:none}.review-grid{grid-template-columns:1fr;gap:30px;max-width:440px}.portrait-reviews>.text-link{line-height:1.7}.faq{grid-template-columns:1fr;gap:12px}.faq h2{max-width:none}.faq summary{font-size:20px}.faq details p{padding-right:12px}.inquiry{grid-template-columns:1fr;gap:28px}.inquiry h2 em{display:inline}.inquiry-form{gap:22px 18px}.site-footer{grid-template-columns:1fr;gap:22px;padding-top:35px}.site-footer nav{justify-content:flex-start;gap:10px 22px}.site-footer small{margin-top:0}}@media (max-width:500px){.watch-grid{grid-template-columns:minmax(0,1fr);gap:30px;max-width:380px}.watch-grid>:first-child,.watch-grid>:last-child{width:100%;max-width:none;transform:none}.inquiry-form{grid-template-columns:minmax(0,1fr)}.lightbox-toolbar,.lightbox-navigation{gap:12px}.site-footer nav a{align-items:center;min-height:44px;display:inline-flex}}@media (max-width:370px){.site-header{gap:10px;padding-left:16px;padding-right:16px}.site-header>.button{padding-left:12px;padding-right:12px;font-size:11px}.brand-script{font-size:28px}.main-nav{gap:9px;font-size:10px}.hero-actions{gap:3px 16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
