:root{--paper:#ffffff;--ink:#242622;--olive:#414b3d;--wine:#300c13}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}img{display:block;width:100%;height:auto}header{background:#080808;color:white;display:flex;justify-content:space-between;align-items:center;padding:12px 5%;gap:30px}.brand{width:280px;height:90px;overflow:hidden;position:relative;display:block;flex-shrink:0}.brand img{position:absolute;width:100%;height:280px;object-fit:contain;top:-95px}nav{display:flex;gap:28px;font-size:13px}nav a{text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:3px solid #bb8b53;outline-offset:6px}h1,h2{font-family:"Palatino Linotype","Book Antiqua",Palatino,"Times New Roman",serif;font-weight:400;line-height:1.13;letter-spacing:-0.5px;margin:20px 0 26px}h1{font-size:clamp(45px,5.1vw,78px)}h2{font-size:clamp(36px,4vw,58px)}em{font-weight:400}.eyebrow{text-transform:uppercase;letter-spacing:2.3px;font-size:11px;font-weight:600}.hero{display:grid;grid-template-columns:43% 57%;min-height:620px}.hero-copy{padding:90px 9% 70px 12%;align-self:center}.hero-copy p:not(.eyebrow){font-size:15px;color:#62665d}.hero-image{height:100%;object-fit:cover;min-height:620px}.button{display:inline-flex;gap:35px;align-items:center;background:var(--olive);color:white;padding:15px 22px;text-decoration:none;font-size:13px;margin-top:24px}.section{max-width:1320px;margin:auto;padding:90px 6%}.intro{max-width:950px;text-align:center;padding-top:100px;padding-bottom:100px}.intro>p:last-child{max-width:630px;margin:auto;color:#62665d}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:35px}.section-heading>p{max-width:380px;color:#62665d;font-size:15px}.section-heading h2{margin-bottom:0}.wedding-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wedding-grid a{overflow:hidden}.wedding-grid img{height:100%;object-fit:cover}.wedding-grid .portrait{grid-row:span 2}.wedding-grid .wide{aspect-ratio:1.5}.text-link{display:inline-block;text-underline-offset:6px;font-size:14px;margin-top:24px}.couples{background:var(--wine);color:#fff6ef;padding:70px 6%}.split{max-width:1160px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:65px;margin:auto}.split>img{aspect-ratio:1.15;object-fit:cover}.split-copy{padding:20px 0}.split-copy p:not(.eyebrow){max-width:360px;color:#d3bfc0}.light{background:#f4e9dd;color:var(--wine)}.trio{max-width:1160px;margin:55px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.trio img{aspect-ratio:2/3;object-fit:cover}.portraits{display:grid;grid-template-columns:1fr 1fr;max-width:850px;margin:auto;gap:28px}.portraits img{aspect-ratio:2/3;object-fit:cover}.family{border-top:1px solid #d8d4cb;text-align:center;max-width:1100px}.family p:not(.eyebrow){max-width:570px;margin:auto}.contact{border-top:1px solid #d8d4cb}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:40px}address{font-style:normal}address>a{display:block;overflow-wrap:anywhere}footer{border-top:1px solid #d8d4cb;padding:30px 6%;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#62665d}@media(max-width:700px){header{flex-direction:column;gap:5px;padding:6px 15px 18px}.brand{width:230px;height:75px}.brand img{height:230px;top:-78px}nav{gap:20px;font-size:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7%}.hero-image{min-height:0;height:auto;aspect-ratio:1.2;object-fit:cover}.section{padding:60px 7%}.section-heading{display:block}.section-heading>p{margin-top:24px}.wedding-grid{gap:12px}.split{grid-template-columns:1fr;gap:22px}.couples{padding:45px 7%}.split>img{aspect-ratio:1.5}.trio{gap:9px;margin-top:30px}.portraits{gap:12px}.contact-grid{grid-template-columns:1fr;gap:35px}footer{flex-wrap:wrap}h1,h2{letter-spacing:-1px}.button{gap:18px}.intro{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Refined white presentation and swipeable wedding portfolio */
.couples{background:#fff;color:var(--ink);border-top:1px solid #ececec;border-bottom:1px solid #ececec}.split-copy p:not(.eyebrow){color:#62665d}.light{background:var(--olive);color:#fff}h1,h2{font-weight:400;line-height:1.18}h2 em{font-size:.96em}
.wedding-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#aaa #fff;padding-bottom:18px;align-items:center}.wedding-grid a{display:block;flex:0 0 auto;height:520px;scroll-snap-align:start;overflow:hidden}.wedding-grid a.portrait{width:347px}.wedding-grid a.wide{width:780px;aspect-ratio:auto}.wedding-grid img{width:100%;height:100%;object-fit:contain}.gallery-controls{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1px;margin-top:15px}.gallery-controls button{background:white;border:1px solid #aaa;width:48px;height:48px;margin-left:8px;font-size:23px;cursor:pointer;color:var(--ink)}.gallery-controls button:hover{background:#eee}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-controls button:focus-visible{outline:3px solid #414b3d;outline-offset:3px}.portraits{max-width:1160px;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.portraits a{display:block}.portraits img{height:auto;object-fit:contain}
@media(max-width:700px){.wedding-grid{gap:14px}.wedding-grid a{height:390px}.wedding-grid a.portrait{width:260px}.wedding-grid a.wide{width:85vw}.portraits{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portraits a:first-child{grid-column:span 2;max-width:420px;width:100%;justify-self:center}h1,h2{letter-spacing:-.4px}}

.request-section{border-top:1px solid #ddd}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}form{margin-top:35px}form label{display:block;font-size:14px}form input,form select,form textarea{display:block;width:100%;padding:14px;margin-top:8px;border:1px solid #aaa;border-radius:0;background:white;color:#242622;font:16px/1.5 Arial,sans-serif}form input:focus,form select:focus,form textarea:focus{outline:2px solid #414b3d;outline-offset:2px}form small,.form-note{font-size:12px;color:#62665d}.message-label{margin-top:24px}form textarea{resize:vertical}form button{border:0;cursor:pointer}form button:disabled{opacity:.5;cursor:wait}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status{font-size:14px;max-width:700px}@media(max-width:700px){.form-grid{grid-template-columns:1fr;gap:18px}}
