@import url('/v2-assets/fonts.css');
:root{--paper:#F6F2EC;--beige:#E8DDD0;--ink:#292620;--muted:#625A50;--accent:#715846;--line:#cfc3b6;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}html,body{overflow-x:clip}body{margin:0;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.06}h2{font-size:clamp(2.5rem,4.5vw,4.75rem)}h3{font-size:clamp(2.1rem,3vw,3.2rem)}p+p{margin-top:1rem}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #98704f;outline-offset:6px}button{color:inherit}section[id]{scroll-margin-top:2rem}.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:500;line-height:1.5}.site-header{min-height:100px;display:flex;align-items:center;gap:32px;padding:18px 4.3%;border-bottom:1px solid var(--line);position:relative;z-index:5}.wordmark{font-family:Georgia,serif;font-size:32px;letter-spacing:.08em;line-height:1.1}.wordmark span{display:block;text-align:center;font:8px 'DM Sans',sans-serif;letter-spacing:.24em;margin-top:9px}.site-header nav{margin-left:auto;display:flex;gap:26px;align-items:center}.site-header nav a,.language{font-size:13px;white-space:nowrap}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--accent)}.language{border-left:1px solid var(--line);padding-left:25px}.menu-toggle{display:none;border:0;background:none;font-size:24px}.hero{position:relative;isolation:isolate;min-height:690px;height:calc(100svh - 100px);max-height:960px;color:#fff;background:#141316;display:flex;align-items:center}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.26) 35%,transparent 62%)}.hero-copy{padding:60px 4.3%;max-width:640px}.hero h1{font-size:clamp(4rem,6.7vw,7rem);margin:26px 0}.hero-title{font-size:clamp(1.4rem,2.1vw,2rem);font-family:'Cormorant Garamond',Georgia,serif;line-height:1.27;max-width:410px}.hero-intro{font-size:15px;margin-top:22px!important}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:14px}.button:hover{background:var(--accent);border-color:var(--accent)}.button-light{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-light:hover{background:var(--beige);border-color:var(--beige)}.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--accent);padding:6px 0;font-size:14px}.text-link span{font-size:20px}.text-link.light{border-color:#ffffff80}.hero-scroll{position:absolute;bottom:28px;left:4.3%;font-size:10px;letter-spacing:.18em;display:flex;gap:25px}.section{padding:100px 5.5%;max-width:1600px;margin:auto}.section-heading{text-align:center;max-width:780px;margin:0 auto 58px}.section-heading .eyebrow{margin-bottom:22px}.section-heading>p:last-child{margin-top:25px;color:var(--muted)}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.entry-image{display:flex;justify-content:center;align-items:center;background:var(--beige);height:370px;margin-bottom:27px;padding:0}.entry-image img{height:100%;width:100%;object-fit:contain}.entry:nth-child(2) .entry-image{padding:30px}.entry .eyebrow{color:var(--muted);margin-bottom:13px}.entry h3{margin-bottom:14px;overflow-wrap:normal}.entry p:not(.eyebrow){font-size:15px;color:var(--muted)}.entry .text-link{margin-top:20px}footer{padding:70px 5.5% 30px;background:var(--beige);text-align:center}footer h2{margin:23px 0}.contact-email{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.8rem,4vw,3.5rem);border-bottom:1px solid var(--accent)}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:80px;padding-top:28px;border-top:1px solid #c3b7aa;font-size:12px;letter-spacing:.04em}.skip-link{position:absolute;left:20px;top:-100px;z-index:99;padding:12px;background:var(--paper)}.skip-link:focus{top:10px}
@media(max-width:1100px){.site-header{gap:20px}.site-header nav{gap:17px}.site-header nav a{font-size:12px}.language{padding-left:15px}.hero-copy{max-width:520px}.hero h1{font-size:75px}.entry-image{height:300px}}
@media(max-width:900px){.site-header{min-height:84px;padding:16px 5%}.wordmark{font-size:26px}.site-header .language{margin-left:auto;border:0}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:15px}.site-header nav.is-open{display:flex}.site-header nav a{font-size:18px}.hero{height:700px;min-height:0}.hero h1{font-size:64px}.hero-copy{max-width:440px}.hero-title{font-size:26px}.entry-grid{gap:22px}.entry-image{height:250px}.section{padding:70px 5%}.entry h3{font-size:36px}}
@media(max-width:600px){body{font-size:16px}.hero{display:block;height:auto;background:var(--paper);color:var(--ink)}.hero-image{position:static;width:100%;height:auto}.hero:before,.hero-scroll{display:none}.hero-copy{padding:32px 6% 42px;max-width:none}.hero h1{font-size:60px;margin:18px 0}.hero-title{font-size:28px}.hero-intro{margin-top:17px!important}.hero .button-light{background:var(--ink);border-color:var(--ink);color:var(--paper)}.hero .text-link{border-color:var(--accent)}.actions{gap:18px;margin-top:25px}.hero .eyebrow{font-size:11px}.section{padding:60px 6%}.section-heading{margin-bottom:35px}.section-heading>p:last-child{font-size:16px}.entry-grid{grid-template-columns:1fr;gap:45px}.entry-image{height:auto;min-height:280px}.entry-image img{height:auto;max-height:450px;width:auto;max-width:100%}.entry:nth-child(2) .entry-image img{max-height:350px}.entry h3{font-size:42px}.footer-bottom{flex-direction:column;gap:14px;margin-top:50px}footer{padding:55px 6% 25px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Editorial rhythm and shared page layouts. */
.site-header nav a[aria-current=page]{border-color:var(--accent)}.featured{display:flex;align-items:center;border-bottom:1px solid var(--line);background:#efe8df;min-height:126px;padding:0 3.8%;gap:30px;overflow:hidden}.featured-label{flex:0 0 158px;line-height:1.5}.featured-label>span{font-size:13px;letter-spacing:.16em;font-weight:600}.featured-label small{display:block;font-size:9px;letter-spacing:.04em;margin-top:6px;color:var(--muted)}.marquee{overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}.marquee-track{display:flex;width:max-content;animation:featured-roll 75s linear infinite}.marquee-group{display:flex;align-items:center;gap:48px;padding-right:48px;flex-shrink:0}.brand-logo{width:165px;min-width:165px;height:86px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px}.brand-logo img{width:100%;height:54px;object-fit:contain;filter:grayscale(1);mix-blend-mode:multiply}.brand-logo span{font-size:10px;line-height:1.2;white-space:nowrap}.brand-tv4{width:66px;min-width:66px}.brand-tv4 img{height:47px}.brand-wpc{width:215px;min-width:215px}.brand-wpc img,.brand-foto-sm img{filter:brightness(0);opacity:.86}.brand-foto-sm{width:220px;min-width:220px}.brand-glasgow{width:155px;min-width:155px}.brand-glasgow img{height:52px}.brand-ipa img{height:58px}.brand-expressen img{height:33px}.brand-radron img{height:30px}.marquee:hover .marquee-track,.marquee:focus-within .marquee-track,.featured.is-paused .marquee-track{animation-play-state:paused}.marquee-toggle{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:none;flex-shrink:0;font-size:16px;line-height:1}.credentials{display:grid;grid-template-columns:repeat(4,1fr);padding:29px 5.5%;border-bottom:1px solid var(--line);gap:25px}.credentials div{display:flex;flex-direction:column;line-height:1.5;padding-left:22px;border-left:1px solid var(--line)}.credentials div:first-child{border:0;padding-left:0}.credentials strong{font-size:13px;font-weight:500}.credentials span{font-size:11px;color:var(--muted);margin-top:4px}.surface-beige{background:var(--beige)}.surface-art{background:#ECEEE6}.align-left{text-align:left;margin-left:0}.press-copy{margin-top:28px;max-width:680px}.press-copy .eyebrow{margin-bottom:18px}.press-copy h3{margin-bottom:18px}.press-copy p:not(.eyebrow){color:var(--muted);max-width:600px}.press-copy .text-link{margin-top:20px}.video-card{width:100%}.video-poster{position:relative;display:block;background:#292620}.video-poster img{width:100%;height:auto}.video-poster:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0008);pointer-events:none}.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:1px solid #fff9;border-radius:50%;background:#f6f2ecee;color:var(--ink);display:grid;place-items:center;font-size:20px;padding-left:4px;z-index:1;transition:transform .2s}.video-poster:hover .play{transform:translate(-50%,-50%) scale(1.07)}.video-watch{position:absolute;bottom:22px;left:25px;color:#fff;font-size:11px;letter-spacing:.18em;z-index:1}.magazine-story h3{font-size:40px;margin:16px 0}.magazine-story p:not(.eyebrow){font-size:15px;color:var(--muted)}.magazine-story .text-link{margin-top:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split>img{width:100%;max-height:640px;object-fit:contain}.editorial-copy .eyebrow{margin-bottom:22px}.editorial-copy h2{margin-bottom:28px}.editorial-copy p:not(.eyebrow){color:var(--muted)}.editorial-copy .text-link{margin-top:22px}.editorial-copy .actions .text-link{margin-top:0}.editorial-copy em{font-weight:500}.book-stage{padding:36px;background:#e7e1d8;display:flex;align-items:center;justify-content:center}.book-stage img{height:540px;width:auto;object-fit:contain}.small-note{font-size:14px;color:var(--muted)}.art-preview{display:grid;grid-template-columns:.8fr 1.2fr .85fr;align-items:center;gap:5%}.art-preview figure{margin:0}.art-preview img{width:100%;height:auto;max-height:500px;object-fit:contain}.art-preview figcaption{font-size:12px;color:var(--muted);margin-top:15px}.art-preview-copy p{font-size:17px;color:var(--muted)}.art-preview-copy .text-link{margin-top:23px}.award-list{border-top:1px solid var(--line)}.award-list article{display:grid;grid-template-columns:80px 1.3fr 1fr;gap:28px;align-items:center;border-bottom:1px solid var(--line);padding:28px 0}.award-list h3{font-size:30px;line-height:1.2}.award-list p{font-size:14px;color:var(--muted)}.awards>.text-link{margin-top:27px}.about-feature .split{grid-template-columns:1.1fr 1fr}.footer-inquiries{font-size:14px;color:var(--muted);margin-top:23px}.page-intro{padding-top:85px;padding-bottom:48px;text-align:center}.page-intro h1{font-size:clamp(3rem,6vw,6rem);margin:25px auto;max-width:1000px}.page-intro>p:not(.eyebrow){max-width:750px;margin:auto;color:var(--muted);font-size:18px}.subnav{display:flex;justify-content:center;flex-wrap:wrap;gap:35px;padding:0 5% 30px}.subnav a{white-space:nowrap}.intro-actions{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:0 6% 25px}.gallery-heading{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:38px}.gallery-heading h2{font-size:clamp(2.5rem,3.5vw,4rem)}.gallery-grid{columns:3;column-gap:22px}.gallery-grid figure{margin:0 0 22px;break-inside:avoid}.image-open{display:block;background:transparent;border:0;padding:0;width:100%;text-align:left}.image-open img{width:100%;height:auto}.image-open:disabled{cursor:default}.gallery-grid figcaption,.carousel figcaption{font-size:14px;color:var(--muted);padding:15px 0 0;line-height:1.5}.gallery-section:has(.carousel){overflow:hidden}.carousel{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none;align-items:flex-start;overscroll-behavior-x:contain;touch-action:pan-y}.carousel::-webkit-scrollbar{display:none}.carousel figure{flex:0 0 auto;width:min(calc(420px * var(--ratio)),var(--native),100%);margin:0}.carousel img{width:100%;height:auto;max-height:420px;object-fit:contain}.carousel .image-open{background:transparent}.carousel-controls{display:flex;gap:12px;flex-shrink:0}.carousel-controls button{border:1px solid var(--accent);background:none;width:48px;height:48px;border-radius:50%;font-size:24px;line-height:1}.carousel-controls button:hover{background:var(--beige)}.carousel-status{font-size:12px;color:var(--muted);margin-top:16px;min-height:20px}.reviews-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px 6%}.reviews-grid blockquote{margin:0;border-top:1px solid #c5b9ac;padding-top:25px}.reviews-grid blockquote p{font-family:'Cormorant Garamond',serif;font-size:24px;line-height:1.4}.reviews-grid cite{display:block;font:14px 'DM Sans',sans-serif;margin-top:20px;color:var(--muted)}.editorial-wide{max-width:990px}.editorial-wide .eyebrow{margin-bottom:20px}.editorial-wide h2{margin-bottom:25px}.editorial-wide>p{color:var(--muted)}.editorial-wide>.text-link,.editorial-wide>.button{margin-top:25px}.editorial-wide .video-card{margin-top:40px}.brand-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;justify-items:center;align-items:center}.brand-directory .brand-logo{max-width:100%;min-width:0}.contact-layout{grid-template-columns:1fr 1.3fr;display:grid;gap:10%;padding-top:40px}.contact-layout h2{margin:25px 0}.contact-layout>div>a{display:block;text-decoration:underline;text-underline-offset:5px;margin:10px 0}.contact-layout>div>p:not(.eyebrow){color:var(--muted);margin-top:32px}.enquiry-form{display:grid;gap:22px}.enquiry-form label{display:flex;flex-direction:column;font-size:14px;gap:8px}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{padding:12px 14px;border:1px solid #b9ac9c;border-radius:0;background:transparent;color:var(--ink);max-width:100%;min-width:0}.enquiry-form textarea{resize:vertical}.enquiry-form .button{justify-self:start}.form-status{font-size:14px}.pricing{padding-top:20px}.pricing details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0}.pricing summary{font-size:22px;cursor:pointer}.pricing details>img{margin:25px auto;max-width:700px}.price-sheet{background:none!important;color:var(--ink)!important;font:inherit!important;padding:30px 0!important;max-width:100%;overflow-x:auto}.price-sheet *{color:var(--ink)!important}.price-sheet h3{margin:25px 0;font-size:32px}.price-sheet table{width:100%;border-collapse:collapse;font-size:15px}.price-sheet td,.price-sheet th{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left}.price-sheet p{margin-top:20px}.media-dialog{padding:60px 24px 25px;border:0;background:#1b1917;color:#fff;width:95vw;max-width:1400px;max-height:95vh;overflow:auto}.media-dialog::backdrop{background:#000c}.dialog-close{position:absolute;right:16px;top:8px;width:42px;height:42px;border:1px solid #ffffff60;border-radius:50%;background:none;color:#fff;font-size:32px;line-height:1}.dialog-content img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;margin:auto;object-fit:contain}.dialog-content iframe{width:100%;aspect-ratio:16/9;border:0;display:block;max-height:77vh}.image-error{min-height:120px;display:grid;place-content:center;padding:24px;background:var(--beige);color:var(--ink);font-size:14px;border:1px solid var(--line)}.image-error a{text-decoration:underline}.image-error-in-dialog{color:white;background:#292620}
@keyframes featured-roll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(min-width:1101px){.entry-image{height:390px}.hero-copy{max-width:49%;padding-right:0}.hero h1{font-size:clamp(4rem,5.65vw,6rem);white-space:nowrap}.hero .actions{align-items:flex-start;flex-direction:column;gap:12px}.hero:before{background:linear-gradient(90deg,rgba(0,0,0,.30),rgba(0,0,0,.06) 39%,transparent 58%)}.hero-copy .hero-title{font-size:clamp(1.5rem,2.05vw,2rem)}}
@media(min-width:1500px){.hero .actions{flex-direction:row;align-items:center;gap:22px}.hero-copy{max-width:44%}}
@media(max-width:1100px){.site-header nav{gap:17px}.site-header nav a{font-size:12px}.featured{gap:15px}.featured-label{flex-basis:140px}.credentials{gap:14px}.credentials div{padding-left:15px}.magazine-story h3{font-size:34px}.book-stage img{height:450px}.art-preview{grid-template-columns:1fr 1.2fr}.art-preview-copy{grid-column:1/-1;max-width:650px}.award-list article{grid-template-columns:60px 1.2fr 1fr}.brand-directory{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.hero{height:auto;min-height:0;display:block;background:var(--paper);color:var(--ink)}.hero-image{position:static;width:100%;height:auto;object-fit:contain}.hero:before,.hero-scroll{display:none}.hero-copy{max-width:none;padding:36px 6% 44px}.hero h1{margin:18px 0}.hero-title{font-size:30px;max-width:none}.hero .button-light{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero .text-link{border-color:var(--accent)}.featured{min-height:120px}.featured-label{flex-basis:130px}.featured-label small{max-width:110px}.credentials{grid-template-columns:1fr 1fr;gap:20px;padding:25px 6%}.credentials div:nth-child(3){padding-left:0;border:0}.split{gap:6%}.editorial-copy h2{font-size:45px}.book-stage{padding:20px}.book-stage img{height:360px}.award-list article{grid-template-columns:50px 1fr}.award-list p{grid-column:2;margin-top:0}.gallery-grid{columns:2}.contact-layout{gap:6%}.brand-directory{gap:25px}.footer-bottom{flex-wrap:wrap}.carousel figure{width:min(calc(330px * var(--ratio)),var(--native),100%)}.carousel img{max-height:330px}.entry-image{height:290px}}
@media(max-width:600px){.hero h1{font-size:clamp(3.1rem,12vw,4rem)}.hero-title{font-size:27px}.featured{padding:0 5%;gap:12px;flex-wrap:wrap;padding-top:20px;padding-bottom:14px}.featured-label{flex:1;display:flex;gap:12px;align-items:center}.featured-label small{max-width:none;font-size:8px;margin:0}.featured-label>span{font-size:11px;white-space:nowrap}.marquee{order:3;flex:0 0 100%;width:100%}.marquee-toggle{width:30px;height:30px;font-size:12px}.brand-logo{height:76px;width:140px;min-width:140px}.brand-tv4{width:60px;min-width:60px}.brand-wpc,.brand-foto-sm{width:190px;min-width:190px}.marquee-group{gap:35px;padding-right:35px}.credentials{gap:20px 13px;padding:25px 6%}.credentials strong{font-size:12px}.credentials span{font-size:10px}.entry-image{height:auto}.split,.about-feature .split{grid-template-columns:1fr;gap:35px}.press-copy h3{font-size:35px}.magazine-story h3{font-size:31px}.magazine-story .eyebrow{font-size:11px}.book-stage img{height:auto;max-height:440px}.editorial-copy h2{font-size:43px}.editorial-copy p{font-size:16px}.art-preview{gap:25px;grid-template-columns:1fr 1fr}.art-preview img{max-height:300px}.art-preview-copy{margin-top:10px}.award-list article{padding:22px 0;gap:12px}.award-list h3{font-size:27px}.award-list p{font-size:13px}.about-feature .split>img{order:0}.about-feature .editorial-copy{order:1}.page-intro{padding-top:55px;padding-bottom:32px}.page-intro h1{font-size:clamp(2.7rem,10vw,3.7rem)}.page-intro>p:not(.eyebrow){font-size:16px}.subnav{gap:12px 22px;padding-bottom:0}.subnav .text-link{font-size:13px}.intro-actions .button{font-size:13px}.gallery-grid{columns:2;column-gap:12px}.gallery-grid figure{margin-bottom:12px}.gallery-grid figcaption{font-size:12px}.gallery-heading{align-items:flex-start;gap:12px}.gallery-heading h2{font-size:34px}.carousel-controls{gap:7px}.carousel-controls button{width:38px;height:38px;font-size:20px}.carousel{gap:15px}.carousel figure{width:min(calc(290px * var(--ratio)),var(--native),100%)}.carousel img{max-height:290px}.reviews-grid{grid-template-columns:1fr;gap:30px}.reviews-grid blockquote p{font-size:23px}.brand-directory{grid-template-columns:1fr 1fr;gap:25px 18px}.brand-directory .brand-logo{width:100%}.contact-layout{grid-template-columns:1fr;gap:40px;padding-top:20px}.play{width:58px;height:58px;font-size:17px}.video-watch{bottom:15px;left:18px;font-size:10px}.media-dialog{padding:55px 12px 20px}.price-sheet table{font-size:13px}.price-sheet td,.price-sheet th{padding:10px 6px}.pricing summary{font-size:19px}.footer-bottom{flex-direction:column}.book-feature h2{font-size:40px;overflow-wrap:normal}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font-size:16px}}
@media(prefers-reduced-motion:reduce){.marquee{overflow-x:auto;mask-image:none}.marquee-track{animation:none}.marquee-group[aria-hidden]{display:none}.marquee-toggle{display:none}}
.brand-radron{width:90px;min-width:90px}.brand-radron img{height:59px;width:59px}.brand-ipa img{mix-blend-mode:multiply}.brand-tpa img{max-width:130px}.carousel{overflow-anchor:none}.brand-prowed img{height:58px}

/* Paintings: a centred cover-flow carousel keeps one work in focus while
   neighbouring works remain visible as an invitation to browse. */
.painting-focus-section{max-width:none;padding-left:0;padding-right:0;overflow:hidden}
.painting-focus-section .gallery-heading,.painting-focus-section>.carousel-status{width:min(89%,1424px);margin-left:auto;margin-right:auto}
.painting-focus-carousel{position:relative;display:block;height:clamp(470px,54vw,720px);overflow:hidden;touch-action:pan-y pinch-zoom;outline-offset:-3px}
.painting-focus-carousel figure{position:absolute;top:0;left:50%;width:min(38vw,520px);height:100%;margin:0;opacity:0;pointer-events:none;transform:translateX(-50%) scale(.52);transition:transform .52s cubic-bezier(.22,.72,.2,1),opacity .36s ease,filter .36s ease;filter:saturate(.8);z-index:0}
.painting-focus-carousel figure[data-focus-position="0"]{opacity:1;pointer-events:auto;transform:translateX(-50%) scale(1);filter:none;z-index:3}
.painting-focus-carousel figure[data-focus-position="-1"]{opacity:.72;pointer-events:auto;transform:translateX(calc(-50% - min(34vw,460px))) scale(.68);z-index:2}
.painting-focus-carousel figure[data-focus-position="1"]{opacity:.72;pointer-events:auto;transform:translateX(calc(-50% + min(34vw,460px))) scale(.68);z-index:2}
.painting-focus-carousel figure[data-focus-position="-2"]{opacity:.34;pointer-events:auto;transform:translateX(calc(-50% - min(54vw,730px))) scale(.48);z-index:1}
.painting-focus-carousel figure[data-focus-position="2"]{opacity:.34;pointer-events:auto;transform:translateX(calc(-50% + min(54vw,730px))) scale(.48);z-index:1}
.painting-focus-carousel.is-moving figure{opacity:.2}
.painting-focus-carousel .image-open{height:calc(100% - 58px);display:flex;align-items:center;justify-content:center;cursor:zoom-in}
.painting-focus-carousel figure:not([data-focus-position="0"]) .image-open{cursor:pointer}
.painting-focus-carousel img{width:100%;height:100%;max-height:none;object-fit:contain;filter:drop-shadow(0 18px 28px rgba(41,38,32,.13))}
.painting-focus-carousel figcaption{height:58px;padding:14px 8px 0;text-align:center;opacity:0;transition:opacity .3s ease;font-size:13px}
.painting-focus-carousel figure[data-focus-position="0"] figcaption{opacity:1}
.painting-focus-section>.carousel-status{text-align:center;margin-top:18px;letter-spacing:.15em}
@media(max-width:900px){
 .painting-focus-carousel{height:clamp(410px,70vw,610px)}
 .painting-focus-carousel figure{width:min(52vw,450px)}
 .painting-focus-carousel figure[data-focus-position="-1"]{transform:translateX(calc(-50% - 44vw)) scale(.62)}
 .painting-focus-carousel figure[data-focus-position="1"]{transform:translateX(calc(-50% + 44vw)) scale(.62)}
 .painting-focus-carousel figure[data-focus-position="-2"],.painting-focus-carousel figure[data-focus-position="2"]{opacity:0;pointer-events:none}
}
@media(max-width:600px){
 .painting-focus-section .gallery-heading{width:88%;display:grid;grid-template-columns:1fr auto;align-items:end}
 .painting-focus-carousel{height:clamp(390px,112vw,590px)}
 .painting-focus-carousel figure{width:76vw}
 .painting-focus-carousel figure[data-focus-position="-1"]{opacity:.42;transform:translateX(calc(-50% - 68vw)) scale(.56)}
 .painting-focus-carousel figure[data-focus-position="1"]{opacity:.42;transform:translateX(calc(-50% + 68vw)) scale(.56)}
 .painting-focus-carousel .image-open{height:calc(100% - 70px)}
 .painting-focus-carousel figcaption{height:70px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){.painting-focus-carousel figure{transition:none}}
@media(max-width:370px){.page-intro h1{font-size:2.2rem}.featured-label small{font-size:9px}.brand-directory .brand-logo span{white-space:normal;text-align:center}.entry h3{font-size:38px}}
.brand-logo .brand-name{font:500 14px/1.4 'DM Sans',sans-serif;white-space:normal;text-align:center;max-width:140px;letter-spacing:.06em}.featured-label small{font-size:10px}.credentials span{font-size:12px}.art-preview figcaption{font-size:13px}.video-watch{font-size:12px}.hero-scroll{font-size:12px}.brand-logo span{font-size:12px}
@media(max-width:1200px){.site-header{gap:20px}.site-header .language{margin-left:auto;border:0}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:15px}.site-header nav.is-open{display:flex}.site-header nav a{font-size:18px}}
@media(max-width:600px){.featured-label{display:block}.featured-label small{font-size:10px;margin-top:4px}.credentials strong{font-size:13px}.credentials span{font-size:12px}}
@media(min-width:901px) and (max-width:1100px){.hero{height:auto;min-height:0;display:block;background:var(--paper);color:var(--ink)}.hero-image{position:static;width:100%;height:auto;object-fit:contain}.hero:before,.hero-scroll{display:none}.hero-copy{max-width:none;padding:36px 6% 44px}.hero .button-light{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero .text-link{border-color:var(--accent)}}
/* Homepage refinement: original identity, quieter hero and image-led cards. */
.wordmark{width:270px;flex:0 0 270px;display:block;line-height:1}.photema-original-logo{width:100%;height:auto;filter:brightness(0)}.site-header{gap:25px}.site-header nav{gap:22px}.site-header nav a{font-size:13px}.site-header .language{font-size:13px;padding-left:20px}
.hero-refined .hero-copy{width:43%;max-width:none;padding-top:50px;padding-bottom:50px;padding-right:2%}.hero-refined h1{font-size:clamp(2.8rem,3.9vw,3.8rem);line-height:1.06;font-weight:500;white-space:normal;margin:0;max-width:460px}.hero-name{font:400 14px/1.5 'DM Sans',sans-serif;letter-spacing:.11em;margin-top:24px!important}.hero-refined .actions{display:flex;flex-direction:row;gap:14px;align-items:center;margin-top:34px}.hero-refined .button{font-size:13px;padding:12px 18px;min-height:48px}.button-outline{background:transparent;border:1px solid #f6f2ecc0;color:var(--paper)}.button-outline:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.entry-image,.entry:nth-child(2) .entry-image{width:100%;height:auto;min-height:0;aspect-ratio:4/5;padding:0;background:none;display:block;overflow:hidden}.entry-image img,.entry:nth-child(2) .entry-image img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}.entry:first-child .entry-image img{object-position:50% 65%}.entry:nth-child(3) .entry-image img{object-position:50% 35%}.entry:nth-child(2) .entry-image img{object-position:50% 58%}.entry-image{margin-bottom:25px}.entry h3{margin-bottom:12px}.book-stage{background:none;padding:0;display:block}.book-stage img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.brand-logo{width:174px;min-width:174px;height:88px}.brand-logo img,.brand-wpc img,.brand-foto-sm img,.brand-ipa img,.brand-tpa img{filter:none;opacity:1;mix-blend-mode:normal;width:100%;height:53px;max-width:none}.brand-tv4,.brand-radron{width:84px;min-width:84px}.brand-tv4 img,.brand-radron img{width:55px;height:55px}.brand-wpc{width:221px;min-width:221px}.brand-wpc img{height:56px}.brand-kamerabild{width:170px;min-width:170px}.brand-kamerabild img{height:42px}.brand-expressen{width:174px;min-width:174px}.brand-expressen img{height:46px}.brand-foto-sm{width:116px;min-width:116px}.brand-foto-sm img{width:106px;height:55px}.brand-brollopsmagasinet img,.brand-ipa img{mix-blend-mode:normal}.brand-tpa{width:115px;min-width:115px}.brand-tpa img{height:42px}.brand-glasgow img{height:46px}.brand-directory .brand-logo{max-width:100%;min-width:0}.brand-directory .brand-foto-sm img{max-width:106px}.brand-directory .brand-tv4 img,.brand-directory .brand-radron img{max-width:55px}
.contact-section{background:var(--paper);border-top:1px solid var(--line)}.contact-section .section{padding-top:95px;padding-bottom:100px}.contact-section .contact-layout{grid-template-columns:.8fr 1.4fr;gap:9%}.contact-section h2{font-size:clamp(3.2rem,5vw,5.1rem)}.contact-section .contact-layout>div>p:not(.eyebrow){margin:25px 0;max-width:380px}.contact-section .contact-layout>div>a{font-size:15px}.enquiry-form{gap:25px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.enquiry-form label{font-size:14px;display:flex;flex-direction:column;gap:10px}.enquiry-form label[hidden]{display:none}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;min-height:49px;background:#fff9;border:1px solid #b8aa99;padding:12px 14px;font-size:16px;border-radius:0}.enquiry-form textarea{min-height:155px}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.field-help{font-size:12px;line-height:1.5;color:var(--muted)}.field-error{font-size:13px;line-height:1.5;color:#982c20}.field-error:empty{display:none}.enquiry-form [aria-invalid=true]{border:2px solid #982c20}.enquiry-form .small-note{font-size:13px;line-height:1.6;max-width:620px}.enquiry-form .button{min-width:190px;gap:25px}.enquiry-form .button:disabled{opacity:.6;cursor:wait}.form-status{font-size:15px;line-height:1.6}.form-status.is-error{color:#982c20}.form-status.is-success{color:#31503b;border-left:3px solid #31503b;padding:10px 16px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form-pair.single-field>label{grid-column:1/-1}
@media(max-width:1300px){.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:15px}.site-header nav.is-open{display:flex}.site-header nav a{font-size:18px}.menu-toggle{display:block}.site-header .language{margin-left:auto;border:0}.hero-refined .hero-copy{width:46%}}
@media(max-width:1100px){.hero-refined .hero-copy{width:100%;padding:40px 6% 50px}.hero-refined h1{max-width:700px;font-size:clamp(2.8rem,5vw,3.8rem)}.hero-refined .button-outline{color:var(--ink);border-color:var(--ink)}.hero-refined .button-outline:hover{color:var(--paper);background:var(--ink)}.hero-refined .hero-name{color:var(--muted)}.entry-image,.entry:nth-child(2) .entry-image{height:auto}.contact-section .contact-layout{grid-template-columns:1fr;gap:45px}.contact-section .contact-layout>div{max-width:620px}.contact-section .contact-layout>div>p:not(.eyebrow){max-width:none}.book-stage img{height:auto}}
@media(max-width:600px){.wordmark{width:205px;flex-basis:205px}.site-header{gap:14px;min-height:94px}.site-header .language{padding:0;font-size:12px}.menu-toggle{padding:5px;font-size:22px}.hero-refined .hero-copy{padding:32px 6% 42px}.hero-refined h1{font-size:clamp(2.4rem,8vw,3.4rem);line-height:1.08}.hero-refined .hero-name{font-size:13px;margin-top:20px!important}.hero-refined .actions{gap:12px;margin-top:26px;flex-wrap:wrap}.hero-refined .button{font-size:13px;padding:12px 15px}.entry-image img,.entry:nth-child(2) .entry-image img{width:100%;height:100%;max-height:none}.entry-image{aspect-ratio:4/5}.book-stage img{max-height:none}.contact-section .section{padding-top:60px;padding-bottom:60px}.form-pair{grid-template-columns:1fr;gap:23px}.enquiry-form .button{width:100%}.contact-section h2{font-size:48px}.brand-wpc{width:200px;min-width:200px}.brand-wpc img{height:51px}.brand-directory .brand-logo{width:100%}}
@media(max-width:370px){.wordmark{width:170px;flex-basis:170px}.hero-refined h1{font-size:2.3rem}.site-header{gap:10px}.hero-refined .actions{align-items:stretch;flex-direction:column}.hero-refined .button{width:100%}}

/* Photography and Creative Work keep their landing-page links alongside category shortcuts. */
.nav-dropdown { position:relative; }
.nav-parent { display:flex; align-items:center; gap:5px; }
.nav-submenu-toggle { display:flex; align-items:center; justify-content:center; width:24px; height:30px; padding:0; border:0; background:none; }
.nav-submenu-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.site-header nav .is-current-section { border-color:var(--accent); }
.nav-submenu { position:absolute; top:100%; left:-20px; z-index:2; width:max-content; min-width:245px; max-width:min(360px,calc(100vw - 32px)); max-height:calc(100svh - 124px); overflow-y:auto; margin:0; padding:14px 12px; list-style:none; background:var(--paper); border:1px solid var(--line); box-shadow:0 12px 28px rgba(41,38,32,.1); }
.nav-submenu[hidden] { display:none; }
.site-header nav .nav-submenu a { display:block; padding:10px 12px; border:0; font-size:14px; line-height:1.4; white-space:normal; }
.site-header nav .nav-submenu a:hover,.site-header nav .nav-submenu a:focus-visible { background:var(--beige); }
.site-header nav .nav-submenu a[aria-current="page"] { text-decoration:underline; text-underline-offset:5px; }
@media(max-width:1300px) {
 .nav-dropdown { width:100%; }
 .nav-parent { justify-content:space-between; }
 .nav-submenu-toggle { width:44px; height:44px; margin-block:-7px; }
 .nav-submenu { position:static; width:100%; min-width:0; max-width:none; max-height:none; overflow:visible; margin-top:12px; padding:4px 0 4px 16px; border:0; border-left:1px solid var(--line); box-shadow:none; }
 .site-header nav .nav-submenu a { font-size:16px; padding:11px 12px; white-space:normal; }
 .site-header nav { max-height:calc(100svh - 100px); overflow-y:auto; }
}

.enquiry-fields{display:grid;gap:23px;margin:0;padding:0;border:0;min-width:0}.enquiry-fields:disabled .button{opacity:.55;cursor:not-allowed}

/* Complete supplied PROWED badge and background-free publication marks. */
.brand-prowed{width:88px;min-width:88px}.brand-prowed img{width:56px;height:87px;filter:none;mix-blend-mode:normal}.brand-brollopsmagasinet img,.brand-ipa img{filter:none;mix-blend-mode:normal}.brand-directory .brand-prowed img{max-width:56px}

.brand-mama{width:168px;min-width:168px}.brand-mama img{width:168px;height:44px;filter:none;mix-blend-mode:normal}.brand-directory .brand-mama img{max-width:100%}

.brand-fotografiska{width:100px;min-width:100px}.brand-fotografiska img{width:72px;height:87px;filter:none;mix-blend-mode:normal}.brand-directory .brand-fotografiska img{max-width:72px}

/* Shared, bounded homepage width and uniformly framed career stories. */
.career-highlights { background:var(--paper); border:0; }
.career-highlights>.section {
  width:88%;
  max-width:1240px;
  padding:clamp(64px,6vw,96px) 0 54px;
}
.career-heading { display:flex; flex-direction:column; align-items:stretch; gap:26px; margin-bottom:28px; }
.career-heading-copy { width:100%; max-width:780px; margin:0 auto; text-align:center; }
.career-heading-copy>p { max-width:720px; margin:22px auto 0; color:var(--muted); font-size:1rem; line-height:1.7; text-wrap:pretty; }
.career-heading-copy a { color:var(--ink); text-decoration:underline; text-decoration-color:var(--accent); text-underline-offset:4px; }
.career-heading .carousel-controls { align-self:flex-end; }
.career-heading h2 { font-size:clamp(1.55rem,5.4vw,4rem); line-height:1.12; white-space:nowrap; max-width:none; }
.career-viewport { overflow:hidden; }
.career-track {
  --career-gap:clamp(20px,2vw,32px);
  display:flex;
  gap:0;
  align-items:stretch;
  touch-action:pan-y pinch-zoom;
}
.career-card {
  flex:0 0 calc((100% - 3 * var(--career-gap)) / 3.4);
  /* Embla measures the final margin when joining the last image to the first. */
  margin-inline-end:var(--career-gap);
  min-width:0;
  display:flex;
  flex-direction:column;
  background:#fffdf9;
  border:1px solid #ddd5ca;
}
.career-media {
  border:0;
  border-bottom:1px solid #ddd5ca;
  padding:12px;
  width:100%;
  aspect-ratio:1;
  flex:0 0 auto;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#eeeae4;
}
.career-media img { width:100%; height:100%; max-height:none; object-fit:contain; object-position:center; }
.career-interview-crop { display:block; position:relative; width:94%; overflow:hidden; visibility:hidden; clip-path:polygon(0.000% 0.000%,100.000% 0.000%,100.000% 84.190%,49.529% 84.190%,50.101% 85.363%,50.508% 86.595%,50.744% 87.867%,50.804% 89.157%,50.688% 90.443%,50.398% 91.705%,49.937% 92.921%,49.315% 94.070%,48.542% 95.134%,47.629% 96.095%,46.593% 96.938%,45.451% 97.647%,44.222% 98.211%,42.926% 98.620%,41.585% 98.869%,40.222% 98.952%,38.858% 98.869%,37.517% 98.620%,36.221% 98.211%,34.992% 97.647%,33.850% 96.938%,32.814% 96.095%,31.902% 95.134%,31.128% 94.070%,30.506% 92.921%,30.046% 91.705%,29.755% 90.443%,29.639% 89.157%,29.700% 87.867%,29.935% 86.595%,30.342% 85.363%,30.914% 84.190%,0.000% 84.190%); }
.career-media .career-interview-crop img { position:absolute; left:0; top:0; width:var(--source-width); height:var(--source-height); max-width:none; transform-origin:0 0; }
.career-media-logo { padding:clamp(24px,3vw,48px); }
.career-media-logo img { object-position:center; }
.career-play { position:absolute; right:14px; bottom:14px; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:#f8f5efed; color:var(--ink); font-size:13px; padding-left:2px; pointer-events:none; }
.career-copy { padding:22px; display:flex; flex-direction:column; align-items:flex-start; flex:1; }
.career-copy .eyebrow { font-size:12px; letter-spacing:.07em; line-height:1.5; min-height:3em; color:var(--muted); margin-bottom:10px; }
.career-copy h3 { font-size:clamp(1.45rem,1.9vw,1.75rem); line-height:1.14; margin-bottom:14px; text-wrap:pretty; }
.career-copy>p:not(.eyebrow) { font-size:14px; line-height:1.65; color:var(--muted); margin:0 0 22px; }
.career-copy .text-link { margin-top:auto; font-size:14px; gap:14px; }
.career-copy .eyebrow, .press-story-copy .eyebrow { text-transform:uppercase; }
.career-highlights .carousel-status { margin-top:30px; letter-spacing:.16em; color:var(--muted); }
.career-viewport:focus-visible { outline-offset:7px; }
@media(max-width:1023px) {
  .career-card { flex-basis:calc((100% - 2 * var(--career-gap)) / 2.2); }
  .career-copy h3 { font-size:27px; }
}
@media(max-width:600px) {
  .career-highlights>.section { padding:54px 0 38px; }
  .career-heading { gap:18px; margin-bottom:28px; }
  .career-track { --career-gap:20px; }
  .career-card { flex-basis:calc((100% - var(--career-gap)) / 1.15); }
  .career-copy { padding:20px; }
  .career-copy h3 { font-size:26px; }
  .career-copy .eyebrow { font-size:12px; }
  .career-copy>p:not(.eyebrow) { font-size:14px; }
  .career-media-logo { padding:38px; }
}

.brand-p4{width:110px;min-width:110px}.brand-p4 img{height:44px;width:90px}.brand-directory .brand-p4 img{max-width:90px}
.brand-directory .brand-barncancergalan { width:210px; }
.brand-directory .brand-barncancergalan img { height:78px; }

/* Paired press features: equal media heights, with the entire cover visible. */
.press-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.press-grid>article { min-width:0; }
.press-grid .video-poster,.press-grid .magazine-image {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:2255/1498;
}
.press-grid .video-poster img,.press-grid .magazine-image img {
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
.magazine-story { padding:0; border:0; }
.magazine-image { margin:0 0 28px; }
@media(max-width:700px) {
  .press-grid { grid-template-columns:minmax(0,1fr); gap:42px; }
  .press-grid .magazine-image { aspect-ratio:auto; }
  .press-grid .magazine-image img { width:min(100%,340px); height:auto; }
}

/* Three distinct roles, kept together with breathing room between them. */
.hero-refined h1 { display:flex; flex-direction:column; gap:.45em; }
.hero-role { display:block; }
.award-category { font-style:italic; font-synthesis:style; }

/* Trim only the empty space above and below the book in its feature. */
.book-feature .book-stage { aspect-ratio:1080/1150; overflow:hidden; }
.book-feature .book-stage img {
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:50% 63%;
}

body[data-page="home"] .book-feature .homepage-book-recognition { font-size:.875rem; }
body[data-page="home"] .book-feature .small-note { font-size:.875rem; }
@media(max-width:600px) {
 body[data-page="home"] .book-feature .actions { flex-direction:column; align-items:flex-start; }
}

/* A highlight opens its full story in the Press & Awards archive. */
.career-link { display:flex; flex-direction:column; flex:1; min-width:0; }
.career-link:focus-visible { outline-offset:-4px; }
.career-link:hover h3 { color:var(--accent); }
.career-all { margin-top:12px; }
.press-story { border-top:1px solid var(--line); }
body[data-page="press"] main>section { background:var(--paper); }
body[data-page="press"] main>section:nth-of-type(even) { background:#eee6dc; }
.press-story>.section { padding-top:80px; padding-bottom:80px; }
.press-story-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8%; align-items:center; }
.press-story-with-supporting { row-gap:48px; }
.press-supporting-images { grid-column:1 / -1; display:grid; gap:32px; }
.press-supporting-images .press-article-figure { max-width:480px; }
.press-supporting-images .press-supporting-page { max-width:820px; }
.press-supporting-images .press-detail-media img { max-height:none; }
.press-story-copy .eyebrow { margin-bottom:22px; }
.press-story-copy h2 { font-size:clamp(2.5rem,4.2vw,4.4rem); margin-bottom:26px; }
#wpc-team .press-story-copy { container-type:inline-size; }
#wpc-team .press-story-copy h2 { font-size:min(4.4rem,8.5cqw); }
#wpc-team .press-title-line { display:block; white-space:nowrap; }
.press-story-copy>p:not(.eyebrow) { color:var(--muted); max-width:600px; }
.press-story-copy .text-link { margin-top:28px; }
.press-detail-media { display:flex; align-items:center; justify-content:center; position:relative; width:100%; padding:0; border:0; background:none; }
.press-detail-media img { width:100%; height:auto; max-height:560px; object-fit:contain; }
.press-detail-logo { min-height:320px; padding:50px; background:var(--beige); }
.press-detail-logo img { width:min(100%,260px); max-height:180px; }
.press-detail-logo .play { top:auto; left:auto; right:18px; bottom:18px; width:52px; height:52px; transform:none; }
.press-story-heading { max-width:850px; margin:0 auto 55px; text-align:center; }
.press-story-heading .eyebrow { margin-bottom:24px; }
.press-story-heading h2 { margin-bottom:28px; }
#kamerabild .press-story-heading { max-width:1200px; container-type:inline-size; }
#kamerabild .press-story-heading h2 { font-size:min(4.75rem,7cqw); white-space:nowrap; }
#kamerabild .press-story-heading>p:not(.eyebrow) { max-width:850px; margin-inline:auto; }
.press-story-heading>p:not(.eyebrow) { color:var(--muted); }
.press-article-images { display:grid; grid-template-columns:minmax(0,.766302fr) minmax(0,1.679365fr); align-items:start; gap:clamp(16px,3vw,32px); max-width:1200px; margin-inline:auto; }
.press-article-images>.press-article-figure { min-width:0; max-width:none; }
.press-article-figure { width:100%; max-width:1200px; margin:0 auto; }
.press-article-cover { max-width:480px; }
.press-article-overview { max-width:860px; }
.press-article-figure img { width:100%; height:auto; }
/* Trim 154px from the overview's bottom edge, balancing its purple margins. */
.press-article-overview .image-open { position:relative; overflow:hidden; aspect-ratio:2116 / 1260; }
.press-article-overview .image-open img { position:absolute; top:0; left:0; width:100%; height:auto; }
.press-article-figure figcaption { margin-top:15px; font-size:14px; color:var(--muted); }
.press-article>.section>.text-link { margin-top:45px; }
.article-gallery { --article-gap:24px; max-width:1200px; margin:52px auto 0; }
.article-gallery-heading { text-align:center; margin-bottom:32px; }
.article-gallery-heading .eyebrow { margin-bottom:10px; color:var(--muted); }
.article-gallery-heading h3 { font-size:clamp(1.9rem,3vw,2.65rem); }
.article-gallery-summary { max-width:780px; margin:22px auto 0; color:var(--muted); }
.article-gallery-footer { display:flex; justify-content:center; margin-top:26px; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.article-viewport { overflow:hidden; touch-action:pan-y pinch-zoom; }
.article-track { display:flex; align-items:stretch; }
.article-slide { flex:0 0 calc((100% - 2 * var(--article-gap)) / 3); min-width:0; margin:0 var(--article-gap) 0 0; }
.article-slide .image-open { display:flex; align-items:center; justify-content:center; aspect-ratio:3/2; background:#fff; }
.article-slide img { width:100%; height:100%; object-fit:contain; }
.article-slide figcaption { margin-top:14px; font-size:14px; color:var(--muted); }
.article-gallery .carousel-status { margin-top:20px; }
@media(max-width:1000px) {
  .article-slide { flex-basis:calc((100% - var(--article-gap)) / 2); }
}
@media(max-width:600px) {
  .article-gallery { --article-gap:20px; margin-top:36px; }
  .article-gallery-heading { align-items:flex-end; gap:16px; }
  .article-gallery-heading .eyebrow { font-size:11px; letter-spacing:.1em; }
  .article-slide { flex-basis:100%; }
}
/* Keep each publication's cover and article together, with complete images. */
.press-story-collection .press-story-copy { max-width:900px; margin:0 auto 42px; text-align:center; }
.press-story-collection .press-story-copy>p:not(.eyebrow) { max-width:780px; margin-inline:auto; }
.press-media-row { display:grid; align-items:start; gap:32px; }
.press-media-row--single { grid-template-columns:minmax(0,1fr); max-width:440px; margin-inline:auto; }
#sm-bronze .press-story-copy h2 { font-size:clamp(1.35rem,4.6vw,4.4rem); white-space:nowrap; }
#sm-bronze .press-media-row { max-width:440px; }
#sm-bronze .press-detail-media { height:auto; aspect-ratio:auto; }
#sm-bronze .press-detail-media img { display:block; position:static; width:100%; height:auto; max-height:none; object-fit:contain; }
.press-media-row--trio { grid-template-columns:repeat(3,minmax(0,1fr)); }
#fotografiska-book .press-media-row { grid-template-columns:minmax(0,.75fr) minmax(0,.694683fr) minmax(0,.737793fr); max-width:1050px; gap:20px; margin-inline:auto; }
#fotografiska-book .press-media-figure:nth-child(1) { --image-ratio:.75; }
#fotografiska-book .press-media-figure:nth-child(2) { --image-ratio:.694683; }
#fotografiska-book .press-media-figure:nth-child(3) { --image-ratio:.737793; }
#fotografiska-book .press-detail-media { height:auto; }
#fotografiska-book .press-detail-media img { width:100%; height:auto; max-height:none; object-fit:contain; }
.press-media-row--pair { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1000px; margin:auto; }
#sold-out-exhibition .press-media-row { max-width:1160px; margin-inline:auto; gap:20px; }
/* Natural image ratios keep the three photographs equally tall, with more space for the portraits. */
.press-media-row--exhibition { grid-template-columns:minmax(0,.730697fr) minmax(0,1fr) minmax(0,.750069fr); }
@media(min-width:601px) {
 #sold-out-exhibition .press-detail-media { height:auto; }
 #sold-out-exhibition .press-detail-media img { height:auto; max-height:none; }
}
.press-media-row--cover-spread { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); }
.press-media-row>figure { min-width:0; width:100%; max-width:none; margin:0; }
.press-media-row .press-detail-media { height:clamp(320px,38vw,520px); }
.press-media-row img { width:100%; height:100%; max-height:100%; object-fit:contain; }
.press-media-row figcaption { margin-top:16px; font-size:14px; line-height:1.6; color:var(--muted); }
.press-media-row figcaption small { display:block; font-size:12px; margin-top:4px; }
/* Page 24 is 12% wider; page 25 retains its original proportions. */
.brollopsguiden-spread { display:grid; grid-template-columns:1.12fr 1fr; width:100%; aspect-ratio:1521.1 / 1096; flex:none; }
.brollopsguiden-spread>span { display:block; position:relative; min-width:0; overflow:hidden; }
.brollopsguiden-spread>span>img { position:absolute; top:0; left:0; width:200%; height:100%; max-width:none; max-height:none; object-fit:fill; }
.brollopsguiden-spread>span:last-child>img { left:-100%; }
.press-detail-media .brollopsguiden-spread { max-width:min(100%,calc(clamp(320px,38vw,520px) * 1.3878649635)); }
/* One article spread at a time beside the Bröllopsguiden cover. */
.brollopsguiden-carousel.article-gallery { min-width:0; width:100%; margin:0; }
.brollopsguiden-carousel .article-slide { flex:0 0 100%; }
#brollopsguiden-feature .brollopsguiden-carousel .press-detail-media { height:auto; aspect-ratio:1521.1 / 1096; background:transparent; }
.brollopsguiden-carousel .press-detail-media .brollopsguiden-spread { max-width:100%; }
.brollopsguiden-carousel .magazine-page-crop { width:min(100%,calc(100% * var(--page-aspect) / (1521.1 / 1096))); }
.magazine-spread-crop { display:grid; width:100%; overflow:hidden; }
.magazine-perspective-panel { position:relative; min-width:0; overflow:hidden; }
.magazine-spread-crop .magazine-page-crop { position:absolute; inset:0; width:100%; height:100%; }
.dialog-content .magazine-spread-crop { width:min(100%,110vh); margin-inline:auto; }
.dialog-content .magazine-spread-crop .magazine-page-crop { width:100%; margin:0; }
.brollopsguiden-carousel .carousel-status { margin:0; }
@media(max-width:600px) {
 .press-media-row>.brollopsguiden-carousel { flex:0 0 88%; scroll-snap-align:start; }
}
.press-supporting-links { display:flex; flex-wrap:wrap; justify-content:center; margin-top:28px; }
.press-supporting-link { border:0; border-bottom:1px solid var(--accent); background:none; text-align:left; }
#brollopsguiden-feature .press-story-copy { max-width:1100px; }
#brollopsguiden-feature .press-story-copy h2 { font-size:clamp(1rem,5vw,4rem); white-space:nowrap; }
@media(min-width:601px) {
  #brollopsguiden-feature .press-media-row { grid-template-columns:minmax(0,.75fr) minmax(0,1.3878649635fr); max-width:960px; margin-inline:auto; gap:24px; }
  #brollopsguiden-feature .press-detail-media { height:auto; }
  #brollopsguiden-feature .press-media-row>figure:first-child .press-detail-media { aspect-ratio:3 / 4; }
  #brollopsguiden-feature .press-media-row>figure:last-child .press-detail-media { aspect-ratio:1521.1 / 1096; }
}
@media(max-width:900px) {
  .press-story-grid { column-gap:5%; }
}
@media(max-width:600px) {
  .press-story-collection .press-story-copy { margin-bottom:30px; }
  #fotografiska-book .press-media-figure { flex:0 0 calc(clamp(240px,78vw,360px) * var(--image-ratio)); }
  .press-media-row { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:14px; scrollbar-width:thin; }
  .press-media-row>figure { flex:0 0 88%; scroll-snap-align:start; }
  .press-media-row .press-detail-media { height:360px; }
  .press-detail-media .brollopsguiden-spread { max-width:min(100%,499px); }
  .press-media-row figcaption { font-size:14px; }
  .press-story>.section { padding-top:50px; padding-bottom:50px; }
  .press-story-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .press-story-copy h2 { font-size:39px; }
  .press-detail-media img { max-height:480px; }
  .press-detail-logo { min-height:240px; padding:40px; }
  .press-story-heading { margin-bottom:35px; }
  .press-article-images { gap:16px; }
  .press-article-figure figcaption { font-size:12px; }
}

/* A compact publication archive: copy, cover and article pages share each row. */
.press-magazine-archive { background:#eee6dc; }
.press-magazine-archive .section-heading { max-width:800px; margin-bottom:60px; }
.magazine-issues { max-width:1040px; margin-inline:auto; }
.magazine-issue { --magazine-image-height:clamp(260px,30vw,400px); --magazine-page-width:calc(var(--magazine-image-height) * .75); display:grid; grid-template-columns:minmax(190px,1fr) var(--magazine-page-width) var(--magazine-page-width); column-gap:clamp(20px,3vw,40px); align-items:start; padding-block:46px; border-top:1px solid var(--line); }
.magazine-issue-copy { align-self:center; padding-bottom:45px; }
.magazine-issue-copy .eyebrow { font-size:12px; letter-spacing:.12em; margin-bottom:18px; }
.magazine-issue-copy h3 { font-size:clamp(1.9rem,2.6vw,2.6rem); line-height:1.13; margin:0 0 22px; }
.magazine-issue-count { font-size:16px; margin-bottom:20px; }
.magazine-credits { font-size:14px; line-height:1.65; color:var(--muted); }
.career-copy>p.career-publication-pages { font-size:12px; margin-bottom:14px; }
.magazine-cover { min-width:0; margin:0; }
.magazine-cover .image-open { height:var(--magazine-image-height); }
.magazine-cover img { width:100%; height:100%; object-fit:contain; object-position:top center; }
.magazine-cover figcaption { font-size:14px; color:var(--muted); margin-top:14px; }
.magazine-carousel.article-gallery { --article-gap:18px; min-width:0; max-width:var(--magazine-page-width); width:100%; margin:0; }
.magazine-carousel .article-slide { flex:0 0 100%; }
.magazine-carousel .image-open { height:var(--magazine-image-height); aspect-ratio:auto; background:transparent; }
.magazine-carousel .article-slide img { object-position:top center; }
.magazine-carousel figcaption { line-height:1.5; }
.magazine-carousel figcaption span { display:block; }
.magazine-carousel-footer { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; }
.magazine-carousel-footer .carousel-status { margin:0; }
.magazine-carousel .carousel-controls button:disabled { opacity:.3; cursor:default; }
.magazine-page-crop { display:block; position:relative; overflow:hidden; visibility:hidden; width:100%; }
.magazine-page-crop img { position:absolute; left:0; top:0; width:var(--source-width)!important; height:var(--source-height)!important; max-width:none!important; max-height:none!important; object-fit:fill!important; transform-origin:0 0; }
.dialog-content .magazine-page-crop { width:min(100%,60vh); margin-inline:auto; }
@media(max-width:1050px) {
 .magazine-issue { grid-template-columns:repeat(2,var(--magazine-page-width)); justify-content:center; gap:28px; }
 .magazine-issue-copy { grid-column:1 / -1; padding:0; text-align:center; }
 .magazine-issue-count { margin-bottom:8px; }
 .magazine-issue-copy h3 { margin-bottom:14px; }
 .magazine-issue-copy .eyebrow { margin-bottom:10px; }
}
@media(max-width:600px) {
 .press-magazine-archive .section-heading { margin-bottom:30px; }
 .magazine-issue { --magazine-image-height:clamp(170px,52vw,300px); gap:24px 16px; padding-block:30px; }
 .magazine-carousel.article-gallery { --article-gap:12px; }
 .magazine-issue-copy h3 { font-size:2rem; }
 .magazine-carousel-footer { justify-content:center; flex-wrap:wrap; gap:10px; }
 .magazine-carousel-footer .carousel-controls { gap:8px; }
 .magazine-carousel-footer .carousel-controls button { width:40px; height:40px; }
 #sm-bronze .press-media-row { display:grid; gap:16px; padding-bottom:0; }
}

/* The portrait faces into the copy on a blue-gray surface sampled from its wall. */
.about-feature { --ink:#29343b; --muted:#40505c; --accent:#40505c; background:#d7dcdf; background-image:linear-gradient(115deg,#dfe6ea 0%,#d7dcdf 52%,#bcc4c8 100%); color:var(--ink); }
.about-feature-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); align-items:center; gap:clamp(40px,7vw,112px); max-width:1400px; padding-block:clamp(64px,7vw,112px); }
.about-feature-copy { max-width:560px; }
.about-feature-copy .eyebrow { margin-bottom:22px; color:var(--muted); }
.about-feature-copy h2 { font-size:clamp(2.5rem,4.6vw,4.6rem); margin-bottom:26px; }
.about-feature-copy>p:not(.eyebrow) { color:var(--muted); font-size:17px; line-height:1.75; }
.about-feature-copy .text-link { margin-top:28px; }
.about-feature-portrait { width:min(100%,420px); margin:0; justify-self:end; }
.about-feature-portrait img {
  width:100%; height:auto; object-fit:contain;
  border:2px solid #fff;
}
@media(max-width:700px) {
  .about-feature-layout { grid-template-columns:minmax(0,1fr); gap:36px; padding-block:56px; }
  .about-feature-copy { max-width:none; }
  .about-feature-portrait { justify-self:center; }
}

/* The longer personal story keeps a readable measure beside the portrait. */
body[data-page="about"] .page-intro>p:last-child { text-wrap:balance; }
html[lang="en"] body[data-page="about"] .page-intro h1 {
  font-size:clamp(1.5rem,7vw,6rem);
  max-width:none;
  white-space:nowrap;
}
#about-life .carousel { touch-action:pan-y pinch-zoom; }
.about-story { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:start; gap:clamp(32px,7vw,104px); max-width:1400px; padding-top:48px; }
.about-story-portrait { position:sticky; top:32px; width:min(100%,420px); margin:0; }
.about-story-portrait img { width:100%; height:auto; max-height:calc(100svh - 64px); object-fit:contain; object-position:top; }
.about-story-copy { min-width:0; max-width:65ch; }
.about-story-copy p.about-story-lead { color:var(--ink); font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(1.85rem,3vw,2.75rem); font-weight:500; line-height:1.15; margin-bottom:32px; }
.about-story-copy p { font-size:1rem; line-height:1.8; }
.about-story-copy p+p { margin-top:1.4em; }
.about-story-copy p.about-story-emphasis { color:var(--ink); font-weight:700; }
.about-story-copy p.about-story-closing { color:var(--ink); font-weight:700; margin-top:2em; }
.about-story-copy p.about-story-signature { width:min(100%,340px); padding:8px 14px 8px 2px; color:var(--muted); font-family:'DM Sans',Arial,sans-serif; font-size:.82rem; font-style:normal; font-weight:500; letter-spacing:.1em; line-height:1.2; margin-top:36px; }
.about-story-signature span { display:block; width:max-content; }
.about-story-signature .about-signature-name { margin-top:8px; color:var(--ink); font-family:'Pinyon Script',cursive; font-size:clamp(4.5rem,8vw,6rem); font-weight:400; letter-spacing:0; line-height:.78; }
@media(max-width:800px) {
 .about-story { grid-template-columns:minmax(0,1fr); gap:40px; padding-top:28px; }
  .about-story-portrait { position:static; width:min(100%,360px); justify-self:center; }
  .about-story-portrait img { max-height:none; }
 .about-story-copy { justify-self:center; }
}

/* Three full-width surfaces distinguish the story, video CV and personal gallery. */
body[data-page="about"] #main { --section-gap:0px; }
body[data-page="about"] #main+footer { margin-block-start:0; }
.about-band--story { background:var(--paper); }
.about-page-heading { padding-bottom:70px; }
.about-page-heading .about-roles { max-width:750px; margin-inline:auto; color:var(--muted); font-size:18px; text-wrap:balance; }
.about-page-heading .about-section-intro { max-width:62ch; margin:20px auto 0; font-size:1rem; line-height:1.75; }
.about-band--film { background:var(--beige); border-block:1px solid var(--line); }
.about-film-content { max-width:1500px; }
.about-film-content .section-heading { max-width:1280px; margin-bottom:40px; }
.about-film-content .about-section-intro { max-width:1240px; margin-inline:auto; }
.about-film-content .video-card { max-width:1040px; margin-inline:auto; }
.about-film-content h2,#about-life h2 { font-size:clamp(2.2rem,4.5vw,4rem); text-wrap:balance; }
.about-section-intro { color:var(--muted); line-height:1.75; text-wrap:pretty; }
#about-life { max-width:none; padding-inline:max(6%,calc((100% - 1400px)/2)); background:var(--ink); color:var(--paper); --muted:#d5cec5; --accent:#c8b49f; --beige:#443b33; }
#about-life .gallery-heading { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; margin-bottom:24px; }
#about-life .gallery-heading-copy { width:100%; max-width:750px; margin-inline:auto; text-align:center; }
#about-life h2 { text-align:center; text-wrap:balance; }
#about-life .about-section-intro { max-width:62ch; margin:22px auto 0; }
#about-life .carousel-controls { justify-self:end; }
#about-life .carousel-controls button { color:var(--paper); }
#about-life .carousel-status { margin-top:24px; }
#about-life .carousel figcaption { padding-top:14px; color:var(--muted); font-size:.82rem; line-height:1.55; text-align:center; }
#about-life .carousel figure:first-child figcaption { white-space:nowrap; }
@media(max-width:600px) {
 .about-page-heading { padding-bottom:32px; }
 .about-page-heading .about-roles { font-size:16px; }
 .about-film-content .section-heading { margin-bottom:30px; }
 #about-life .carousel figcaption { padding-top:11px; font-size:.78rem; }
 #about-life .carousel figure:first-child figcaption { white-space:normal; }
}

/* Clear separation between complete page sections, with a single-line career title. */
#main { display:flow-root; --section-gap:clamp(24px,3vw,48px); }
#main>section:not(:first-child) { margin-block-start:var(--section-gap); }
#main>.hero+.featured { margin-block-start:0; }
#main+footer { margin-block-start:clamp(24px,3vw,48px); }
body[data-page="press"] .page-intro h1 {
  font-size:clamp(1.5rem,5.6vw,4.5rem);
  line-height:1.12;
  white-space:nowrap;
  max-width:none;
}
body[data-page="press"] .page-intro>p:not(.eyebrow) {
  max-width:1200px;
  font-size:clamp(15px,1.35vw,18px);
}
body[data-page="press"] .press-intro-line {
  display:block;
  white-space:nowrap;
}
@media(max-width:760px) {
  body[data-page="press"] .press-intro-line { white-space:normal; }
}


/* Preserve the original photograph and extend only its empty stage background. */
.hero-refined { height:auto; min-height:0; max-height:none; aspect-ratio:1.85; justify-content:flex-end; align-items:center; background:#020204; color:#f6f2ec; }
.hero-refined .hero-image { left:0; top:0; width:auto; max-width:none; height:100%; object-fit:contain; object-position:left center; -webkit-mask-image:linear-gradient(to right,#000 83%,transparent 100%); mask-image:linear-gradient(to right,#000 83%,transparent 100%); }
.hero-refined:before { background:none; }
.hero-refined .hero-copy { width:35%; max-width:none; margin-left:auto; margin-right:2%; padding:4% 2.2% 5% 1%; text-align:center; }
.hero-refined .hero-name { margin:0 0 28px!important; font:500 14px/1.5 'DM Sans',sans-serif; letter-spacing:.22em; text-transform:uppercase; color:#f6f2ec; }
.hero-refined .hero-name:after { content:''; display:block; width:38px; height:1px; margin:22px auto 0; background:currentColor; opacity:.65; }
.hero-refined h1 { margin:0 auto; font-size:clamp(2rem,2.85vw,4rem); font-weight:500; line-height:1.12; letter-spacing:-.015em; max-width:none; gap:15px; text-wrap:balance; }
.hero-refined .hero-role { display:block; }
.hero-refined .hero-role-primary { font-size:1.12em; line-height:1.1; }
.hero-refined .actions { flex-direction:row; justify-content:center; align-items:center; gap:14px; margin-top:32px; flex-wrap:wrap; }
.hero-refined .button { font-size:14px; padding:13px 21px; min-height:48px; }
@media(max-width:1100px) {
  .hero-refined { display:block; aspect-ratio:auto; }
  .hero-refined .hero-image { position:static; width:100%; height:auto; object-fit:contain; -webkit-mask-image:none; mask-image:none; }
  .hero-refined:before { display:none; }
  .hero-refined .hero-copy { width:100%; margin-right:0; padding:38px 6% 44px; }
  .hero-refined h1 { font-size:clamp(2rem,4.8vw,3.25rem); max-width:700px; gap:16px; }
  .hero-refined .button-light { background:#f6f2ec; color:#292620; border-color:#f6f2ec; }
  .hero-refined .button-outline { color:#f6f2ec; border-color:#f6f2ecc0; }
  .hero-refined .button-outline:hover { background:#f6f2ec; color:#292620; }
}
@media(max-width:600px) {
  .hero-refined .hero-image { aspect-ratio:auto; object-fit:contain; }
  .hero-refined .hero-copy { padding:32px 6% 38px; }
  .hero-refined .hero-name { font-size:12px; margin-bottom:24px!important; }
  .hero-refined .hero-name:after { margin-top:18px; }
  .hero-refined h1 { font-size:clamp(1.9rem,7.6vw,2.75rem); gap:15px; }
  .hero-refined .actions { margin-top:28px; }
  .hero-refined .button { padding:12px 16px; }
}
@media(max-width:370px) {
  .hero-refined .actions { flex-direction:column; align-items:stretch; }
}

/* The creative disciplines align with the more compact career section. */
#work.section { width:88%; max-width:1240px; padding-inline:0; }
#work .work-heading h2 { white-space:nowrap; font-size:clamp(1.35rem,5.1vw,4rem); letter-spacing:-.01em; }
#work .entry-grid { gap:clamp(20px,2vw,36px); }
.entry-link { display:flex; flex-direction:column; align-items:flex-start; height:100%; }
.entry-link>p { margin-bottom:20px; }
.entry-link .text-link { margin-top:auto; }
.entry-link:hover h3 { color:var(--accent); }
.entry-link:hover .text-link { border-bottom-width:2px; }
.entry-link:focus-visible { outline-offset:8px; }
.tv4-feature-layout { display:grid; grid-template-columns:1fr 1.15fr; gap:8%; align-items:center; }
.tv4-feature-copy .eyebrow { margin-bottom:22px; }
.tv4-feature-copy h2 { margin-bottom:26px; }
.tv4-feature-copy>p:not(.eyebrow) { color:var(--muted); max-width:490px; }
.tv4-feature-copy .text-link { margin-top:24px; }
/* Alternate with the book and art sections while preserving media-first mobile order. */
@media(min-width:701px) {
  .tv4-feature-layout>.video-card { grid-column:2; grid-row:1; }
  .tv4-feature-layout>.tv4-feature-copy { grid-column:1; grid-row:1; }
}
@media(max-width:700px) {
  .tv4-feature-layout { grid-template-columns:1fr; gap:35px; }
}
@media(max-width:600px) {
  #work.section { padding-inline:0; }
  #work .entry-grid { gap:45px; }
}

/* Press archive: complete award documents in compact editorial rows. */
.press-awards { border-top:1px solid var(--line); }
.press-awards>.section { padding-block:clamp(60px,6vw,90px); }
.press-awards>.section>.section-heading { max-width:none; margin-bottom:44px; text-align:center; }
.press-awards>.section>.section-heading h2 { white-space:nowrap; font-size:clamp(1.4rem,4.5vw,4.75rem); }
.press-awards .award-group { scroll-margin-top:2rem; }
.press-awards .award-group+.award-group { margin-top:56px; padding-top:44px; border-top:1px solid var(--line); }
.press-awards .award-group-heading { margin-bottom:26px; max-width:780px; }
.press-awards .award-group-heading h3 { font-size:clamp(1.9rem,3vw,2.35rem); line-height:1.15; }
.press-awards .award-group-heading>p { margin-top:12px; color:var(--muted); font-size:15px; line-height:1.65; }
.press-awards .award-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(24px,3vw,44px); align-items:start; }
.press-awards .award-card { min-width:0; background:transparent; }
.press-awards .award-media {
  display:flex;
  align-items:flex-end;
  justify-content:center;
  width:100%;
  height:clamp(230px,28vw,310px);
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  cursor:zoom-in;
}
.press-awards .award-media img { display:block; width:100%; height:100%; max-height:none; object-fit:contain; object-position:center bottom; }
.press-awards .award-caption { padding-top:21px; }
.press-awards .award-caption .eyebrow { color:var(--muted); font-size:10px; letter-spacing:.12em; margin-bottom:9px; }
.press-awards .award-caption h4 { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(1.6rem,2.1vw,1.9rem); font-weight:500; line-height:1.12; margin-bottom:12px; }
.press-awards .award-caption>p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.65; margin:0; }
.press-awards .award-secondary { display:inline-block; margin-top:15px; padding:5px 0; border:0; border-bottom:1px solid var(--accent); border-radius:0; background:transparent; font-size:12px; line-height:1.6; text-align:left; cursor:zoom-in; }
.press-awards .award-secondary:hover { color:var(--accent); border-bottom-width:2px; }
.press-awards .award-media:focus-visible,.press-awards .award-secondary:focus-visible { outline-offset:4px; }
@media(max-width:699px) {
  .press-awards>.section>.section-heading { margin-bottom:34px; }
  .press-awards .award-group+.award-group { margin-top:40px; padding-top:34px; }
  .press-awards .award-group-heading { margin-bottom:22px; }
  .press-awards .award-group-heading>p { font-size:14px; }
  .press-awards .award-grid {
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:82%;
    gap:24px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    scroll-padding-inline:7px;
    scrollbar-width:thin;
    scrollbar-color:var(--line) transparent;
    margin-inline:-7px;
    padding:7px 7px 20px;
  }
  .press-awards .award-card { scroll-snap-align:start; }
  .press-awards .award-media { height:250px; }
  .press-awards .award-caption { padding-top:18px; }
  .press-awards .award-caption h4 { font-size:27px; }
}
.press-awards .award-secondary { display:inline-flex; align-items:center; gap:12px; }
#foto-sm-finalists { max-width:760px; margin-inline:auto; }
#foto-sm-finalists .award-group-heading { margin-inline:auto; text-align:center; }
#foto-sm-finalists .award-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:row; grid-auto-columns:auto; gap:48px 32px; margin:0; padding:0; overflow:visible; }
#foto-sm-finalists .award-media { height:clamp(300px,40vw,450px); }
#foto-sm-finalists .award-caption { max-width:340px; margin-inline:auto; text-align:center; }
@media(max-width:540px) {
  #foto-sm-finalists { max-width:360px; }
  #foto-sm-finalists .award-grid { grid-template-columns:minmax(0,1fr); gap:38px; }
  #foto-sm-finalists .award-media { height:clamp(340px,110vw,430px); }
}
.press-awards .award-source { display:table; margin-top:14px; color:var(--muted); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.press-awards .award-source span { margin-left:9px; }
.press-awards .award-source:hover { color:var(--accent); }
.press-awards .award-group--exhibition .award-grid { display:block; margin:0; padding:0; overflow:visible; }
.press-awards .award-group--exhibition .award-card { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center; max-width:1050px; }
.press-awards .award-group--exhibition .award-media { height:auto; }
.press-awards .award-group--exhibition .award-media img { width:100%; height:auto; }
.press-awards .award-group--exhibition .award-caption { padding:0; }
.press-awards .award-group--exhibition .award-card--pair { display:block; max-width:1160px; margin-inline:auto; }
.award-exhibition-media { display:grid; grid-template-columns:minmax(0,var(--certificate-column)) minmax(0,var(--photo-column)); gap:clamp(24px,3vw,44px); align-items:start; }
.award-exhibition-media figure { min-width:0; margin:0; }
.press-awards .award-exhibition-media .award-media { height:auto; }
.press-awards .award-exhibition-media .award-media img { width:100%; height:auto; object-fit:contain; }
.press-awards .award-exhibition-media .award-media.award-media--cropped { height:auto; }
.award-crop { display:block; position:relative; width:100%; overflow:hidden; }
.press-awards .award-exhibition-media .award-media .award-crop img { position:absolute; width:var(--crop-width); height:auto; max-width:none; left:var(--crop-left); top:var(--crop-top); }
.award-exhibition-media figcaption { padding-top:14px; font-size:14px; line-height:1.5; color:var(--muted); text-align:center; }
.press-awards .award-group--exhibition .award-caption { margin:0 auto 38px; max-width:1000px; text-align:center; }
.press-awards .award-group--exhibition .award-caption h3 { font-size:clamp(2rem,3.8vw,3.6rem); line-height:1.12; margin:0 0 22px; text-wrap:balance; }
.press-awards .award-group--exhibition .award-caption>p { font-size:16px; }
.press-awards .award-group--exhibition .award-caption .award-location-note { margin-top:10px; font-size:14px; }
.press-awards .award-group--exhibition .award-group-heading { margin:0 auto 16px; text-align:center; }
@media(max-width:699px) {
  .press-awards .award-group--exhibition .award-card { grid-template-columns:1fr; gap:24px; }
  .award-exhibition-media { grid-template-columns:minmax(0,1fr); gap:28px; }
  .press-awards .award-exhibition-media .award-media { height:clamp(160px,60vw,320px); }
  .press-awards .award-exhibition-media .award-media img { width:auto; height:100%; max-width:100%; }
}

/* Music: one full portrait alongside the recording and piano performance. */
.music-feature { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:clamp(36px,6vw,80px); width:88%; max-width:1160px; padding-inline:0; }
.music-portrait { margin:0; align-self:center; }
.music-portrait img { width:100%; height:auto; object-fit:contain; }
.music-portrait figcaption { margin-top:14px; color:var(--muted); font-size:12px; letter-spacing:.02em; }
.music-content { min-width:0; }
.music-intro .eyebrow { margin-bottom:15px; }
.music-intro h2 { font-size:clamp(2.3rem,4vw,3.5rem); margin-bottom:18px; }
.music-intro>p:not(.eyebrow) { color:var(--muted); font-size:16px; line-height:1.7; }
.music-release { margin-top:28px; }
.music-release { width:100%; max-width:480px; }
.music-release-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; margin-bottom:13px; }
.music-release-heading h3 { font-size:29px; }
.music-release-heading>span { font-size:12px; color:var(--muted); }
.spotify-player { display:block; width:100%; height:152px; border:0; border-radius:12px; background:#282828; }
.music-record { overflow:hidden; border-radius:4px 4px 12px 12px; background:#1f1f1f; }
.music-cover { display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; }
.music-cover img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.music-cover:focus-visible { outline-offset:-5px; }
.music-record .spotify-player { border-radius:0; }
.music-service-link { margin-top:12px; font-size:12px; }
.music-piano { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); align-items:center; gap:22px; margin-top:30px; padding-top:28px; border-top:1px solid var(--line); }
.music-piano .video-poster { background:#111; }
.music-piano .video-poster img { aspect-ratio:4/3; object-fit:contain; }
.music-piano .play { width:44px; height:44px; font-size:15px; }
.music-piano .video-watch { display:none; }
.music-piano .eyebrow { font-size:10px; letter-spacing:.12em; margin-bottom:12px; }
.music-piano h3 { font-size:clamp(1.7rem,2.3vw,2rem); line-height:1.1; margin-bottom:16px; }
.music-piano .text-link { font-size:12px; gap:12px; }
.music-launch { margin-top:26px; }
.music-launch p { font-size:13px; line-height:1.65; color:var(--muted); }
.music-launch .text-link { margin-top:10px; font-size:12px; }
.music-reels { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); justify-content:center; column-gap:28px; row-gap:28px; padding-top:48px; border-top:1px solid var(--line); }
.music-reel { min-width:0; display:grid; grid-template-rows:subgrid; grid-row:span 2; gap:28px; align-items:start; }
.music-reel-copy { max-width:440px; }
.music-reel-copy .eyebrow { margin-bottom:16px; }
.music-reel-copy h3 { font-size:clamp(2rem,3vw,2.4rem); line-height:1.1; margin-bottom:20px; }
.music-reel-copy>p:not(.eyebrow) { color:var(--muted); }
.music-reel-copy .text-link { margin-top:24px; }
.music-reel-player { width:100%; min-width:0; }
.music-reel-player .instagram-media { width:100%!important; min-width:0!important; max-width:100%!important; margin:0!important; }
.music-reel-player blockquote { padding:24px; border:1px solid var(--line); background:#fffdf9; font-size:16px; line-height:1.6; }
@media(max-width:1180px) {
  .music-reels { grid-template-columns:repeat(2,minmax(0,400px)); column-gap:clamp(24px,4vw,48px); row-gap:40px; }
  .music-reel:last-child:nth-child(odd) { grid-column:1 / -1; width:100%; max-width:400px; justify-self:center; }
}
@media(max-width:800px) {
  .music-feature { grid-template-columns:minmax(0,1fr); gap:34px; padding-block:60px; }
  .music-portrait { max-width:380px; justify-self:center; }
  .music-content { max-width:620px; width:100%; justify-self:center; }
  .music-reels { grid-template-columns:minmax(0,400px); row-gap:40px; }
  .music-reel { grid-template-rows:auto auto; grid-row:auto; gap:28px; }
  .music-reel-player { max-width:400px; justify-self:center; }
}
@media(max-width:380px) {
  .music-piano { grid-template-columns:minmax(0,1fr); gap:20px; }
}

/* Music: four full-width editorial bands with lead performances and portrait reels. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body[data-page="music"] #main { --section-gap:0px; }
.music-intro-band { background:#dfe6e9; }
.music-intro-band .page-intro { padding-bottom:34px; }
.music-intro-band .creative-subnav { padding-bottom:70px; }
.music-showcase { --music-card-height:500px; padding:108px 0 116px; }
.music-showcase>.section { width:94%; max-width:1320px; padding:0; }
.music-showcase--performances { background:var(--paper); }
.music-showcase--reels { background:#eceee6; }
.music-showcase-top-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; align-items:start; }
.music-showcase-reels-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.music-showcase-card { min-width:0; }
.music-showcase-media { width:100%; height:var(--music-card-height); overflow:hidden; background:#1a1815; }
.faller-media { position:relative; overflow:hidden; background:#111; }
/* Show the complete square artwork rather than sacrificing either its title or
   the performer’s head to an embedded-player overlay. */
.faller-media .music-cover { position:absolute; inset:0; width:100%; height:100%; overflow:hidden; }
.faller-media .music-cover img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
.faller-play {
  position:absolute;
  z-index:1;
  top:18px;
  left:18px;
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  border:1px solid rgba(255,255,255,.7);
  border-radius:50%;
  background:rgba(20,20,20,.72);
  color:#fff;
  cursor:pointer;
  font-family:inherit;
  font-size:18px;
  line-height:1;
  text-decoration:none;
  transition:background .2s ease,transform .2s ease;
}
.faller-play:hover,.faller-play:focus-visible { background:rgba(20,20,20,.94); transform:scale(1.06); }
.faller-play:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.faller-player-modal[hidden] { display:none; }
.faller-player-modal {
  position:fixed;
  z-index:1000;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(14,13,12,.72);
}
.faller-player-dialog {
  position:relative;
  width:min(100%,620px);
  padding:42px 20px 20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:#202020;
  box-shadow:0 20px 60px rgba(0,0,0,.45);
}
.faller-player-embed { display:block; width:100%; height:352px; border:0; border-radius:8px; background:#282828; }
.faller-player-close {
  position:absolute;
  top:10px;
  right:12px;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#fff;
  cursor:pointer;
  font:28px/1 Arial,sans-serif;
}
.faller-player-close:hover,.faller-player-close:focus-visible { background:rgba(255,255,255,.16); }
@media(max-width:560px) {
  .faller-player-modal { padding:16px; }
  .faller-player-dialog { padding:40px 14px 14px; }
  .faller-player-embed { height:152px; }
}
.music-showcase-video { display:block; }
.music-showcase-video .video-poster,.music-showcase-video iframe { display:block; width:100%; height:100%; border:0; }
.music-showcase-video .video-poster img { width:100%; height:100%; object-fit:contain; }
.music-showcase-video .video-poster { background:#171512; }
.music-showcase-video iframe { aspect-ratio:auto; }
.music-showcase-copy { margin:18px auto 0; max-width:62ch; text-align:center; }
.music-showcase-copy h2 { font-size:clamp(1.7rem,2.55vw,2.35rem); line-height:1.12; margin:0 0 7px; }
.music-showcase-copy p { margin:0; color:var(--muted); font-size:.95rem; line-height:1.55; }
.music-showcase-copy .music-showcase-mark { color:var(--ink); font-size:.82rem; font-weight:500; letter-spacing:.075em; text-transform:uppercase; }
.music-showcase-copy .music-showcase-description { margin:9px auto 0; }
.music-showcase-card--instagram .music-showcase-media { width:min(100%,380px); height:520px; margin-inline:auto; }
.music-instagram-frame { position:relative; background:#151310; }
.music-instagram-frame .instagram-media { width:100%!important; min-width:0!important; max-width:none!important; height:100%!important; min-height:0!important; margin:0!important; border:0!important; padding:0!important; background:#151310!important; }
/* Instagram controls its embed internally. Keep the profile header and full video visible;
   the clipped lower document contains the likes and comment area, never the video itself. */
.music-instagram-frame iframe { display:block!important; width:100%!important; min-width:0!important; max-width:none!important; height:640px!important; border:0!important; transform:none; }
body[data-page="music"] .page-intro>p:not(.eyebrow) { max-width:980px; }
@media(max-width:800px) {
 .music-intro-band .creative-subnav { padding-bottom:48px; }
 .music-showcase { --music-card-height:clamp(380px,110vw,500px); padding:72px 0 80px; }
 .music-showcase>.section { width:92%; max-width:560px; }
 .music-showcase-top-grid,.music-showcase-reels-grid { grid-template-columns:minmax(0,1fr); gap:48px; }
 .music-showcase-card--instagram .music-showcase-media { width:min(100%,360px); height:500px; }
 .music-instagram-frame iframe { height:620px!important; }
}

/* Shared editorial cover format: label, rule and a two-line serif headline. */
:root { --cover-title-size:clamp(2rem,2.85vw,4rem); --cover-header-height:100px; }
.hero-refined h1 { font-size:var(--cover-title-size); }
/* Keep the three English roles on three lines at every screen size. */
html[lang="en"] .hero-refined .hero-copy { container-type:inline-size; }
html[lang="en"] .hero-refined h1 { font-size:min(var(--cover-title-size),8.2cqw); }
html[lang="en"] .hero-refined .hero-role { white-space:nowrap; }
html[lang="en"] .hero-refined .hero-role-primary { font-size:1em; }
.photo-cover { position:relative; isolation:isolate; width:100%; height:min(56.25vw,calc(100svh - var(--cover-header-height))); overflow:hidden; color:#f8f4ed; background:#41392d; }
.photo-cover .photo-cover-image { display:block; width:100%; height:100%; max-height:none; object-fit:cover; }
.photography-hero .photo-cover-image { object-position:55% 85%; }
.wedding-hero .photo-cover-image { object-position:50% 32%; }
.book-hero .photo-cover-image { object-position:center 55%; }
.photo-cover::after { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,rgba(25,20,13,.46),transparent 48%),linear-gradient(90deg,rgba(25,20,13,.2),transparent 62%); }
.photo-cover-copy { position:absolute; z-index:1; left:5%; bottom:14%; width:90%; text-align:left; }
.cover-eyebrow { font-size:clamp(.875rem,1.05vw,1rem); font-weight:500; line-height:1.5; text-transform:uppercase; letter-spacing:.3em; margin-bottom:20px; }
.cover-eyebrow::after { content:''; display:block; width:clamp(88px,7.5vw,120px); height:1px; margin-top:14px; background:currentColor; opacity:.75; }
.photo-cover h1 { color:inherit; font-size:clamp(1.5rem,4.2vw,4.25rem); font-weight:500; line-height:1.08; letter-spacing:-.018em; text-wrap:initial; text-shadow:0 2px 18px rgba(0,0,0,.2); }
.cover-title-line { display:block; white-space:nowrap; }
.photo-cover h1 em { display:inline-block; font-family:'Pinyon Script',cursive; font-size:1.24em; font-weight:400; font-style:normal; letter-spacing:0; line-height:1; transform:skewX(-6deg); transform-origin:left bottom; }
.photography-hero h1 em,.wedding-hero h1 em,.book-hero h1 em { font-family:'Italianno',cursive; font-size:1.5em; transform:none; }
.wedding-intro { padding-top:58px; padding-bottom:32px; }
.wedding-intro h2 { font-size:clamp(2.25rem,4vw,3.75rem); margin:0 auto 25px; }
@media(max-width:1100px) {
 :root { --cover-title-size:clamp(2rem,4.8vw,3.25rem); }
 .cover-eyebrow { margin-bottom:16px; }
 .cover-eyebrow::after { margin-top:11px; }
}
@media(max-height:600px) and (min-width:601px) {
 .photography-hero .photo-cover-image { object-position:55% 25%; }
 .wedding-hero .photo-cover-image { object-position:50% 25%; }
 .photo-cover-copy { bottom:11%; }
 .photo-cover h1 { font-size:clamp(1.5rem,3.4vw,2.75rem); }
 .cover-eyebrow { margin-bottom:12px; }
}
@media(max-width:600px) {
 :root { --cover-title-size:clamp(1.9rem,7.6vw,2.75rem); --cover-header-height:90px; }
 .photo-cover { height:min(125vw,calc(100svh - var(--cover-header-height))); }
 .photography-hero .photo-cover-image { object-position:60% center; }
 .wedding-hero .photo-cover-image { object-position:55% center; }
 .book-hero .photo-cover-image { object-position:right center; }
 .photo-cover-copy { left:6%; bottom:12%; width:88%; }
 .photo-cover h1 { font-size:clamp(1.2rem,6vw,2.25rem); line-height:1.12; }
 .cover-eyebrow { font-size:.875rem; letter-spacing:.24em; }
 .cover-eyebrow::after { width:80px; }
 .photo-cover::after { background:linear-gradient(0deg,rgba(25,20,13,.6),transparent 52%); }
 .wedding-intro { padding-top:36px; }
}

/* Keep the presentation poster's face and embedded lettering unobstructed. */
.video-card>.video-poster { width:100%; padding:0; border:0; text-align:left; color:inherit; }
.text-link[type="button"] { border-top:0; border-right:0; border-left:0; background:none; }
.video-card iframe,.press-inline-video iframe { display:block; width:100%; aspect-ratio:16/9; border:0; background:#111; }
.video-card.is-playing,.press-inline-video.is-playing { background:#111; }
.press-inline-video { width:100%; }
.video-poster[data-inline-youtube="akX_pS2lPIM"] .video-watch { display:none; }

/* Weddings: curated photographs, original proportions and a quiet editorial rhythm. */
.wedding-editorial { background:var(--paper); }
.wedding-editorial--tinted { background:#e9e5de; }
.wedding-editorial-inner { width:90%; max-width:1320px; padding:78px 0; container-type:inline-size; }
.wedding-section-heading { max-width:1120px; margin:0 auto 46px; text-align:center; }
.wedding-section-heading .eyebrow,.wedding-experience .eyebrow { font-size:.75rem; line-height:1.5; text-transform:uppercase; letter-spacing:.16em; margin-bottom:18px; }
.wedding-section-heading h2 { font-size:clamp(2.2rem,4vw,3.8rem); text-wrap:balance; margin-bottom:24px; }
.wedding-section-heading>p:last-child { max-width:90ch; margin-inline:auto; color:var(--muted); }
.wedding-philosophy .wedding-editorial-inner { padding-block:90px; }
.wedding-philosophy h2 { font-size:clamp(2.5rem,4.6vw,4.25rem); }
.wedding-editorial--black-white { background:var(--ink); color:var(--paper); --muted:#d5cec5; }
.wedding-carousel { --wedding-base-height:480px; --wedding-gallery-gap:24px; --wedding-fit-ratio:var(--wedding-pair-ratio); --wedding-fit-gap:calc(var(--wedding-gallery-gap) * var(--wedding-visible-gaps,1)); --wedding-gallery-height:min(var(--wedding-base-height),calc((100cqw - var(--wedding-fit-gap)) / var(--wedding-fit-ratio))); gap:var(--wedding-gallery-gap); overflow:hidden; touch-action:pan-y pinch-zoom; }
.wedding-carousel>figure { flex:0 0 auto; width:calc(var(--wedding-gallery-height) * var(--ratio)); }
.wedding-carousel .image-open { height:var(--wedding-gallery-height); }
.wedding-carousel img { width:100%; height:var(--wedding-gallery-height); max-height:none; object-fit:contain; }
.wedding-carousel .photography-image-crop { width:100%; height:var(--wedding-gallery-height); }
.wedding-carousel .photography-image-crop img { position:absolute; left:var(--crop-left); top:var(--crop-top); width:var(--crop-width); height:auto; max-width:none; max-height:none; }
.wedding-editorial--awards figcaption { margin-top:14px; font-size:.875rem; line-height:1.5; color:var(--muted); }
.wedding-gallery-controls { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:24px; }
.wedding-gallery-controls .carousel-status { margin:0; }
.wedding-instagram-cta { max-width:68ch; margin:30px auto 0; color:var(--muted); font-size:.875rem; line-height:1.65; text-align:center; }
.wedding-instagram-cta a { color:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:.22em; }
.wedding-instagram-cta a::after { content:' ↗'; display:inline-block; text-decoration:none; }
.wedding-instagram-cta a:hover { color:var(--ink); }
.wedding-editorial--black-white .wedding-instagram-cta a:hover { color:var(--paper); }
.city-hall-pricing { max-width:1060px; margin:56px auto 0; }
.city-hall-pricing>h3 { font-size:clamp(2rem,3vw,2.75rem); text-align:center; margin-bottom:32px; }
.city-hall-packages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7%; }
.city-hall-packages article { display:flex; flex-direction:column; border-block:1px solid var(--line); padding-block:28px; }
.city-hall-package-heading { margin-bottom:24px; }
.city-hall-package-heading h4 { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.2rem; font-weight:500; line-height:1.12; margin-bottom:10px; }
.city-hall-package-heading p { font-size:1rem; color:var(--muted); }
.city-hall-packages article>p { color:var(--muted); font-size:1rem; margin-bottom:20px; }
.city-hall-package-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 12px; margin-top:auto; padding-top:12px; }
.city-hall-package-price>span { font-size:1.25rem; font-variant-numeric:tabular-nums; }
.city-hall-package-price>small { color:var(--muted); font-size:.875rem; }
.city-hall-tax-note { margin:24px 0 0; text-align:center; color:var(--muted); font-size:.875rem; }
.wedding-experience { background:#e9e5de; }
.wedding-experience>.section { max-width:1320px; padding-block:68px; }
.wedding-experience-layout { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(42px,6vw,92px); align-items:center; }
.wedding-experience-media { margin:0; overflow:hidden; }
.wedding-experience-photo { width:100%; height:auto; max-height:640px; object-fit:cover; object-position:center; }
.wedding-experience-copy { max-width:690px; }
.wedding-experience h2 { font-size:clamp(2.35rem,3.7vw,3.6rem); margin-bottom:22px; letter-spacing:-.015em; text-wrap:balance; }
.wedding-experience-copy>p:not(.eyebrow) { color:var(--muted); }
.wedding-experience-copy>p+p { margin-top:1.15em; }
.wedding-enquiry { text-align:center; padding-block:76px; }
.wedding-enquiry h2 { font-size:clamp(2.25rem,3.8vw,3.5rem); margin-bottom:30px; }
.wedding-enquiry .button { display:inline-flex; gap:18px; align-items:center; }
@media(max-width:800px) {
 .wedding-editorial-inner { padding-block:56px; }
 .wedding-section-heading { margin-bottom:32px; }
 .wedding-philosophy .wedding-editorial-inner { padding-block:60px; }
 .wedding-carousel { --wedding-base-height:clamp(280px,48vw,380px); --wedding-gallery-gap:18px; }
 .wedding-experience-layout { grid-template-columns:1fr; gap:34px; }
 .wedding-experience-media { max-width:620px; margin-inline:auto; }
 .wedding-experience-copy { max-width:680px; margin-inline:auto; text-align:center; }
 .city-hall-packages { gap:30px; }
}
@media(max-width:600px) {
 .wedding-philosophy h2 { font-size:2.25rem; }
 .wedding-section-heading h2 { font-size:2rem; }
 .wedding-section-heading>p:last-child,.wedding-experience .section>p:last-child { font-size:1rem; }
 .wedding-carousel { --wedding-base-height:clamp(180px,55vw,300px); --wedding-gallery-gap:16px; --wedding-fit-ratio:var(--wedding-single-ratio); --wedding-fit-gap:0px; }
 .city-hall-pricing { margin-top:36px; }
 .city-hall-packages { grid-template-columns:1fr; gap:28px; }
 .wedding-experience>.section { padding-block:52px; }
 .wedding-experience-photo { max-height:none; }
 .wedding-enquiry { padding-block:56px; }
}

/* The Book: a concise editorial story, using the existing cover and gallery. */
body[data-page="author"] .section { max-width:1440px; }
.book-hero .photo-cover-copy { width:72%; }
.book-hero h1 { font-size:clamp(1.5rem,3.85vw,3.75rem); }
.book-hero .cover-title-line { white-space:normal; }
.book-introduction { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:7%; }
.book-introduction .editorial-copy h2 { font-size:clamp(2.5rem,4vw,3.8rem); margin-bottom:20px; }
.book-introduction .book-supporting-line { font-family:'Cormorant Garamond',Georgia,serif; font-size:1.6rem; line-height:1.3; color:var(--ink); margin-bottom:24px; }
.book-introduction .editorial-copy>p:not(.eyebrow):not(.book-supporting-line) { max-width:56ch; }
.book-publication { margin-top:24px; font-size:.875rem; color:var(--muted); }
.book-publication p+p { margin-top:5px; }
.book-publication em { font-style:italic; font-synthesis:style; }
.book-introduction .actions { margin-top:28px; align-items:center; gap:24px; }
.book-introduction .actions>.button { display:inline-flex; align-items:center; gap:12px; }
.book-inside .editorial-copy h2 { font-size:clamp(1.9rem,3.5vw,3.5rem); max-width:none; }
.book-inside .editorial-copy h2 span { display:block; }
.book-display { margin-top:48px; }
.book-audiences { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8%; margin-top:48px; }
.book-audiences h3,.book-display h3 { font-size:clamp(1.65rem,2.3vw,2rem); margin-bottom:14px; }
.book-display p { color:var(--muted); }
.book-audiences p { color:var(--muted); max-width:53ch; }
.book-recognition .gallery-heading { display:grid; grid-template-columns:112px minmax(0,1fr) 112px; gap:20px; margin-bottom:22px; }
.book-recognition .gallery-heading h2 { grid-column:2; text-align:center; text-wrap:balance; }
.book-recognition .gallery-heading .carousel-controls { grid-column:3; justify-self:end; }
.book-recognition .book-recognition-copy { max-width:none; margin:0 auto 38px; text-align:center; text-wrap:balance; color:var(--muted); }
.book-personal-milestone>.section { padding-block:76px; }
.book-story-intro { max-width:1120px; margin:0 auto; text-align:center; }
.book-story-intro .eyebrow { margin-bottom:22px; }
.book-story-intro h2 { font-size:clamp(2.25rem,3.6vw,3.5rem); line-height:1.13; text-wrap:balance; margin-bottom:26px; }
.book-story-intro>p:last-child { max-width:78ch; margin-inline:auto; color:var(--muted); }
.book-launch { max-width:1040px; margin:0 auto; }
.book-launch-copy { max-width:1040px; margin:0 auto 28px; text-align:center; }
.book-launch h2 { font-size:clamp(1.55rem,2.25vw,2.25rem); line-height:1.12; margin-bottom:20px; white-space:nowrap; }
.book-launch h2 span { display:block; }
.book-launch-copy p { max-width:760px; margin-inline:auto; color:var(--muted); }
.book-launch .video-poster { padding:0; border:0; width:100%; color:#fff; background:transparent; }
.book-launch .video-watch { text-transform:none; }
.book-retailers { text-align:center; padding-block:64px; }
#buy-the-book { scroll-margin-top:calc(var(--cover-header-height) + 24px); }
.book-retailers h2 { font-size:clamp(2.2rem,3vw,3rem); margin-bottom:18px; }
.book-retailers>p { max-width:62ch; margin-inline:auto; color:var(--muted); }
.book-retailer-links { display:flex; justify-content:center; gap:20px 34px; flex-wrap:wrap; margin:28px 0; }
.book-retailer-links .text-link { font-size:1rem; }
.book-retailers .small-note { font-size:.875rem; }
@media(max-width:800px) {
 .book-introduction { grid-template-columns:1fr; }
 .book-introduction .book-stage { width:min(100%,480px); margin-inline:auto; }
 .book-audiences { gap:32px; margin-top:36px; }
 .book-display { margin-top:36px; }
 .book-recognition .gallery-heading { grid-template-columns:1fr; }
 .book-recognition .gallery-heading h2,.book-recognition .gallery-heading .carousel-controls { grid-column:1; }
 .book-recognition .gallery-heading h2 { justify-self:center; }
 .book-story-intro { text-align:left; }
 .book-personal-milestone>.section { padding-block:52px; }
 .book-story-intro h2 { text-wrap:pretty; }
 .book-launch-copy { text-align:left; }
 .book-launch h2 { white-space:normal; }
}
@media(max-width:600px) {
 .book-hero .photo-cover-copy { width:88%; }
 .book-hero h1 { font-size:clamp(1.4rem,6vw,2.25rem); line-height:1.12; }
 .book-introduction .editorial-copy h2 { font-size:2.4rem; }
 .book-audiences { grid-template-columns:1fr; }
 .book-audiences p,.book-display p,.book-recognition-copy,.book-story p,.book-personal-milestone p:not(.eyebrow) { font-size:1rem; }
 .book-recognition .gallery-heading h2 { max-width:15ch; }
 .book-retailers { padding-block:48px; }
}
.video-poster[data-inline-youtube="akX_pS2lPIM"] .play { top:auto; left:auto; right:clamp(14px,2vw,24px); bottom:clamp(14px,2vw,24px); transform:none; }
.video-poster[data-inline-youtube="akX_pS2lPIM"]:hover .play { transform:scale(1.05); }

/* Optional gallery crops retain the original photograph in the image viewer. */
.carousel .cropped-image .image-open { aspect-ratio:var(--ratio); overflow:hidden; }
.carousel .cropped-image img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:var(--image-position,center); }

/* Creative Work is an overview; each discipline opens into its own collection. */
.creative-subnav { padding-bottom:48px; }
.creative-subnav [aria-current="page"] { border-bottom-width:2px; font-weight:500; }
.creative-preview { --creative-media-height:400px; margin-top:24px; }
.creative-preview--paintings { background:#eceee6; }
.creative-preview--music { background:#dfe6e9; --muted:#48555c; --accent:#48555c; }
.creative-preview--film { background:#e8ddd0; }
.creative-preview-layout { width:96%; max-width:1440px; padding:64px 0; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:center; gap:clamp(36px,5vw,72px); }
.creative-preview .editorial-copy { min-width:0; }
.creative-preview .editorial-copy h2 { font-size:clamp(2.25rem,3.8vw,3.5rem); }
.creative-heading-line { display:block; }
@media (min-width:1200px) { .creative-preview--paintings .creative-heading-line { display:inline; } }
.creative-preview .editorial-copy p:not(.eyebrow) { font-size:1rem; line-height:1.7; }
.creative-preview .eyebrow { font-size:.875rem; }
.creative-paintings-preview { display:grid; grid-template-columns:minmax(0,.687fr) minmax(0,1.119fr); gap:24px; align-items:center; }
.creative-paintings-preview figure { min-width:0; margin:0; }
.creative-paintings-preview a { display:flex; height:var(--creative-media-height); align-items:center; }
.creative-paintings-preview img { width:100%; height:100%; object-fit:contain; }
.creative-paintings-preview figcaption { font-size:.875rem; color:var(--muted); margin-top:14px; }
.creative-song-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; min-width:0; }
.creative-song-card { min-width:0; }
.creative-song-media { height:var(--creative-media-height); overflow:hidden; background:#202224; }
.creative-song-copy { margin-top:14px; }
.creative-song-copy h3 { font-size:clamp(1.5rem,2vw,1.9rem); line-height:1.1; }
.creative-song-copy p { margin-top:6px; color:var(--muted); font-size:.8rem; }
.creative-definition-video { height:var(--creative-media-height); overflow:hidden; background:#111; }
.creative-definition-video .video-poster { width:100%; height:100%; overflow:hidden; }
.creative-definition-video .video-poster img { width:100%; height:100%; object-fit:cover; object-position:center; }
.creative-definition-video iframe { display:block; width:316.05%; max-width:none; height:100%; border:0; transform:translateX(-34.18%); }
.creative-film-media { display:flex; width:100%; height:var(--creative-media-height); margin:0; justify-content:flex-start; align-items:center; }
.creative-film-media img { display:block; width:auto; max-width:100%; height:100%; object-fit:contain; object-position:center; }
.creative-contact .actions .text-link { margin-top:0; }
body[data-page="music"] .music-feature { padding-top:42px; }
@media(min-width:901px) {
 body[data-page="creative-artist"] .page-intro h1 { max-width:none; font-size:clamp(2.8rem,4.35vw,4.7rem); white-space:nowrap; letter-spacing:-.035em; }
 body[data-page="creative-artist"] .page-intro>p:not(.eyebrow) { max-width:1080px; text-wrap:balance; }
 .creative-preview--music .creative-preview-layout { grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); }
 .creative-preview--film .creative-preview-layout { gap:clamp(24px,3vw,44px); }
}
@media(max-width:800px) {
 .creative-subnav { gap:12px 24px; padding-bottom:28px; }
 .creative-preview { --creative-media-height:clamp(260px,62vw,400px); margin-top:18px; }
 .creative-preview-layout { grid-template-columns:minmax(0,1fr); gap:36px; padding-block:48px; }
 .creative-paintings-preview { max-width:560px; width:100%; justify-self:center; }
 .creative-song-grid { max-width:620px; width:100%; justify-self:center; }
 .creative-film-media { justify-content:center; }
 .creative-preview .editorial-copy h2 { font-size:clamp(2.25rem,7vw,3rem); }
}
@media(max-width:560px) {
 .creative-preview { --creative-media-height:min(78vw,340px); }
 .creative-paintings-preview,.creative-song-grid { grid-template-columns:1fr; max-width:360px; }
 .creative-film-media img { width:auto; max-width:100%; height:100%; object-fit:contain; }
}
@media(prefers-reduced-motion:reduce) { .creative-preview { scroll-behavior:auto; } }

/* Alternate the paired press stories; keep collections and mobile reading order intact. */
@media(min-width:601px) {
 .press-story-grid--reverse>:first-child { grid-column:2; grid-row:1; }
 .press-story-grid--reverse>.press-story-copy { grid-column:1; grid-row:1; }
.press-story-grid--reverse .press-supporting-images>figure { margin-left:auto; margin-right:0; }
}

/* Browse every photography discipline and enquire on the same page. */
.photography-introduction { background:#e9e5de; }
.photography-intro { width:88%; max-width:1160px; padding:64px 0; text-align:center; }
.photography-intro>p { max-width:960px; margin:0 auto; color:var(--muted); }
.photography-intro>.eyebrow { margin-bottom:18px; font-size:.75rem; text-transform:uppercase; }
.photography-intro>h2 { margin:0 auto 22px; font-size:clamp(2.25rem,4vw,3.5rem); text-wrap:balance; }
.photography-intro .subnav { display:block; max-width:100%; margin:30px auto 0; padding:10px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:var(--line) transparent; }
.photography-category-row { display:flex; flex-wrap:nowrap; justify-content:center; gap:10px; width:max-content; min-width:100%; }
.photography-intro .subnav .button { flex:0 0 auto; min-height:48px; padding:13px 15px; border-color:var(--accent); background:transparent; color:var(--ink); font-size:.875rem; font-weight:500; line-height:1.4; white-space:nowrap; }
.photography-intro .subnav .button:hover { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.photography-category--tinted { background:#e9e5de; }
.photography-category-layout { width:90%; max-width:1320px; padding:72px 0; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(36px,5vw,72px); align-items:center; }
.photography-category .editorial-copy { min-width:0; }
.photography-category .eyebrow { font-size:.75rem; line-height:1.6; text-transform:uppercase; letter-spacing:.16em; }
.photography-category h2 { font-size:clamp(2rem,3.2vw,3rem); text-wrap:balance; }
.photography-category .editorial-copy p:not(.eyebrow) { font-size:1rem; }
.photography-category .editorial-copy p.photography-practical-note { margin-top:20px; font-size:.875rem; }
.photography-media { min-width:0; --photography-image-height:clamp(320px,40vw,550px); }
.photography-media figure { margin:0; min-width:0; }
.photography-media :is(.image-open,.photography-page-link) { display:block; width:100%; height:var(--photography-image-height); }
.photography-media :is(.image-open,.photography-page-link) img { width:100%; height:100%; max-height:none; object-fit:contain; }
/* Hide only the embedded print margins, preserving the complete photograph. */
.photography-media .image-open--cropped { display:grid; place-items:center; }
.photography-image-crop { position:relative; display:block; overflow:hidden; aspect-ratio:var(--crop-ratio); width:min(100%,calc(var(--photography-image-height,80vh) * var(--crop-ratio))); margin-inline:auto; }
.photography-media .photography-image-crop img, .dialog-content .photography-image-crop img { position:absolute; left:var(--crop-left); top:var(--crop-top); width:var(--crop-width); height:auto; max-width:none; max-height:none; }
.photography-media .carousel { display:flex; gap:0; overflow:hidden; padding:0; margin:0; height:auto; touch-action:pan-y pinch-zoom; }
.photography-media .carousel>figure { width:100%; min-width:100%; max-width:none; flex:0 0 100%; }
.photography-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:18px; }
.photography-controls .carousel-status { margin:0; }
.photography-controls .carousel-controls button { width:48px; height:48px; }
.photography-controls .carousel-controls button:disabled { opacity:.3; cursor:default; }
.photography-controls .carousel-controls button:disabled:hover { background:transparent; }
.photography-pricing { --line:#776c5c; --muted:#dfd5c8; --accent:#e0cbb3; background:#39352e; color:var(--paper); padding:88px 6% 60px; }
.photography-pricing-inner { max-width:1440px; margin:auto; }
.pricing-heading { text-align:center; margin-bottom:44px; }
.pricing-heading .eyebrow { font-size:.875rem; color:#d4c6b7; letter-spacing:.17em; margin-bottom:16px; }
.pricing-heading h2 { font-size:clamp(2.7rem,4.5vw,4.6rem); }
.photography-packages { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.photography-package { display:grid; grid-template-rows:subgrid; grid-row:span 5; row-gap:0; min-width:0; padding:28px 22px 30px; border:1px solid #958572; background:#423d35; color:var(--paper); }
.photography-package>* { min-width:0; }
.package-heading { display:flex; flex-direction:column; align-items:stretch; gap:20px; }
.photography-packages h3 { font-size:clamp(1.85rem,2.15vw,2.2rem); line-height:1.15; overflow-wrap:break-word; hyphens:auto; }
.photography-packages .package-price { display:flex; align-items:baseline; flex-wrap:nowrap; white-space:nowrap; gap:6px; font-family:'Cormorant Garamond',Georgia,serif; font-size:2.5rem; font-variant-numeric:lining-nums tabular-nums; line-height:1.1; margin:22px 0 26px; }
.package-price>span { flex:0 0 auto; }
.package-price .package-currency { font-family:'DM Sans',sans-serif; font-size:.875rem; letter-spacing:0; color:var(--muted); }
.package-session { border-top:1px solid var(--line); padding-top:23px; }
.package-label { text-transform:uppercase; letter-spacing:.13em; font-size:.75rem; color:var(--accent); margin-bottom:15px; }
.package-session dl { margin:0; font-size:1rem; }
.package-session dl>div { display:flex; justify-content:space-between; flex-wrap:wrap; gap:2px 12px; }
.package-session dl>div+div { margin-top:8px; }
.package-session dt { color:var(--muted); }
.package-session dd { margin:0; }
.photography-packages .package-images { display:flex; align-items:center; gap:12px; margin:26px 0 0; padding-top:22px; border-top:1px solid var(--line); font-size:.875rem; line-height:1.5; color:var(--muted); }
.package-images>span:last-child { min-width:0; }
.package-image-count { font-family:'Cormorant Garamond',Georgia,serif; font-size:2.1rem; line-height:1; color:var(--paper); }
.photography-packages .package-inclusion { margin:18px 0 0; font-size:.875rem; line-height:1.5; color:var(--muted); }
.pricing-notes { display:grid; gap:8px; margin:24px 0 36px; text-align:center; color:#d4c6b7; font-size:.875rem; }
.pricing-notes p { margin:0; }
.pricing-tax-note { color:var(--paper); }
.pricing-travel { text-align:center; color:#d4c6b7; font-size:.875rem; margin:22px 0 36px; }
.pricing-bespoke { display:grid; grid-template-columns:1fr 2fr; align-items:center; gap:20px 44px; border-top:1px solid #ffffff30; padding-top:30px; }
.pricing-bespoke h3 { font-size:clamp(1.8rem,2.8vw,2.4rem); }
.pricing-bespoke p { font-size:1rem; line-height:1.7; color:#ded5ca; max-width:630px; }
@media(max-width:1199px) {
 .photography-packages { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:920px; margin-inline:auto; }
 .photography-package { padding:28px 24px; }
}
@media(max-width:960px) {
 .pricing-bespoke { grid-template-columns:1fr; gap:14px; }
}
@media(min-width:961px) {
 .photography-category-layout { row-gap:0; }
 .photography-category-layout>.photography-media { display:contents; }
 .photography-category-layout>.photography-media>.carousel { grid-column:1; grid-row:1; }
 .photography-category-layout>.photography-media>.photography-controls { grid-column:1; grid-row:2; }
 .photography-category-layout>.editorial-copy { grid-column:2; grid-row:1; transform:translateY(-12px); }
 .photography-category-layout--reverse { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); }
 .photography-category-layout--reverse>.photography-media>:is(.carousel,.photography-controls) { grid-column:2; }
 .photography-category-layout--reverse>.editorial-copy { grid-column:1; }
}
@media(max-width:960px) {
 .photography-category-layout { grid-template-columns:minmax(0,1fr); padding:46px 0; gap:32px; }
 .photography-category .editorial-copy { max-width:620px; }
 .photography-media { --photography-image-height:clamp(280px,82vw,540px); }
 .photography-intro { padding:44px 0 48px; }
}
@media(max-width:600px) {
 .photography-pricing { padding:58px 6% 40px; }
 .pricing-heading { margin-bottom:30px; }
 .photography-packages { grid-template-columns:1fr; max-width:440px; gap:24px; }
 .photography-package { display:block; grid-row:auto; padding:26px 24px; }
}

/* Wedding packages share the Photography pricing design with a more editorial hierarchy. */
#city-hall-packages-title { scroll-margin-top:2rem; }
.wedding-pricing .photography-package { grid-row:span 4; padding:32px 24px 34px; }
.wedding-pricing .package-heading { gap:9px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.wedding-pricing .package-kicker { margin:0; color:var(--accent); font-size:.68rem; line-height:1.4; letter-spacing:.16em; text-transform:uppercase; }
.wedding-pricing .photography-packages h3 { font-size:clamp(2.75rem,3.5vw,3.65rem); line-height:.95; letter-spacing:-.02em; }
.wedding-pricing .package-price { font-size:clamp(1.65rem,2vw,1.95rem); margin:18px 0 22px; }
.wedding-pricing .package-price .package-currency { font-size:.75rem; letter-spacing:.08em; }
.wedding-city-hall-note { max-width:760px; margin:-20px auto 36px; text-align:center; color:var(--muted); }
.wedding-city-hall-note button { border:0; padding:0; background:none; color:var(--paper); text-decoration:underline; text-underline-offset:4px; }
.wedding-city-hall-note button:hover { color:var(--accent); }
.wedding-city-hall-note button:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.wedding-pricing .package-images { margin-top:0; }
.wedding-pricing .package-details { margin-top:22px; }
.wedding-pricing .package-description { color:#eee6dc; font-size:.875rem; line-height:1.65; }
.wedding-pricing .package-typically { margin-top:20px; color:var(--accent); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; }
.wedding-pricing .package-details ul { display:grid; gap:7px; margin:13px 0 0; padding:0; list-style:none; color:var(--muted); font-size:.8rem; line-height:1.45; }
.wedding-pricing .package-details li { position:relative; padding-left:15px; }
.wedding-pricing .package-details li::before { content:'—'; position:absolute; left:0; color:var(--accent); }
.wedding-pricing .package-flexibility { margin-top:20px; padding-top:18px; border-top:1px solid #ffffff24; color:#eee6dc; font-size:.8rem; line-height:1.55; }
.wedding-pricing .pricing-bespoke+.pricing-bespoke { margin-top:30px; }
@media(min-width:601px) and (max-width:1199px) {
 .wedding-pricing .photography-packages h3 { font-size:clamp(3rem,6vw,3.7rem); }
 .wedding-pricing .package-price { font-size:clamp(1.75rem,4vw,2rem); }
}
@media(max-width:600px) {
 .wedding-pricing .photography-package { padding:30px 24px 32px; }
 .wedding-pricing .photography-packages h3 { font-size:3.35rem; }
 .wedding-pricing .package-price { font-size:1.9rem; }
 .wedding-city-hall-note { margin-top:-8px; margin-bottom:30px; }
}

/* Press sections follow the same light/dark rhythm from the introduction to contact. */
body[data-page="press"] #main { --section-gap:0px; }
#brollopsmagasinet>.section>.section-heading { max-width:1200px; container-type:inline-size; }
#brollopsmagasinet>.section>.section-heading h2 { font-size:min(4rem,4.2cqw); white-space:nowrap; }
#international-awards>.section { max-width:1240px; }
#international-awards .award-group-heading { max-width:none; text-align:center; margin-bottom:34px; }
#international-awards .award-grid { grid-template-columns:var(--award-columns); gap:38px; }
#international-awards .award-media { height:auto; aspect-ratio:var(--award-ratio); }
#international-awards .award-caption { padding-top:18px; }
#international-awards .award-caption h4 { font-size:clamp(1.6rem,2.2vw,1.9rem); }
#international-awards .award-caption>p:not(.eyebrow) { font-size:13px; line-height:1.6; }
#women-in-photography .award-caption { max-width:1160px; container-type:inline-size; }
#women-in-photography .award-caption h3 { font-size:min(3.6rem,5.6cqw); white-space:nowrap; }
#women-in-photography .award-caption>p { max-width:800px; margin-inline:auto; }
#press-community { border-top:1px solid var(--line); }
#press-community>.section { padding-top:64px; }
#press-community .press-community-label { text-align:center; margin:0 auto 48px; color:var(--muted); }
.press-contact { border-top:1px solid var(--line); }
.press-contact>.section { max-width:1050px; padding-block:80px 36px; }
.press-contact .section-heading { margin-bottom:40px; }
.press-contact .section-heading h2 { font-size:clamp(2.3rem,4.2vw,4rem); }
.press-contact .enquiry-form { max-width:680px; margin-inline:auto; text-align:left; }
.press-contact-email { display:table; margin:24px auto 0; text-decoration:underline; text-underline-offset:5px; }
body[data-page="press"] #main+footer.press-footer { background:#eee6dc; margin-block-start:0; padding-top:0; }
.press-footer .footer-bottom { margin-top:0; }
@media(max-width:699px) {
 #international-awards .award-grid { --award-height:clamp(260px,76vw,330px); grid-template-columns:none; grid-auto-columns:max-content; gap:28px; }
 #international-awards .award-card { width:calc(var(--award-height) * var(--award-ratio)); }
 #international-awards .award-media { height:var(--award-height); }
 .press-contact>.section { padding-block:60px 30px; }
 #press-community>.section { padding-top:54px; }
 #women-in-photography .award-caption h3 { font-size:clamp(1.8rem,6vw,2.5rem); white-space:normal; }
}

/* One contact presentation and field layout across all pages. */
.contact-section--shared>.section { max-width:1050px; padding-block:80px 52px; }
.contact-section--shared .section-heading { margin:0 auto 40px; text-align:center; }
.contact-section--shared .section-heading :is(h1,h2) { font-size:clamp(2.4rem,4.2vw,4rem); }
.contact-section--shared .section-heading p { margin:18px auto 0; color:var(--muted); }
.contact-section--shared .enquiry-form { max-width:680px; margin-inline:auto; text-align:left; }
.contact-details { max-width:680px; margin:34px auto 0; padding-top:24px; border-top:1px solid var(--line); text-align:center; }
.contact-details>div { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 24px; }
.contact-details a { text-decoration:underline; text-underline-offset:4px; font-size:.9rem; }
.contact-details p { margin-top:18px; font-size:.875rem; color:var(--muted); }
.enquiry-fields [hidden] { display:none; }
.enquiry-form .button:disabled { cursor:not-allowed; }
.photography-category .editorial-copy>.button { display:inline-flex; align-items:center; gap:18px; margin-top:24px; }
.photography-category .photography-service-cta { width:min(100%,360px); height:64px; padding:10px 20px; font-size:14px; line-height:1.4; border-radius:0; }
.photography-service-cta>span:first-child { min-width:0; }
.photography-service-cta>span:last-child { flex-shrink:0; }
@media(max-width:600px) {
 .contact-section--shared>.section { padding-block:58px 40px; }
}

/* The medal story shows one complete photograph at a time. */
.medal-carousel.article-gallery { width:100%; min-width:0; margin:0; --article-gap:0px; }
.medal-carousel .article-slide { flex:0 0 100%; margin:0; }
#sm-bronze .medal-carousel .press-detail-media { display:flex; width:100%; height:auto; aspect-ratio:var(--medal-ratio); background:transparent; }
#sm-bronze .medal-carousel .press-detail-media img { width:100%; height:100%; object-fit:contain; }
.medal-carousel-footer { display:flex; justify-content:center; margin-top:24px; }
@media(max-width:899px) {
 #brollopsmagasinet>.section>.section-heading h2 { font-size:clamp(2rem,5vw,3rem); white-space:normal; }
}

@media(max-width:600px) {
 #brollopsmagasinet>.section>.section-heading h2 { font-size:min(2rem,9cqw); }
}

/* Ask once which language a new visitor wants to use across the Site. */
body.language-dialog-open { overflow:hidden; }
.language-dialog { width:min(92vw,760px); max-height:92vh; margin:auto; padding:0; border:0; background:var(--paper); color:var(--ink); box-shadow:0 30px 90px #0008; overflow:auto; }
.language-dialog::backdrop { background:rgba(24,21,18,.76); backdrop-filter:blur(5px); }
.language-dialog-inner { padding:clamp(38px,7vw,72px); text-align:center; }
.language-dialog .eyebrow { margin-bottom:20px; color:var(--accent); }
.language-dialog h2 { display:flex; flex-direction:column; gap:8px; font-size:clamp(2.7rem,6vw,4.8rem); line-height:.96; }
.language-dialog h2 span[lang="sv"] { font-size:.58em; color:var(--muted); }
.language-dialog #language-dialog-description { max-width:570px; margin:26px auto 0; color:var(--muted); font-size:1rem; line-height:1.7; }
.language-dialog-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:36px; }
.language-dialog-actions button { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-height:112px; padding:23px 25px; border:1px solid var(--accent); background:transparent; text-align:left; transition:background .2s,color .2s,border-color .2s; }
.language-dialog-actions button:hover,.language-dialog-actions button:focus-visible { background:var(--ink); border-color:var(--ink); color:var(--paper); }
.language-dialog-actions button>span { font-family:'Cormorant Garamond',Georgia,serif; font-size:2rem; line-height:1; }
.language-dialog-actions button>small { color:var(--muted); font-size:.75rem; line-height:1.5; }
.language-dialog-actions button:hover>small,.language-dialog-actions button:focus-visible>small { color:#ded5ca; }
@media(max-width:600px) {
 .language-dialog { width:calc(100vw - 28px); }
 .language-dialog-inner { padding:38px 24px 30px; }
 .language-dialog h2 { font-size:clamp(2.6rem,13vw,3.7rem); }
 .language-dialog #language-dialog-description { margin-top:22px; font-size:.94rem; }
 .language-dialog-actions { grid-template-columns:1fr; gap:12px; margin-top:28px; }
 .language-dialog-actions button { min-height:90px; padding:19px 21px; }
}

/* Paintings — an editorial portfolio built around the work and the making of it. */
body[data-page="malningar"] #main { background:#f1ebe3; }
.paintings-page { overflow:hidden; }
.paintings-hero { display:grid; grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr); min-height:clamp(720px,76vw,980px); background:#ded1c4; }
.paintings-hero-copy { align-self:center; padding:clamp(70px,9vw,140px) clamp(42px,6vw,100px) clamp(70px,9vw,140px) max(5.5vw,48px); }
.paintings-hero-copy .eyebrow { margin-bottom:clamp(28px,4vw,58px); color:#715846; }
.paintings-hero-copy h1 { max-width:8.4ch; margin-bottom:clamp(28px,4vw,50px); font-size:clamp(3.5rem,5.5vw,6.2rem); line-height:.9; letter-spacing:-.035em; text-wrap:balance; }
.paintings-hero-copy>p:not(.eyebrow) { max-width:610px; color:#50483f; font-size:clamp(.94rem,1.05vw,1.08rem); line-height:1.8; }
.paintings-hero-copy>p+p { margin-top:1.3rem; }
.paintings-hero-art { min-width:0; margin:0; overflow:hidden; }
.paintings-hero-art .image-open,.paintings-hero-art img { width:100%; height:100%; }
.paintings-hero-art img { object-fit:cover; transition:transform 1.1s cubic-bezier(.22,.72,.2,1); }
.paintings-hero-art:hover img { transform:scale(1.018); }

.paintings-favorites { padding:clamp(72px,8vw,120px) 5.5%; color:#f2ebe4; background:#27231f; }
.paintings-favorites-heading { display:flex; align-items:flex-end; justify-content:flex-start; width:100%; max-width:1360px; margin:0 auto clamp(28px,4vw,50px); padding-bottom:20px; border-bottom:1px solid rgba(242,235,228,.26); }
.paintings-favorites-heading .eyebrow { margin:0 0 8px; color:#c9b39f; }
.paintings-favorites-heading h2 { max-width:8ch; margin:0; font-size:clamp(3.2rem,5.2vw,5.7rem); line-height:.9; letter-spacing:-.03em; }
.paintings-favorites-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(34px,3.5vw,48px); max-width:1200px; margin:auto; }
.paintings-favorites-grid--two { grid-template-columns:minmax(0,1.822fr) minmax(0,1fr); align-items:start; }
.paintings-favorite-item { min-width:0; justify-self:center; width:100%; }
.paintings-favorites figure { position:relative; min-width:0; aspect-ratio:3/4; margin:0; overflow:hidden; background:#39332c; }
.paintings-favorites .paintings-favorites-grid--two figure { height:auto; aspect-ratio:auto; background:transparent; }
.paintings-favorites .image-open,.paintings-favorites img { display:block; width:100%; height:auto; }
.paintings-favorites img { object-fit:cover; transition:transform .8s cubic-bezier(.22,.72,.2,1),filter .5s ease; }
.paintings-favorites figure:hover img { transform:scale(1.018); }
.paintings-favorite--portrait img { object-position:center 44%; }
.paintings-favorite--eye img { object-position:center; }
.paintings-favorite--monochrome img { object-position:center; }
.paintings-favorite--dancers img { object-fit:contain; object-position:center; }
.paintings-artwork-meta { width:100%; margin:16px auto 0; color:#d8ccc1; font-size:clamp(.78rem,.9vw,.9rem); line-height:1.5; text-align:center; }
.paintings-artwork-meta em { font-family:'Photema Cover Italic','Cormorant Garamond',Georgia,serif; font-size:1.22em; font-style:italic; font-weight:500; letter-spacing:.01em; }
.paintings-artwork-meta span { font-style:normal; }

.paintings-page .painting-focus-section { max-width:none; padding:clamp(84px,9vw,140px) 0 clamp(74px,8vw,120px); background:#eee6dc; }
.paintings-page .painting-focus-section .gallery-heading,.paintings-page .painting-focus-section>.carousel-status { width:min(88%,1460px); }
.paintings-page .painting-focus-section .gallery-heading { display:grid; grid-template-columns:1fr; justify-items:center; gap:22px; margin-bottom:clamp(42px,5vw,72px); padding-bottom:25px; border-bottom:1px solid #c6b8aa; }
.paintings-page .painting-focus-section .gallery-heading-copy { max-width:960px; text-align:center; }
.paintings-page .painting-focus-section .gallery-heading h2 { max-width:none; margin:0; text-align:center; white-space:nowrap; font-size:clamp(1rem,4.3vw,4rem); line-height:1; letter-spacing:-.02em; }
.paintings-page .painting-focus-section .about-section-intro { max-width:72ch; margin:18px auto 0; color:#625a50; font-size:clamp(.94rem,1vw,1.05rem); line-height:1.75; }
.paintings-page .painting-focus-section .about-section-intro+.about-section-intro { margin-top:12px; }
.paintings-page .painting-focus-section .carousel-controls { justify-self:center; }
.paintings-page .painting-focus-section .carousel-controls button { width:54px; height:54px; border-color:#8f745f; }
.paintings-page .painting-focus-carousel { height:clamp(560px,58vw,820px); }
.paintings-page .painting-focus-carousel figure { width:min(41vw,590px); }
.paintings-page .painting-focus-carousel figure[data-focus-position="-1"] { transform:translateX(calc(-50% - min(35vw,505px))) scale(.67); }
.paintings-page .painting-focus-carousel figure[data-focus-position="1"] { transform:translateX(calc(-50% + min(35vw,505px))) scale(.67); }
.paintings-page .painting-focus-carousel figure[data-focus-position="-2"] { transform:translateX(calc(-50% - min(56vw,805px))) scale(.46); }
.paintings-page .painting-focus-carousel figure[data-focus-position="2"] { transform:translateX(calc(-50% + min(56vw,805px))) scale(.46); }
.paintings-page .painting-focus-carousel img { filter:drop-shadow(0 24px 34px rgba(45,37,30,.18)); }
.paintings-page .painting-focus-carousel figcaption { color:#625a50; letter-spacing:.01em; }
.paintings-page .painting-focus-carousel .artwork-meta em { font-family:'Photema Cover Italic','Cormorant Garamond',Georgia,serif; font-size:1.22em; font-style:italic; font-weight:500; letter-spacing:.01em; }
.paintings-page .painting-focus-carousel .artwork-meta span { font-style:normal; }
body[data-page="malningar"] #main+footer { margin-top:0; background:#d9ccbe; }

@media(max-width:1050px) {
 .paintings-hero { grid-template-columns:1fr 1fr; min-height:700px; }
 .paintings-hero-copy { padding-inline:6vw; }
 .paintings-hero-copy h1 { font-size:clamp(3.25rem,6.3vw,4.8rem); }
 .paintings-page .painting-focus-carousel { height:clamp(500px,68vw,700px); }
 .paintings-page .painting-focus-carousel figure { width:min(52vw,500px); }
 .paintings-page .painting-focus-carousel figure[data-focus-position="-1"] { transform:translateX(calc(-50% - 43vw)) scale(.62); }
 .paintings-page .painting-focus-carousel figure[data-focus-position="1"] { transform:translateX(calc(-50% + 43vw)) scale(.62); }
}
@media(max-width:760px) {
 .paintings-hero { display:flex; min-height:0; flex-direction:column; }
 .paintings-hero-art { order:-1; height:min(112vw,720px); }
 .paintings-hero-copy { padding:54px 6% 66px; }
 .paintings-hero-copy .eyebrow { margin-bottom:24px; }
 .paintings-hero-copy h1 { max-width:10ch; margin-bottom:26px; font-size:clamp(3rem,12vw,4.35rem); }
 .paintings-hero-copy>p:not(.eyebrow) { font-size:.96rem; line-height:1.72; }
 .paintings-favorites { padding:60px 10px 68px; }
 .paintings-favorites-heading { width:84%; margin-bottom:28px; padding-bottom:16px; }
 .paintings-favorites-heading h2 { font-size:clamp(2.8rem,11vw,4rem); }
 .paintings-favorites-grid { grid-template-columns:1fr; gap:34px; width:88%; }
 .paintings-favorites-grid--two { grid-template-rows:auto; }
 .paintings-favorites-grid--two .paintings-favorite-item:first-child { width:100%; }
 .paintings-favorites-grid--two .paintings-favorite-item:last-child { width:62%; margin-inline:auto; }
 .paintings-favorites .paintings-favorites-grid--two figure,.paintings-favorites .paintings-favorites-grid--two .paintings-favorite--dancers { height:auto; aspect-ratio:auto; }
 .paintings-page .painting-focus-section { padding-top:72px; }
 .paintings-page .painting-focus-section .gallery-heading { grid-template-columns:1fr; gap:18px; width:88%; padding-bottom:20px; }
 .paintings-page .painting-focus-section .gallery-heading h2 { font-size:clamp(1rem,4.3vw,2.05rem); }
 .paintings-page .painting-focus-carousel { height:clamp(430px,128vw,620px); }
 .paintings-page .painting-focus-carousel figure { width:77vw; }
 .paintings-page .painting-focus-carousel figure[data-focus-position="-1"] { opacity:.42; transform:translateX(calc(-50% - 69vw)) scale(.55); }
 .paintings-page .painting-focus-carousel figure[data-focus-position="1"] { opacity:.42; transform:translateX(calc(-50% + 69vw)) scale(.55); }
 .paintings-page .painting-focus-carousel figure[data-focus-position="-2"],.paintings-page .painting-focus-carousel figure[data-focus-position="2"] { opacity:0; pointer-events:none; }
}
@media(max-width:430px) {
 .paintings-hero-copy { padding-top:46px; }
 .paintings-hero-copy h1 { font-size:clamp(2.8rem,13vw,3.6rem); }
 .paintings-favorites-heading { display:block; }
 .paintings-favorites-heading .eyebrow { margin-bottom:16px; }
 .paintings-page .painting-focus-section .gallery-heading { grid-template-columns:1fr; }
 .paintings-page .painting-focus-section .carousel-controls { justify-self:center; }
}

/* Keep the homepage art section heading centered and on one line when space allows. */
.creative-feature .section-heading { max-width:none; text-align:center; margin-inline:auto; }
.creative-feature .section-heading h2 { font-size:clamp(2.35rem,4.15vw,4rem); white-space:nowrap; }
@media(max-width:760px) {
 .creative-feature .section-heading h2 { white-space:normal; text-wrap:balance; }
}

/* Homepage artwork feature: image, narrative, image. */
.creative-feature .art-preview {
 grid-template-columns:minmax(0,1fr) minmax(260px,.78fr) minmax(0,1fr);
 gap:clamp(28px,4vw,64px);
}
.creative-feature .art-preview img {
 width:100%;
 height:clamp(390px,40vw,540px);
 max-height:none;
 object-fit:contain;
}
.creative-feature .art-preview figcaption,
.creative-feature .art-preview-copy { text-align:center; }
@media(max-width:800px) {
 .creative-feature .art-preview { grid-template-columns:1fr; gap:28px; }
 .creative-feature .art-preview-copy { grid-column:auto; grid-row:2; max-width:36rem; margin:0 auto; }
 .creative-feature .art-preview img { height:auto; max-height:560px; }
}

/* Homepage: keep the Beyond the Camera story at left and pair both artworks at right. */
.creative-feature-layout {
 display:grid;
 grid-template-columns:minmax(280px,.72fr) minmax(0,1.62fr);
 align-items:center;
 gap:clamp(32px,4.5vw,72px);
 max-width:1440px;
}
.creative-feature-copy { max-width:500px; }
.creative-feature .creative-feature-copy .section-heading {
 max-width:none;
 margin:0 0 28px;
 text-align:left;
}
.creative-feature .creative-feature-copy .section-heading h2 {
 white-space:normal;
 text-wrap:balance;
}
.creative-feature .creative-feature-copy .art-preview-copy { text-align:left; }
.creative-feature-images {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 align-items:center;
 gap:clamp(18px,2vw,30px);
 min-width:0;
 width:calc(100% + clamp(40px,6vw,96px));
}
.creative-feature-images figure { margin:0; min-width:0; }
.creative-feature-images img {
 display:block;
 width:100%;
 height:clamp(390px,36vw,560px);
 max-height:none;
 object-fit:contain;
}
.creative-feature-images figcaption {
 margin-top:15px;
 color:var(--muted);
 font-size:12px;
 text-align:center;
}
@media(max-width:900px) {
 .creative-feature-layout { grid-template-columns:1fr; gap:38px; }
 .creative-feature-copy { max-width:42rem; }
 .creative-feature-images { width:100%; }
 .creative-feature-images img { height:clamp(320px,58vw,520px); }
}
@media(max-width:560px) {
 .creative-feature-images { grid-template-columns:1fr; gap:28px; }
 .creative-feature-images img { height:auto; max-height:560px; }
}

/* Homepage portrait leads into the copy after the columns swap. */
.about-feature-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); }
.about-feature-portrait { justify-self:start; }
.about-feature-portrait img { transform:scaleX(-1); }
@media(max-width:700px) {
 .about-feature-layout { grid-template-columns:minmax(0,1fr); }
 .about-feature-portrait { justify-self:center; }
}

/* Wedding enquiry: an editorial form card paired with a golden-hour portrait. */
.wedding-contact {
 position:relative;
 min-height:calc(100svh - 100px);
 display:grid;
 align-items:center;
 overflow:hidden;
 border-top:1px solid #d8cec1;
 background:
  radial-gradient(circle at 85% 14%,rgba(255,255,255,.92),transparent 35%),
  linear-gradient(135deg,#f8f4ed 0%,#f3eee6 52%,#fbf8f2 100%);
}
.wedding-contact-inner { position:relative; z-index:1; width:100%; max-width:1420px; padding-block:clamp(14px,2vh,24px); }
.wedding-contact .section-heading { max-width:1040px; margin:0 auto clamp(38px,3.8vh,50px); text-align:center; }
.wedding-contact .section-heading h2 { font-size:clamp(2.85rem,4.2vw,4.6rem); line-height:1; white-space:nowrap; }
.wedding-contact .section-heading>p:last-child { margin-top:12px; color:#756e66; font-size:1rem; }
.wedding-contact-layout {
 display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
 align-items:stretch;
 gap:clamp(14px,1.4vw,20px);
 padding:clamp(10px,1vw,14px);
 border:1px solid rgba(139,124,107,.36);
 background:rgba(252,249,244,.56);
 box-shadow:0 22px 55px rgba(77,62,48,.06);
}
.wedding-contact-card {
 display:flex;
 align-items:center;
 height:min(68svh,560px);
 padding:clamp(20px,1.8vw,26px);
 background:rgba(252,249,244,.72);
 backdrop-filter:blur(8px);
}
.wedding-contact-card .enquiry-form { width:100%; max-width:none; margin:0; text-align:left; }
.wedding-contact-card .enquiry-fields { gap:10px; }
.wedding-contact-card .form-pair { gap:16px; }
.wedding-contact-card .enquiry-form label { gap:5px; }
.wedding-contact-card .enquiry-form input,
.wedding-contact-card .enquiry-form select,
.wedding-contact-card .enquiry-form textarea { min-height:38px; padding:7px 11px; background:rgba(255,255,255,.48); border-color:#c9beb2; }
.wedding-contact-card .enquiry-form textarea { min-height:76px; }
.wedding-contact-card .field-help { font-size:10.5px; line-height:1.25; }
.wedding-contact-card .small-note { margin:0; font-size:10.5px; line-height:1.35; }
.wedding-contact-card .enquiry-form .button { min-width:190px; min-height:45px; background:#282725; border-color:#282725; color:#fff; }
.wedding-contact-card .form-status:empty { display:none; }
.wedding-contact-media { position:relative; display:flex; align-items:center; justify-content:flex-start; height:min(68svh,560px); margin:0; overflow:hidden; background:transparent; }
.wedding-contact-photo { display:block; width:100%; height:100%; max-height:100%; object-fit:contain; object-position:center; }
@media(min-width:981px) {
 .wedding-contact-card .enquiry-fields { grid-template-columns:1fr 1fr; }
 .wedding-contact-card .enquiry-fields>label[for="subject"] { grid-column:1; grid-row:1; }
 .wedding-contact-card .enquiry-fields>label[for="phone"] { grid-column:2; grid-row:1; }
 .wedding-contact-card .enquiry-fields>.form-pair:not(.event-fields) { grid-column:1/-1; grid-row:2; }
 .wedding-contact-card .enquiry-fields>.event-fields { grid-column:1/-1; grid-row:3; }
 .wedding-contact-card .enquiry-fields>label[for="message"] { grid-column:1/-1; grid-row:4; }
 .wedding-contact-card .enquiry-fields>.small-note { grid-column:1; grid-row:5; align-self:center; }
 .wedding-contact-card .enquiry-fields>.button { grid-column:2; grid-row:5; justify-self:end; align-self:center; }
}
@media(max-width:980px) {
 .wedding-contact { min-height:0; }
 .wedding-contact-layout { grid-template-columns:1fr; }
 .wedding-contact-card { order:1; height:auto; }
 .wedding-contact-media { order:2; min-height:0; height:auto; }
 .wedding-contact-photo { width:auto; max-width:100%; max-height:720px; margin-inline:auto; object-fit:contain; }
 .wedding-contact .section-heading h2 { white-space:normal; }
}
@media(max-width:600px) {
 .wedding-contact-inner { padding-block:64px 54px; }
 .wedding-contact .section-heading { margin-bottom:34px; }
 .wedding-contact .section-heading h2 { font-size:clamp(2.75rem,13vw,3.8rem); }
 .wedding-contact-card { padding:28px 20px; }
 .wedding-contact-card .enquiry-fields { gap:20px; }
 .wedding-contact-photo { width:100%; height:auto; max-height:none; object-fit:contain; }
}

/* Music enquiries place the collaboration form in the quiet side of the performance image. */
.music-contact { position:relative; isolation:isolate; overflow:hidden; min-height:790px; display:grid; align-items:center; color:#fbf6ef; background:#171310; }
.music-contact-background { position:absolute; inset:0; z-index:-2; }
.music-contact-background::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(16,12,10,.14) 0%,rgba(17,12,10,.12) 40%,rgba(16,11,9,.68) 63%,rgba(13,9,8,.88) 100%); }
.music-contact-background img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.music-contact-inner { width:100%; max-width:1420px; display:flex; flex-direction:column; align-items:flex-end; justify-content:center; gap:18px; padding-block:94px; }
.music-contact-heading { width:min(100%,500px); text-align:center; text-shadow:0 2px 20px rgba(0,0,0,.55); }
.music-contact-heading .eyebrow { color:#d8ba88; margin-bottom:16px; }
.music-contact-heading h2 { color:#fffaf3; font-size:clamp(2.7rem,4vw,4.35rem); line-height:1.04; }
.music-contact-heading>p:not(.eyebrow) { margin:14px auto 0; max-width:460px; color:rgba(255,248,238,.9); font-size:1rem; line-height:1.6; }
.music-contact-card { width:min(100%,480px); padding:28px 30px; border:1px solid rgba(238,214,175,.43); background:rgba(24,17,13,.78); box-shadow:0 25px 70px rgba(0,0,0,.3); backdrop-filter:blur(8px); }
.music-contact-card .enquiry-form { max-width:none; margin:0; text-align:left; }
.music-contact-card .enquiry-fields { gap:14px; }
.music-contact-card .form-pair { gap:14px; }
.music-contact-card .enquiry-form label { color:#f8efe3; gap:6px; }
.music-contact-card .enquiry-form input,
.music-contact-card .enquiry-form select,
.music-contact-card .enquiry-form textarea { min-height:40px; padding:8px 10px; color:#fffaf3; background:rgba(21,15,12,.56); border-color:rgba(229,204,166,.56); }
.music-contact-card .enquiry-form select option { color:#221913; background:#f8efe3; }
.music-contact-card .enquiry-form textarea { min-height:82px; }
.music-contact-card .field-help,
.music-contact-card .small-note { color:rgba(255,248,238,.66); font-size:11px; line-height:1.4; }
.music-contact-card .enquiry-form .button { min-width:180px; min-height:44px; color:#21160f; background:#d7af75; border-color:#d7af75; }
.music-contact-card .form-status.is-success { color:#e8f4dc; border-color:#d7af75; }
.music-contact-card .form-status.is-error { color:#ffd1c8; }
@media(min-width:981px) {
 .music-contact-card .enquiry-fields { grid-template-columns:1fr 1fr; gap:12px 14px; }
 .music-contact-card .enquiry-fields>label[for="subject"] { grid-column:1; grid-row:1; }
 .music-contact-card .enquiry-fields>label[for="phone"] { grid-column:2; grid-row:1; }
 .music-contact-card .enquiry-fields>.form-pair { grid-column:1/-1; grid-row:2; }
 .music-contact-card .enquiry-fields>label[for="message"] { grid-column:1/-1; grid-row:3; }
 .music-contact-card .enquiry-fields>.small-note { grid-column:1; grid-row:4; align-self:center; margin:0; }
 .music-contact-card .enquiry-fields>.button { grid-column:2; grid-row:4; justify-self:end; align-self:center; }
}
@media(max-width:760px) {
 .music-contact { min-height:0; }
 .music-contact-background img { object-position:34% center; }
 .music-contact-background::after { background:linear-gradient(180deg,rgba(12,9,8,.24),rgba(12,9,8,.82) 42%,rgba(12,9,8,.94)); }
 .music-contact-inner { align-items:center; padding-block:72px; gap:20px; }
 .music-contact-heading { width:100%; }
 .music-contact-heading h2 { font-size:clamp(2.65rem,11vw,3.6rem); }
 .music-contact-card { width:100%; padding:28px 22px; background:rgba(22,15,12,.84); }
 .music-contact-card .enquiry-fields { gap:20px; }
 .music-contact-card .enquiry-form .button { width:100%; }
}

/* The Creative Work closing invitation intentionally contrasts with the preceding film section. */
body[data-page="creative-artist"] #main+footer.creative-footer { margin-block-start:0; background:#4b423b; color:var(--paper); }
.creative-footer .footer-inquiries { color:#e3dbd2; }
.creative-footer h2 { font-size:clamp(2.25rem,3.45vw,3.55rem); }
.creative-footer .button { margin-top:26px; }
.creative-footer .footer-bottom { border-color:#968a7d; }

/* Keep Creative Work media balanced while allowing both painting originals to reach the same visible height. */
body[data-page="creative-artist"] .creative-preview { --creative-media-height:clamp(300px,27vw,400px); }
@media (min-width:801px) {
  body[data-page="creative-artist"] .creative-preview--paintings .creative-preview-layout { grid-template-columns:minmax(0,1.33fr) minmax(0,1fr); gap:32px; }
}
@media (min-width:801px) and (max-width:1100px) {
  body[data-page="creative-artist"] .creative-preview { --creative-media-height:260px; }
}

/* Film / TV page: each chapter has a distinct, calm canvas without changing the site’s editorial language. */
body[data-page="tvochfilm"] #main { --section-gap:0px; }
body[data-page="tvochfilm"] .film-band,
body[data-page="tvochfilm"] .film-contact-band { margin:0; }
.film-band--intro { background:var(--paper); }
.film-page-intro { padding-bottom:clamp(56px,6vw,90px); }
.film-page-intro h1 { margin:20px 0 30px; }
.film-page-intro h1 span { display:block; }
.film-page-intro .film-intro-copy { max-width:900px; margin-inline:auto; color:var(--muted); }
.film-page-intro .film-intro-copy p { margin-top:0; }
.film-page-intro .film-intro-copy p + p { margin-top:1rem; }
.film-band--intro .creative-subnav { margin-top:0; padding-bottom:clamp(44px,5vw,72px); }
.film-band--cv { background:var(--beige); }
.film-cv-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,460px); align-items:center; gap:clamp(42px,7vw,110px); max-width:1200px; padding-block:clamp(68px,8vw,112px); }
.film-cv-copy { max-width:560px; }
.film-cv-copy .eyebrow { margin-bottom:18px; }
.film-cv-copy h2 { font-size:clamp(2.5rem,4vw,4.2rem); text-wrap:balance; }
.film-cv-copy > p:not(.eyebrow) { color:var(--muted); margin-top:22px; }
.film-cv-copy .small-note { font-size:.88rem; }
.film-cv-media { width:100%; max-width:460px; justify-self:end; }
.film-cv-media .video-card { margin:0; }
.film-band--carousel { background:#eceee6; }
.film-band--carousel .gallery-section { padding-block:clamp(72px,8vw,116px); }
.film-band--carousel .gallery-heading { width:min(100%,1280px); margin-inline:auto; }
.film-band--carousel .carousel { max-width:1280px; margin-inline:auto; }
.film-band--carousel .carousel figure { width:min(calc(390px * var(--ratio)),var(--native),100%); }
.film-band--carousel .carousel img { max-height:390px; }
.film-band--kind { background:#dfe6e9; }
.film-band--kind .section { padding-block:clamp(74px,8vw,118px); }
.film-kind-heading { max-width:900px; }
.film-kind-heading h2 { font-size:clamp(2.55rem,4.2vw,4.5rem); text-wrap:balance; }
.film-band--process { background:var(--paper); }
.film-process { max-width:900px; padding-block:clamp(78px,9vw,126px); text-align:center; }
.film-process h2 { text-wrap:balance; }
.film-process > p { max-width:700px; margin:26px auto 0; color:var(--muted); }
.film-process .button { margin-top:32px; }
.film-contact-band { background:#e8ddd0; }
body[data-page="tvochfilm"] .film-contact-band .contact-section { background:transparent; border-top:0; }
body[data-page="tvochfilm"] .film-contact-band .contact-section>.section { padding-block:clamp(78px,9vw,116px); }
body[data-page="tvochfilm"] #main + footer.press-footer { margin-block-start:0; }
@media(max-width:800px) {
 .film-page-intro h1 { font-size:clamp(2.85rem,11vw,4.5rem); }
 .film-cv-layout { grid-template-columns:1fr; gap:38px; }
 .film-cv-copy { max-width:660px; }
 .film-cv-media { justify-self:start; max-width:min(100%,520px); }
 .film-band--intro .creative-subnav { padding-bottom:46px; }
}
@media(max-width:560px) {
 .film-page-intro h1 { font-size:clamp(2.55rem,12vw,3.6rem); }
 .film-cv-layout { padding-block:64px; }
 .film-band--carousel .gallery-section { padding-block:64px; }
 .film-band--kind .section { padding-block:66px; }
 .film-process { padding-block:72px; }
}

/* Keep the Film & On Camera image and its story visually connected on Creative Work. */
@media(min-width:901px) {
 body[data-page="creative-artist"] .creative-preview--film .creative-preview-layout {
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(16px,2vw,32px);
 }
 body[data-page="creative-artist"] .creative-preview--film .editorial-copy>p:not(.eyebrow) { max-width:570px; }
 body[data-page="creative-artist"] #main+footer.creative-footer { margin-block-start:24px; }
}
@media(max-width:900px) {
 body[data-page="creative-artist"] .page-intro>p:not(.eyebrow) { text-wrap:balance; }
 body[data-page="creative-artist"] #main+footer.creative-footer { margin-block-start:18px; }
}

/* Film page refinement: a centred introduction and an expanded Digital CV feature. */
.film-page-intro { text-align:center; }
/* Keep the Film page title centred independently of surrounding page-intro rules. */
.film-page-intro h1 { width:100%; margin:20px auto 30px; text-align:center; }
.film-page-intro h1 span { display:block; width:100%; }
.film-cv-layout { display:grid; grid-template-columns:1fr; max-width:1040px; gap:clamp(34px,4vw,54px); text-align:center; }
.film-cv-copy { width:100%; max-width:860px; margin-inline:auto; }
.film-cv-copy h2 { font-size:clamp(2.15rem,3.45vw,3.75rem); white-space:nowrap; }
.film-cv-copy > p:not(.eyebrow) { max-width:820px; margin-inline:auto; }
.film-cv-media { width:100%; max-width:900px; justify-self:center; }
.film-kind-heading { max-width:none; }
.film-kind-heading h2 { font-size:clamp(2.1rem,3.15vw,3.35rem); }
@media(min-width:901px) {
 .film-kind-heading h2 { white-space:nowrap; }
}
@media(max-width:800px) {
 .film-cv-copy h2 { white-space:normal; text-wrap:balance; }
 .film-cv-media { max-width:100%; justify-self:center; }
}

/* The Photography closing area keeps the contact form primary and customer reactions easy to browse alongside it. */
.photography-closing-section { background:var(--paper); border-top:1px solid var(--line); }
.photography-closing-layout { width:min(92%,1500px); padding-block:clamp(72px,8vw,112px); display:grid; grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr); gap:clamp(36px,4vw,72px); align-items:start; }
.photography-closing-heading .eyebrow { margin:0 0 16px; font-size:.75rem; line-height:1.6; letter-spacing:.16em; text-transform:uppercase; }
.photography-closing-heading h2 { margin:0; font-size:clamp(2.7rem,4.15vw,4.5rem); line-height:1; text-wrap:balance; }
.photography-closing-contact { min-width:0; padding:clamp(32px,3.8vw,54px); border:1px solid var(--line); background:#f9f6f1; }
.photography-closing-contact .photography-closing-heading>p:not(.eyebrow) { max-width:510px; margin:20px 0 0; color:var(--muted); }
.photography-closing-contact .enquiry-form { max-width:none; margin-top:30px; gap:20px; }
.photography-closing-contact .enquiry-fields { display:grid; gap:20px; }
.photography-closing-contact .form-pair { gap:20px; }
.photography-closing-contact .enquiry-form label { gap:8px; }
.photography-closing-contact .enquiry-form input,
.photography-closing-contact .enquiry-form select,
.photography-closing-contact .enquiry-form textarea { min-height:47px; padding:11px 13px; }
.photography-closing-contact .enquiry-form textarea { min-height:112px; }
.photography-closing-contact .enquiry-form .small-note { margin:0; }
.photography-closing-contact .enquiry-form .button { min-height:48px; }
.photography-closing-reactions { min-width:0; padding-top:16px; }
.photography-closing-reactions .photography-closing-heading { max-width:440px; margin-inline:auto; }
.photography-closing-reactions .photography-closing-heading h2 { font-size:clamp(2.25rem,3vw,3.25rem); }
.client-reactions-carousel { position:relative; width:min(100%,420px); min-height:180px; margin-inline:auto; overflow:hidden; background:transparent; touch-action:pan-y pinch-zoom; transition:height .28s ease; }
.client-reactions-carousel figure { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; pointer-events:none; transition:opacity .2s ease; }
.client-reactions-carousel figure.is-active { opacity:1; pointer-events:auto; }
.client-reactions-carousel .image-open { display:block; width:100%; height:auto; }
.client-reactions-carousel img { display:block; width:100%; height:auto; max-height:none; object-fit:initial; }
.client-reactions-controls { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; width:min(100%,420px); margin:16px auto 0; }
.client-reactions-controls .carousel-controls { justify-self:start; }
.client-reactions-status { justify-self:end; min-width:38px; margin:0; text-align:right; font-size:.78rem; color:var(--muted); font-variant-numeric:tabular-nums; }
.client-reactions-dots { display:flex; align-items:center; justify-content:center; gap:8px; }
.client-reactions-dots button { width:8px; height:8px; padding:0; border:1px solid var(--accent); border-radius:50%; background:transparent; transition:background .2s,transform .2s; }
.client-reactions-dots button.is-active { background:var(--accent); transform:scale(1.18); }
.client-reactions-dots button:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(max-width:1050px) {
 .photography-closing-layout { grid-template-columns:minmax(0,1fr); max-width:760px; }
 .photography-closing-contact { max-width:760px; }
 .photography-closing-reactions { width:min(100%,440px); }
 .photography-closing-reactions .photography-closing-heading { max-width:100%; }
 .client-reactions-carousel,.client-reactions-controls { width:min(100%,360px); }
}
@media(max-width:600px) {
 .photography-closing-layout { width:88%; padding-block:60px; gap:58px; }
 .photography-closing-heading h2 { font-size:clamp(2.45rem,11vw,3.35rem); }
 .photography-closing-contact { padding:28px 22px; }
 .photography-closing-contact .enquiry-form { margin-top:24px; }
 .client-reactions-carousel,.client-reactions-controls { width:min(100%,350px); }
 .client-reactions-controls { gap:12px; margin-top:16px; }
 .client-reactions-controls .carousel-controls button { width:42px; height:42px; }
}

/* Give the Film page introduction its own editorial portrait without compromising the readable hero copy. */
body[data-page="tvochfilm"] .film-page-intro {
 width:min(92%,1380px);
 max-width:1380px;
 padding-top:clamp(58px,7vw,108px);
 text-align:left;
}
body[data-page="tvochfilm"] .film-page-intro-layout {
 display:grid;
 grid-template-columns:minmax(0,1.08fr) minmax(330px,.72fr);
 align-items:center;
 gap:clamp(24px,3vw,56px);
}
body[data-page="tvochfilm"] .film-page-intro-content {
 width:calc(100% - clamp(0px,3vw,44px));
 max-width:760px;
 justify-self:end;
}
body[data-page="tvochfilm"] .film-page-intro h1 {
 width:auto;
 max-width:840px;
 margin:20px 0 30px;
 font-size:clamp(3rem,4.3vw,4.8rem);
 line-height:.96;
 text-align:left;
 white-space:nowrap;
}
body[data-page="tvochfilm"] .film-page-intro h1 span { width:auto; }
body[data-page="tvochfilm"] .film-page-intro .film-intro-copy { max-width:710px; margin:0; }
body[data-page="tvochfilm"] .film-page-intro-image {
 width:100%;
 max-width:510px;
 margin:0;
 justify-self:end;
}
body[data-page="tvochfilm"] .film-page-intro-image img {
 display:block;
 width:100%;
 height:auto;
 max-height:min(54vw,640px);
 object-fit:contain;
}
@media(max-width:900px) {
 body[data-page="tvochfilm"] .film-page-intro { width:min(90%,680px); text-align:center; }
 body[data-page="tvochfilm"] .film-page-intro-layout { grid-template-columns:1fr; gap:36px; }
 body[data-page="tvochfilm"] .film-page-intro-content { width:auto; max-width:680px; margin-inline:auto; justify-self:stretch; }
 .film-band--carousel .carousel { max-width:none; }
 .film-band--carousel .carousel figure { width:min(calc(310px * var(--ratio)),var(--native),100%); }
 .film-band--carousel .carousel img { max-height:310px; }
 body[data-page="tvochfilm"] .film-page-intro h1 { max-width:640px; margin:20px auto 30px; text-align:center; white-space:normal; }
 body[data-page="tvochfilm"] .film-page-intro .film-intro-copy { margin-inline:auto; }
 body[data-page="tvochfilm"] .film-page-intro-image { max-width:min(100%,440px); justify-self:center; }
 body[data-page="tvochfilm"] .film-page-intro-image img { max-height:none; }
}
@media(max-width:560px) {
 body[data-page="tvochfilm"] .film-page-intro { padding-top:52px; }
 body[data-page="tvochfilm"] .film-page-intro h1 { font-size:clamp(2.55rem,11vw,3.6rem); }
 .film-band--carousel .carousel figure { width:min(calc(270px * var(--ratio)),var(--native),100%); }
 .film-band--carousel .carousel img { max-height:270px; }
}

/* Photography enquiry: keep the form primary while reaction browsing stays compact and stable. */
.photography-closing-reactions .photography-closing-heading {
 margin:0 auto clamp(28px,3vw,42px);
}
.client-reactions-controls {
 grid-template-columns:1fr auto;
 margin:0 auto 18px;
}
.client-reactions-status { grid-column:2; }
@media (min-width:1051px) {
 .photography-closing-contact .photography-closing-heading h2 {
  max-width:100%;
  font-size:clamp(2.25rem,3.1vw,3.25rem);
  white-space:nowrap;
  text-wrap:initial;
  letter-spacing:-.03em;
 }
 .photography-closing-reactions .photography-closing-heading h2 {
  font-size:clamp(2.25rem,3vw,3.25rem);
  white-space:nowrap;
  text-wrap:initial;
  letter-spacing:-.03em;
 }
}
@media (max-width:1050px) {
 .photography-closing-reactions .photography-closing-heading { margin-bottom:30px; }
}

/* Keep the business offering as one centered, editorial statement below the package grid. */
.photography-pricing:not(.wedding-pricing) .pricing-bespoke {
 grid-template-columns:1fr;
 justify-items:center;
 gap:18px;
 text-align:center;
}
.photography-pricing:not(.wedding-pricing) .pricing-bespoke p {
 max-width:700px;
 text-align:center;
}

/* Align the first customer reaction with the contact card without crowding the two columns. */
@media (min-width:1051px) {
 .photography-closing-reactions { padding-top:0; }
 .photography-closing-reactions .client-reactions-carousel,
 .photography-closing-reactions .client-reactions-controls { width:405px; }
}

/* Shared by Swedish, English and Chinese; sticky positioning preserves layout. */
.site-header.scroll-header {
 position:sticky;
 top:0;
 z-index:50;
 background:var(--paper);
 transition:transform 180ms ease;
}
.site-header.scroll-header-hidden { transform:translateY(-100%); }
.site-header.scroll-header:focus-within { transform:translateY(0); }
@media(prefers-reduced-motion:reduce) {
 .site-header.scroll-header { transition:none; }
}

/* Distinct editorial chapters on the homepage. */
body[data-page="home"] .book-feature {
 background:#edf0f1;
 box-shadow:0 0 0 100vmax #edf0f1;
 clip-path:inset(0 -100vmax);
}
