:root{--paper:#eeeadf;--ink:#302e24;--muted:#656052;--olive:#3f4b36;--line:#d4cebf;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;color-scheme:light;font-family:var(--sans);font-size:16px;color:var(--ink);background:var(--paper)}
html{scrollbar-gutter:stable}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button:disabled{cursor:default}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8c632f;outline-offset:5px}h1,h2,h3,p{margin-top:0}p{line-height:1.7}h1{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.05;font-size:clamp(2.5rem,4.4vw,4.8rem);margin-bottom:1.5rem}h2,h3{font-weight:400}.sr-only,.skip-link:not(:focus){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:focus{position:fixed;z-index:100;padding:16px;background:var(--paper)}[hidden]{display:none!important}.view{animation:view-in .38s ease}main:focus{outline:none}.site-header{position:relative;z-index:20;min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 3.2%;border-bottom:1px solid var(--line);background:var(--paper)}.wordmark{flex:0 1 auto;display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{width:68px;height:68px;object-fit:contain;flex:none;mix-blend-mode:multiply}.wordmark-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.brand-name{font:clamp(1.25rem,1.65vw,1.65rem)/1.1 var(--serif);letter-spacing:-.025em}.wordmark small{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.navigation{display:flex;align-items:center;gap:clamp(15px,1.8vw,30px);font-size:.875rem;white-space:nowrap}.navigation a{padding:10px 0;border-bottom:1px solid transparent}.navigation a:hover,.navigation a[aria-current=page]{border-color:var(--ink)}.navigation .contact-link{border:1px solid #8a8878;padding:12px 20px}.navigation .contact-link:hover,.navigation .contact-link[aria-current=page]{background:var(--olive);color:#fff}.menu-toggle{display:none}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:16px 23px;font-size:.875rem;min-height:50px;border:1px solid transparent;line-height:1.35;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.light-button{background:#f5f1e6;color:var(--ink);border-color:#f5f1e6}.light-button:hover{background:#fffdf7}.dark-button{background:var(--olive);color:#fff;border-color:var(--olive)}.dark-button:hover{background:#2f3b27}.button[aria-disabled=true]{opacity:.6;cursor:default;transform:none}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:.9375rem;line-height:1.8;border-bottom:1px solid #8d8c7b;padding-bottom:3px}.back-link{display:block;margin:0 0 35px;font-size:.8125rem;color:var(--muted)}.back-link:hover{text-decoration:underline}.button-row{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}
/* Photography and animated scene layers use one shared coordinate system. */
.scene-viewport{aspect-ratio:1672/941;height:auto;min-height:0;max-height:none;position:relative;isolation:isolate;overflow:hidden;background:#cec2a7}.room-stage{position:absolute;aspect-ratio:1672/941;width:100%}.room-background{position:absolute;width:100%;height:100%;inset:0;max-width:none}.garden-layer,.curtain-layer,.plant-layer,.light-layer,.table-layer,.table-surface,.wall-photographs{position:absolute;inset:0;pointer-events:none}/* Keep architecture still: only foliage inside the opening moves. */
.garden-layer{background:url('images/room.webp') center/100% 100%;transform-origin:91% 57%;mask-image:linear-gradient(to bottom,#000 0%,#000 38%,transparent 53%);animation:garden-breeze 11s ease-in-out infinite;will-change:transform}
.garden-layer:after{content:"";position:absolute;inset:0;background:inherit;transform-origin:94% 48%;mask-image:linear-gradient(135deg,transparent 60%,#000 82%);animation:garden-near 8.5s ease-in-out infinite}
.curtain-layer{z-index:2;background:url('images/curtain-isolated.webp') center/100% 100% no-repeat;clip-path:inset(0 18.4% 11.5% 71.5%);transform-origin:77.5% 0;animation:curtain-breeze 12s ease-in-out infinite;will-change:transform}
.plant-layer{z-index:3;background:url('images/room-original.webp') center/100% 100% no-repeat;mask-image:radial-gradient(ellipse 9% 24% at 73.5% 62%,#000 52%,transparent 100%)}
.light-layer{z-index:1;background:linear-gradient(118deg,transparent 30%,rgba(255,242,208,.22) 56%,transparent 75%);mix-blend-mode:soft-light;animation:daylight 16s ease-in-out infinite alternate}
.wall-photographs{z-index:4}.frame{position:absolute;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:#ded7c8;pointer-events:auto;box-shadow:inset 0 0 3px #39301d45;transition:filter .25s}.frame>img{width:100%;height:100%;object-fit:contain}.frame:hover{filter:brightness(1.07)}.frame:focus-visible{outline:3px solid #f5ecd4;outline-offset:12px}.frame-caption{position:absolute;inset:auto 0 0;width:100%;padding:9px 10px;background:rgba(25,29,21,.87);color:#fff;font:14px/1.4 var(--sans);text-align:left;overflow-wrap:anywhere;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(3px);transition:opacity .18s,transform .18s;z-index:6}.frame:hover .frame-caption,.frame:focus-visible .frame-caption{opacity:1;visibility:visible;transform:none}.table-layer{z-index:5;transform:translate3d(var(--table-x,0px),var(--table-y,0px),0);will-change:transform}.table-surface{background:url('images/room.webp') center/100% 100%;clip-path:polygon(19.8% 83%,23.5% 79%,28% 77%,32% 75.5%,43% 75.2%,53% 76%,58% 76%,62% 75%,70% 79%,75% 84%,76% 91%,71% 97%,69% 100%,24% 100%,20% 94%)}.object-link{position:absolute;pointer-events:auto;z-index:7;display:block;border:0;background:transparent}.object-link:focus-visible{outline:3px solid #f5ecd4;outline-offset:5px}.object-caption{position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%,6px);width:max-content;background:#f5f0e7;padding:10px 14px;font-size:14px;opacity:0;visibility:hidden;box-shadow:0 4px 22px #2e261e25;transition:opacity .2s,transform .2s}.object-link:hover .object-caption,.object-link:focus-visible .object-caption{opacity:1;visibility:visible;transform:translate(-50%,0)}.camera-link{left:10.8%;top:58.9%;width:8.8%;height:7.1%}.album-link{left:27%;top:78%;width:31.7%;height:12.5%}.album-photo{position:absolute;object-fit:cover;filter:brightness(.89);pointer-events:none;max-width:none}.album-left{left:8.2%;top:12%;width:37.6%;height:67%;clip-path:polygon(9% 9%,94% 0,100% 90%,0 100%)}.album-right{left:51.9%;top:10%;width:39%;height:65%;clip-path:polygon(0 0,79% 5%,100% 100%,8% 91%)}.prints-link{left:56%;top:75.8%;width:15%;height:11.7%}.stack-photo{position:absolute;left:19%;top:12%;width:64%;height:39%;object-fit:cover;clip-path:polygon(0 10%,70% 0,100% 91%,29% 100%);filter:brightness(.94)}.room-intro{position:absolute;z-index:9;top:23px;left:3.2%;color:#332e23;pointer-events:none}.room-actions{position:absolute;bottom:27px;left:3.2%;right:3.2%;z-index:9;display:flex;justify-content:space-between;align-items:end;gap:16px;pointer-events:none}.room-actions>*{pointer-events:auto}.motion-toggle{border:1px solid #ddd5c4;background:#f5f1e6eb;padding:12px 16px;font-size:.8125rem;min-height:44px}.room-note{display:flex;justify-content:space-between;padding:14px 3.2%;gap:20px;font-size:.75rem;color:var(--muted);border-bottom:1px solid var(--line)}body.motion-paused .garden-layer,body.motion-paused .curtain-layer,body.motion-paused .light-layer{animation-play-state:paused}body.motion-paused .room-stage,body.motion-paused .table-layer{transform:none!important}
.gallery-view{padding:45px 5% 70px;max-width:1720px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.page-heading h1{font-size:clamp(2.25rem,4vw,4rem);max-width:820px;margin-bottom:0}.page-heading p{font-size:.875rem;color:var(--muted);margin-bottom:5px;flex:none}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;border-top:1px solid var(--line);margin-bottom:20px}.collection-filters{display:flex;gap:9px;flex-wrap:wrap}.collection-filters button{background:transparent;border:1px solid transparent;font-size:.875rem;padding:10px 15px;min-height:42px}.collection-filters button[aria-pressed=true]{background:var(--olive);color:#fff}.collection-filters button:hover{border-color:var(--olive)}.photo-count{font-size:.8125rem;color:var(--muted);white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 28px}.photo-card{margin:0}.photo-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.photo-image{aspect-ratio:1/1;background:#e4dfd2;display:flex;align-items:center;justify-content:center;overflow:hidden}.photo-image img{width:100%;height:100%;object-fit:contain;transition:filter .4s}.photo-open:hover .photo-image img{filter:brightness(1.07)}.photo-card figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:13px;font-size:.8125rem;color:var(--muted);line-height:1.5}.photo-card figcaption span:first-child{color:var(--ink)}
.editorial-view{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 156px)}.editorial-picture{display:flex;align-items:center;justify-content:center;background:#d8d9cd;padding:10%;min-width:0}.editorial-picture>img{width:100%;max-height:720px;object-fit:contain;box-shadow:0 15px 45px #262b1a15}.editorial-copy{padding:55px 13% 75px 12%;align-self:center}.editorial-copy>.eyebrow{margin-bottom:20px;color:var(--muted)}.editorial-copy h1{font-size:clamp(2.6rem,4.4vw,4.7rem)}.editorial-copy p{color:var(--muted);font-size:1rem}.lead,.editorial-copy .lead{font:1.25rem/1.5 var(--serif);color:var(--ink);margin-bottom:25px}.editorial-copy>.button{margin-top:18px}.print-picture{background:#dad2c0;flex-direction:column;gap:30px}.print-picture>span{font-size:.75rem;color:var(--muted);text-align:center}.print-mat{background:#f4f1e8;padding:8%;border:12px solid #6a4e36;box-shadow:6px 15px 24px #32261d30;transform:rotate(-2deg);width:100%}.print-mat img{width:100%;object-fit:contain}.quiet-steps{list-style:none;padding:0;margin:25px 0}.quiet-steps li{display:flex;gap:20px;border-top:1px solid var(--line);padding:17px 0 7px}.quiet-steps li>span{font-size:.75rem;color:var(--muted);padding-top:4px}.quiet-steps h2{font-size:1rem;margin-bottom:5px}.quiet-steps p{font-size:.875rem;margin-bottom:8px}.licensing-picture{background:#d6d3c7}.licence-notes{display:flex;flex-wrap:wrap;gap:12px 20px;padding-top:15px;font-size:.8125rem;color:var(--muted)}.contact-view{display:grid;grid-template-columns:1.05fr 1fr;min-height:calc(100svh - 154px)}.contact-inner{padding:60px 12% 55px}.contact-inner>.eyebrow{margin-bottom:22px}.contact-photo{padding:10%;display:flex;align-items:center;background:#d7d8ca}.contact-photo img{width:100%;object-fit:contain;max-height:680px}.contact-credit{margin:45px 0 0;font:1.35rem/1.8 var(--serif)}.contact-credit span{font:.75rem var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.contact-availability{font-size:.875rem;color:var(--muted);margin:18px 0 0}.inquiry-preview{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.inquiry-preview p{font-size:.875rem;overflow-wrap:anywhere;white-space:pre-line;margin-top:8px}.site-footer{border-top:1px solid var(--line);padding:23px 3.2%;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem;line-height:1.5}.site-footer>a:first-child{font-family:var(--serif);font-size:1rem;color:var(--ink)}
.workshops-view{padding:45px 5% 70px;max-width:1550px;margin:auto}.workshops-heading{max-width:850px;margin-bottom:25px}.workshops-heading>div>.eyebrow{margin-bottom:22px}.workshops-heading>img{width:100%;max-height:435px;object-fit:contain}.workshops-heading h1{font-size:clamp(2.8rem,5vw,5rem)}.sample-note{font-size:.8125rem;padding:14px 18px;background:#e2ded1;color:#635a43;border-left:2px solid #8a7752;margin:25px 0 36px}.workshop-list{display:block}.workshop-card{border-top:1px solid #8c8e7a;padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:5%;align-items:start}.workshop-card>img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#e1dfd2;margin-bottom:22px}.workshop-card .eyebrow{color:var(--muted);margin-bottom:11px}.workshop-card h2{font:2rem/1.1 var(--serif);margin-bottom:15px}.workshop-card p{font-size:.9375rem;color:var(--muted)}.workshop-meta{display:flex;flex-wrap:wrap;gap:7px 17px;font-size:.8125rem;line-height:1.7;color:var(--muted);margin:20px 0}.workshop-price{font:1.8rem var(--serif);color:var(--ink)}.workshop-price small{font:.8125rem var(--sans);color:var(--muted)}.workshop-card details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0}.workshop-card summary{padding:16px 0;cursor:pointer;font-size:.875rem}.programme{padding:0 0 12px}.programme li{margin-bottom:10px;font-size:.875rem;line-height:1.5;color:var(--muted)}.programme ul{padding-left:19px;margin:5px 0 18px}.programme p{font-size:.875rem}.workshop-card .button{width:100%;font-size:.875rem;padding:14px 15px}.workshop-enquiry{border-top:1px solid var(--line);margin-top:60px;padding-top:32px;display:flex;justify-content:space-between;align-items:center;gap:25px}.workshop-enquiry h2{font:2rem var(--serif);margin-bottom:10px}.workshop-enquiry p{color:var(--muted);margin-bottom:0}
.photo-dialog{width:100%;max-width:none;height:100dvh;max-height:none;inset:0;margin:0;padding:0;border:0;background:#171a14;color:#f4f1e8;overflow:hidden}.photo-dialog[open]{display:flex;flex-direction:column;animation:viewer-in .3s ease}.photo-dialog::backdrop{background:#171a14ee}.viewer-top{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;min-height:66px;flex:none;font-size:.8125rem;color:#c4c7bb}.viewer-tools{display:flex;gap:8px}.icon-button{background:transparent;color:#efeee6;border:1px solid #6a6d5f;min-height:42px;padding:10px 17px;font-size:.8125rem}.icon-button:hover{background:#35392e}.viewer-canvas{display:flex;align-items:center;justify-content:center;position:relative;min-height:0;flex:1;padding:5px 65px 20px}.viewer-image-wrap{height:100%;width:100%;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;scrollbar-color:#868a7b #171a14;touch-action:pan-x pan-y pinch-zoom}.viewer-image-wrap>img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;cursor:zoom-in}.viewer-image-wrap.zoomed{display:block;text-align:center}.viewer-image-wrap.zoomed>img{max-height:none;max-width:none;width:var(--zoom-width);height:auto;cursor:zoom-out;margin:auto}.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#262b20ba;color:#efeee6;border:1px solid #6a6d5f;width:44px;height:60px;font:2rem var(--serif);z-index:1}.viewer-arrow:hover{background:#3e4534}.viewer-arrow.previous{left:12px}.viewer-arrow.next{right:12px}.viewer-bottom{flex:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 30px 25px;border-top:1px solid #3b4133}.viewer-bottom .eyebrow{color:#babfac;font-size:.75rem}.viewer-bottom h2{font:clamp(1.15rem,1.8vw,1.7rem)/1.2 var(--serif);margin:7px 0}.viewer-bottom p{margin:0;color:#babfac;font-size:.75rem}.viewer-bottom .button{flex:none}.noscript{padding:20px;background:var(--paper)}
/* The curtain stays attached at its top; the hem follows a soft, uneven breeze. */
@keyframes curtain-breeze{0%,100%{transform:skewX(-.15deg) scaleX(1)}24%{transform:skewX(-.9deg) scaleX(1.012)}53%{transform:skewX(.55deg) scaleX(.996)}78%{transform:skewX(-.4deg) scaleX(1.006)}}
@keyframes garden-breeze{0%,100%{transform:translateX(0) rotate(-.1deg)}30%{transform:translateX(3px) rotate(.45deg)}64%{transform:translateX(-2px) rotate(-.3deg)}}
@keyframes garden-near{0%,100%{transform:translateX(-1px) rotate(-.2deg)}45%{transform:translateX(3px) rotate(.35deg)}}
@keyframes daylight{0%{opacity:.45;transform:translateX(-10px)}100%{opacity:.8;transform:translateX(15px)}}
@keyframes view-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes viewer-in{from{opacity:0;transform:scale(.99)}to{opacity:1;transform:none}}
@media(min-width:1600px){.site-header{padding-top:22px;padding-bottom:22px}.room-intro{top:30px}}
@media(max-width:1150px){.site-header{min-height:86px}.navigation{gap:16px}.brand-name{font-size:1.3rem}.navigation .contact-link{padding:10px 12px}.editorial-copy{padding:45px 9%}.room-intro{display:none}.page-heading p{display:none}}
@media(max-width:1080px){.site-header{padding:19px 5%;min-height:84px}.menu-toggle{display:flex;gap:15px;align-items:center;background:transparent;border:1px solid #93907f;padding:10px 14px;font-size:.875rem;min-height:44px}.navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:16px 5% 25px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #2b281416;white-space:normal}.navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.navigation a{padding:15px 0;font-size:1rem}.navigation .contact-link{margin-top:10px;text-align:center;padding:13px}.scene-viewport{height:auto;min-height:0}.editorial-copy{padding:40px 8%}.editorial-copy h1{font-size:2.8rem}.gallery-grid{gap:26px 18px}.contact-inner{padding:50px 10%}.site-footer>span{max-width:280px;text-align:center}.collection-filters{gap:4px}.collection-filters button{padding:10px 12px}.workshop-list{gap:20px}.workshop-card h2{font-size:1.7rem}}
@media(max-width:700px){.brand-name{font-size:1.2rem}.wordmark small{font-size:.75rem;letter-spacing:.1em}.menu-toggle{padding:10px 12px}.scene-viewport{aspect-ratio:auto;height:64svh;min-height:400px;max-height:580px}.room-stage{transform:none}.room-actions{left:5%;right:5%;bottom:18px;align-items:center}.room-actions .button{font-size:.8125rem;padding:14px 17px;gap:12px}.motion-toggle{font-size:0;min-width:44px;padding:12px}.motion-toggle:after{content:'Ⅱ';font-size:15px}.motion-toggle[aria-pressed=false]:after{content:'▷'}.room-note{padding:16px 5%;font-size:.75rem;display:block}.room-note span{display:block}.room-note span+span{margin-top:6px}.room-intro{display:none}.frame-caption{font-size:14px;padding:8px}.gallery-view{padding:28px 5% 45px}.page-heading{margin-bottom:25px}.page-heading h1{font-size:2.65rem}.back-link{margin-bottom:25px}.gallery-toolbar{display:block;padding:16px 0;margin-bottom:15px}.photo-count{display:block;margin:12px 0 0}.collection-filters{gap:4px}.collection-filters button{padding:9px 11px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 12px}.photo-card figcaption{font-size:.75rem;display:block;padding-top:9px}.photo-card figcaption span{display:block}.photo-card figcaption span+span{margin-top:3px}.editorial-view{display:flex;flex-direction:column}.editorial-picture{padding:8%;order:1}.editorial-picture>img{max-height:490px;width:100%}.editorial-copy{padding:30px 7% 45px;order:0}.editorial-copy h1{font-size:3.5rem}.editorial-copy .lead{font-size:1.2rem}.editorial-copy>.eyebrow{margin-bottom:15px}.button-row{gap:20px}.contact-view{display:flex;flex-direction:column}.contact-inner{padding:30px 7% 45px}.contact-inner h1{font-size:3.5rem}.contact-photo{padding:8%}.contact-photo img{max-height:460px}.site-footer{padding:22px 5%;flex-wrap:wrap;gap:14px}.site-footer>span{order:3;max-width:none;text-align:left;width:100%}.viewer-top{padding:12px 14px;min-height:65px}.viewer-canvas{padding:0 8px 12px}.viewer-arrow{top:auto;bottom:10px;transform:none;height:44px;background:#252a1fdb}.viewer-arrow.previous{left:15px}.viewer-arrow.next{right:15px}.viewer-bottom{padding:17px 18px 22px;display:block}.viewer-bottom h2{font-size:1.35rem}.viewer-bottom .button{width:100%;margin:0;padding:12px 8px;font-size:.875rem;gap:8px}.icon-button{padding:10px 12px}.print-mat{max-width:480px}.contact-credit{margin-top:35px}.workshops-view{padding:28px 5% 45px}.workshops-heading{grid-template-columns:1fr;gap:15px}.workshops-heading>img{max-height:290px}.workshops-heading h1{font-size:3.5rem}.workshop-list{grid-template-columns:1fr;gap:45px}.workshop-card h2{font-size:2.25rem}.workshop-card{display:block}.workshop-card>img{max-height:350px}.workshop-enquiry{display:block;margin-top:40px}.workshop-enquiry .button{margin-top:20px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-explicit) *,body:not(.motion-explicit) *:before,body:not(.motion-explicit) *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body:not(.motion-explicit) .room-stage,body:not(.motion-explicit) .table-layer{transform:none!important}}
@media(min-width:701px) and (max-height:650px){.viewer-bottom{padding:12px 25px}.viewer-top{min-height:55px;padding:8px 25px}.viewer-bottom h2{font-size:1.25rem}}
@media(max-width:420px){.site-header{gap:12px}.brand-name{font-size:1.05rem}.wordmark small{font-size:.75rem;letter-spacing:.07em}.menu-toggle{padding:10px;font-size:.8125rem;gap:10px}.room-actions .button{padding:13px;font-size:.75rem;gap:8px}}

/* A fixed mask keeps travelling leaf shadows on the plaster wall. */
.wall-shadow{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent 27%,#000 41%,#000 70%,transparent 75%),linear-gradient(#000 0%,#000 67%,transparent 77%);mask-composite:intersect}
.shadow-layer{position:absolute;inset:0;background:url('images/leaf-shadows.webp') center/100% 100%;mix-blend-mode:multiply;filter:contrast(1.7) blur(.6px);opacity:.5;animation:leaf-shadows 19s ease-in-out infinite;transform-origin:75% 25%;will-change:transform}
.wall-shadow{mix-blend-mode:multiply}
@keyframes leaf-shadows{0%,100%{transform:translate(-25px,8px) rotate(-1.2deg);opacity:.42}38%{transform:translate(24px,-16px) rotate(1deg);opacity:.6}72%{transform:translate(8px,-5px) rotate(.1deg);opacity:.5}}
body.motion-paused .shadow-layer,body.motion-paused .garden-layer:after{animation-play-state:paused}

.viewer-canvas.is-loading:after{content:'Loading photograph…';position:absolute;top:48%;left:0;right:0;text-align:center;font-size:.875rem;color:#dddccf;pointer-events:none}.viewer-canvas.is-loading .viewer-image-wrap{opacity:.2}

/* Navigation, scene panning and purchase paths. */
.scene-pan{position:absolute;inset:0;overflow:hidden}.garden-window{position:absolute;inset:0;pointer-events:none;clip-path:polygon(86.15% 7.6%,96.1% 1.8%,96.1% 57%,86.15% 57%);mask-image:linear-gradient(90deg,transparent 85.8%,#000 86.5%,#000 95.7%,transparent 96.3%)}
.room-pan-controls{display:none}.frame:hover,.frame:focus-visible{z-index:8}.bio-sources a{text-decoration:underline;text-underline-offset:4px}.editorial-copy .bio-sources{font-size:.875rem}
.footer-links,.social-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.footer-links a,.social-links a{padding:10px 0;font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.social-links{border-top:1px solid var(--line);margin-top:28px;padding-top:12px}
.contact-phone{display:block;width:fit-content;padding:14px 0;font-size:1rem;text-decoration:underline;text-underline-offset:4px}.contact-selection{display:flex;align-items:center;gap:20px;padding:20px 0;margin-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-selection>img{width:105px;max-height:140px;object-fit:contain}.contact-selection h2{font:1.25rem/1.25 var(--serif);margin:8px 0}.contact-selection p{font-size:.875rem;color:var(--muted);margin:0 0 4px}.contact-selection .eyebrow{font-size:.75rem}.contact-selection .text-link{font-size:.875rem}.contact-inner h1{font-size:clamp(2.5rem,4.2vw,4.5rem)}
.viewer-purchase{display:flex;gap:12px;flex:none}.outline-button{border:1px solid #c4c7bb;background:transparent;color:#f4f1e8}.outline-button:hover{background:#35392e}.viewer-purchase .button{min-width:135px}.viewer-bottom>div:first-child{min-width:0}.viewer-error{position:absolute;z-index:3;padding:22px;background:#171a14;text-align:center}.viewer-error p{margin:0 0 15px}.icon-button{min-height:44px}.viewer-image-wrap{scroll-behavior:auto}.collection-filters button{min-height:44px}.workshop-content .button{max-width:400px}.workshop-price{margin-bottom:18px}.workshop-content h2{font-size:2.6rem}.workshop-card>img{position:sticky;top:28px;max-height:620px}.programme strong{font-weight:600}
@media(max-width:980px){.viewer-purchase{gap:8px}.viewer-purchase .button{min-width:120px;padding:14px}.site-footer{flex-wrap:wrap}}
@media(max-width:700px){.scene-pan{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}.scene-pan::-webkit-scrollbar{display:none}.room-stage{max-width:none}.room-pan-controls{position:absolute;z-index:10;top:14px;right:5%;left:5%;display:flex;gap:8px;align-items:center;pointer-events:none}.room-pan-controls span{font-size:.875rem;margin-right:auto;padding:10px 12px;background:#f5f1e6ed}.room-pan-controls button{pointer-events:auto;min-width:44px;min-height:44px;border:1px solid #b6ad98;background:#f5f1e6ed;font-size:1.2rem}.room-pan-controls button:disabled{opacity:.4}.viewer-purchase{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.viewer-purchase .button{min-width:0;min-height:48px}.viewer-bottom{padding:12px 15px 16px}.viewer-bottom h2{font-size:1.2rem;margin:5px 0}.viewer-bottom p{font-size:.75rem}.workshop-card>img{position:static;max-height:350px}.workshop-content h2{font-size:2.1rem}.workshop-content .button{max-width:none}.contact-selection{gap:15px}.contact-selection>img{width:85px}.contact-inner h1{font-size:2.8rem}.site-footer>span{order:3;width:100%}.footer-links{gap:18px}.room-actions .button{font-size:.875rem}.room-actions{bottom:16px}.gallery-grid figcaption{font-size:.875rem}.photo-count,.back-link{font-size:.875rem}}
@media(max-height:520px) and (min-width:480px){.viewer-top{min-height:50px;padding:5px 16px}.viewer-bottom{display:flex;padding:8px 16px;gap:15px}.viewer-bottom .eyebrow,.viewer-bottom p{display:none}.viewer-bottom h2{font-size:1rem}.viewer-purchase{display:flex;margin-top:0}.viewer-purchase .button{width:auto;min-height:44px;padding:10px 14px}.viewer-canvas{padding-bottom:8px}}

.workshops-heading h1{font-size:clamp(2.5rem,4vw,3.8rem)}.workshops-heading .lead{margin-bottom:20px}.workshop-content .workshop-price{font:1.8rem var(--serif);color:var(--ink)}.workshop-meta{font-size:.875rem}.sample-note{font-size:.875rem}

@media(max-width:700px){.contact-inner{padding:24px 7% 35px}.contact-inner>.back-link,.contact-inner>.eyebrow{display:none}.contact-inner h1{font-size:2.2rem;margin-bottom:18px}.contact-inner>.lead{font-size:1.0625rem;line-height:1.5;margin-bottom:18px}.contact-selection{padding:14px 0;margin-bottom:18px}.contact-selection>img{max-height:105px}.contact-selection h2{font-size:1.125rem}.contact-inner>.button{width:100%}}

/* Original photographic logo, paired with an accessible text wordmark. */
@media(max-width:1150px){.brand-mark{width:58px;height:58px}.wordmark{gap:10px}}
@media(max-width:700px){.site-header{padding:13px 5%;gap:14px}.brand-mark{width:52px;height:52px}.wordmark{gap:9px}.wordmark-copy{gap:5px}.brand-name{line-height:1.1}.wordmark small{font-size:.75rem;letter-spacing:.07em;line-height:1.3}.menu-toggle{flex:none}}
@media(max-width:420px){.site-header{gap:9px}.brand-mark{width:46px;height:46px}.brand-name{font-size:1.0625rem;max-width:145px}.wordmark small{font-size:.75rem;letter-spacing:0}.menu-toggle{gap:7px;padding:10px 9px}.wordmark-copy{max-width:145px}}

@media(max-width:360px){.wordmark small{display:none}}

/* Keep navigation and the photo viewer usable on short screens and with enlarged text. */
.photo-dialog{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.viewer-top{position:sticky;top:0;z-index:4;background:#171a14}
.viewer-canvas{flex:1 0 160px;min-height:160px}
.viewer-image-wrap:focus-visible{outline:2px solid #eee9d6;outline-offset:-3px}
.icon-button,.motion-toggle,.photo-card figcaption{font-size:.875rem}
.editorial-copy,.contact-inner,.workshop-content{min-width:0}
.editorial-copy h1,.workshop-content h2,.contact-selection h2{overflow-wrap:anywhere}
@media(max-width:1080px){.navigation{max-height:calc(100dvh - 116px);overflow-y:auto;overscroll-behavior:contain}.menu-toggle{font-size:.875rem}}
@media(max-width:700px){.editorial-copy h1{font-size:clamp(2.5rem,10.5vw,3.5rem)}.motion-toggle{font-size:0}}
