@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&family=DM+Sans:wght@300;400;500&family=Italiana&display=swap');

:root{--ink:#2b2926;--cream:#f6f3ed;--paper:#faf8f4;--sage:#eff2ec;--blush:#f5efec;--taupe:#aaa08e;--gold:#6a624a;--line:rgba(43,41,38,.18);--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--pad:clamp(1.4rem,5vw,5.5rem);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.65;overflow-x:hidden}body.nav-open{overflow:hidden}img,video{display:block;width:100%}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit}.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}.skip-link{position:fixed;z-index:200;top:.5rem;left:.5rem;padding:.65rem 1rem;background:var(--cream);transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.section-pad{padding-left:var(--pad);padding-right:var(--pad)}
.site-header{position:fixed;z-index:100;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.5rem var(--pad);color:#fff;transition:background .5s,color .5s,padding .5s}.site-header.scrolled,.site-header.menu-active{padding-top:1rem;padding-bottom:1rem;background:rgba(248,245,238,.96);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:blur(14px)}.brand{display:flex;flex-direction:column;line-height:1;letter-spacing:.18em}.brand span{font-size:.95rem}.brand small{font-size:.625rem;letter-spacing:.25em;margin-top:.45rem}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);font-size:.875rem;font-weight:400;text-transform:uppercase;letter-spacing:.09em}.site-nav a{position:relative}.site-nav a:not(.nav-enquire)::after{content:"";position:absolute;left:0;right:100%;bottom:-.35rem;border-bottom:1px solid;transition:right .35s}.site-nav a:hover::after{right:0}.nav-enquire{border:1px solid currentColor;padding:.75rem 1.2rem}.menu-toggle{display:none;background:none;border:0;width:2.8rem;height:2.8rem}.menu-toggle i{display:block;border-top:1px solid;width:1.7rem;margin:.45rem auto;transition:.3s}
.hero{position:relative;height:min(48rem,82svh);min-height:36rem;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#171612}.hero-video,.hero-scrim{position:absolute;inset:0;height:100%;object-fit:cover}.hero-scrim{background:linear-gradient(180deg,rgba(0,0,0,.50),rgba(0,0,0,.56) 48%,rgba(0,0,0,.65));}.hero-copy{position:relative;text-align:center;z-index:1;max-width:58rem;padding:4rem 1.35rem 6rem}.eyebrow,.kicker,.section-number{text-transform:uppercase;letter-spacing:.12em;font-size:.8125rem;font-weight:400}.hero h1{font:400 clamp(3.5rem,8vw,7rem)/1.05 var(--serif);letter-spacing:-.025em;margin:1.4rem 0}.hero h1 em,.manifesto h2 em,.section-heading h2 em,.film-heading h2 em,.about h2 em,.faq h2 em,.footer-cta h2 em{font-weight:400;color:inherit}.hero-note{font-family:var(--sans);font-size:1.125rem;line-height:1.65;letter-spacing:0;max-width:38rem;margin:0 auto;text-wrap:pretty}.scroll-cue{position:absolute;z-index:2;bottom:2rem;left:var(--pad);display:flex;align-items:center;gap:1rem;text-transform:uppercase;letter-spacing:.1em;font-size:.875rem}.scroll-cue i{display:block;width:4rem;border-top:1px solid}
.manifesto{display:grid;grid-template-columns:1fr 3fr;gap:3rem;padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(3.5rem,7vw,6rem)}.section-number{color:var(--gold);margin:0}.manifesto>div{max-width:1000px}.kicker{color:var(--gold);margin:0 0 1.5rem}.manifesto h2,.film-heading h2,.about h2,.faq h2{font:400 clamp(2.5rem,4.5vw,4.75rem)/1.12 var(--serif);letter-spacing:-.035em;margin:.3rem 0 2rem}.body-copy,.about-copy>p,.faq-intro>p{max-width:42rem;font-size:clamp(1rem,1.3vw,1.125rem);color:#5a554c}
.portfolio{background:var(--cream);padding-top:7rem;padding-bottom:9rem}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-heading h2{font:400 clamp(3rem,6vw,6rem)/1.08 var(--serif);margin:0}.portfolio-tabs{display:flex;gap:2rem;margin:4rem 0 3rem;border-bottom:1px solid var(--line)}.portfolio-tabs button{background:none;border:0;min-height:44px;padding:.6rem .25rem 1rem;text-transform:uppercase;letter-spacing:.08em;font-size:.875rem;cursor:pointer;position:relative}.portfolio-tabs button::after{content:"";position:absolute;bottom:-1px;left:0;right:100%;border-bottom:2px solid;transition:right .35s}.portfolio-tabs button[aria-pressed=true]::after{right:0}.masonry{columns:3;column-gap:clamp(1rem,2.1vw,2rem)}.work-card{break-inside:avoid;margin:0 0 clamp(2.4rem,4vw,4rem);transition:opacity .35s var(--ease),transform .5s var(--ease)}.work-card.is-hidden{display:none}.work-card.is-leaving{opacity:0;transform:translateY(18px)}.work-card figure{position:relative;margin:0;overflow:hidden;background:#ddd5c7}.ratio-portrait{aspect-ratio:3/4}.ratio-landscape{aspect-ratio:3/2}.ratio-tall{aspect-ratio:2/3}.ratio-square{aspect-ratio:1}.work-card img{height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}.work-card:hover img{transform:scale(1.035);filter:saturate(.82)}.work-card>div{padding-top:1rem}.work-card span,.film-index{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:#655e51}.work-card h3,.film-card h3{font:400 1.45rem var(--serif);margin:.35rem 0}.play-mark{position:absolute;display:grid;place-items:center;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:5rem;height:5rem;border-radius:50%;background:rgba(248,245,238,.88);color:var(--ink)!important}
.film-strip{padding:8rem 0;background:var(--ink);color:var(--cream);overflow:hidden}.film-heading{display:grid;grid-template-columns:1fr 3fr;margin-bottom:4rem}.film-heading h2{max-width:900px}.carousel{position:relative}.carousel-viewport{overflow:hidden}.carousel-track{display:flex;transition:transform .8s var(--ease);touch-action:pan-y}.film-strip .carousel{padding-left:var(--pad)}.film-card{min-width:min(72vw,980px);margin-right:clamp(1rem,3vw,3rem)}.film-card img{aspect-ratio:16/9;object-fit:cover;filter:saturate(.75)}.film-card .film-index{display:block;color:var(--taupe);margin-top:1.3rem}.carousel-controls{display:flex;align-items:center;justify-content:flex-end;gap:1.2rem;margin:2rem var(--pad) 0}.carousel-controls button{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid currentColor;border-radius:50%;background:transparent;cursor:pointer}.carousel-dots{display:flex;gap:.55rem}.carousel-dots button{width:.35rem;height:.35rem;min-width:0;padding:0;border:0;background:currentColor;opacity:.35}.carousel-dots button.active{opacity:1;transform:scale(1.5)}
.about{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(3rem,8vw,9rem);padding-top:10rem;padding-bottom:10rem}.about-image{position:relative}.about-image img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.7)}.about-image>span{display:block;margin-top:.8rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em}.about-copy{align-self:center}.about-copy .section-number{margin-bottom:4rem}.about-copy>p{margin:0 0 1.3rem}.text-link{display:inline-flex;gap:2rem;border-bottom:1px solid;padding:.6rem 0;margin-top:1rem;font-family:var(--serif);font-size:1.2rem}.awards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid var(--line);margin-top:4rem;padding-top:2rem}.awards strong,.awards span{display:block}.awards strong{font:400 1.45rem var(--serif)}.awards span{font-size:.58rem;line-height:1.4;text-transform:uppercase;letter-spacing:.12em;color:#70695d;margin-top:.5rem}
.testimonials{background:#d9d1c2}.testimonials>.section-pad{padding-top:8rem;padding-bottom:8rem}.quote-mark{font:400 8rem/1 var(--serif);color:var(--gold);height:6rem}.quote-carousel figure{min-width:100%;margin:0;text-align:center;padding:0 clamp(0rem,9vw,10rem)}.quote-carousel blockquote{font:400 clamp(2.1rem,4.5vw,5rem)/1.12 var(--serif);letter-spacing:-.025em;margin:1rem auto 2.5rem;max-width:1200px}.quote-carousel figcaption span,.quote-carousel figcaption strong{display:block}.quote-carousel figcaption strong{font:400 1rem var(--serif)}.quote-carousel figcaption span{font-size:.58rem;text-transform:uppercase;letter-spacing:.16em;margin-top:.5rem}.quote-carousel .carousel-controls{justify-content:center}
.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(3rem,8vw,10rem);padding-top:10rem;padding-bottom:10rem}.faq-intro h2{margin-top:4rem}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item h3{margin:0}.faq-item button{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;background:none;padding:1.8rem 0;font:400 clamp(1.15rem,1.7vw,1.5rem) var(--serif);cursor:pointer}.faq-item button span{font:300 1.5rem var(--sans);transition:transform .35s}.faq-item button[aria-expanded=true] span{transform:rotate(45deg)}.faq-answer{overflow:hidden}.faq-answer p{max-width:42rem;margin:0;padding:0 3rem 1.8rem 0;color:#5b554b}.faq-answer.opening{animation:faqIn .4s var(--ease)}@keyframes faqIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.site-footer{background:var(--ink);color:var(--cream)}.footer-cta{padding-top:5rem;padding-bottom:5rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.15)}.footer-cta h2{font:400 clamp(3rem,6vw,6rem)/1.1 var(--serif);margin:2rem 0 3rem}.footer-cta>a{display:inline-flex;gap:3rem;border-bottom:1px solid;padding:.8rem 0;text-transform:uppercase;letter-spacing:.1em;font-size:.9375rem}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:3rem;padding-top:5rem;padding-bottom:5rem}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.footer-grid h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:#cdb485;margin:0 0 1rem}.footer-grid a,.footer-grid p{font-size:.9375rem;margin:0;color:#ddd6ca}.footer-brand{color:var(--cream)!important;margin-bottom:1rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding:1.5rem var(--pad);display:flex;justify-content:space-between;font-size:.875rem;text-transform:none;letter-spacing:.02em;color:#bdb5a7}
.reveal{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){.masonry{columns:2}.manifesto{grid-template-columns:1fr 4fr}.about{gap:4rem}.awards{grid-template-columns:1fr}.film-heading{grid-template-columns:1fr 4fr}}
@media(max-width:1180px){:root{--pad:1.35rem}.site-header{padding-top:1.2rem;padding-bottom:1.2rem}.menu-toggle{display:block;position:relative;z-index:2}.menu-toggle[aria-expanded=true] i:first-of-type{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-of-type{transform:translateY(-4px) rotate(-45deg)}.site-nav{position:fixed;inset:0;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;justify-content:center;gap:2rem;font:400 1.8rem var(--serif);text-transform:none;letter-spacing:0;transform:translateY(-100%);opacity:0;visibility:hidden;transition:.55s var(--ease)}.site-nav.open{transform:none;opacity:1;visibility:visible}.nav-enquire{font:400 .9375rem var(--sans);text-transform:uppercase;letter-spacing:.15em}.hero{height:auto;min-height:34rem}.hero h1{font-size:clamp(3.25rem,10vw,6rem)}.manifesto,.film-heading,.faq{grid-template-columns:1fr}.manifesto{gap:3rem}.portfolio{padding-top:5rem;padding-bottom:6rem}.portfolio-tabs{gap:1.2rem;overflow-x:auto}.portfolio-tabs button{white-space:nowrap}.film-heading{gap:3rem}.film-card{min-width:86vw}.about{grid-template-columns:1fr;padding-top:6rem;padding-bottom:6rem}.about-image{max-width:82vw}.about-copy .section-number{margin-bottom:3rem}.faq{padding-top:7rem;padding-bottom:7rem}.faq-intro h2{margin-top:3rem}.footer-grid{grid-template-columns:1.5fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:1rem;flex-wrap:wrap}.footer-bottom span:nth-child(2){display:none}}
@media(max-width:520px){.masonry{columns:1}.section-heading{display:block}.section-heading h2{margin-top:3rem}.portfolio-tabs{margin-top:3rem}.manifesto h2,.film-heading h2,.about h2,.faq h2{font-size:2.75rem}.hero-copy{padding:3rem 1.25rem 7rem}.eyebrow{font-size:.8125rem}.scroll-cue{left:50%;transform:translateX(-50%)}.about-image{max-width:none}.testimonials>.section-pad{padding-top:6rem;padding-bottom:6rem}.quote-carousel figure{padding:0}.quote-carousel blockquote{font-size:2rem}.awards{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-cta{padding-top:7rem;padding-bottom:7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-video{display:none}}


/* Phase 1: shared page foundation; essential content is visible without JavaScript. */
.preview-notice{margin:0;padding:.8rem var(--pad);background:var(--cream);color:#514b42;font-size:.875rem;text-align:center;position:relative;z-index:3}.site-header{position:absolute}.site-header.scrolled{position:fixed}.hero-fallback{position:absolute;inset:0;height:100%;object-fit:cover}.video-toggle{position:absolute;right:var(--pad);bottom:2rem;z-index:3;background:rgba(23,22,18,.75);border:1px solid #fff;padding:.75rem 1rem;cursor:pointer;font-size:.75rem}.services{padding-top:6rem;padding-bottom:6rem}.services h2,.page-details h2{font:400 clamp(2.3rem,4vw,4.5rem)/1.05 var(--serif)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.service-grid a{border-top:1px solid var(--line);padding:2rem 0}.service-grid span{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em}.service-grid h3{font:400 2rem var(--serif)}.content-note{font-size:.9rem;color:#5a554c}.portrait-placeholder,.asset-placeholder{background:linear-gradient(135deg,#ddd4c4,#ebe4d9);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:380px;text-align:center;padding:2rem}.portrait-placeholder span,.asset-placeholder span{font:400 clamp(2rem,5vw,4rem) var(--serif)}.asset-placeholder small,.portrait-placeholder small{font-size:.875rem;letter-spacing:.05em}.inner-page .site-header{position:relative;background:var(--paper);color:var(--ink)}.inner-page .site-header.scrolled{position:relative}.page-intro{padding-top:4rem;padding-bottom:3rem}.page-intro h1{font:400 clamp(3.25rem,6vw,6rem)/1.08 var(--serif);letter-spacing:-.035em;margin:2rem 0}.page-lede{max-width:38rem;color:#5a554c;font-size:1.1rem}.page-details{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding-bottom:7rem}.page-details p{max-width:38rem}.site-nav [aria-current=page]{border-bottom:1px solid}.carousel-dots button{position:relative;width:2.75rem;height:2.75rem;background:transparent;opacity:1}.carousel-dots button::after{content:"";position:absolute;width:.35rem;height:.35rem;border-radius:50%;background:currentColor;inset:calc(50% - .175rem);opacity:.4}.carousel-dots button.active::after{opacity:1}.carousel-dots button.active{transform:none}
@media(max-width:1180px){.service-grid,.page-details{grid-template-columns:1fr}.page-details{gap:2rem}.page-intro{padding-top:4rem}.site-nav{z-index:1}.brand{position:relative;z-index:2}.inner-page .site-header{z-index:100}.asset-placeholder{min-height:300px}}
@media(prefers-reduced-motion:reduce){.hero-video,.video-toggle{display:none}}
/* Navigation and media remain usable if scripts cannot load. */
.site-header{position:relative;background:var(--paper);color:var(--ink)}
[hidden]{display:none!important}.work-card.is-hidden{display:block}
html:not(.nav-enhanced) .menu-toggle{display:none}
@media(max-width:1180px){html:not(.nav-enhanced) .site-header{display:block}html:not(.nav-enhanced) .site-nav{position:static;transform:none;opacity:1;visibility:visible;flex-direction:row;flex-wrap:wrap;font:400 .85rem var(--sans);gap:1rem;margin-top:1.5rem}html:not(.nav-enhanced) .nav-enquire{padding:.5rem}.nav-enhanced .site-nav.open{height:100dvh}}

.carousel:not(.carousel-enhanced) .carousel-viewport{overflow-x:auto}.carousel:not(.carousel-enhanced) .carousel-controls{display:none}

/* Readability and clear next steps. */
.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.8rem 1.2rem;border:1px solid currentColor;font:500 .9375rem/1.4 var(--sans);letter-spacing:.01em;text-align:center}
.button-primary{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.button-secondary{color:#fff;background:rgba(23,22,18,.4)}
.button:hover{box-shadow:0 0 0 1px currentColor}
.footer-grid a{min-height:32px;display:inline-flex;align-items:center}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.footer-cta .footer-status{font:400 1rem/1.65 var(--sans);color:#ddd6ca;margin:1rem auto;max-width:38rem}
.site-footer .kicker{color:#cdb485}.site-footer :focus-visible,.hero :focus-visible{outline-color:#fff}
.page-actions{display:flex;flex-wrap:wrap;gap:1rem 2rem}.page-details>div{min-width:0}.hero-copy,.page-intro{overflow-wrap:break-word}
@media(max-width:1180px){.site-nav{font-size:1.75rem;overflow-y:auto;padding:6rem 1.5rem 2rem;gap:1.25rem}.site-nav a{min-height:44px;display:flex;align-items:center}.site-nav .nav-enquire{font-size:1rem}.hero-actions{gap:.75rem}.footer-cta{padding-top:4rem;padding-bottom:4rem}}
@media(max-width:520px){.hero-actions{flex-direction:column;align-items:stretch}.hero-note{font-size:1rem}.hero h1{font-size:clamp(3rem,13vw,4.25rem)}.portfolio-tabs{gap:1rem}.footer-grid{column-gap:1.25rem}.footer-grid a{overflow-wrap:anywhere}.footer-bottom{align-items:center}}
/* Service experiences and a progressive-enhancement image viewer. */
.experience-section{padding-top:3rem;padding-bottom:4rem;border-top:1px solid var(--line)}
.experience-section>h2,.portfolio-pending h2,.portfolio-pending h3{font:400 clamp(2rem,4vw,3.75rem)/1.12 var(--serif);letter-spacing:-.025em;margin:.5rem 0 2rem}
.section-copy,.gallery-guidance{max-width:44rem;font-size:1.0625rem;color:#514b42;line-height:1.75}
.gallery-guidance{margin:1rem 0 2rem}.gallery-next{margin-top:1rem}.gallery-empty{padding:2rem 0}
.portfolio-pending{padding:clamp(2rem,5vw,4rem);border:1px solid var(--line);background:var(--cream);max-width:55rem}
.portfolio-pending p{max-width:38rem}.portfolio-pending h2,.portfolio-pending h3{font-size:clamp(2rem,3vw,3rem)}
.planning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:2rem}
.planning-grid article{border-top:1px solid var(--line);padding:1.5rem 0}.planning-grid h3,.path-grid h3,.process-list h3{font:400 1.75rem/1.2 var(--serif);margin:.75rem 0}
.planning-number{font-size:.875rem;color:var(--gold)}.planning-grid p,.path-grid p,.process-list p{max-width:38rem;color:#514b42}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.path-grid article{border:1px solid var(--line);padding:2rem}
.process-list{padding-left:1.5rem;max-width:50rem}.process-list li{padding:.5rem 0 1rem 1rem}.process-list li::marker{color:var(--gold);font-weight:500}
.service-status{border-left:3px solid var(--gold);background:var(--cream);padding:1.5rem 2rem;margin-top:2rem;max-width:50rem}.service-status p{margin-top:0}.service-status .text-link{margin-top:0}
.about-introduction{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.about-introduction .portrait-placeholder{min-height:300px}
.film-strip h2{font:400 clamp(2.5rem,5vw,5rem)/1.12 var(--serif);margin:1rem 0}.film-strip .kicker{color:#cdb485}.film-description{max-width:40rem;font-size:1.125rem}.film-strip .text-link{color:var(--paper)}
.gallery-image-link{display:block;position:relative;height:100%}.gallery-image-link:focus-visible{outline-offset:-5px;outline:3px solid #fff}
.gallery-enlarge{position:absolute;bottom:1rem;right:1rem;background:var(--paper);color:var(--ink)!important;padding:.6rem .9rem;font:500 .875rem/1.5 var(--sans)!important;text-transform:none!important;letter-spacing:0!important}
body.viewer-open{overflow:hidden}
.image-viewer{box-sizing:border-box;width:min(94vw,75rem);max-width:75rem;max-height:94dvh;padding:1.25rem 1.5rem;border:0;background:var(--paper);color:var(--ink);overflow:auto}
.image-viewer::backdrop{background:rgba(0,0,0,.86)}.image-viewer[open]{display:block}.viewer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.viewer-header h2{font:400 1.6rem/1.3 var(--serif);margin:0}
.viewer-close,.viewer-controls button{min-height:44px;border:1px solid var(--line);background:transparent;padding:.6rem 1rem;cursor:pointer;font-size:.9375rem}.viewer-controls button:disabled{opacity:.45;cursor:default}
#viewer-disclosure{font-size:.875rem;color:#514b42;margin:.75rem 0}.viewer-figure{margin:0;text-align:center}.viewer-image{height:60dvh;width:100%;object-fit:contain;background:#e6dfd2}.viewer-figure figcaption{font-size:.9375rem;margin-top:.75rem}
.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem}.viewer-position,.viewer-loading{font-size:.875rem;text-align:center}.viewer-loading:empty{display:none}
@media(max-width:1180px){.planning-grid{grid-template-columns:1fr}.path-grid,.about-introduction{grid-template-columns:1fr}.experience-section{padding-top:2rem;padding-bottom:3rem}.planning-grid{gap:.5rem}.image-viewer{padding:1rem}.viewer-image{height:55dvh}}
@media(max-width:520px){.path-grid article,.service-status{padding:1.25rem}.viewer-header h2{font-size:1.25rem}.viewer-controls{gap:.5rem}.viewer-controls button{padding:.6rem .75rem}.viewer-position{font-size:.8125rem}.image-viewer{width:96vw}.viewer-image{height:48dvh}}

/* Compact, image-led openings and the shared pastel palette. */
.preview-notice{padding:.45rem 1rem;background:var(--blush);font-size:.78125rem;line-height:1.45;color:var(--ink)}
.page-intro{padding-top:1.75rem;padding-bottom:1.75rem;background:var(--sage)}.page-intro .kicker{margin-bottom:.75rem}.page-intro h1{font-size:clamp(2.5rem,5vw,4.5rem);margin:.75rem 0 1rem}.page-intro .page-lede{margin-bottom:0}
.collection-hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-areas:"title image" "description image";column-gap:clamp(1.5rem,4vw,4rem);padding-top:clamp(1.5rem,3vw,2.75rem);padding-bottom:clamp(1.5rem,3vw,2.75rem)}
.collection-title{grid-area:title;align-self:end;min-width:0}.collection-title .kicker{margin-bottom:.8rem}.collection-title h1{font:400 clamp(2.5rem,4.5vw,4.1rem)/1.09 var(--serif);letter-spacing:-.035em;margin:0;text-wrap:balance;overflow-wrap:break-word}.collection-title h1 em{font-weight:400}
.collection-visual{grid-area:image;align-self:center;margin:0;min-width:0}.collection-visual img{width:100%;height:auto;object-fit:contain}
.collection-description{grid-area:description;align-self:start;padding-top:1rem;min-width:0}.collection-description .page-lede{font-size:1rem;line-height:1.65;margin:0;max-width:32rem}.collection-description .text-link{font-size:1.05rem;min-height:44px;margin-top:.65rem;gap:1rem}
.collection-gallery{padding-top:1rem;padding-bottom:3rem}.collection-toolbar{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.8rem;margin-bottom:1.5rem;color:#514b42;font-size:.8125rem;line-height:1.5}.collection-toolbar p{margin:0}
.curated-gallery .work-card figure{aspect-ratio:auto}.curated-gallery .work-card img{height:auto;object-fit:contain}.curated-gallery .work-card:hover img{transform:none;filter:none}
.grand-hero{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:28rem;height:clamp(28rem,69svh,46rem);overflow:hidden;background:var(--ink);color:#fff}
.grand-hero-image,.grand-hero-shade{position:absolute;inset:0;z-index:-1}.grand-hero-image img{height:100%;width:100%;object-fit:cover;object-position:center 52%}.grand-hero-shade{background:linear-gradient(90deg,rgba(25,24,22,.83) 0%,rgba(25,24,22,.65) 38%,rgba(25,24,22,.18) 78%),linear-gradient(0deg,rgba(25,24,22,.4),transparent 65%)}
.grand-hero-copy{position:relative;width:100%;max-width:54rem;padding:clamp(2rem,4.5vw,4.5rem) var(--pad)}.grand-hero .eyebrow{font-size:.75rem;letter-spacing:.11em;margin:0 0 1.1rem;max-width:36rem}.grand-hero h1{font:400 clamp(3rem,6.3vw,6rem)/1.04 var(--serif);letter-spacing:-.03em;margin:0 0 1.1rem}.grand-hero h1 em{font-weight:400}.grand-hero .hero-note{font-size:1.0625rem;line-height:1.55;margin:0;max-width:34rem}.grand-hero .hero-actions{justify-content:flex-start;margin-top:1.5rem;gap:.75rem}.grand-hero :focus-visible{outline-color:#fff}
.preview-trigger{gap:.6rem}.preview-duration{font-size:.75rem;padding:.15rem .4rem;border:1px solid currentColor;white-space:nowrap}.hero-full-photo{position:absolute;right:1.25rem;bottom:1rem;display:inline-flex;align-items:center;min-height:44px;padding:.5rem .8rem;font-size:.8125rem;background:rgba(25,24,22,.7);color:#fff;border:1px solid rgba(255,255,255,.7)}
.photo-home .portfolio{padding-top:3rem;padding-bottom:4rem}.photo-home .section-heading h2{font-size:clamp(2.5rem,4.5vw,4.25rem)}.photo-home .portfolio-tabs{margin:1.75rem 0 1.25rem}.photo-home .gallery-guidance{font-size:.9375rem;margin:.5rem 0 1.5rem}.photo-home .manifesto{padding-top:3.5rem;padding-bottom:3.5rem}
.services{background:var(--sage);padding-top:3.5rem;padding-bottom:3.5rem}.services h2{font-size:clamp(2.25rem,4.5vw,4rem);margin:.5rem 0 0}.service-grid{margin-top:1.5rem}.service-grid a{padding:1.5rem 0}.service-grid h3{margin:.65rem 0}.service-grid p{margin-bottom:0}.service-status{background:var(--blush)}.faq{padding-top:5rem;padding-bottom:5rem}.faq-intro h2{margin-top:1rem}
.preview-visual{position:relative}.preview-image-link{position:absolute;inset:0;display:flex;flex-direction:column;gap:.4rem;justify-content:center;align-items:center;background:rgba(25,24,22,.22);color:#fff;font-size:.875rem;font-weight:500;text-shadow:0 1px 8px #171612}.preview-image-link span:first-child{font-size:2rem;display:grid;place-items:center;width:64px;height:64px;background:var(--paper);color:var(--ink);text-shadow:none;border-radius:50%}.preview-image-link span:last-child{background:rgba(25,24,22,.85);padding:.35rem .65rem}.preview-image-link:focus-visible{outline:3px solid var(--ink);outline-offset:4px}.preview-explainer{font-size:.875rem;color:#514b42}
.photo-preview{box-sizing:border-box;width:min(94vw,76rem);max-width:76rem;max-height:94dvh;overflow:auto;border:0;padding:1.25rem 1.5rem;background:var(--paper);color:var(--ink)}.photo-preview::backdrop{background:rgba(20,19,17,.88)}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.preview-header h2{font:400 2rem/1.2 var(--serif);margin:0}.preview-close{min-height:44px;min-width:80px;padding:.5rem .8rem;background:transparent;border:1px solid var(--line);font-size:.9375rem;cursor:pointer}
#photo-preview-description,.preview-caption,.preview-message{font-size:.875rem;line-height:1.55;color:#514b42}.photo-preview video{display:block;width:100%;max-height:65dvh;object-fit:contain;background:var(--ink)}.preview-caption a{text-decoration:underline;text-underline-offset:.2em}.preview-message:empty{display:none}body.preview-open{overflow:hidden}
@media(min-width:761px){.collection-hero{background:linear-gradient(90deg,var(--sage) 0 42%,var(--paper) 42% 100%)}}
@media(min-width:1000px){.photo-home .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.grand-hero-copy{max-width:45rem}.grand-hero h1{font-size:clamp(3rem,7.5vw,5rem)}}
@media(max-width:760px){
.collection-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "image" "description";row-gap:1rem;padding-top:1.25rem;padding-bottom:1.5rem}.collection-title h1{font-size:clamp(2.1rem,8.6vw,3.25rem);line-height:1.08}.collection-title .kicker{font-size:.75rem;margin-bottom:.6rem}.collection-description{padding-top:0}.collection-description .page-lede{max-width:38rem}.collection-gallery{padding-top:.5rem}
.grand-hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch}.grand-hero-image{position:relative;inset:auto;z-index:auto}.grand-hero-image img{height:auto;object-fit:contain}.grand-hero-shade{display:none}.grand-hero-copy{max-width:none;padding:1.5rem var(--pad) 1.75rem}.grand-hero .eyebrow{font-size:.6875rem;margin-bottom:.75rem}.grand-hero h1{font-size:clamp(2.85rem,9.5vw,4rem);margin-bottom:.75rem}.grand-hero .hero-note{font-size:1rem}.grand-hero .hero-actions{margin-top:1.25rem}.hero-full-photo{display:none}
.page-intro{padding-top:1.5rem;padding-bottom:1.5rem}.page-intro h1{font-size:clamp(2.25rem,9vw,3.5rem)}.photo-home .portfolio{padding-top:2rem;padding-bottom:3rem}.photo-home .portfolio-tabs{margin-top:1.5rem}.photo-home .section-heading h2{margin-top:1rem}.photo-home .manifesto,.services{padding-top:2.5rem;padding-bottom:2.5rem}.faq{padding-top:3rem;padding-bottom:3rem}.collection-toolbar{font-size:.75rem;gap:.75rem}.collection-toolbar p:last-child{max-width:13rem;text-align:right}.photo-preview{width:96vw;padding:1rem}.preview-header h2{font-size:1.6rem}.photo-preview video{max-height:60dvh}
}

/* Full-frame homepage slideshow and a single enquiry destination. */
.slideshow-hero{display:grid;grid-template-columns:minmax(0,36fr) minmax(0,64fr);align-items:center;height:auto;min-height:0;overflow:visible;gap:0;background:var(--ink)}
.slideshow-hero .grand-hero-copy{padding:2.5rem clamp(1.4rem,3vw,3rem);max-width:none;width:auto;min-width:0}.slideshow-hero h1{font-size:clamp(2.8rem,4.6vw,5rem)}.slideshow-hero .hero-actions{display:flex;flex-wrap:wrap}.slideshow-hero .eyebrow{font-size:.6875rem;line-height:1.8}.slideshow-hero .hero-note{font-size:1rem}.slideshow-hero .button{font-size:.8125rem;padding:.75rem 1rem;min-height:44px}
.hero-slideshow{min-width:0;background:var(--ink);color:var(--paper)}.hero-slides{aspect-ratio:3/2;position:relative;overflow:hidden}.hero-slide{margin:0;position:absolute;inset:0}.hero-slide img{width:100%;height:100%;object-fit:contain}
.hero-slide-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.25rem 1rem;font-size:.75rem}.hero-slide-bar p{margin:0}.hero-slide-bar a{min-height:44px;display:inline-flex;align-items:center;text-decoration:underline;text-underline-offset:.2em;white-space:nowrap}
.hero-slideshow-controls{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:0 1rem .75rem}.hero-slideshow-controls button{border:1px solid #aaa69f;background:transparent;min-height:44px;cursor:pointer}.hero-slideshow-controls [data-slide-pause]{font-size:.75rem;padding:.5rem .75rem;min-width:8.5rem}.hero-slide-dots,.hero-slide-arrows{display:flex;align-items:center;gap:.1rem}.hero-slide-dots button{display:grid;place-items:center;width:44px;padding:0;border:0}.hero-slide-dots span{width:7px;height:7px;border:1px solid currentColor;border-radius:50%}.hero-slide-dots [aria-pressed=true] span{background:currentColor}.hero-slide-arrows{gap:.4rem}.hero-slide-arrows button{width:44px;font-size:1.2rem}.hero-slideshow :focus-visible{outline:2px solid var(--paper);outline-offset:2px}
.gallery-enquiry{background:var(--sage);display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:1.75rem;padding-bottom:1.75rem}.gallery-enquiry h2{font:400 clamp(1.8rem,3vw,2.75rem)/1.15 var(--serif);margin:.5rem 0}.gallery-enquiry .kicker{font-size:.75rem;margin:0}.enquiry-link{background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-size:.875rem;min-height:44px;text-align:center}.home-enquiry{padding-top:1rem;padding-bottom:1.5rem;background:var(--sage)}.home-enquiry .text-link{margin:0;min-height:44px}
.enquiry-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(2rem,5vw,5rem);padding-top:2.5rem;padding-bottom:3rem}.enquiry-section h2{font:400 clamp(2.25rem,3.5vw,3.5rem)/1.12 var(--serif);margin:.5rem 0 1.25rem}.enquiry-section>div>p{max-width:34rem}.enquiry-section .service-status{font-size:.875rem;padding:1rem 1.25rem}.enquiry-form fieldset{border:0;padding:0;margin:0;min-width:0}.enquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.enquiry-fields label{font-size:.875rem;display:flex;flex-direction:column;gap:.4rem}.enquiry-fields label span{font-size:.75rem;display:contents}.enquiry-fields input,.enquiry-fields select,.enquiry-fields textarea{width:100%;min-width:0;min-height:44px;padding:.75rem;background:#eeeae4;border:1px solid #aaa49b;border-radius:0;font:inherit;color:#615b53;opacity:1;-webkit-text-fill-color:#615b53}.enquiry-fields textarea{resize:vertical}.field-wide{grid-column:1/-1}.enquiry-submit{margin-top:1.25rem;padding:.85rem 1.25rem;background:var(--ink);color:var(--paper);border:0;font-size:.875rem;opacity:.65;min-height:44px}.consultation-section{background:var(--blush)}
@media(max-width:1000px) and (min-width:761px){.slideshow-hero{grid-template-columns:minmax(0,38fr) minmax(0,62fr)}.slideshow-hero .grand-hero-copy{padding:1.5rem}.slideshow-hero h1{font-size:3rem}.hero-slide-dots button{width:36px}.hero-slideshow-controls{padding-left:.5rem;padding-right:.5rem}.hero-slideshow-controls [data-slide-pause]{min-width:0;padding:.5rem}.hero-slide-arrows button{width:36px}}
@media(max-width:760px){.slideshow-hero{display:flex;flex-direction:column;align-items:stretch}.slideshow-hero .hero-slideshow{order:-1}.slideshow-hero .grand-hero-copy{padding:1.5rem var(--pad) 1.75rem}.slideshow-hero h1{font-size:clamp(2.85rem,9.5vw,4rem)}.slideshow-hero .hero-actions{flex-direction:row;align-items:center}.hero-slideshow-controls{flex-wrap:wrap}.hero-slide-dots button{width:36px}.hero-slideshow-controls [data-slide-pause]{min-width:7.7rem}.hero-slide-arrows button{width:40px}.hero-slide-bar{gap:.5rem}.gallery-enquiry{display:block}.gallery-enquiry .enquiry-link{margin-top:1rem}.enquiry-section{grid-template-columns:1fr;gap:1.5rem}.enquiry-fields{grid-template-columns:1fr}.field-wide{grid-column:auto}}
@media(max-width:360px){.hero-slideshow-controls{column-gap:.1rem;padding-left:.5rem;padding-right:.5rem}.hero-slide-dots button{width:30px}.hero-slide-arrows button{width:36px}.hero-slide-arrows{gap:.2rem}.hero-slideshow-controls [data-slide-pause]{min-width:0;padding:.5rem}}

/* Edge-to-edge photographs, with ivory, sage and blush throughout. */
.slideshow-hero{display:flex;flex-direction:column;align-items:stretch;background:var(--paper);color:var(--ink);isolation:auto}
.slideshow-hero .hero-slideshow{order:-1;width:100%;background:var(--paper);color:var(--ink)}
.slideshow-hero .hero-slides{width:100%;height:clamp(24rem,62svh,48rem);aspect-ratio:auto}
.slideshow-hero .hero-slide img{object-fit:cover;object-position:center 25%}
.slideshow-hero .hero-slide-bar{background:var(--paper);padding-left:var(--pad);padding-right:var(--pad)}
.slideshow-hero .hero-slideshow-controls{background:var(--sage);padding:.5rem var(--pad);border-bottom:1px solid var(--line)}
.slideshow-hero .hero-slideshow-controls button{border-color:var(--line)}
.slideshow-hero .hero-slideshow :focus-visible,.slideshow-hero :focus-visible{outline-color:var(--ink)}
.slideshow-hero .grand-hero-copy{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow actions" "title actions" "note actions";gap:.35rem 2rem;padding:1.5rem var(--pad) 2rem;background:var(--paper)}
.slideshow-hero .eyebrow{grid-area:eyebrow;margin:0}.slideshow-hero h1{grid-area:title;font-size:clamp(2.6rem,4vw,4.25rem);margin:0}.slideshow-hero .hero-note{grid-area:note;margin-top:.4rem}.slideshow-hero .hero-actions{grid-area:actions;align-self:center;margin:0;max-width:28rem}
.slideshow-hero .button-primary{background:var(--blush);border-color:var(--line);color:var(--ink)}.slideshow-hero .button-secondary{background:var(--sage);border-color:var(--line);color:var(--ink)}
.film-strip{background:var(--blush);color:var(--ink)}.film-strip .kicker,.film-strip .text-link{color:var(--ink)}
.site-footer{background:var(--sage);color:var(--ink)}.site-footer .kicker,.footer-grid h3,.footer-grid a,.footer-grid p,.footer-bottom,.footer-cta .footer-status{color:var(--ink)}.footer-brand{color:var(--ink)!important}.footer-cta,.footer-bottom{border-color:var(--line)}.site-footer :focus-visible{outline-color:var(--ink)}
.enquiry-fields input,.enquiry-fields select,.enquiry-fields textarea{background:var(--paper);color:var(--ink);-webkit-text-fill-color:var(--ink);border-color:#8b887f}.enquiry-fields select{cursor:pointer}.enquiry-submit{opacity:1;cursor:pointer;background:var(--sage);color:var(--ink);border:1px solid #8b887f}.enquiry-submit:hover{background:var(--blush)}.direct-email{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:.2em}.enquiry-feedback{font-size:.875rem}.enquiry-feedback:empty{display:none}.footer-grid a{overflow-wrap:anywhere;max-width:100%}
@media(max-width:760px){.slideshow-hero .hero-slides{height:auto;aspect-ratio:3/2}.slideshow-hero .hero-slide img{object-fit:contain}.slideshow-hero .grand-hero-copy{display:block;padding:1.5rem var(--pad) 1.75rem}.slideshow-hero h1{font-size:clamp(2.85rem,9.5vw,4rem);margin:.75rem 0}.slideshow-hero .hero-actions{margin-top:1.25rem;max-width:none}.slideshow-hero .hero-slideshow-controls{padding-left:.75rem;padding-right:.75rem}.slideshow-hero .hero-slide-bar{padding-left:1rem;padding-right:1rem}}

/* Slideshow controls stay over the photograph in a readable ivory panel. */
.hero-image-stage{position:relative}
.slideshow-hero .hero-slideshow-controls{position:absolute;z-index:2;left:1rem;right:1rem;bottom:1rem;width:max-content;max-width:calc(100% - 2rem);margin:0 auto;padding:.35rem .65rem;background:rgba(247,243,238,.96);border:1px solid rgba(43,41,38,.28);border-radius:.2rem;gap:1rem;box-shadow:0 2px 12px rgba(43,41,38,.1)}
.slideshow-hero .hero-slideshow-controls [data-slide-pause]{min-width:4rem;padding:.4rem .6rem;font-size:.8125rem;background:var(--sage)}.slideshow-hero .hero-slide-arrows button{background:var(--blush)}.slideshow-hero .hero-slide-dots button{width:36px}
.curated-gallery .work-card{margin-bottom:clamp(1rem,2vw,2rem)}
.pricing-section{padding-top:3rem;padding-bottom:3rem;background:var(--blush)}.pricing-section h2{font:400 clamp(2.25rem,4vw,3.5rem)/1.12 var(--serif);margin:.5rem 0 1rem}.pricing-section .kicker{margin-bottom:.75rem}.pricing-note{max-width:50rem;font-size:1rem;line-height:1.7;margin-bottom:1.75rem}.pricing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.price-card{background:var(--paper);padding:1.5rem;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.price-card h3{min-height:2.4em;font:400 1.75rem/1.2 var(--serif);margin:0 0 1rem}.starting-price{display:flex;flex-direction:column;gap:.15rem;margin:0 0 1rem}.starting-price span{font-size:.875rem}.starting-price strong{font:400 2.5rem/1.15 var(--serif)}.price-card .text-link{margin-top:auto;min-height:44px;font-size:1rem}.gallery-starting-price{font-size:1.0625rem;line-height:1.65;margin:.75rem 0 .25rem}.gallery-price-note{max-width:44rem;font-size:.875rem;line-height:1.6;margin:.5rem 0 0}
@media(max-width:1000px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.slideshow-hero .hero-slideshow-controls{padding:.25rem .4rem;gap:.4rem;flex-wrap:nowrap;left:.75rem;right:.75rem;bottom:.75rem;max-width:calc(100% - 1.5rem)}.slideshow-hero .hero-slide-dots button{width:30px}.slideshow-hero .hero-slide-arrows{gap:.25rem}.slideshow-hero .hero-slide-arrows button{width:36px}.slideshow-hero .hero-slideshow-controls [data-slide-pause]{min-width:3.5rem;padding:.35rem}.pricing-section{padding-top:2rem;padding-bottom:2rem}}
@media(max-width:520px){.pricing-grid{grid-template-columns:1fr}.price-card{padding:1.25rem}.price-card h3{font-size:1.6rem;min-height:0}.gallery-starting-price{font-size:1rem}}
@media(max-width:360px){.slideshow-hero .hero-slide-dots button{width:24px}.slideshow-hero .hero-slideshow-controls{gap:.2rem;padding:.2rem .3rem}.slideshow-hero .hero-slide-arrows button{width:32px}}

.home-enquiry{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem}

/* Sony’s introduction uses her complete portrait and a calm editorial layout. */
.photographer-portrait{margin:0;width:100%;max-width:24rem;justify-self:center;background:var(--cream)}.photographer-portrait img{display:block;width:100%;height:auto;object-fit:contain}
.photographer-home{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-top:3rem;padding-bottom:3rem}.photographer-home .about-copy{max-width:40rem}.photographer-home .about-copy h2{margin-bottom:1.5rem}.photographer-home .about-copy>p{color:var(--ink);line-height:1.8}.photographer-home .photographer-portrait{max-width:22rem}
.photographer-story{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-top:2rem;padding-bottom:3rem;background:linear-gradient(90deg,var(--sage) 0 42%,var(--paper) 42% 100%)}
.photographer-bio{max-width:42rem}.photographer-bio .kicker{margin-bottom:.75rem}.photographer-bio h1{font:400 clamp(2.8rem,4.8vw,4.5rem)/1.08 var(--serif);letter-spacing:-.035em;margin:0 0 1.25rem}.photographer-bio h1 em{font-weight:400}.photographer-bio>p{font-size:1rem;line-height:1.8}.photographer-bio .text-link{margin-top:.5rem;min-height:44px}
@media(max-width:760px){.photographer-home,.photographer-story{grid-template-columns:1fr;gap:1.75rem;padding-top:1.5rem;padding-bottom:2.5rem}.photographer-story{background:var(--paper)}.photographer-portrait,.photographer-home .photographer-portrait{max-width:22rem}.photographer-bio h1{font-size:clamp(2.8rem,10vw,4rem)}.photographer-bio h1 br{display:none}}

/* A quiet, continuous palette and a genuine overlapping photo crossfade. */
.hero-slideshow.is-enhanced .hero-slide{opacity:0;z-index:0;pointer-events:none;animation:none;transition:opacity 1000ms ease-in-out}
.hero-slideshow.is-enhanced .hero-slide.is-active{opacity:1;z-index:1;pointer-events:auto}
.hero-slides{touch-action:pan-y}
.slideshow-hero .hero-slideshow-controls{padding:.15rem .5rem;gap:0;background:rgba(250,248,244,.88);border-color:rgba(43,41,38,.18);box-shadow:none;border-radius:2rem;backdrop-filter:blur(6px)}
.slideshow-hero .hero-slide-dots{gap:0}.slideshow-hero .hero-slide-dots button{width:36px;min-height:36px}
.slideshow-hero .hero-slide-dots span{width:6px;height:6px;transition:background-color .3s}
.slideshow-hero:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}
.services{background:linear-gradient(180deg,var(--paper),var(--sage) 22%,var(--sage) 78%,var(--paper))}
.film-strip,.pricing-section,.consultation-section{background:linear-gradient(180deg,var(--paper),var(--blush) 24%,var(--blush) 76%,var(--paper))}
.film-strip.section-pad{padding:3.5rem var(--pad)}
.site-footer{background:linear-gradient(180deg,var(--paper),var(--sage) 35%)}
.gallery-enquiry,.home-enquiry{background:var(--paper)}
.enquiry-section .service-status{background:var(--cream)}
@media(max-width:760px){.slideshow-hero .hero-slideshow-controls{padding:.1rem .4rem}.slideshow-hero .hero-slide-dots button{width:32px;min-height:36px}.film-strip.section-pad{padding-top:2.5rem;padding-bottom:2.5rem}}
@media(prefers-reduced-motion:reduce){.hero-slideshow.is-enhanced .hero-slide{transition:none}}

.pricing-summary{padding-top:2rem;padding-bottom:2rem;background:var(--paper);border-top:1px solid var(--line)}.pricing-summary h2{font:400 clamp(1.5rem,3vw,2rem)/1.3 var(--serif);margin:0 0 .35rem}.pricing-summary h2 strong{font-weight:400}.pricing-duration{font-size:.8125rem;line-height:1.6;margin:0;color:#5a554c}

/* The supplied artwork stays intact; the header frames its lens at native detail. */
.site-header .brand{flex-direction:row;align-items:center;gap:.75rem;flex-shrink:0}
.site-header .brand-mark{position:relative;display:block;flex:none;width:4rem;height:4rem;overflow:hidden;border-radius:50%;background:#272b2c}
.site-header .brand-mark img{position:absolute;max-width:none;width:281.3187%;height:auto;left:-18.1319%;top:-27.1978%}
.site-header .brand-wordmark{display:flex;flex-direction:column;gap:0;font-size:inherit}
.site-header .brand-wordmark>span{font:400 1.1rem/1 var(--serif);letter-spacing:.12em}
.site-header .brand-wordmark small{font-size:.5625rem;letter-spacing:.24em;margin-top:.5rem}
.site-header{gap:1.5rem;padding-top:.85rem;padding-bottom:.85rem}
.footer-grid .footer-brand-logo{display:block;width:min(100%,22rem);min-height:0;overflow:hidden;border-radius:.3rem}
.footer-brand-logo img{width:100%;height:auto}

/* Full frames fit inside the viewport without cropping or stretching. */
.slideshow-hero .hero-slides{height:min(66.6667vw,calc(100svh - 10rem));min-height:0;aspect-ratio:auto;background:var(--cream)}
.slideshow-hero .hero-slide img{object-fit:contain;object-position:center}

/* Social profiles and the original Instagram QR artwork on every page. */
.social-section{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(2rem,6vw,6rem);padding-top:3rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}
.social-copy{max-width:42rem}.social-copy .kicker{margin-bottom:.75rem}
.social-copy h2{font:400 clamp(2.25rem,4vw,3.5rem)/1.15 var(--serif);margin:0 0 1rem}
.social-copy>p:not(.kicker){font-size:1rem;max-width:35rem;margin:0 0 1.5rem}
.social-links{display:flex;flex-wrap:wrap;gap:1rem 2.5rem}
.social-links>a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;min-height:44px;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.875rem;overflow-wrap:anywhere}
.social-platform{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.social-links>a:hover{border-color:var(--ink)}
.instagram-qr{margin:0;width:18rem;max-width:100%;justify-self:end}
.qr-artwork{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden;border-radius:1.25rem;background:#fff}
.qr-artwork img{position:absolute;max-width:none;width:124.8447%;height:auto;left:-12.4224%;top:-39.441%}
.instagram-qr figcaption{margin-top:.75rem;font-size:.8125rem;line-height:1.6;text-align:center}
.instagram-qr figcaption a{text-decoration:underline;text-underline-offset:.2em;display:inline-flex;align-items:center;min-height:32px}
@media(max-width:1300px) and (min-width:1181px){.site-nav{gap:1rem;font-size:.8125rem;letter-spacing:.05em}.site-header{padding-left:2rem;padding-right:2rem}}
@media(max-width:760px){
 .site-header .brand-mark{width:3.5rem;height:3.5rem}.site-header .brand{gap:.6rem}.site-header .brand-wordmark>span{font-size:1rem}.site-header .brand-wordmark small{font-size:.5rem}
 .slideshow-hero .hero-slides{height:min(66.6667vw,calc(100svh - 9rem))}
 .social-section{grid-template-columns:minmax(0,1fr);gap:2rem;padding-top:2.5rem;padding-bottom:2.5rem}.instagram-qr{justify-self:start}.social-links{gap:1rem 2rem}
}

/* A clearer, more substantial wordmark alongside the original lens artwork. */
.site-header .brand-wordmark>span{font:500 clamp(1.15rem,1.6vw,1.4rem)/1.15 "Cinzel",Georgia,serif;letter-spacing:.11em}
.site-header .brand-wordmark small{font-weight:500;font-size:.5625rem;line-height:1.25;letter-spacing:.27em;color:var(--gold);margin-top:.35rem}
.slideshow-hero .hero-slide img{object-fit:cover;object-position:center top}
.social-links>a{flex-direction:row;align-items:center;gap:.75rem;padding:.7rem .1rem}
.social-icon{display:block;flex:none;width:1.75rem;height:1.75rem}
.photographer-story{align-items:start}
.photographer-story .photographer-portrait{position:sticky;top:2rem}
.photographer-bio h1{font-size:clamp(2.8rem,4.4vw,4rem);margin-bottom:1.5rem}
.photographer-bio h1>span{display:block}
.photographer-bio .photographer-role{font:400 clamp(1.3rem,2vw,1.65rem)/1.4 var(--serif);letter-spacing:0;margin-top:.65rem;max-width:25rem}
.photographer-bio>p:last-of-type{font-style:italic}
.feedback-section{padding-top:1rem;padding-bottom:3.5rem}
.feedback-rating legend{font-size:.875rem;margin-bottom:.6rem}
.rating-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem}
.enquiry-fields .rating-options label{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.6rem .3rem;border:1px solid #8b887f;background:var(--paper);cursor:pointer}
.enquiry-fields .rating-options input{width:1rem;min-width:1rem;min-height:1rem;height:1rem;margin:0;padding:0;accent-color:var(--ink);cursor:pointer}
.enquiry-fields .rating-options label>span{font-size:.9375rem}
.rating-options label:has(input:checked){background:var(--sage);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.rating-options label:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:3px}
.feedback-rating .content-note{font-size:.75rem;margin:.6rem 0 0}
@media(max-width:1440px) and (min-width:1181px){.site-nav{gap:1rem;font-size:.8125rem;letter-spacing:.05em}.site-header{padding-left:2rem;padding-right:2rem}}
@media(max-width:760px){.site-header .brand-wordmark>span{font-size:1.05rem;letter-spacing:.09em}.site-header .brand-wordmark small{font-size:.5rem}.photographer-story .photographer-portrait{position:static}.photographer-bio .photographer-role{font-size:1.4rem}.feedback-section{padding-top:.5rem}.enquiry-fields .rating-options input{width:.875rem;min-width:.875rem;height:.875rem;min-height:.875rem}}

@media(max-width:360px){.site-header{gap:.5rem}}

.footer-grid a[href^="mailto:"]{font-size:.875rem;line-height:1.6}
@media(max-width:760px){.footer-grid>div:last-child{grid-column:1/-1}}

/* Navigation remains available as the page scrolls, without a layout jump. */
html{scroll-padding-top:7.5rem}
body{overflow-x:clip}
.site-header,.site-header.scrolled,.inner-page .site-header,.inner-page .site-header.scrolled{position:sticky;top:0;background:rgba(250,248,244,.97);color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(43,41,38,.035)}
.photographer-story .photographer-portrait{top:7.5rem}

/* Four full-frame previews, in two columns balanced by their native ratios. */
.home-preview-pair{display:grid;grid-template-columns:var(--preview-columns,1fr 1fr);gap:clamp(1rem,2.1vw,2rem);align-items:start}
.home-preview-column{min-width:0;display:flex;flex-direction:column;gap:clamp(1rem,2.1vw,2rem)}
.home-preview-gallery .work-card{margin:0;min-width:0;break-inside:auto}
.home-preview-gallery .work-card figure{margin:0}
.home-preview-gallery .work-card img{display:block;width:100%;height:auto;object-fit:contain}

/* Films and portrait reels use YouTube’s on-demand players, without autoplay. */
.films-intro{padding-top:2rem;padding-bottom:2rem;background:linear-gradient(180deg,var(--sage),var(--paper))}
.films-intro .kicker{margin-bottom:.75rem}
.films-heading{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:center}
.films-heading h1{font:400 clamp(2.8rem,4.5vw,4.5rem)/1.06 var(--serif);letter-spacing:-.03em;margin:0}
.films-heading h1 em{font-weight:400}.films-heading .page-lede{max-width:35rem;margin:0 0 .75rem;font-size:1rem}
.selected-films{padding-top:1rem;padding-bottom:3rem}.selected-films h2,.selected-reels h2{font:400 clamp(2rem,3.5vw,3rem)/1.12 var(--serif);margin:0 0 1.5rem}
.selected-reels{padding-top:2.5rem;padding-bottom:3rem;background:linear-gradient(180deg,var(--paper),var(--sage) 30%,var(--sage) 75%,var(--paper))}
.selected-reels .kicker{margin-bottom:.75rem}.selected-reels h2 em{font-weight:400}
.films-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,3vw,3rem)}
.reels-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,3vw,3rem)}
.film-selection-card{min-width:0}.youtube-player{aspect-ratio:16/9;width:100%;background:#171816;overflow:hidden}.youtube-player iframe{display:block;width:100%;height:100%;border:0}.youtube-short{aspect-ratio:9/16}
.film-card-copy{padding:1rem 0}.film-category{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .4rem;color:var(--gold)}
.film-card-copy h3{font:400 clamp(1.5rem,2.2vw,2rem)/1.25 var(--serif);margin:0 0 .5rem}
.film-card-copy .text-link{font-size:.875rem;min-height:44px;margin-top:0}
@media(max-width:760px){.films-heading{grid-template-columns:1fr;gap:1rem}.films-intro{padding-top:1.5rem;padding-bottom:1.5rem}.films-heading h1{font-size:clamp(2.8rem,10vw,4rem)}.films-grid{grid-template-columns:1fr}.reels-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reels-grid>article:last-child{grid-column:1/-1;width:calc((100% - clamp(1.25rem,3vw,3rem))/2);justify-self:center}}
@media(max-width:520px){.home-preview-pair{grid-template-columns:1fr}.reels-grid{grid-template-columns:minmax(0,1fr)}.reels-grid>article:last-child{grid-column:auto;width:100%}.youtube-short{max-width:22rem;margin-inline:auto}}

/* A quiet signature stays over every slide and its crossfade. */
.slideshow-hero .hero-watermark{position:absolute;z-index:2;left:50%;top:74%;transform:translate(-50%,-50%);font:500 clamp(.85rem,2vw,2rem)/1.2 "Cinzel",Georgia,serif;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#fff;opacity:.32;text-shadow:0 1px 3px rgba(0,0,0,.65);pointer-events:none;user-select:none}
