@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600&display=swap');
:root{--paper:#ffffff;--ink:#34382f;--muted:#77786f;--line:#deded3;--accent:#626b52}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{max-width:1600px;margin:auto;padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:'Cormorant Garamond',serif;font-size:34px;letter-spacing:-1px;line-height:1}.brand small{display:block;font-family:'DM Sans',sans-serif;letter-spacing:3px;text-transform:uppercase;font-size:8px;text-align:center;margin-top:10px}nav{display:flex;gap:35px;font-size:12px}nav a{padding:6px 0;border-bottom:1px solid transparent}nav a:hover,nav a[aria-current]{border-color:var(--ink)}main{max-width:1600px;margin:auto;padding:0 5%}.intro{text-align:center;padding:54px 0 37px}.eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:10px;color:var(--muted)}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.08}h1{font-size:clamp(42px,5vw,66px);margin:15px 0}h2{font-size:44px;margin:14px 0 23px}h3{font-size:30px;margin:0 0 14px}.intro p{font-size:13px;color:var(--muted);margin:12px 0}.gallery{columns:4;column-gap:17px}.photo{display:block;border:0;background:#e2dfd5;padding:0;width:100%;margin:0 0 17px;break-inside:avoid;position:relative;cursor:zoom-in;overflow:hidden}.photo img{display:block;width:100%;height:auto;transition:transform .65s,filter .4s;filter:none}.photo:hover img{transform:scale(1.025);filter:none}.photo span{position:absolute;bottom:15px;left:18px;color:white;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;text-shadow:0 1px 6px #000;opacity:0;transition:opacity .3s}.photo:hover span,.photo:focus-visible span{opacity:1}.sample-note{font-size:10px;letter-spacing:.3px;color:var(--muted);text-align:center;margin:18px 0 35px}.closing{text-align:center;padding:45px 0 65px;border-top:1px solid var(--line);margin-top:40px}.closing h2{font-size:38px;margin-bottom:25px}.text-link{border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:12px}.text-link span{margin-left:30px}.button{display:inline-flex;justify-content:space-between;gap:45px;align-items:center;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:15px 23px;cursor:pointer;font-size:12px}.button:hover{background:var(--accent)}footer{display:flex;justify-content:space-between;gap:20px;max-width:1600px;margin:auto;padding:24px 5%;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding:65px 0 80px;align-items:start}.editorial-image{width:100%;display:block;max-height:770px;object-fit:cover;filter:none}.copy{max-width:480px;padding-top:30px}.copy h1{font-size:60px}.copy p{color:var(--muted)}.price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:38px 0;padding:26px 0}.price-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.price-row h3{margin:0}.price-row strong{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:35px}.price p{margin-bottom:0;font-size:12px}.details{margin-top:35px}.details p{font-size:12px}.contact-layout{display:grid;grid-template-columns:.85fr 1fr;gap:13%;max-width:1120px;margin:auto;padding:80px 0 100px}.contact-layout h1{margin-top:15px}.contact-layout .email{display:inline-block;margin:25px 0}.contact-visual{width:210px;height:240px;object-fit:cover;filter:none;margin-top:25px}.form-note{color:var(--muted);font-size:11px}form{padding-top:17px}label{display:block;font-size:11px;margin:0 0 8px}input,textarea{display:block;border:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);width:100%;padding:12px 13px;margin:0 0 23px}textarea{resize:vertical;min-height:135px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}dialog{padding:0;border:0;background:transparent;max-width:94vw;max-height:94vh;overflow:visible}dialog::backdrop{background:#191b18ed}dialog img{display:block;max-width:90vw;max-height:83vh;object-fit:contain}dialog button{position:absolute;right:0;top:-39px;background:none;border:0;color:white;font-size:25px;cursor:pointer}dialog p{color:#ddd;font-size:11px;margin:8px 0;text-align:center}body:has(dialog[open]){overflow:hidden}@media(min-width:1700px){.gallery{columns:5}}@media(max-width:1000px){.gallery{columns:3}.split{gap:6%}.copy h1{font-size:48px}.contact-layout{gap:7%}}@media(max-width:650px){header{padding:24px 6%}.brand{font-size:28px}nav{gap:18px;font-size:11px}main{padding:0 5%}.intro{padding:35px 0 25px}.intro p{font-size:12px}.gallery{columns:2;column-gap:10px}.photo{margin-bottom:10px}.photo span{display:none}.split,.contact-layout{grid-template-columns:1fr;padding:35px 0 50px;gap:25px}.editorial-image{max-height:450px}.copy{padding-top:0;max-width:none}.copy h1{font-size:49px}.contact-visual{display:none}.contact-layout h1{font-size:53px}.contact-layout .email{margin:14px 0}.pair{grid-template-columns:1fr;gap:0}.closing{padding:30px 0 45px}footer{font-size:9px;gap:10px}.sample-note{font-size:9px}}

/* Photos share one column width; one-pixel rows keep the masonry fit. */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1px;grid-auto-flow:dense;column-gap:17px;row-gap:0;columns:unset;align-items:start}
.gallery .photo{margin:0;grid-column:span 1;align-self:start}
.gallery .photo.landscape{grid-column:span 1}
@media(min-width:1700px){.gallery{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1000px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.gallery{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px}}

/* Preserve the full pricing-page portrait at every viewport width. */
.editorial-image{width:100%;height:auto;max-height:none;object-fit:contain}

/* Dawn Michele's confetti borders sit at the outer edges of every page. */
body{min-height:100vh;display:flex;flex-direction:column}
body>header,body>main,body>footer{width:100%}
body>main{flex:1}
body::before,body::after{content:"";display:block;flex:none;width:100%;height:auto;aspect-ratio:1034 / 39;background:#fff url('/confetti-crisp.svg') no-repeat center;background-size:100% 100%}

/* Mirror the artwork vertically at the bottom edge. */
body::after{transform:scaleY(-1)}

/* Bring the header and footer text closer to the confetti edges. */
body>header{padding-top:17.5px}
body>footer{padding-bottom:12px}
@media(max-width:650px){body>header{padding-top:12px}}
