.portfolio-root{--p-paper:#f2eee7;--p-muted:#b9b6b0;--p-accent:#c9b28f;--p-line:hsla(38,30%,93%,.18);color:var(--p-paper);background:#090909}.p-container{width:100%;max-width:1152px;margin-inline:auto;padding-inline:32px}.p-section{padding-block:112px}.portfolio-root [id]{scroll-margin-top:130px}.p-lightbox button:focus-visible,.portfolio-root :is(a,button):focus-visible{outline:2px solid #e0c8a5;outline-offset:6px}.p-kicker{font-family:var(--font-montserrat),sans-serif;font-size:10px;font-weight:500;letter-spacing:.21em;line-height:1.8;text-transform:uppercase;color:var(--p-accent,#c9b28f)}.p-heading{font-family:var(--font-cormorant),serif;font-size:clamp(38px,4.5vw,62px);font-weight:400;line-height:1.06;letter-spacing:-.025em;white-space:pre-line;text-wrap:balance}.p-copy{color:var(--p-muted);font-size:15px;font-weight:400;line-height:1.95}.p-photo{-o-object-fit:cover;object-fit:cover;-o-object-position:var(--photo-position,50% 35%);object-position:var(--photo-position,50% 35%)}.p-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:32px}.p-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:14px 23px;border:1px solid var(--p-paper);border-radius:99px;background:var(--p-paper);color:#121212;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.045em;transition:background .25s,border-color .25s}.p-button:hover{background:#d9cbb7;border-color:#d9cbb7}.p-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;color:inherit;border-bottom:1px solid var(--p-line);font-size:11px;line-height:1.6;transition:border-color .25s,color .25s}.p-text-link:hover{color:var(--p-accent);border-color:var(--p-accent)}.p-signature{display:block;font-family:var(--font-cormorant),serif;font-style:italic;font-size:36px;color:var(--p-accent)}.p-hero{position:relative;isolation:isolate}.p-hero-wide{min-height:590px;height:calc(100svh - 104px);max-height:960px;display:flex;align-items:flex-end;overflow:hidden}.p-hero-media{position:absolute;z-index:-2;inset:0}.p-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.5),transparent 72%),linear-gradient(0deg,rgba(0,0,0,.62),transparent 70%)}.p-hero-content{padding-block:58px}.p-hero-back{color:#eee7dc;display:inline-block;margin-bottom:26px}.p-hero-back span{margin-inline:12px;opacity:.5}.p-hero h1{font-size:clamp(64px,8.3vw,120px);font-weight:400;line-height:.94;letter-spacing:-.035em;white-space:pre-line;max-width:630px;text-wrap:balance}.p-hero h1,.p-hero-subtitle{font-family:var(--font-cormorant),serif}.p-hero-subtitle{font-size:25px;line-height:1.25;margin-top:22px}.p-hero-region{font-size:10px;letter-spacing:.08em;line-height:1.8;margin-top:14px;color:#e0dcd5}.p-hero-scroll{position:absolute;right:4vw;bottom:58px;display:flex;gap:14px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.19em;writing-mode:vertical-rl}.p-photo-open{position:absolute;right:16px;top:16px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff70;border-radius:50%;background:#0005;color:#fff;z-index:2;transition:background .25s}.p-photo-open:hover{background:#000a}.p-hero-open{right:32px;top:24px}.p-hero-diptych{max-width:1440px;margin-inline:auto;min-height:660px;display:grid;grid-template-columns:.88fr 1.12fr;gap:48px;padding:64px 32px 64px max(32px,calc((100vw - 1088px)/2));align-items:center}.p-hero-diptych .p-hero-content{grid-column:1;grid-row:1;padding:0}.p-hero-diptych h1{font-size:clamp(56px,6.5vw,90px)}.p-hero-diptych .p-hero-back{color:var(--p-accent)}.p-hero-diptych .p-hero-region{color:var(--p-muted)}.p-diptych-photos{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.p-diptych-photo{position:relative;aspect-ratio:2/3;border-radius:4px;overflow:hidden}.p-diptych-photo:nth-child(2){margin-top:64px}.p-diptych-photo .p-photo{-o-object-fit:cover;object-fit:cover}.p-intro{position:relative;display:grid;grid-template-columns:1.05fr .9fr;gap:110px;align-items:center}.p-intro-copy .p-heading{margin-block:24px}.p-intro-copy .p-signature{margin-top:25px}.p-intro-photo{width:100%;max-width:430px;justify-self:end}.p-gallery-photo{position:relative;display:block;width:100%;border-radius:4px;overflow:hidden;background:#141414;cursor:zoom-in}.p-gallery-image{width:100%;height:auto;display:block;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.p-gallery-photo:hover .p-gallery-image{transform:scale(1.025)}.p-gallery-expand{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff60;background:#0006;border-radius:50%;opacity:0;transition:opacity .3s}.p-gallery-photo:focus-visible .p-gallery-expand,.p-gallery-photo:hover .p-gallery-expand{opacity:1}.p-gallery-number{position:absolute;left:17px;bottom:19px;font-size:10px;letter-spacing:.1em;color:#fff;text-shadow:0 1px 5px #000}.p-image-caption{margin-top:14px;font-size:9px;color:var(--p-muted);letter-spacing:.1em}.p-gallery{padding-top:48px}.p-gallery-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:56px}.p-gallery-heading .p-heading{margin-top:16px}.p-gallery-heading .p-text-link{flex-shrink:0}.p-gallery-rows{display:flex;flex-direction:column;gap:72px}.p-gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.p-gallery-alternate.p-gallery-pair>:first-child,.p-gallery-pair>:nth-child(2){margin-top:96px}.p-gallery-alternate.p-gallery-pair>:nth-child(2){margin-top:0}.p-gallery-solo{width:60%;margin-inline:auto}.p-gallery-landscape{width:100%}.p-process{border-top:1px solid var(--p-line)}.p-section-heading{display:grid;grid-template-columns:1fr 2fr;gap:50px;align-items:start;margin-bottom:64px}.p-section-heading .p-kicker{padding-top:8px}.p-process ol{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.p-process li{border-top:1px solid var(--p-line);padding-top:20px}.p-step-number{font-size:27px;color:var(--p-accent)}.p-process h3,.p-step-number{font-family:var(--font-cormorant),serif}.p-process h3{font-size:25px;font-weight:400;margin:15px 0 12px}.p-process li p{color:var(--p-muted);font-size:12px;line-height:1.9}.p-inquiry{border-top:1px solid var(--p-line);padding-top:64px}.p-inquiry-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.p-inquiry-body{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:72px}.p-inquiry-body .p-heading{font-size:clamp(46px,5vw,72px)}.p-faq-link{display:inline-block;margin-top:26px;font-size:10px;color:var(--p-muted);text-decoration:underline;text-underline-offset:5px}.p-inquiry-end{display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid var(--p-line);padding:25px 0 35px}.p-inquiry-end>span{font-size:9px;color:var(--p-muted)}.p-overview{display:grid;grid-template-columns:48% 52%;align-items:start}.p-overview-copy{padding:68px 50px 42px max(32px,calc((100vw - 1088px)/2))}.p-overview-intro h1{font-family:var(--font-cormorant),serif;font-size:clamp(44px,5.2vw,78px);font-weight:400;letter-spacing:-.035em;line-height:.97;margin:26px 0}.p-overview-intro h1 span{color:var(--p-accent);font-style:italic}.p-overview-intro>p:last-child{font-size:12px;line-height:1.8;color:var(--p-muted)}.p-category-list{display:block;margin-top:45px}.p-category-link{display:block;border-top:1px solid var(--p-line);padding:17px 0}.p-category-link:last-child{border-bottom:1px solid var(--p-line)}.p-category-row{display:flex;align-items:center;gap:21px}.p-category-number{align-self:start;margin-top:8px;color:var(--p-muted);font-size:9px;letter-spacing:.1em}.p-category-row>div{flex:1}.p-category-link h2{font-family:var(--font-cormorant),serif;font-weight:400;font-size:33px;line-height:1.1;transition:color .35s,transform .35s}.p-category-link p{font-size:10px;line-height:1.7;color:var(--p-muted);margin-top:5px}.p-category-link svg{width:18px;opacity:.45;transition:transform .35s,opacity .35s}.p-category-link.is-active h2{color:var(--p-accent);transform:translateX(4px)}.p-category-link.is-active svg{opacity:1;transform:translate(2px,-2px)}.p-overview-location{color:var(--p-muted);font-size:8px;line-height:1.8;margin-top:32px}.p-overview-stage{position:sticky;top:105px;height:calc(100svh - 105px);min-height:520px;overflow:hidden}.p-overview-image{position:absolute;inset:0;opacity:0;transition:opacity .8s}.p-overview-image .p-photo{transform:scale(1.045);transition:transform 1.6s}.p-overview-image.is-active{opacity:1}.p-overview-image.is-active .p-photo{transform:scale(1)}.p-overview-image-caption{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:65px 32px 28px;background:linear-gradient(0deg,#0009,transparent)}.p-overview-image-caption>span:first-child{font-size:10px;letter-spacing:.15em}.p-overview-image-caption>span:last-child{font-family:var(--font-cormorant),serif;font-size:28px}.p-category-mobile-image{display:none;position:relative}.p-wedding-intro{text-align:center;padding-top:80px;padding-bottom:48px;max-width:840px}.p-wedding-intro h1{font-family:var(--font-cormorant),serif;font-size:clamp(64px,8vw,104px);line-height:1;font-weight:400;margin:26px 0}.p-wedding-intro .p-copy{max-width:620px;margin:0 auto}.p-wedding-intro .p-actions{justify-content:center}.p-wedding-region{color:var(--p-muted);font-size:11px;margin-bottom:24px}.p-wedding-carousel-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-block:20px 28px}.p-wedding-carousel-heading h2{font-family:var(--font-cormorant),serif;font-size:36px;line-height:1.15}.p-wedding-carousel-heading p{font-size:11px;color:var(--p-muted);max-width:320px;line-height:1.8}.p-carousel{padding-bottom:80px}.p-carousel-track{--carousel-card:clamp(280px,31vw,410px);--carousel-gutter:max(24px,calc((100vw - 1088px)/2));display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:var(--carousel-gutter);scrollbar-width:none;padding-inline:var(--carousel-gutter);padding-block:10px 22px;overscroll-behavior-x:contain}.p-carousel-track::-webkit-scrollbar{display:none}.p-carousel-item{flex:0 0 var(--carousel-card);scroll-snap-align:start;position:relative}.p-carousel-image{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:4px;background:#181818}.p-carousel-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 28%;object-position:50% 28%;transition:transform 1s}.p-carousel-item:hover img{transform:scale(1.025)}.p-carousel-caption{position:absolute;bottom:0;inset-inline:0;padding:80px 25px 24px;background:linear-gradient(0deg,#000b,transparent);border-radius:0 0 4px 4px}.p-carousel-caption h3{font-family:var(--font-cormorant),serif;font-size:35px;line-height:1.2}.p-carousel-caption p{font-size:10px;margin-top:8px;line-height:1.6;color:#e3dfd8}.p-carousel-controls{display:flex;align-items:center;gap:12px;margin-top:15px}.p-carousel-controls>span{margin-right:auto;font-size:10px;letter-spacing:.15em;color:var(--p-muted)}.p-icon-button{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid #ffffff40;border-radius:50%;color:inherit;background:transparent;transition:background .2s;flex-shrink:0}.p-icon-button:hover{background:#ffffff15}.p-icon-button:disabled{opacity:.35}.p-carousel-pause{display:inline-flex;align-items:center;gap:9px;padding:12px;font-size:10px}.p-reportage-hero{height:calc(100svh - 104px);min-height:560px;max-height:900px;position:relative;overflow:hidden}.p-reportage-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 75%)}.p-reportage-hero-copy{position:absolute;bottom:48px;inset-inline:0}.p-reportage-hero h1{font-family:var(--font-cormorant),serif;font-size:clamp(58px,7vw,100px);font-weight:400;line-height:1;margin:20px 0}.p-reportage-location{font-size:12px;line-height:1.8;max-width:620px;color:#e7e2da}.p-reportage-intro{display:grid;grid-template-columns:1fr 2fr;gap:70px}.p-reportage-intro .p-copy p+p{margin-top:24px}.p-reportage-gallery{-moz-columns:3;column-count:3;-moz-column-gap:20px;column-gap:20px}.p-reportage-gallery>button{margin-bottom:20px;-moz-column-break-inside:avoid;break-inside:avoid}.p-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:76px minmax(0,1fr) 76px;background:#090909fa;color:#f2eee7;font-family:var(--font-montserrat),sans-serif;padding:0 24px}.p-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:20px}.p-lightbox-stage{display:flex;align-items:center;justify-content:center;min-height:0;touch-action:pan-y}.p-lightbox-image{display:block;height:auto;width:auto;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.p-lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;max-width:900px;width:100%;margin-inline:auto}.p-lightbox-bottom p{font-size:10px;text-align:center;line-height:1.7;color:#c6c0b6}@media (min-width:1600px){.p-hero-diptych{padding-left:80px;padding-right:80px}}@media (max-width:1023px){.p-container{padding-inline:24px}.p-section{padding-block:80px}.p-hero-diptych{gap:24px;padding:56px 24px;min-height:570px}.p-hero-diptych h1{font-size:60px}.p-hero-diptych .p-actions{gap:14px}.p-diptych-photos{gap:10px}.p-intro{gap:50px}.p-hero-media,.p-intro-photo{transform:none!important}.p-gallery-pair{gap:24px}.p-process ol{grid-template-columns:repeat(2,1fr);gap:35px}.p-inquiry-body{gap:40px}.p-overview-copy{padding:54px 24px 35px}.p-category-row{gap:14px}.p-reportage-intro{gap:35px}.p-reportage-gallery{-moz-columns:2;column-count:2}}@media (max-width:767px){.p-container{padding-inline:22px}.p-section{padding-block:64px}.p-heading{font-size:42px}.p-copy{font-size:14px;line-height:1.85}.p-kicker{font-size:9px;letter-spacing:.16em}.p-photo{-o-object-position:var(--photo-mobile-position,var(--photo-position,50% 35%));object-position:var(--photo-mobile-position,var(--photo-position,50% 35%))}.p-hero-wide{height:auto;min-height:0;padding-top:67svh;display:block;overflow:hidden}.p-hero-media,.p-hero-shade{inset:0 0 auto;height:67svh}.p-hero-shade{background:linear-gradient(0deg,#090909,transparent 28%)}.p-hero-content{padding-block:12px 36px;position:relative}.p-hero-wide .p-hero-content{margin-top:-36px}.p-hero h1{font-size:clamp(58px,16vw,80px);max-width:none}.p-hero-back{color:var(--p-accent);margin-bottom:18px}.p-hero-subtitle{font-size:24px;margin-top:20px}.p-hero-region{font-size:9px;margin-top:13px;color:var(--p-muted)}.p-hero-scroll{display:none}.p-hero-open{right:18px;top:18px}.p-actions{gap:20px;margin-top:26px}.p-button{font-size:11px;gap:15px;padding-inline:20px}.p-text-link{font-size:10px}.p-hero-diptych{display:flex;flex-direction:column;gap:28px;min-height:0;padding:26px 22px 32px}.p-diptych-photos{width:100%;gap:12px}.p-diptych-photo:nth-child(2){margin-top:32px}.p-hero-diptych .p-hero-content{width:100%}.p-hero-diptych h1{font-size:62px}.p-diptych-photo .p-photo-open{width:36px;height:36px;top:9px;right:9px}.p-intro{grid-template-columns:1fr;gap:36px}.p-intro-copy .p-heading{margin-block:20px}.p-intro-photo{max-width:none;width:85%;justify-self:end}.p-gallery{padding-top:36px}.p-gallery-heading{display:block;margin-bottom:32px}.p-gallery-heading .p-text-link{margin-top:20px}.p-gallery-rows{gap:24px}.p-gallery-pair{grid-template-columns:1fr;gap:24px}.p-gallery-pair>:nth-child(n){margin-top:0}.p-gallery-solo{width:100%}.p-gallery-expand{opacity:1;width:36px;height:36px;right:12px;bottom:12px}.p-section-heading{display:block;margin-bottom:36px}.p-section-heading .p-heading{margin-top:20px}.p-process ol{gap:28px 20px}.p-process h3{font-size:22px}.p-process li p{font-size:11px}.p-inquiry{padding-top:38px}.p-inquiry-top{margin-bottom:24px}.p-inquiry-body{grid-template-columns:1fr;gap:24px;padding-bottom:45px}.p-inquiry-body .p-heading{font-size:49px}.p-inquiry-end{align-items:start;flex-direction:column;gap:17px}.p-overview{display:block}.p-overview-copy{padding:48px 22px 30px}.p-overview-intro h1{font-size:clamp(51px,14vw,68px)}.p-overview-intro>p:last-child{font-size:13px}.p-overview-stage{display:none}.p-category-list{margin-top:40px}.p-category-link{padding:0 0 28px;border:0;margin-top:22px}.p-category-link:last-child{border:0}.p-category-mobile-image{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:4px}.p-category-row{padding-top:18px}.p-category-link.is-active h2{color:var(--p-paper);transform:none}.p-category-link h2{font-size:34px}.p-category-link p{font-size:11px}.p-wedding-intro{padding-top:40px;padding-bottom:24px}.p-wedding-intro h1{font-size:clamp(48px,14.3vw,60px);margin-block:18px}.p-wedding-intro .p-copy{font-size:14px}.p-wedding-carousel-heading{display:block}.p-wedding-carousel-heading h2{font-size:34px}.p-wedding-carousel-heading p{margin-top:13px}.p-carousel{padding-bottom:55px}.p-carousel-track{--carousel-card:80vw;--carousel-gutter:22px;gap:16px}.p-carousel-caption{padding:70px 22px 22px}.p-carousel-caption h3{font-size:32px}.p-carousel-controls{gap:8px;flex-wrap:wrap}.p-carousel-pause{padding:10px 4px}.p-reportage-hero{height:calc(90svh - 88px);min-height:540px}.p-reportage-hero-copy{bottom:32px}.p-reportage-hero h1{font-size:57px}.p-reportage-location{font-size:11px}.p-reportage-intro{grid-template-columns:1fr;gap:28px}.p-reportage-gallery{-moz-columns:1;column-count:1}.p-lightbox{padding-inline:12px;grid-template-rows:66px minmax(0,1fr) 82px}.p-lightbox-bottom{gap:12px}.p-lightbox-bottom p{font-size:9px}}@media (prefers-reduced-motion:reduce){html:has(.portfolio-root){scroll-behavior:auto!important}.p-lightbox *,.portfolio-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.p-gallery-image,.p-hero-media,.p-intro-photo,.p-overview-image .p-photo{transform:none!important}}.p-reportage-hero-media{position:absolute;inset:0}.p-overview-image{pointer-events:none}.p-overview-image.is-active{pointer-events:auto}.p-overview-image-caption>span:last-of-type{margin-right:auto}.p-overview-image-caption svg{transition:transform .65s var(--motion-ease)}.p-overview-image:hover .p-overview-image-caption svg{transform:translate(4px,-4px)}.p-overview-image:focus-visible{outline-offset:-8px!important}.p-category-row{transition:transform .65s var(--motion-ease)}.p-category-link:focus-visible .p-category-row,.p-category-link:hover .p-category-row{transform:translateX(7px)}.p-button svg,.p-category-row svg,.p-text-link svg{transition:transform .65s var(--motion-ease)}.p-button:hover svg,.p-category-link:hover svg,.p-text-link:hover svg{transform:translate(3px,-3px)}.p-button{transition:background .4s,border-color .4s,transform .5s var(--motion-ease)}.p-button:hover{transform:translateY(-3px)}.p-button:active{transform:translateY(0) scale(.97)}.p-carousel-item{transition:transform .8s var(--motion-ease)}.p-carousel-item:hover{transform:translateY(-7px)}.p-carousel-image img{transition:transform 1.25s var(--motion-ease)}.p-carousel-item:hover img{transform:scale(1.065)}.p-hero-scroll svg{animation:portfolio-scroll-cue 2.8s ease-in-out infinite}@keyframes portfolio-scroll-cue{0%,to{transform:translateY(-3px)}50%{transform:translateY(6px)}}.p-lightbox-image-frame{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}@media (prefers-reduced-motion:reduce){.p-button,.p-button svg,.p-carousel-item,.p-carousel-item img,.p-category-link svg,.p-category-row,.p-text-link svg{transform:none!important}}.p-overview-photo{position:absolute;inset:0;overflow:hidden}.p-lightbox-stage{position:relative;overflow:hidden}