*{box-sizing:border-box}.project-page{background:#f2f0e9;color:#181815}.project-header{background:#151513;color:#f2f0e9}.project-header .menu-toggle span{background:#f2f0e9}.project-main{max-width:1180px;margin:0 auto;padding:clamp(54px,8vw,108px) 7vw 90px}.project-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 52px;color:#77766f;font-size:11px;letter-spacing:.04em}.project-breadcrumb a{text-decoration:underline;text-underline-offset:4px}.project-kicker{margin:0;color:#78776f;font-size:10px;letter-spacing:1.6px;font-weight:600}.project-main h1{max-width:900px;margin:20px 0 23px;font:500 clamp(52px,8vw,100px)/.98 var(--display);letter-spacing:-.08em}.project-lede{max-width:680px;margin:0 0 38px;color:#69685f;font-size:clamp(16px,2vw,19px);line-height:1.75}.project-video{aspect-ratio:16/9;width:100%;background:#171715;box-shadow:0 20px 50px #0002}.project-video iframe{width:100%;height:100%;border:0;display:block}.project-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:34px 0 54px;padding:23px 0;border-top:1px solid #c9c7bf;border-bottom:1px solid #c9c7bf}.project-facts div{display:grid;gap:8px}.project-facts span{color:#77766f;font-size:9px;letter-spacing:1.3px}.project-facts b{font:500 17px var(--display)}.project-copy{max-width:680px;color:#69685f;font-size:15px;line-height:1.8}.project-copy a{color:#24241f;text-decoration:underline;text-underline-offset:4px}.project-copy h2{margin:12px 0 16px;color:#181815;font:500 clamp(30px,4vw,46px)/1.05 var(--display);letter-spacing:-.065em}.project-copy p+p{margin-top:14px}.project-next{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:64px;padding-top:22px;border-top:1px solid #c9c7bf}.project-next a{color:#24241f}.project-next a:last-child{color:#74736b}.project-footer{background:#151513;color:#f2f0e9;padding:26px 7vw;font-size:10px;letter-spacing:.08em}.project-footer a{text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.project-main{padding:42px 7vw 70px}.project-breadcrumb{margin-bottom:38px}.project-facts{grid-template-columns:1fr;gap:18px;margin:25px 0 38px}.project-copy{font-size:14px}.project-next{align-items:flex-start;flex-direction:column}}

.project-related{margin:64px auto 0;padding:0 0 8px}.project-related-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:25px}.project-related-head h2{margin:8px 0 0;font:500 clamp(34px,5vw,56px)/1 var(--display);letter-spacing:-.07em}.project-related-head h2 em{font-family:Georgia,serif;font-weight:400}.project-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.project-related-card{display:flex;min-width:0;flex-direction:column;gap:9px;color:var(--wedding-ink)}.project-related-card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#deddd6;filter:brightness(.88);transition:filter .25s,transform .4s}.project-related-card:hover img{filter:brightness(1);transform:translateY(-2px)}.project-related-card span{margin-top:3px;color:var(--wedding-accent);font-size:8px;letter-spacing:1px}.project-related-card b{font:500 15px/1.3 var(--display)}.project-related-card i{margin-top:auto;color:#77766f;font-size:10px;font-style:normal}.project-related-card:hover i{color:var(--wedding-ink)}.project-page .wedding-gallery-section{width:100vw;max-width:none;margin:68px 0 0 calc(50% - 50vw)}.project-page .wedding-gallery-section .wedding-gallery{width:100%;margin:0}.project-page .wedding-contact{width:100vw;margin-left:calc(50% - 50vw);padding-top:105px;background:#e9e6de}.project-page .wedding-contact h2{font-size:clamp(46px,7vw,88px)}.project-page .project-header .nav{gap:28px}.project-page .project-header .nav-contact{border:1px solid #77766f;padding:13px 18px;border-radius:30px}.project-page .project-header .nav-contact span{color:var(--wedding-accent)}@media(max-width:760px){.project-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}.project-related-head{align-items:flex-start;flex-direction:column}.project-page .wedding-gallery-section{margin-top:48px}.project-page .wedding-contact{padding-top:72px}.project-page .project-header .nav{gap:20px}}@media(max-width:500px){.project-related-card b{font-size:13px}.project-related-card i{font-size:9px}.project-page .wedding-contact h2{font-size:clamp(42px,11vw,62px)}}

/* Related wedding projects: show four tiles in two rows and scroll by project group. */
.project-related-head{align-items:flex-end;flex-direction:row}
.project-related-head h2{font:italic 400 clamp(34px,5vw,56px)/1 Georgia,serif;letter-spacing:-.055em}
.project-related-head h2 em{font:inherit}
.project-related-controls{display:flex;gap:8px;flex:0 0 auto}
.project-related-controls button{display:grid;width:40px;height:40px;place-items:center;border:1px solid #c9c7bf;border-radius:50%;background:transparent;color:#181815;font:20px/1 var(--display);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.project-related-controls button:hover:not(:disabled){background:#181815;border-color:#181815;color:#f2f0e9}
.project-related-controls button:disabled{opacity:.38;cursor:default}
.project-related-grid{display:grid;width:100%;min-width:0;grid-template-columns:none;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:calc((100% - 14px)/2);gap:24px 14px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;user-select:none;-webkit-overflow-scrolling:touch}
.project-related-grid::-webkit-scrollbar{display:none}
.project-related-grid.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.project-related-grid.is-dragging *{pointer-events:none}
.project-related-card{min-width:0;scroll-snap-align:start}
.project-related-grid:focus-visible{outline:2px solid #929c77;outline-offset:5px}
@media(max-width:760px){.project-related-head{align-items:flex-end;flex-direction:row}.project-related-grid{gap:18px 12px;grid-auto-columns:calc((100% - 12px)/2)}}
@media(max-width:550px){.project-related-controls button{width:36px;height:36px}.project-related-grid{gap:16px 10px;grid-auto-columns:calc((100% - 10px)/2)}}
.provence-page .project-facts{margin-bottom:24px}

/* Give project videos a quiet frame against the warm page background. */
.project-video{padding:8px;background:#e7e4dc}
.project-related{width:100vw;max-width:none;margin:64px 0 0 calc(50% - 50vw);padding:42px max(7vw,calc((100vw - 1180px)/2 + 7vw)) 48px;background:#e9e6de}
.project-related-card img{border:0;background-color:#e7e4dc}

/* Keep each project link the same distance from its own title. */
.project-related-card i{margin-top:0}

/* Tighten the transition from related projects into the photo gallery. */
.project-page .project-related{padding-bottom:56px}
.project-page .wedding-gallery-section{margin-top:12px;padding:80px 0}
@media(max-width:760px){.project-page .project-related{padding-bottom:40px}.project-page .wedding-gallery-section{margin-top:8px;padding:60px 0}}

/* Use uppercase for the roman part of project contact headlines. */
.project-page .wedding-contact h2{text-transform:uppercase;letter-spacing:-.035em}
.project-page .wedding-contact h2 em{text-transform:none}
