/* Family and pet stories share the photographic rhythm of the wedding page. */
.service-page{--service-inset:52px;color:var(--type-ink);padding:0}
.mobile-service-close{display:none}
.window-body .service-page :is(h1,h2,h3){font-weight:500;letter-spacing:-.03em;text-wrap:balance;margin-top:0}
.window-body .service-page h2{font-size:clamp(30px,3.4vw,42px);line-height:1.15;margin-bottom:22px}
.window-body .service-page h3{font-size:19px;line-height:1.3;margin-bottom:14px}
.window-body .service-page p{font-size:15px;line-height:1.8;color:var(--type-body);margin:0}
.service-page figure{margin:0;overflow:hidden;border-radius:24px}
.service-page figure img{height:100%;object-fit:cover}
.service-section{padding:64px var(--service-inset)}
.service-banner{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:390px;height:clamp(390px,35vw,470px);padding:44px var(--service-inset);overflow:hidden;background:#7e785c}
.service-banner picture,.service-banner picture img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-fit:cover}
.service-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#12150db8,transparent 85%),linear-gradient(90deg,#171a1533,transparent 75%)}
.window-body .service-banner h1{font-size:clamp(44px,4.7vw,60px);line-height:1.09;letter-spacing:-.035em;color:#fff;margin:0}
.window-body .service-banner-copy>p{color:#ffffffe0;font-size:11px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.content-window:has(.service-banner) .window-bar{position:absolute;inset:0 0 auto;z-index:5;justify-content:flex-end;background:none;border:0;pointer-events:none}
.content-window:has(.service-banner) .window-title{display:none}
.content-window:has(.service-banner) .window-close{pointer-events:auto;width:40px;height:40px;background:#ffffffb3;color:#27231f}
.service-section-nav{display:flex;justify-content:center;align-items:center;gap:34px;padding:21px 28px;border-bottom:1px solid #0000000c;background:rgba(255,255,255,.18)}
.service-section-nav a{display:flex;align-items:center;gap:12px;font-size:12px;line-height:1.5;min-height:28px;color:rgba(0,0,0,.67)}
.service-section-nav a:last-child{font-weight:500;color:var(--type-ink)}
.service-section-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.service-intro{text-align:center;padding-top:62px;padding-bottom:62px}
.window-body .service-page .service-kicker{font-size:11px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;color:rgba(0,0,0,.5);margin-bottom:18px}
.service-intro h2{max-width:700px;margin-inline:auto}
.window-body .service-intro .service-intro-lead{font-size:17px;line-height:1.8;max-width:680px;margin:0 auto}
.service-personal{max-width:680px;text-align:left;margin:30px auto 0;border-top:1px solid #00000012}
.service-personal summary{display:flex;align-items:center;gap:16px;padding:22px 0 0;cursor:pointer;list-style:none}
.service-personal summary>img{width:56px;height:56px;flex:none;border:2px solid #ffffffc4;border-radius:50%;object-position:50% 23%}
.service-personal strong{display:block;font-size:14px;line-height:1.5;font-weight:500}
.service-personal small{display:block;font-size:12px;line-height:1.5;color:rgba(0,0,0,.52);margin-top:5px}
.service-personal>div{padding:22px 0 0 72px}
.service-expand{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#ffffff85;color:rgba(0,0,0,.58);font-size:20px;font-weight:300;margin-left:auto;transition:transform .2s}
.service-page details[open]>summary .service-expand{transform:rotate(45deg)}
.service-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center;padding-top:0}
.service-feature figure{aspect-ratio:4/5}
.service-feature figure img{object-position:center}
.service-feature h2{max-width:420px}
.window-body .service-feature p+p{margin-top:20px}
.service-section-heading{max-width:700px;margin:0 auto 34px;text-align:center}
.service-section-heading>p:not(.service-kicker){max-width:600px;margin-inline:auto}
.service-moments{padding-top:0}
.service-rows{max-width:800px;margin:0 auto}
.service-rows details{border-bottom:1px solid #00000014}
.service-rows details:first-child{border-top:1px solid #00000014}
.service-rows summary{display:flex;gap:20px;align-items:center;min-height:78px;padding:22px 0;list-style:none;cursor:pointer}
.service-row-copy{font-size:16px;line-height:1.45;font-weight:500}
.service-row-copy small{display:block;font-size:12px;font-weight:400;color:rgba(0,0,0,.53);line-height:1.6;margin-top:6px}
.service-row-number{flex:none;font-size:12px;font-variant-numeric:tabular-nums;color:rgba(0,0,0,.44);width:24px}
.service-rows details>div{padding:0 44px 25px}
.service-faq .service-rows details>div{padding-left:0}
.service-page summary::-webkit-details-marker{display:none}
.service-page summary:focus-visible{outline:2px solid #766655;outline-offset:5px;border-radius:6px}
.service-portfolio{padding-top:0}
.service-photo-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.service-photo-grid figure{grid-column:span 2;aspect-ratio:4/5;border-radius:20px}
.service-photo-grid figure:nth-child(1),.service-photo-grid figure:nth-child(2){grid-column:span 3;aspect-ratio:3/2}
.haustiere-page .service-photo-grid figure:nth-child(1),.haustiere-page .service-photo-grid figure:nth-child(2){aspect-ratio:4/5}
.service-photo-grid img{transition:transform .45s}
@media(hover:hover){.service-photo-grid figure:hover img{transform:scale(1.025)}}
.service-practical{background:rgba(255,255,255,.23);border-block:1px solid #ffffff55;padding-top:52px;padding-bottom:52px}
.service-practical>h2{text-align:center;margin-bottom:38px!important}
.service-practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
.service-step-number{display:inline-block;font-size:11px;letter-spacing:.08em;margin-bottom:20px;color:rgba(0,0,0,.45)}
.window-body .service-practical-grid p{font-size:14px;line-height:1.8}
.service-faq{padding-bottom:54px}
.service-inquiry{padding-left:var(--service-inset);padding-right:var(--service-inset)}
.service-inquiry .inquiry-process-link{min-height:90px}
.service-page .inquiry-process-icon{font-size:25px}
.service-page .service-preview-notice{padding:14px 18px;border:1px solid #ffffffad;border-radius:16px;background:#ffffff55;font-size:12px;line-height:1.7;text-align:left}
.service-preview-notice a{display:inline;text-decoration:underline;text-underline-offset:3px;font-weight:500}
.service-related{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #00000010;margin:0 var(--service-inset);padding:28px 0 38px}
.window-body .service-related p{font-size:12px;margin-bottom:8px}
.window-body .service-related h2{font-size:22px;line-height:1.3;margin:0}
.service-related>a{display:flex;align-items:center;gap:20px;flex:none;font-size:12px;min-height:44px}
.service-related>a:hover{text-decoration:underline;text-underline-offset:4px}
.service-page :is(section,[id]){scroll-margin-top:24px}
.service-document:has(.service-page) .site-header{position:fixed}
@media(max-width:1000px){
 .service-page{--service-inset:34px}
 .service-feature{gap:32px}
 .service-practical-grid{gap:24px}
}
@media(max-width:760px){
 .service-page{--service-inset:28px}
 .service-section{padding-top:44px;padding-bottom:44px}
 .service-intro{padding-top:42px}
 .service-feature{padding-top:0;gap:26px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 .service-feature figure{aspect-ratio:3/4}
 .service-feature h2{font-size:30px!important}
 .window-body .service-feature p{font-size:14px}
 .service-moments,.service-portfolio{padding-top:0}
 .service-practical-grid{grid-template-columns:1fr;gap:25px}
 .service-practical-grid>div{display:grid;grid-template-columns:30px 1fr;column-gap:14px}
 .service-step-number{grid-row:span 2;margin-top:5px}
 .service-practical-grid h3{margin-bottom:8px!important}
 .service-practical-grid p{grid-column:2}
 .service-related{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(max-width:600px){
 .service-page{--service-inset:24px}
 .service-page :is(section,[id]){scroll-margin-top:104px}
 .content-window:has(.service-page) .window-body{padding-top:0;padding-bottom:0}
 .service-banner{height:510px;min-height:0;padding:0 24px 34px}
 .service-banner:after{background:linear-gradient(0deg,#13170ec9,transparent 78%)}
 .service-banner-copy{padding-top:120px}
 .window-body .service-banner h1{font-size:44px;line-height:1.12}
 .window-body .service-banner-copy>p{font-size:10px;letter-spacing:.07em;max-width:250px}
 .service-section-nav{gap:0;padding:10px 16px;justify-content:space-between}
 .service-section-nav a{font-size:11px;min-height:44px;gap:6px}
 .window-body .service-page h2{font-size:32px;line-height:1.2}
 .window-body .service-intro .service-intro-lead{font-size:16px;line-height:1.8}
 .service-personal summary{gap:12px}
 .service-personal strong{font-size:13px}
 .service-personal small{font-size:11px}
 .service-personal summary>img{width:48px;height:48px}
 .service-personal>div{padding-left:0}
 .service-feature{grid-template-columns:1fr;gap:28px}
 .service-feature figure{aspect-ratio:4/5;margin-inline:-8px;border-radius:22px;max-height:480px}
 .service-feature>div{padding-top:0}
 .service-feature h2{font-size:34px!important}
 .window-body .service-feature p{font-size:15px}
 .service-section-heading{text-align:left;margin-bottom:26px}
 .service-row-copy{font-size:15px}
 .service-row-copy small{font-size:12px}
 .service-rows summary{gap:12px;min-height:78px;padding-block:20px}
 .service-row-number{width:20px;font-size:11px}
 .service-rows details>div{padding-left:32px;padding-right:0}
 .service-photo-grid{gap:9px;margin-inline:-8px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-photo-grid figure{grid-column:span 1;aspect-ratio:4/5!important;border-radius:16px}
 .service-photo-grid figure:first-child{grid-column:1/-1;aspect-ratio:3/2!important}
 .service-photo-grid figure:nth-child(2){grid-column:span 1}
 .service-practical>h2{text-align:left}
 .service-faq .service-row-copy{font-size:15px}
 .service-related{padding-bottom:30px}
 .window-body .service-related h2{font-size:23px}
 .content-window:has(.service-page) .window-bar{display:none}
 body:has(.service-page) .mobile-service-close{position:absolute;top:18px;left:16px;display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex:none;padding:0;border-radius:50%;font-size:25px;line-height:1;font-weight:300;color:#38342e;background:linear-gradient(135deg,#ffffffb3,#ffffff66);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
 body:has(.service-page) .site-header .brand{visibility:hidden}
}
@media(max-width:360px){
 .service-banner{height:470px;padding-inline:20px}
 .window-body .service-banner h1{font-size:39px}
 .service-page{--service-inset:20px}
 .service-section-nav{padding-inline:12px}
 .service-section-nav a{font-size:10px;gap:4px}
 .service-personal small{font-size:10px}
 .service-personal summary{gap:10px}
}
@media(prefers-reduced-motion:reduce){.service-expand,.service-photo-grid img{transition:none}}
