/* Studio sessions have the first position in the private-client journey. */
.portal-photo .portal-background{object-position:50% 35%;filter:brightness(.85) saturate(.8)}
.home-studio-focus{border-bottom:1px solid var(--line)}
.home-studio-focus .section-top .body-copy{max-width:420px}
.studio-entry-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:24px;align-items:stretch}
.studio-session-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;border:1px solid #b85a31;padding:28px;background:#1b1917}
.studio-session-card .eyebrow{font-size:9px;margin-bottom:16px}
.studio-session-card h3{font-size:24px;letter-spacing:-.6px}
.studio-price{font-size:54px;letter-spacing:-3px;line-height:1.1;color:var(--orange);margin:20px 0}
.studio-price>span{font-size:15px;letter-spacing:0;margin-left:8px}
.studio-session-card ul{padding:0;margin:0 0 26px;list-style:none;font-size:11px;line-height:2.2;color:var(--muted)}
.studio-session-card li::before{content:'↗';color:var(--orange);margin-right:10px}
.studio-session-card .pill-link{margin-top:auto;width:100%;gap:12px;font-size:11px;padding:14px 16px}
.studio-examples .case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.studio-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.studio-service-grid>a{position:relative;padding:26px 24px 55px;border:1px solid var(--line);min-width:0;background:#1a1a1a}
.studio-service-grid>a:hover{border-color:var(--orange)}
.studio-service-grid span{font-size:9px;letter-spacing:1px;color:var(--orange);text-transform:uppercase}
.studio-service-grid h3{font-size:21px;letter-spacing:-.6px;margin:24px 0 14px;line-height:1.3}
.studio-service-grid p{font-size:12px;line-height:1.9;color:var(--muted);max-width:310px}
.studio-service-grid b{position:absolute;right:24px;bottom:20px;font-size:24px;font-weight:400;color:var(--orange)}
.studio-boudoir-link{margin-top:28px}
#fotografering{scroll-margin-top:140px}
/* Every case preview has a horizontal 3:2 frame; the photograph stays whole. */
.site-page .case-card .case-visual,.site-page .video-work .case-card .case-visual{aspect-ratio:3/2;background:#202020}
.site-page .case-card .case-visual img,.site-page .case-card .case-link:hover .case-visual img{object-fit:contain;object-position:50% 50%;transform:none}
.site-page .case-lead-image,.site-page .case-lead-image.portrait-lead{width:calc(100% - 112px);max-width:1456px;min-height:0;height:auto;max-height:none;aspect-ratio:3/2;margin:0 auto;background:#202020;overflow:hidden}
.site-page .case-lead-image img,.site-page .case-lead-image.portrait-lead img{width:100%;height:100%;object-fit:contain;object-position:50% 50%}
@media(max-width:1100px){.studio-entry-grid{grid-template-columns:1fr 1fr}.studio-session-card{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}.studio-session-card .eyebrow,.studio-session-card h3,.studio-session-card .studio-price{grid-column:1}.studio-session-card ul{grid-column:2;grid-row:1/4;align-self:center;margin-bottom:10px}.studio-session-card .pill-link{grid-column:2}.studio-price{margin-bottom:0}.studio-service-grid{gap:18px}}
@media(max-width:760px){.studio-entry-grid,.studio-examples .case-grid,.studio-service-grid{grid-template-columns:1fr}.studio-session-card{display:flex;grid-column:auto;order:-1;padding:26px}.studio-price{margin:16px 0}.studio-session-card ul{margin-bottom:22px}.studio-entry-grid{gap:25px}.studio-session-card .pill-link{font-size:12px}.studio-service-grid>a{padding:24px 22px 52px}.studio-service-grid p{max-width:none}.site-page .case-lead-image,.site-page .case-lead-image.portrait-lead{width:calc(100% - 40px)}#fotografering{scroll-margin-top:130px}}

#booking{scroll-margin-top:140px}.sumup-booking-frame{display:block;width:100%;height:900px;min-height:700px;border:1px solid var(--line);border-radius:4px;background:#fff}.studio-booking>.text-link{margin-top:20px}.booking-provider{font-size:10px;line-height:1.6;color:var(--muted);margin-top:14px}@media(max-width:760px){#booking{scroll-margin-top:130px}.sumup-booking-frame{height:1000px;border-radius:0}}

.studio-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:28px}.studio-heading-actions>span{font-size:12px;color:var(--muted)}.mobile-navigation .mobile-studio-cta{color:var(--orange);font-size:17px;border-color:#a95737;line-height:1.5}@media(max-width:760px){.studio-heading-actions{gap:15px}.studio-heading-actions>span{font-size:11px}}

/* Services expand on the same page; native details also works without JavaScript. */
.service-accordion{border-top:1px solid var(--line)}
.service-accordion:last-child{border-bottom:1px solid var(--line)}
.service-accordion>.service-row{border:0;list-style:none;cursor:pointer;user-select:none}
.service-accordion>.service-row::-webkit-details-marker{display:none}
.service-accordion>.service-row::marker{content:""}
.service-accordion>.service-row:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
.service-expand{font-size:32px;font-weight:300;line-height:1;transition:transform .25s,color .25s}
.service-accordion[open] .service-expand{transform:rotate(45deg);color:var(--orange)}
.service-accordion[open]>.service-row h3{color:var(--orange)}
.service-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding:0 0 42px;align-items:start;animation:service-open .25s ease-out}
.service-example{margin:0;aspect-ratio:3/2;background:#1b1b1b;overflow:hidden}
.service-example img{width:100%;height:100%;object-fit:contain}
.service-description .eyebrow{margin:2px 0 18px}
.service-related-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:26px 0 12px}
.service-case-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.service-case-links a{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:12px 15px;font-size:12px;line-height:1.4;transition:border-color .2s,color .2s}
.service-case-links a:hover,.service-case-links a:focus-visible{border-color:var(--orange);color:var(--orange)}
.portal-photo .portal-portrait{object-position:50% 32%}
@keyframes service-open{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.service-content{grid-template-columns:1fr;gap:24px;padding-bottom:30px}.service-accordion>.service-row{grid-template-columns:minmax(0,1fr) 32px;column-gap:12px}.service-accordion>.service-row h3{grid-column:1;grid-row:1}.service-accordion>.service-row p{display:block;grid-column:1;grid-row:2;margin-top:8px;max-width:26em}.service-accordion>.service-row .service-expand{grid-column:2;grid-row:1/3;align-self:center;justify-self:end}.service-case-links a{padding:11px 13px}.service-content .body-copy{font-size:14px}}
@media(prefers-reduced-motion:reduce){.service-content{animation:none}.service-expand{transition:none}}

/* One photo hub, two clear routes within the same website. */
.photo-hub-heading{padding-top:58px;padding-bottom:38px}
.photo-hub-heading h1{font-size:clamp(50px,6.4vw,90px)}
.photo-hub-shortcuts{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.photo-hub-shortcuts a{display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid var(--line);padding:13px 17px;font-size:12px;line-height:1.4}
.photo-hub-shortcuts a:hover,.photo-hub-shortcuts a:focus-visible{border-color:var(--orange);color:var(--orange)}
.photo-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-bottom:65px}
.photo-path{display:flex;flex-direction:column;border:1px solid var(--line);background:#191919;min-width:0}
.photo-path-visual{position:relative;aspect-ratio:3/2;background:#161616;overflow:hidden}
.photo-path-visual>img{width:100%;height:100%;object-fit:contain}
.photo-path-copy{padding:27px}
.photo-path-copy h2{font-size:clamp(22px,2.3vw,32px);line-height:1.2;letter-spacing:-.7px;margin:12px 0 16px}
.photo-path-copy>p:not(.eyebrow){font-size:13px;line-height:1.8;color:var(--muted);max-width:40em}
.photo-path-copy .text-link{margin-top:20px;font-size:12px}
.photo-path:hover,.photo-path:focus-visible{border-color:var(--orange)}
.photo-path:focus-visible{outline:2px solid var(--orange);outline-offset:5px}
@media(max-width:760px){.photo-hub-heading{padding-top:36px;padding-bottom:28px}.photo-hub-heading h1{font-size:clamp(39px,9.8vw,60px)}.photo-hub-shortcuts{gap:9px;margin-top:20px}.photo-hub-shortcuts a{font-size:11px;gap:13px;min-height:44px}.photo-paths{grid-template-columns:1fr;gap:25px;padding-bottom:38px}.photo-path-copy{padding:23px}.photo-path-copy h2{font-size:25px}}
