/* Quiet editorial layout; motion progressively enhances the readable page. */
:root{color-scheme:light;--paper:#f5f1e5;--paper-light:#faf7ef;--ink:#35362e;--muted:#67695c;--line:#35362e29;--cream:#d8d0bc;--stone:#b9b4a6;--white:#fcfaf2;--veil:#1d241f75;--dark:#272c25;--sans:"Segoe UI",Arial,sans-serif;--serif:Georgia,"Times New Roman",serif;--nav-height:88px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px;overflow-x:clip}
body{margin:0;overflow-x:clip;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation;white-space:nowrap}
button{cursor:pointer;border:0;border-radius:0;background:none}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-weight:400}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
[hidden]{display:none!important}
.skip-link{position:fixed;top:-100px;left:16px;z-index:500;padding:12px 20px;background:var(--paper);color:var(--ink)}
.skip-link:focus{top:10px}
.studio-header{position:fixed;z-index:100;top:0;left:0;width:100%;min-height:var(--nav-height);padding:15px 2.7%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:25px;align-items:center;color:var(--white);transition:background .35s,color .35s}
.studio-header.scrolled,.studio-header.menu-open{color:var(--ink);background:var(--paper)}
.brand{display:flex;align-items:center;gap:14px;letter-spacing:.23em;font-size:21px;font-weight:400;min-height:44px;justify-self:start}
.brand span{font-size:9px;letter-spacing:.16em;border-left:1px solid currentColor;padding-left:14px}
.desktop-nav{display:flex;align-items:center;gap:26px}
.desktop-nav a,.contact-link,.menu-toggle{text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.desktop-nav a:hover::after{transform:scaleX(1)}
.contact-link{justify-self:end;gap:12px;padding:5px}
.contact-link span{font-size:17px;font-weight:400}
.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;min-height:680px;height:100svh;background:var(--dark);color:var(--white);isolation:isolate}
.hero-slides,.hero-slide{position:absolute;inset:0;overflow:hidden}
.hero-slides{z-index:-2}
.hero-slide{opacity:0;transition:opacity 1.3s ease}
.hero-slide.is-active{opacity:1}
.hero-slide>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:sepia(.14) saturate(.72);transform:scale(1.025) translateY(var(--hero-shift,0px));transition:transform 7s linear}
.hero-slide.is-active>img{transform:scale(1.075) translateY(var(--hero-shift,0px))}
.hero-slide.room-slide>img:first-child{object-position:50% 62%}
.hero-slide.room-slide>img.room-appliance{position:absolute;height:59%;width:39%;left:29%;bottom:2%;object-fit:contain;filter:none}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#18201968 0%,#18201900 38%,#18201994 100%);pointer-events:none}
.hero-caption{position:absolute;left:50%;bottom:113px;transform:translateX(-50%);text-align:center;width:min(700px,82%)}
.hero-index{font-size:10px;letter-spacing:.25em;margin-bottom:15px}
.hero-caption h1{font-family:var(--serif);font-size:clamp(16px,1.35vw,21px);text-transform:uppercase;line-height:1.5;letter-spacing:.25em;margin-bottom:19px}
.hero-caption>p:not(.hero-index){font-size:13px;line-height:1.8;max-width:630px;margin:auto}
.hero-caption>a{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-top:14px;border-bottom:1px solid #fcfaf27a}
.hero-controls{position:absolute;left:3%;right:3%;bottom:22px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center}
.hero-controls button{color:inherit;min-height:44px}
.motion-toggle,.next-slide{font-size:10px;letter-spacing:.08em}
.motion-toggle{justify-self:start;padding:5px}
.next-slide{justify-self:end;display:inline-flex;gap:15px;align-items:center}
.next-slide span{font-size:18px}
.slide-dots{display:flex}
.slide-dot{width:44px;display:grid;place-items:center}
.slide-dot span{width:5px;height:5px;border-radius:50%;border:1px solid var(--white);opacity:.7;transition:transform .3s,opacity .3s}
.slide-dot[aria-current="true"] span{background:var(--white);transform:scale(1.3);opacity:1}
.page-section{padding:115px 5.5%}
.section-heading{text-align:center;margin-bottom:112px}
.eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.2em;line-height:1.6}
.section-heading .eyebrow{color:var(--muted);margin-bottom:15px}
.section-heading h2{font-family:var(--serif);font-size:15px;text-transform:uppercase;letter-spacing:.27em;line-height:1.6}
.editorial-wrap{position:relative}
.side-label{position:absolute;top:100px;writing-mode:vertical-rl;text-orientation:upright;font-family:var(--serif);font-size:10px;letter-spacing:.4em;color:var(--muted)}
.side-label.left{left:-3.5%}.side-label.right{right:-3.5%}
.collection-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:18px}
.editorial-card{min-width:0}
.image-link{position:relative;display:block;width:100%;height:clamp(320px,31vw,500px);overflow:hidden;text-align:left;padding:0;background:var(--cream)}
.image-link>img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.6,.2,1)}
.photo-panel img{object-position:51% center}
.image-link::after{content:"";position:absolute;inset:0;background:var(--veil);opacity:0;transition:opacity .5s}
.image-cta{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-40%);opacity:0;font-family:var(--serif);color:var(--white);letter-spacing:.22em;text-transform:uppercase;font-size:18px;transition:opacity .5s,transform .5s}
.image-link:hover>img,.image-link:focus-visible>img{transform:scale(1.035)}
.image-link:hover::after,.image-link:focus-visible::after{opacity:1}
.image-link:hover .image-cta,.image-link:focus-visible .image-cta{opacity:1;transform:translate(-50%,-50%)}
.product-panel::before{content:"";position:absolute;height:1px;left:0;right:0;bottom:16%;background:var(--line)}
.product-panel>img{position:absolute;inset:12% 8%;width:84%;height:76%;object-fit:contain}
.cream-panel{background:var(--cream)}.stone-panel{background:var(--stone)}
.editorial-card h3{font-family:var(--serif);text-transform:uppercase;font-size:12px;letter-spacing:.18em;line-height:1.8;margin:26px 0 13px}
.editorial-card>p{font-size:13px;line-height:1.85;max-width:470px}
.card-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:20px}
.card-meta>span+span::before{content:"|";padding-right:8px}
.collection-note{text-align:center;font-size:11px;color:var(--muted);margin:70px 0 0}
.space-story{height:min(850px,90svh);min-height:620px;position:relative;isolation:isolate;overflow:hidden;background:var(--cream);color:var(--white)}
.space-art{position:absolute;z-index:-2;inset:-3% 0}
.space-art>img:first-child{height:100%;width:100%;object-fit:cover;object-position:50% 70%}
.space-art>img.space-machine{position:absolute;width:30%;height:53%;object-fit:contain;left:35%;bottom:2%}
.space-story::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#252c2320 0%,#252c2388 45%,#252c23c4 100%)}
.feature-caption{width:min(650px,84%);text-align:center;position:absolute;left:50%;bottom:70px;transform:translateX(-50%)}
.feature-caption h2{font-family:var(--serif);text-transform:uppercase;letter-spacing:.22em;font-size:18px;line-height:1.6;margin:14px 0 20px}
.feature-caption>p:not(.eyebrow){font-size:13px;line-height:1.9}
.underlined-link{min-height:44px;display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid currentColor;font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:10px 0;margin-top:25px}
.underlined-link span{font-size:16px}
.illustration-note{position:absolute;right:2%;bottom:16px;font-size:9px;letter-spacing:.05em}
.repair-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px}
.repair-grid .image-link{height:clamp(350px,39vw,620px)}
.linen-panel img{object-position:50% 55%}
.repair-section{padding-bottom:140px}
.approach{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%}
.approach-intro h2{font-family:var(--serif);font-size:clamp(30px,3.2vw,48px);line-height:1.25;letter-spacing:-.03em;margin:30px 0 25px}
.approach-intro>p:not(.eyebrow){max-width:450px;font-size:14px}
.care-details{align-self:center}
.care-details details{border-bottom:1px solid var(--line)}
.care-details details:first-child{border-top:1px solid var(--line)}
.care-details summary{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;cursor:pointer;font-family:var(--serif);font-size:17px;line-height:1.4;padding:15px 0}
.care-details summary::-webkit-details-marker{display:none}
.care-details summary span{font-family:var(--sans);font-size:19px;font-weight:300;transition:transform .3s}
.care-details details[open] summary span{transform:rotate(45deg)}
.care-details details>p{font-size:13px;line-height:1.85;color:var(--muted);padding:0 25px 25px 0}
.closing-note{padding:130px 20px 150px;text-align:center;background:var(--paper-light);border-top:1px solid var(--line)}
.closing-note h2{font-family:var(--serif);font-size:clamp(36px,5vw,64px);letter-spacing:-.04em;line-height:1.2;margin:25px 0 10px}
.studio-footer{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:25px;padding:75px 5.5% 35px}
.footer-brand{letter-spacing:.25em;font-size:28px;align-self:start;min-height:44px}
.studio-footer h2{font-family:var(--serif);font-size:11px;text-transform:uppercase;letter-spacing:.19em;margin:0 0 16px}
.studio-footer div a,.studio-footer div button{display:flex;align-items:center;min-height:44px;padding:0;font-size:12px}
.footer-note{font-size:11px;color:var(--muted);line-height:1.9}
.back-top{grid-column:1 / -1;margin-top:40px;border-top:1px solid var(--line);padding-top:20px;text-align:right;font-size:10px;min-height:44px;text-transform:uppercase;letter-spacing:.12em}
.enquiry-dialog{position:fixed;width:min(640px,calc(100% - 32px));max-height:calc(100svh - 32px);border:1px solid var(--line);padding:46px;color:var(--ink);background:var(--paper);overflow-y:auto}
.enquiry-dialog::backdrop{background:#20271fd1}
.dialog-close{position:absolute;right:12px;top:8px;width:44px;height:44px;font-size:27px;font-weight:300}
.enquiry-dialog h2{font-family:var(--serif);font-size:33px;line-height:1.2;letter-spacing:-.025em;margin:15px 0 20px}
.enquiry-dialog>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.8}
.enquiry-dialog form{margin-top:25px}
.enquiry-dialog label{display:block;font-size:11px;margin:17px 0 7px}
.enquiry-dialog input,.enquiry-dialog select,.enquiry-dialog textarea{width:100%;min-width:0;min-height:46px;border:1px solid #727566;border-radius:0;background:var(--paper-light);padding:10px 12px;font-size:16px}
.enquiry-dialog textarea{resize:vertical}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.form-submit{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;margin-top:25px;width:100%;background:var(--ink);color:var(--paper);padding:12px 18px;font-size:12px}
.form-result{border-top:1px solid var(--line);padding:18px 0 0;margin-top:25px;font-size:13px}
.motion-paused .hero-slide,.motion-paused .hero-slide>img,.is-still .hero-slide,.is-still .hero-slide>img{transition:none}
.motion-paused .hero-slide>img,.is-still .hero-slide>img{transform:none}
.motion-paused .parallax-image,.is-still .parallax-image{transform:none!important}
.is-still .motion-toggle{visibility:hidden}
@media(max-width:1000px){
.brand span{display:none}.desktop-nav{gap:20px}.studio-header{gap:20px}.page-section{padding:95px 6%}.section-heading{margin-bottom:75px}.image-link{height:340px}.collection-grid{gap:15px}.editorial-card>p{font-size:12px}.editorial-card h3{font-size:11px}.studio-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.footer-note{grid-column:1 / -1;max-width:480px;margin-top:20px}.approach{gap:8%}
}
@media(max-width:760px){
:root{--nav-height:72px}.studio-header{padding:10px 5%;grid-template-columns:minmax(0,1fr) auto;gap:12px}.brand{font-size:19px}.brand span{display:inline;font-size:8px}.desktop-nav,.contact-link{display:none}.menu-toggle{display:inline-flex;gap:14px;justify-self:end}.menu-toggle span{font-size:20px;font-weight:300}.mobile-menu:not([hidden]){display:flex;flex-direction:column;position:absolute;top:var(--nav-height);left:0;right:0;padding:20px 7% 30px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:calc(100svh - var(--nav-height));overflow-y:auto}.mobile-menu a,.mobile-menu button{text-align:left;min-height:50px;display:flex;align-items:center;padding:0;font-size:15px}.hero{min-height:650px}.hero-caption{bottom:115px;width:84%}.hero-caption h1{font-size:16px;letter-spacing:.15em;line-height:1.65}.hero-caption>p:not(.hero-index){font-size:13px;max-width:450px}.hero-controls{left:5%;right:5%;bottom:16px}.motion-toggle,.next-slide{font-size:9px}.slide-dot{width:44px}.hero-slide.room-slide>img.room-appliance{width:54%;left:23%;height:48%}.page-section{padding:75px 6%}.section-heading{margin-bottom:60px}.section-heading h2{font-size:13px;letter-spacing:.18em}.collection-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 17px}.wide-card{grid-column:1 / -1}.wide-card .image-link{height:430px}.image-link{height:310px}.editorial-card h3{margin-top:19px;letter-spacing:.12em;font-size:11px}.editorial-card>p{font-size:13px}.card-meta{font-size:8px}.side-label{display:none}.collection-note{margin-top:45px;text-align:left}.space-story{min-height:620px}.space-art>img.space-machine{width:52%;left:24%;height:47%}.feature-caption{bottom:65px}.feature-caption h2{font-size:16px;letter-spacing:.16em}.repair-grid{gap:45px;grid-template-columns:minmax(0,1fr)}.repair-grid .image-link{height:440px}.approach{grid-template-columns:minmax(0,1fr);gap:60px}.approach-intro h2{font-size:38px}.closing-note{padding:90px 7% 105px}.studio-footer{padding:55px 6% 30px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}.footer-brand{grid-column:1 / -1}.footer-note{margin-top:0}.back-top{margin-top:0}.enquiry-dialog{padding:40px 25px 28px}
}
@media(max-width:414px){
.hero{min-height:640px}.hero-caption{bottom:105px;width:86%}.hero-index{margin-bottom:10px}.hero-caption h1{font-size:15px;margin-bottom:14px}.hero-caption>p:not(.hero-index){font-size:12px;line-height:1.85}.hero-caption>a{margin-top:10px;font-size:9px}.motion-toggle{max-width:85px;letter-spacing:0}.next-slide{gap:7px;letter-spacing:0}.slide-dot{width:44px}.brand span{display:none}.collection-grid{grid-template-columns:minmax(0,1fr);gap:45px}.wide-card .image-link,.image-link{height:350px}.product-panel>img{inset:10% 15%;width:70%;height:80%}.section-heading h2{font-size:12px;letter-spacing:.16em}.eyebrow{font-size:8px}.space-story{min-height:650px}.space-art>img.space-machine{width:64%;left:18%;height:44%;bottom:18%}.feature-caption{bottom:52px;width:86%}.feature-caption h2{font-size:14px}.feature-caption>p:not(.eyebrow){font-size:12px}.repair-grid .image-link{height:350px}.approach-intro h2{font-size:33px}.care-details summary{font-size:15px}.enquiry-dialog h2{font-size:29px}.form-grid{grid-template-columns:minmax(0,1fr);gap:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.hero-slide>img,.hero-slide.is-active>img,.parallax-image{transform:none!important}}

/* Keep compact footer controls easy to tap. */
.studio-footer a,.studio-footer button{min-width:44px}

/* Extra contrast for white labels over the lighter illustrated scene. */
.room-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#18201988 0%,#18201920 35%,#18201990 65%,#182019aa 100%);pointer-events:none}
