:root{--ink:#242823;--paper:#eeeae1;--line:#bcbcb2;--accent:#a84a35;--mat:#e5e1d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:#fff;padding:1em}.skip:focus{top:10px}.header{display:flex;align-items:center;gap:5vw;padding:18px 4.1vw;border-bottom:1px solid var(--line);font-size:11px;line-height:1.4}.wordmark{width:48px;height:48px;display:grid;place-items:center;flex:none}.brand-symbol{width:30px;height:32px;background:currentColor;mask:url('/assets/brand/monogram.svg') center/contain no-repeat;-webkit-mask:url('/assets/brand/monogram.svg') center/contain no-repeat}.header-center{margin-right:auto}.header nav{display:flex;align-items:center;gap:2.5vw}.header nav a{white-space:nowrap}.intro{padding:45px 4.1vw 95px}.intro-top,.detail-facts{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.09em}.intro-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:7vw;align-items:end;margin-top:65px}.intro h1,.section-heading h2,.about h2,.contact h2{font-family:Manrope,Arial,sans-serif;font-weight:400;font-size:clamp(56px,7.3vw,112px);line-height:.94;letter-spacing:-.065em;margin:0}.intro h1 em,h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.065em}.intro-layout p{font-size:16px;line-height:1.5;max-width:300px;margin:35px 0}.collection-links{display:flex;gap:28px;font-size:12px}.collection-links a{border-bottom:1px solid var(--ink);padding-bottom:9px;min-width:115px;display:flex;justify-content:space-between}.intro-visual img{width:100%;max-height:52vh;object-fit:contain;background:var(--mat)}.intro-visual>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-top:12px}.collection{padding:80px 4.1vw 115px;border-top:1px solid var(--line);scroll-margin-top:20px}.rugs{background:#e5e1d7}.section-heading{display:grid;grid-template-columns:1.2fr 1fr auto;gap:5vw;align-items:end;margin-bottom:55px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.12em}.section-heading h2{font-size:clamp(55px,7vw,104px);margin-top:23px}.section-heading p{font-size:16px;line-height:1.5;max-width:350px;margin:0}.count{font-size:10px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.project-list{display:grid;grid-template-columns:repeat(6,1fr);gap:55px 2vw}.project{grid-column:span 2}.project:nth-child(1),.project:nth-child(2){grid-column:span 3}.project-image{background:var(--mat);height:min(29vw,390px);display:grid;place-items:center;overflow:hidden}.project:nth-child(1) .project-image,.project:nth-child(2) .project-image{height:min(33vw,460px)}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s ease}.project:hover .project-meta h3{text-decoration:underline;text-underline-offset:4px}.project-meta{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:baseline;padding-top:13px}.project-meta span{font-size:10px;letter-spacing:.04em}.project-meta h3{font-weight:400;font-size:clamp(16px,1.5vw,21px);letter-spacing:-.03em;margin:0}.about{background:#d9d7cc;padding:110px 4.1vw;display:grid;grid-template-columns:1fr 2fr;gap:3vw}.about-label{display:flex;flex-direction:column;justify-content:space-between;font-size:11px}.about h2{font-size:clamp(55px,7vw,105px)}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:4vw;margin-top:60px;font-size:16px;line-height:1.55;max-width:800px}.about-copy p{margin:0}.contact{padding:120px 4.1vw}.contact h2{font-size:clamp(65px,9vw,135px);margin:35px 0 65px}.contact>a{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding-bottom:18px;font-size:clamp(22px,3vw,40px);letter-spacing:-.04em}.contact>a span,.title-dot{color:var(--accent)}footer{border-top:1px solid var(--line);padding:25px 4.1vw 45px;display:flex;justify-content:space-between;font-size:11px;line-height:1.5}footer div{display:flex;gap:30px}.detail-intro{padding:45px 4.1vw 0}.back{font-size:11px}.detail-title{display:grid;grid-template-columns:2fr 1fr;gap:4vw;align-items:end;margin:65px 0 45px}.detail-title h1{font-size:clamp(50px,6.5vw,98px);font-weight:400;line-height:.98;letter-spacing:-.065em;margin:22px 0 0}.detail-title p{max-width:390px;font-size:16px;line-height:1.5;margin:0}.detail-facts{border-top:1px solid var(--line);padding:15px 0 25px}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 2vw;padding:0 4.1vw}.detail-gallery figure{margin:0;min-width:0}.image-trigger{position:relative;width:100%;height:min(39vw,55vh,500px);padding:0;border:0;background:var(--mat);cursor:zoom-in;display:grid;place-items:center}.image-trigger img{width:100%;height:100%;object-fit:contain}.zoom{position:absolute;right:12px;bottom:12px;width:34px;height:34px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:16px}.detail-gallery figcaption{display:flex;gap:16px;padding-top:10px;font-size:10px;line-height:1.4;letter-spacing:.02em}.detail-gallery figcaption span:first-child{white-space:nowrap}.credit{padding:55px 4.1vw 0;font-size:12px;line-height:1.5}.next-project{padding:100px 4.1vw}.next-project>a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(38px,5vw,75px);letter-spacing:-.06em;border-bottom:1px solid var(--ink);margin:20px 0 0;padding-bottom:15px}.lightbox{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:18px 4vw;background:#242823;color:#f4f0e7}.lightbox::backdrop{background:rgba(0,0,0,.8)}.lightbox[open]{display:flex;flex-direction:column}.lightbox-bar{display:flex;justify-content:space-between;align-items:center;min-height:44px;font-size:12px}.lightbox button{border:0;background:transparent;color:inherit;cursor:pointer;min-width:44px;min-height:44px}.lightbox-stage{flex:1;min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr);align-items:center;gap:1vw}.lightbox-stage img{width:100%;height:100%;min-height:0;object-fit:contain}.lightbox-stage button{font-size:25px}.lightbox-caption{font-size:11px;line-height:1.4;margin:10px 54px 0;min-height:25px}
@media(max-width:700px){.header{padding:12px 5%;gap:10px;align-items:center}.wordmark{width:44px;height:44px}.header-center{display:none}.header nav{margin-left:auto;gap:12px;font-size:10px}.header nav a:nth-child(3){display:none}.intro{padding:30px 5% 75px}.intro-layout{display:flex;flex-direction:column;align-items:stretch;gap:42px;margin-top:45px}.intro h1{font-size:clamp(53px,13vw,80px)}.intro-layout p{margin:25px 0}.intro-visual img{max-height:42vh}.collection{padding:65px 5% 80px}.section-heading{grid-template-columns:1fr auto;gap:22px;margin-bottom:35px}.section-heading h2{font-size:clamp(50px,12vw,75px)}.section-heading p{grid-column:1 / -1;grid-row:2;font-size:15px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.project,.project:nth-child(1),.project:nth-child(2){grid-column:span 1}.project:first-child{grid-column:1 / -1}.project-image,.project:nth-child(1) .project-image,.project:nth-child(2) .project-image{height:36vw;max-height:260px}.project:first-child .project-image{height:55vw;max-height:350px}.project-meta{grid-template-columns:1fr auto;gap:5px}.project-meta span:first-child{grid-column:1 / -1}.project-meta h3{font-size:15px}.about{padding:80px 5%;display:block}.about-label span:last-child{display:none}.about h2{margin-top:35px}.about-copy{display:block;margin-top:35px}.about-copy p+p{margin-top:18px}.contact{padding:90px 5%}.contact h2{margin:30px 0 50px}footer{padding:25px 5%;gap:20px;flex-wrap:wrap}footer>span:nth-child(2){display:none}footer div{gap:15px}.detail-intro{padding:30px 5% 0}.detail-title{display:block;margin:50px 0 35px}.detail-title h1{font-size:clamp(48px,11vw,70px);overflow-wrap:anywhere}.detail-title p{margin-top:25px;font-size:15px}.detail-facts{font-size:9px;gap:10px}.detail-facts span:last-child{text-align:right}.detail-gallery{padding:0 5%;gap:28px 12px}.image-trigger{height:35vw;max-height:240px}.zoom{width:28px;height:28px;right:7px;bottom:7px;font-size:13px}.detail-gallery figcaption{display:block;font-size:9px}.detail-gallery figcaption span{display:block}.detail-gallery figcaption span+span{margin-top:4px}.credit{padding:40px 5% 0}.next-project{padding:75px 5%}.lightbox{padding:10px 3%}.lightbox-stage{grid-template-columns:36px minmax(0,1fr) 36px;gap:0}.lightbox-stage button{min-width:36px}.lightbox-caption{margin-left:36px;margin-right:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Opening and cover proportions follow the original image compositions. */
.intro{padding:30px 4.1vw 90px}.opening-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:5vw;align-items:end;margin:34px 0}.opening-heading h1{font-size:clamp(42px,5.4vw,82px);max-width:900px}.opening-aside{display:flex;align-items:end;justify-content:space-between;gap:3vw}.opening-aside p{font-size:13px;line-height:1.5;max-width:245px;margin:0}.collection-links{gap:20px}.collection-links a{min-width:100px}.intro-visual{display:block}.intro-visual img{width:auto;height:auto;max-width:100%;max-height:68svh;margin:0 auto;object-fit:contain;background:none}.intro-visual>span{display:flex;justify-content:space-between;margin-top:12px}.intro-visual>span b{font-weight:400}.project-list{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:55px 2vw}.project,.project:nth-child(1),.project:nth-child(2){grid-column:span 3}.project.panorama{grid-column:1 / -1}.rugs .project,.rugs .project:nth-child(1),.rugs .project:nth-child(2){grid-column:span 2}.rugs .project:nth-child(4),.rugs .project:nth-child(5){grid-column:span 3}.project-image,.project:nth-child(1) .project-image,.project:nth-child(2) .project-image{height:auto;max-height:none;display:block;background:none;overflow:visible}.project-image img{width:100%;height:auto;object-fit:initial}.project-meta{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
@media(max-width:700px){.intro{padding:25px 5% 70px}.opening-heading{display:block;margin:32px 0 28px}.opening-heading h1{font-size:clamp(46px,11vw,70px)}.opening-aside{display:block;margin-top:22px}.opening-aside p{font-size:13px;max-width:330px;margin-bottom:20px}.intro-visual img{width:100%;max-height:none}.intro-visual>span{font-size:9px}.project-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.project,.project:nth-child(1),.project:nth-child(2),.rugs .project,.rugs .project:nth-child(1),.rugs .project:nth-child(2),.rugs .project:nth-child(4),.rugs .project:nth-child(5){grid-column:span 1}.project.panorama{grid-column:1 / -1}.project-image,.project:nth-child(1) .project-image,.project:nth-child(2) .project-image,.project:first-child .project-image{height:auto;max-height:none}.rugs .project:nth-child(3){grid-column:1 / -1;width:calc(50% - 6px)} }
@media (min-width:701px) and (max-width:1050px){.opening-aside{display:block}.opening-aside p{margin-bottom:16px}}
/* Definite frame: image sizing cannot change gallery row sizing. */
.detail-gallery{align-items:start;row-gap:56px}.detail-gallery figure{min-width:0;min-height:0}.image-trigger{display:block;position:relative;box-sizing:border-box;overflow:hidden;width:100%;height:min(39vw,55vh,500px);min-width:0;min-height:0;padding:0;appearance:none;-webkit-appearance:none}.image-trigger img{display:block;position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}.image-trigger .zoom{z-index:1}.image-trigger:focus-visible{outline-offset:4px}.detail-gallery figcaption{position:relative;min-height:2.8em;padding-top:12px}
/* Image-first opening, preserving the entire terrace composition. */
.intro{padding-top:18px}.intro-top{margin-bottom:14px}.intro-visual img{width:auto;height:auto;max-width:100%;max-height:78svh}.opening-heading{margin:38px 0 0}.opening-heading h1{font-size:clamp(38px,4.6vw,70px)}
@media(max-width:700px){.detail-gallery{row-gap:38px}.image-trigger{height:35vw;max-height:240px}.intro{padding-top:16px}.intro-top{margin-bottom:12px}.opening-heading{margin:28px 0 0}.opening-heading h1{font-size:clamp(40px,10vw,64px)}}

/* Larger editorial image sequence; each frame follows its image proportions. */
.detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 2vw;align-items:start}.detail-gallery figure{grid-column:1/-1;width:min(100%,calc(78svh * var(--ratio)));justify-self:center}.detail-gallery figure.paired{grid-column:span 1;width:min(100%,calc(72svh * var(--ratio)))}.image-trigger{width:100%;height:auto;max-height:none;aspect-ratio:var(--ratio)}.image-trigger img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.detail-gallery figcaption{min-height:0}.intro-visual img{width:100%;height:min(76svh,56.1vw);max-width:none;max-height:none;object-fit:cover;object-position:50% 57%}
@media(max-width:700px){.detail-gallery{grid-template-columns:minmax(0,1fr);row-gap:40px}.detail-gallery figure,.detail-gallery figure.paired{grid-column:1/-1;width:min(100%,calc(72svh * var(--ratio)))}.image-trigger{height:auto;max-height:none;aspect-ratio:var(--ratio)}.intro-visual img{width:100%;height:auto;max-height:none;object-fit:contain}}

/* Center each portrait pair as one composition. */
.detail-gallery .portrait-pair{grid-column:1/-1;display:flex;justify-content:center;align-items:flex-start;gap:32px;min-width:0}.detail-gallery .portrait-pair figure.paired{flex:0 1 auto;min-width:0;max-width:calc((100% - 32px)/2)}.project-meta{grid-template-columns:1fr auto}.project-meta h3{grid-column:1}.project-meta span:last-child{grid-column:2}
/* Return rug work to the same warm ivory; retain only a whisper of weave. */
.rugs,.rug-page{position:relative;isolation:isolate;background:var(--paper);color:var(--ink);--accent:#a84a35}.rugs::before,.rug-page::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.022;background-image:url('/assets/rugs/rug-background-landscape.webp');background-size:clamp(830px,82vw,1700px) auto;background-position:center top;background-repeat:repeat;filter:grayscale(1)}.rugs .project-meta,.rug-page .detail-facts,.rug-page footer,.rug-page .header{border-color:var(--line)}.rug-page .image-trigger{background:var(--mat)}.rug-page .next-project>a{border-color:var(--ink)}.rug-page .title-dot{color:var(--accent)}
@media(max-width:700px){.detail-gallery .portrait-pair{display:flex;flex-direction:column;align-items:center;gap:40px}.detail-gallery .portrait-pair figure.paired{flex:none;max-width:100%;width:min(100%,calc(72svh * var(--ratio)))}}
/* More room between paired views; retain their shared center. */
.detail-gallery .portrait-pair{gap:clamp(48px,4vw,80px)}.detail-gallery .portrait-pair figure.paired{max-width:calc((100% - clamp(48px,4vw,80px))/2)}
/* Give the opening image a wider stage while keeping its caption aligned. */
.intro{padding-left:2vw;padding-right:2vw}.intro-visual img{height:min(82svh,58vw)}
.story-note{grid-column:1/-1;width:min(100%,900px);justify-self:center;display:grid;grid-template-columns:1fr 3fr;gap:32px;border-top:1px solid var(--line);padding-top:18px;margin:20px 0 -20px}.story-note h2{font-size:clamp(20px,2vw,28px);font-weight:400;letter-spacing:-.03em;margin:0 0 10px}.story-note p{font-size:15px;line-height:1.55;max-width:600px;margin:0}.back-top{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border:1px solid var(--ink);padding:0 14px;min-height:48px;min-width:135px}.back-top b{font-size:18px;font-weight:400}.back-top:hover{background:var(--ink);color:var(--paper)}
@media(max-width:700px){.detail-gallery .portrait-pair{gap:40px}.detail-gallery .portrait-pair figure.paired{max-width:100%}.intro{padding-left:5%;padding-right:5%}.intro-visual img{height:auto}.story-note{grid-template-columns:1fr;gap:12px;margin:5px 0 -5px}}

/* Identity, navigation, and contextual rug comparisons. */
.brand-symbol{width:36px;height:38px}
.project:hover .project-meta h3,.project:focus-visible .project-meta h3{text-decoration:none}
.project-meta h3 small{font-size:10px;letter-spacing:.04em;color:#696b63;margin-left:8px;white-space:nowrap}
.project-meta .card-arrow{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:20px;transition:transform .2s ease,background .2s ease,color .2s ease}
.project:hover .card-arrow,.project:focus-visible .card-arrow{transform:translate(3px,-3px);background:var(--ink);color:var(--paper)}
footer{position:relative;align-items:center;min-height:110px}footer>div{position:absolute;left:50%;transform:translateX(-50%)}
.rugs::before,.rug-page::before{opacity:.032}
.detail-gallery .semantic-pair{grid-column:1/-1;width:100%;display:flex;align-items:center;justify-content:center;gap:clamp(24px,3vw,48px)}
.detail-gallery .semantic-pair figure{flex:1 1 64%;width:auto;min-width:0;max-width:64%}
.detail-gallery .semantic-pair figure.reference{flex-basis:32%;max-width:32%}
@media(max-width:700px){.brand-symbol{width:36px;height:38px}.about-label span:last-child{display:block;margin-top:20px}.detail-gallery .semantic-pair{flex-direction:column;gap:28px}.detail-gallery .semantic-pair figure{flex:none;width:100%;max-width:100%}.detail-gallery .semantic-pair figure.reference{width:70%;max-width:70%}footer{padding-bottom:90px}footer>div{top:auto;bottom:24px;white-space:nowrap}}

/* Portrait presentation of selected overhead rugs, preserving their original proportions. */
.detail-gallery figure.rotated .image-trigger img{width:calc(100% / var(--ratio));height:calc(100% * var(--ratio));max-width:none;max-height:none;left:50%;top:50%;transform:translate(-50%,-50%) rotate(90deg)}
.lightbox-stage{position:relative}.lightbox-stage img.rotated-lightbox{width:auto;height:auto;max-width:calc(100dvh - 160px);max-height:calc(100vw - 130px);justify-self:center;transform:rotate(90deg)}
.detail-gallery .semantic-pair figure.reference.ecommerce-figure{flex:0 1 24%;max-width:min(24%,240px)}
@media(max-width:700px){.detail-gallery .semantic-pair figure.reference.ecommerce-figure{width:45%;max-width:240px}}

@media(min-width:701px){.detail-gallery .semantic-pair figure:not(.reference){flex:0 1 min(68%,calc(78svh * var(--ratio)));max-width:min(68%,calc(78svh * var(--ratio)))}.detail-gallery .semantic-pair figure.reference{flex:0 1 min(24%,240px,calc(55svh * var(--ratio)));max-width:min(24%,240px,calc(55svh * var(--ratio)))}}

/* Balanced material references stay close to their related render. */
.detail-gallery .semantic-pair{gap:clamp(48px,4vw,80px)}
@media(min-width:701px){.detail-gallery .semantic-pair figure:not(.reference){flex:0 1 min(65%,calc(78svh * var(--ratio)));max-width:min(65%,calc(78svh * var(--ratio)))}.detail-gallery .semantic-pair figure.reference,.detail-gallery .semantic-pair figure.reference.ecommerce-figure{flex:0 1 min(27%,420px,calc(68svh * var(--ratio)));max-width:min(27%,420px,calc(68svh * var(--ratio)))}}
@media(max-width:700px){.detail-gallery .semantic-pair{gap:40px}.detail-gallery .semantic-pair figure.reference,.detail-gallery .semantic-pair figure.reference.ecommerce-figure{width:75%;max-width:320px}}
/* Optional neutral theme; imagery retains its original color. */
.theme-toggle{flex:none;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:20px;display:grid;place-items:center}.theme-toggle:hover{background:var(--ink);color:var(--paper)}
html[data-theme=dark]{--ink:#f0ede6;--paper:#232323;--line:#696969;--accent:#f0a38e;--mat:#303030;color-scheme:dark}html[data-theme=dark] .about{background:#303030}html[data-theme=dark] .project-meta h3 small{color:#bbb8b2}html[data-theme=dark] .rugs::before,html[data-theme=dark] .rug-page::before{opacity:.025}html[data-theme=dark] .zoom{background:var(--paper);color:var(--ink)}
@media(max-width:700px){.header{gap:6px}.theme-toggle{width:36px;height:36px;font-size:18px}.header nav{gap:9px}}

.skip{background:var(--paper);color:var(--ink)}
html[data-theme=dark] .rugs,html[data-theme=dark] .rug-page{--accent:#f0a38e}
