/* Shared visual rhythm across Events, Catering and People. */
.service-page{--page-gutter:7.5%;overflow-x:clip}
.service-page .header{position:relative;z-index:5;height:100px;margin:0;padding:0 4.5%;max-width:none;border:0;background:var(--cream)}
.service-page .header:after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:24px;background:var(--cream);border-radius:0 0 48% 12% / 0 0 100% 65%;pointer-events:none}
.service-page .header .brand,.service-page .header nav,.service-page .menu-toggle{position:relative;z-index:1}
.service-page .button{border-radius:100px;min-height:54px;padding:16px 28px;font-size:14px;text-align:center}
.service-page h2{font-size:clamp(36px,3.9vw,61px);line-height:1.13;letter-spacing:-.035em;color:var(--wine)}
.service-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:center;background:var(--sand);padding:70px var(--page-gutter) 120px;overflow:hidden}
.service-hero-copy{position:relative;z-index:1;padding:12px 0}
.service-hero-copy .eyebrow{font-size:13px;letter-spacing:.2em;margin-bottom:28px}
.service-hero h1{font-size:clamp(52px,5.7vw,88px);letter-spacing:-.045em;line-height:1.05;color:var(--wine)}
.service-description{max-width:480px;font-size:16px;line-height:1.85;margin:30px 0 28px}
.service-hero-signature{font:italic 20px/1.55 var(--serif);color:var(--wine);margin-top:38px}
.service-hero-figure{position:relative;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.service-hero-figure:before{content:"";position:absolute;inset:15px -16px 65px 22px;border:1px solid rgba(128,35,49,.32);border-radius:49% 47% 12% 40% / 35% 36% 12% 24%;transform:rotate(5deg);pointer-events:none}
.service-photo-window{position:relative;overflow:hidden;min-height:530px;height:100%;border-radius:49% 47% 12% 40% / 35% 36% 12% 24%;isolation:isolate;background:var(--brown)}
.service-scenery{position:absolute;inset:-45px 0;will-change:transform}
.service-scenery img{height:100%;width:100%;object-fit:cover;object-position:52% center}
.events-page .service-scenery img{object-position:53% center}
.catering-page .service-photo-window{border-radius:45% 12% 45% 12% / 30% 12% 30% 12%}
.catering-page .service-hero-figure:before{border-radius:45% 12% 45% 12% / 30% 12% 30% 12%}
.catering-page .service-scenery img{object-position:46% center}
.people-page .service-scenery img{object-position:56% 42%}
.service-hero-figure figcaption{position:relative;margin:20px 0 0;text-align:center;font:italic 18px/1.5 var(--serif);color:var(--wine)}
.service-wave{position:absolute;bottom:-1px;left:0;width:100%;height:85px;fill:var(--cream);pointer-events:none}
.service-hero-copy>*{animation:service-enter .9s both}
.service-hero-copy h1{animation-delay:.1s}.service-description{animation-delay:.2s}.service-hero-copy .button{animation-delay:.3s}.service-hero-signature{animation-delay:.4s}
.service-hero-figure{animation:service-photo-enter 1.2s .15s both}
@keyframes service-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes service-photo-enter{from{opacity:0;transform:translateY(25px) scale(.97)}to{opacity:1;transform:none}}
.service-page .section{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.service-page .occasions,.service-page .formats,.service-page .people-values{padding-top:65px;padding-bottom:135px;background:var(--cream)}
.service-page .section-top{max-width:1350px;margin:0 auto 65px;gap:8%}
.service-page .section-top h2{width:60%}
.service-page .section-top .eyebrow{max-width:220px}
.service-page .offering-grid{max-width:1350px;margin:0 auto;gap:52px 48px}
.service-page .offering-grid article{position:relative;border-top:1px solid rgba(128,35,49,.25);padding-top:30px}
.service-page .offering-grid article>.eyebrow{display:flex;align-items:center;justify-content:center;border:1px solid rgba(128,35,49,.35);width:44px;height:44px;border-radius:50%;font-size:12px;letter-spacing:.02em;margin-bottom:24px;transition:background .3s,color .3s}
.service-page .offering-grid article:hover>.eyebrow{background:var(--wine);color:var(--cream)}
.service-page .offering-grid h3{font-size:29px}
.service-page .offering-grid p,.service-page .gallery-heading>p:last-child:not(.eyebrow),.service-page .case-copy>p:not(.eyebrow){font-size:16px;line-height:1.85}
.service-page .gallery-section,.service-page .case-studies{position:relative;padding-top:75px;padding-bottom:100px;background:var(--sand)}
.service-page .gallery-section:before,.service-page .case-studies:before{content:"";position:absolute;top:-39px;left:0;width:100%;height:70px;background:inherit;border-radius:50% 40% 0 0 / 90% 65% 0 0;pointer-events:none}
.service-page .gallery-heading{position:relative;margin-bottom:65px;max-width:1350px;margin-left:auto;margin-right:auto}
.service-page .gallery-heading h2{margin-bottom:25px}
.service-page .editorial-gallery{max-width:1350px;margin:0 auto;gap:42px 30px}
.service-page .editorial-gallery>.gallery-item:nth-child(3n+1)>a{border-radius:150px 150px 3px 3px}
.service-page .editorial-gallery>.gallery-item:nth-child(3n+3)>a{border-radius:3px 3px 100px 3px}
.service-page .gallery-item figcaption{font-size:13px;line-height:1.65;margin-top:16px}
.service-page .gallery-item img{transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.service-page .gallery-item>a:hover img{transform:scale(1.055)}
.service-page .zoom-hint{border-radius:100px;font-size:13px;right:18px;bottom:18px}
.service-page .gallery-item>a:focus-visible{outline-offset:5px;outline-color:var(--wine)}
.service-page .case-study{max-width:1350px;margin:auto;padding-top:60px;padding-bottom:70px;gap:8%}
.service-page .case-study:last-child{padding-bottom:40px}
.service-page .case-pair .gallery-item:first-child>a{border-radius:150px 150px 3px 3px}
.service-page .case-tags{gap:10px}
.service-page .case-tags span{border-radius:100px;font-size:13px;padding:8px 14px}
.catering-page .gallery-section{background:var(--cream);padding-top:85px;padding-bottom:90px}
.service-page .people-note{position:relative;background:var(--wine);padding-top:100px;padding-bottom:100px}
.service-page .people-note h2{color:var(--cream)}
.service-page .people-note:before{content:"";position:absolute;top:-29px;left:0;width:100%;height:50px;background:var(--wine);border-radius:55% 45% 0 0 / 80% 70% 0 0}
.service-page .people-note>p:last-child{font-size:16px}
.service-page .related{padding-top:95px;padding-bottom:110px}
.service-page .related h2{margin-bottom:45px;font-size:clamp(35px,3.5vw,54px)}
.service-page .related-links{gap:24px}
.service-page .related-photo-link{border:0;padding:0;position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:340px;overflow:hidden;color:var(--cream)}
.related-photo-link:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(35,20,21,.92),rgba(35,20,21,.35) 90%)}
.related-photo-link>img{position:absolute;z-index:-2;inset:0;object-fit:cover;object-position:center 38%;width:100%;height:100%;transition:transform .9s}
.related-photo-link:hover>img{transform:scale(1.05)}
.related-photo-link>div{padding:34px}
.related-photo-link>div>span:first-child{font:48px/1.1 var(--serif)}
.service-page .related-photo-link p{font-size:15px;line-height:1.8;margin:14px 0 20px;max-width:360px}
.service-page .related-photo-link .text-link{color:var(--cream)}
.service-page .contact{padding-top:115px;padding-bottom:35px}
.service-page .contact>.service-wave{top:-1px;bottom:auto;transform:rotate(180deg);height:65px}
.service-page .contact h2{color:var(--cream);font-size:clamp(42px,4.8vw,73px)}
.service-page .contact-intro{font-size:16px;line-height:1.85}
.service-page .contact-signature{color:var(--sand)}
.service-page .footer{padding:38px 4.5%}
@media(min-width:1650px){.service-hero{padding-left:max(7.5%,calc((100vw - 1480px)/2));padding-right:max(7.5%,calc((100vw - 1480px)/2))}}
@media(max-width:1100px){.service-hero{gap:5%;padding-top:65px}.service-hero h1{font-size:60px}.service-photo-window{min-height:530px}.service-page .offering-grid{gap:40px 30px}.service-page .offering-grid h3{font-size:26px}}
@media(max-width:900px){.service-page{--page-gutter:6%}.service-page .header{height:90px;padding:0 6%}.service-page .header nav{position:absolute;top:100%;left:0;right:0;padding:22px 6%;z-index:3}.service-page .header .brand{width:185px}.service-hero h1{font-size:54px}.service-description{margin-top:24px}.service-hero-signature{font-size:18px}.service-page .section-top h2{width:100%}.service-page .section-top{margin-bottom:45px}.service-page .occasions,.service-page .formats,.service-page .people-values{padding-top:45px;padding-bottom:105px}.service-page .editorial-gallery{gap:35px 24px}.service-page .editorial-gallery>.gallery-item:nth-child(3n+1)>a{border-radius:3px}.service-page .editorial-gallery>.gallery-item:nth-child(2n+1)>a{border-radius:150px 150px 3px 3px}.service-page .related-photo-link{min-height:330px}.related-photo-link>div{padding:26px}.related-photo-link>div>span:first-child{font-size:42px}}
@media(max-width:760px){.service-hero{grid-template-columns:1fr;gap:35px;padding-top:60px;padding-bottom:85px}.service-hero-copy{padding:0}.service-hero h1{font-size:clamp(45px,9vw,67px)}.service-hero h1 br{display:none}.service-hero h1 em{display:block}.service-description{max-width:540px}.service-hero-signature{margin-top:28px}.service-hero-figure{width:100%;max-width:560px;margin:0 auto}.service-photo-window{height:420px;min-height:0}.service-hero-figure:before{inset:10px -8px 72px 15px}.service-hero-figure figcaption{font-size:18px}.service-wave{height:50px}.people-page .service-photo-window{height:490px}.people-page .service-scenery img{object-position:50% 30%}.service-page .related{padding-top:70px;padding-bottom:85px}.service-page .gallery-heading{margin-bottom:40px}.service-page .gallery-section,.service-page .case-studies{padding-top:50px;padding-bottom:75px}}
@media(max-width:600px){.service-page .header{height:84px}.service-page .header .brand{width:164px}.service-hero{padding-top:55px}.service-hero-copy .eyebrow{margin-bottom:24px;font-size:12px}.service-hero h1{font-size:clamp(42px,11.3vw,65px)}.service-hero-signature{font-size:18px}.service-photo-window{height:340px}.people-page .service-photo-window{height:410px}.service-page h2{font-size:clamp(34px,9vw,46px)}.service-page .section-top .eyebrow{margin-bottom:22px}.service-page .offering-grid{gap:32px}.service-page .offering-grid article{padding-top:25px}.service-page .offering-grid article>.eyebrow{margin-bottom:18px}.service-page .offering-grid h3{font-size:28px}.service-page .editorial-gallery{gap:30px 15px}.service-page .editorial-gallery>.gallery-item:nth-child(2n+1)>a{border-radius:100px 100px 3px 3px}.service-page .editorial-gallery>.gallery-item:nth-child(3n+3)>a{border-radius:3px}.service-page .gallery-item figcaption{font-size:13px;line-height:1.6}.service-page .people-gallery{grid-template-columns:1fr}.service-page .people-gallery>.gallery-item:nth-child(n){padding-top:0}.service-page .people-gallery>.gallery-item:nth-child(2)>a{border-radius:3px 3px 110px 3px}.service-page .people-note{padding-top:70px;padding-bottom:70px}.service-page .case-study{padding-top:40px;padding-bottom:45px}.service-page .case-tags span{font-size:12px;padding:8px 10px}.service-page .related-links{grid-template-columns:1fr;gap:18px}.service-page .related-photo-link{min-height:320px}.service-page .related-photo-link p{font-size:16px}.service-page .related h2{font-size:36px;margin-bottom:32px}.service-page .contact{padding-top:90px}.service-page .contact>.service-wave{height:40px}.service-page .contact h2{font-size:clamp(37px,9.8vw,57px)}.service-page .footer{padding:30px 6%}}
@media(prefers-reduced-motion:reduce){.service-hero-copy>*,.service-hero-figure{animation:none}.service-scenery{will-change:auto}.service-page .gallery-item>a:hover img,.related-photo-link:hover>img{transform:none}.service-page .gallery-item img,.related-photo-link>img{transition:none}}
