
:root{--teal:#168f85;--teal-dark:#136b65;--teal-deep:#0f4945;--cream:#f5f2ec;--white:#fffdfa;--ink:#232927;--muted:#66706c;--gold:#c5b19a;--line:#d9dfd9}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2,h3,.footer-brand{font-family:'Playfair Display',Georgia,serif}em{font-weight:400}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #f3c884;outline-offset:3px}.skip-link{position:absolute;top:-50px;left:20px;background:white;color:#000;padding:10px;z-index:100}.skip-link:focus{top:10px}.page-width{width:min(1400px,calc(100% - 120px));margin:auto}.section-pad{padding:116px 0}.eyebrow{display:flex;align-items:center;gap:12px;font:700 10px 'Manrope',Arial,sans-serif;letter-spacing:2.6px;text-transform:uppercase;color:var(--teal);margin-bottom:34px}.eyebrow-light{color:#d6ece5}.eyebrow-rule{display:inline-block;width:30px;height:1px;background:currentColor}.topline{height:34px;padding:0 60px;display:flex;align-items:center;justify-content:space-between;background:var(--teal);color:#ecfaf5;font:600 9px 'Manrope',Arial,sans-serif;letter-spacing:1.7px}.site-header{height:87px;background:#fefdfa;display:flex;justify-content:space-between;align-items:center;padding:0 60px;position:sticky;top:0;z-index:40;border-bottom:1px solid #e4e7e0}.brand{display:flex;align-items:center;gap:14px;color:#1e9c91;font:700 34px 'Manrope',Arial,sans-serif;letter-spacing:-2px}.brand-period{color:#c5b19a}.brand-symbol{display:grid;grid-template-columns:repeat(4,4px);gap:3px;transform:rotate(-25deg);margin-right:6px}.brand-symbol i{display:block;background:currentColor;height:27px;border-radius:7px}.brand-symbol i:nth-child(1){height:14px;margin-top:13px}.brand-symbol i:nth-child(2){height:21px;margin-top:6px}.brand-symbol i:nth-child(4){height:20px}.site-nav{display:flex;align-items:center;gap:34px}.site-nav a{font:600 11px 'Manrope',sans-serif;letter-spacing:.25px;transition:color .2s}.site-nav a:hover{color:var(--teal)}.header-right{display:flex;align-items:center;gap:20px}.header-cta{display:flex;gap:30px;align-items:center;padding:15px 20px;border:1px solid var(--teal);font:700 11px 'Manrope',sans-serif;color:var(--teal-dark);transition:.2s}.header-cta:hover{background:var(--teal);color:#fff}.menu-toggle{display:none;background:transparent;border:0;width:38px;height:32px}.menu-toggle span{display:block;height:2px;background:#144d47;margin:7px 0}.hero{position:relative;min-height:660px;height:min(770px,calc(100vh - 120px));background:var(--teal-deep);color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,36,33,.87),rgba(12,35,34,.50) 45%,rgba(19,42,38,.10)),linear-gradient(0deg,rgba(9,24,21,.35),transparent 35%)}.hero-copy{position:absolute;left:max(60px,calc((100% - 1280px)/2));top:50%;transform:translateY(-48%);z-index:1;max-width:770px}.hero .eyebrow{margin-bottom:28px}.hero h1{font-size:clamp(72px,7.5vw,122px);line-height:.98;letter-spacing:-4px;margin:0 0 34px}.hero h1 em{color:#c6f2e6}.hero-copy>p{font-size:16px;line-height:1.9;max-width:470px;color:#f1f6f2}.hero-actions{display:flex;align-items:center;gap:36px;margin-top:36px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:space-between;gap:33px;padding:16px 25px;font:700 11px 'Manrope',sans-serif;letter-spacing:.1px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-bright{background:var(--teal);color:#fff}.button-bright:hover{background:#0b6d66}.hero-secondary{border-bottom:1px solid #e9f1eb;padding-bottom:9px;font-size:12px}.hero-secondary span{margin-left:17px}.hero-index{position:absolute;left:60px;right:60px;bottom:32px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2.5px;color:#f7f9f5}.hero-side{position:absolute;transform:rotate(-90deg);right:-70px;top:50%;letter-spacing:3px;font-size:9px}.intro{background:var(--cream)}.intro-wrap{display:grid;grid-template-columns:1fr 3fr;gap:70px}.intro-count{color:#bcc6bd;font:400 40px 'Playfair Display',serif}.intro-right h2{font-size:clamp(52px,5.5vw,85px);line-height:1.12;letter-spacing:-2.2px;margin-bottom:45px}.intro-right h2 em,.section-heading h2 em,.approach h2 em{color:var(--teal)}.intro-bottom{display:flex;gap:50px;align-items:flex-end}.intro-bottom p{line-height:1.85;color:var(--muted);font-size:16px;max-width:590px}.text-action{white-space:nowrap;border-bottom:1px solid var(--ink);font-size:12px;padding-bottom:10px}.text-action span{margin-left:18px}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:44px}.section-heading h2{font-size:clamp(52px,5vw,77px);line-height:1.14;letter-spacing:-2px;margin:0}.section-aside{font-size:14px;line-height:1.9;color:var(--muted);max-width:325px;margin:0 0 4px}.filter-chips{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:32px}.chip{border:1px solid #c9d8d3;background:transparent;color:#526661;border-radius:40px;padding:10px 18px;font-size:12px;transition:.2s}.chip:hover,.chip.is-selected{background:var(--teal);border-color:var(--teal);color:white}.project-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:34px 21px}.project-card{min-width:0}.project-card-feature{grid-row:span 2}.project-media{overflow:hidden;aspect-ratio:4/4.1;background:#e3e8e3;position:relative}.project-card-feature .project-media{height:calc(100% - 82px);min-height:550px;aspect-ratio:auto}.project-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-media:hover img{transform:scale(1.035)}.project-caption{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.project-caption span{font:600 9px 'Manrope',sans-serif;color:#80918a;letter-spacing:1.6px}.project-caption h3{font-size:25px;margin:6px 0 0}.project-caption .project-no{font-size:11px;color:var(--teal);white-space:nowrap}.project-card[hidden]{display:none!important}.project-footnote{font-size:11px;line-height:1.7;color:#909891;margin-top:30px}.statement{background:var(--teal);color:white;padding:95px 0}.statement-top,.statement-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px}.statement-top{letter-spacing:2px;font-size:10px}.statement-content h2{font-size:clamp(64px,7.1vw,105px);line-height:1.13;letter-spacing:-2.5px;margin:72px 0 80px}.statement-content h2 em{color:#d7f6e6}.statement-bottom p{max-width:520px;line-height:1.85;color:#d6eee6}.statement-mark{font-size:70px;font-family:'Playfair Display',serif;color:#cde9e1}.collections{background:#f5f2ec}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.collection-image{height:435px;overflow:hidden;background:#d7e2db}.collection-image img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.collection-tile:hover img{transform:scale(1.035)}.collection-info{padding:26px 0 18px}.collection-info>span{font:700 10px 'Manrope',sans-serif;letter-spacing:1.6px;color:var(--teal)}.collection-info h3{font-size:45px;margin:14px 0}.collection-info p{max-width:320px;line-height:1.85;color:var(--muted);font-size:13px}.fabric-index{border-top:1px solid #bdcbc4;margin-top:95px;padding-top:52px;display:grid;grid-template-columns:1fr 1.6fr;gap:75px}.fabric-index-intro .eyebrow{margin-bottom:22px}.fabric-index-intro h3{font-size:40px;line-height:1.2;margin-bottom:15px}.fabric-index-intro p{color:var(--muted);font-size:13px;line-height:1.9;max-width:355px}.series-row{padding:18px 3px;border-bottom:1px solid #c8d2cc;display:flex;justify-content:space-between;align-items:center;gap:15px}.series-name{font-size:19px;letter-spacing:.4px}.series-count{font-size:11px;color:var(--muted)}.series-arrow{color:var(--teal);font-size:16px}.series-placeholder{color:var(--muted)}.approach{background:#fffdf8}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}.approach-visual{height:680px;overflow:hidden;background:#e2e9e4}.approach-copy h2{font-size:clamp(52px,5vw,77px);line-height:1.17;letter-spacing:-2px;margin-bottom:34px}.approach-copy>p:not(.eyebrow){color:var(--muted);line-height:1.9;font-size:15px;max-width:500px}.steps{margin-top:42px}.steps>div{display:grid;grid-template-columns:40px 135px 1fr;gap:15px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.steps span{font-size:11px;color:var(--teal);font-weight:700}.steps strong{font-size:13px}.steps small{font-size:12px;color:var(--muted);line-height:1.5}.visit{background:#116c65;color:white;padding:110px 0}.visit-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:115px}.visit-copy h2{font-size:clamp(55px,6vw,85px);line-height:1.12;letter-spacing:-2.5px;margin-bottom:27px}.visit-copy h2 em{color:#cce9db}.visit-copy>p:not(.eyebrow){max-width:470px;color:#d6ede6;line-height:1.9}.preview-note{border-left:2px solid #b5d5ca;color:#d8eae3;font-size:11px;line-height:1.7;padding-left:15px;margin:34px 0}.button-cream{background:#fffaf0;color:#125d56}.visit-details{border:1px solid #69aaa0;padding:40px 44px;align-self:start}.visit-details>span{font-size:10px;letter-spacing:2.5px;color:#d5efea}.visit-details h3{font-size:37px;margin:22px 0 12px}.visit-details>p{line-height:1.8;color:#e2f0ec;margin-bottom:35px}.details-line{display:flex;justify-content:space-between;border-top:1px solid #68a89e;gap:16px;padding:17px 0;font-size:12px}.details-line strong{font-weight:600;text-align:right}.visit-details small{color:#c0ddd7;line-height:1.6;display:block;margin-top:20px}.footer{background:#1d2825;color:#ebf1ec;padding:63px 0 25px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:30px}.footer-brand{font-size:43px}.footer-brand span{color:#47b9aa}.footer-brand p{font:13px 'DM Sans',sans-serif;color:#a8bcb0;margin:14px 0}.footer-top nav{display:flex;gap:30px;align-items:center;flex-wrap:wrap;font-size:12px}.footer-bottom{border-top:1px solid #44534d;padding-top:25px;margin-top:65px;color:#b4c2b9;font-size:9px;letter-spacing:.8px}.footer-bottom a{color:#dbeae2}
@media(max-width:1150px){.page-width{width:calc(100% - 76px)}.site-header{padding:0 38px}.site-nav{gap:18px}.header-cta{gap:12px}.hero-copy{left:45px}.project-grid{grid-template-columns:1fr 1fr}.project-card-feature{grid-row:auto}.project-card-feature .project-media{height:auto;min-height:0;aspect-ratio:4/4.1}.approach-grid{gap:45px}.visit-grid{gap:45px}}
@media(max-width:750px){.topline{height:31px;padding:0 20px;font-size:8px}.topline span:nth-child(2){display:none}.site-header{height:70px;padding:0 20px}.brand{font-size:26px;gap:6px}.brand-symbol{transform:scale(.7) rotate(-25deg);margin-right:0}.header-cta{display:none}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fffdf8;padding:22px;box-shadow:0 15px 25px #0c302723;flex-direction:column;align-items:flex-start;gap:23px}.site-nav.open{display:flex}.site-nav a{font-size:14px}.page-width{width:calc(100% - 42px)}.section-pad{padding:78px 0}.hero{height:680px;min-height:0}.hero-image{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#0a2827bd,#0a28273f),linear-gradient(0deg,#142e2b5c,transparent)}.hero-copy{left:22px;right:19px;top:44%;transform:translateY(-35%)}.hero h1{font-size:clamp(54px,12vw,84px);letter-spacing:-2px}.hero-copy>p{font-size:13px;max-width:330px}.hero-actions{gap:18px;flex-wrap:wrap}.hero-secondary{font-size:11px}.hero-index{left:22px;right:22px;bottom:24px;font-size:8px}.hero-side{display:none}.eyebrow{font-size:9px;letter-spacing:1.9px;margin-bottom:23px}.intro-wrap{display:block}.intro-left{display:flex;justify-content:space-between}.intro-count{font-size:24px}.intro-right h2{font-size:clamp(44px,10vw,68px);letter-spacing:-1.6px;margin-bottom:28px}.intro-bottom{display:block}.intro-bottom p{font-size:14px}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-size:clamp(43px,9.7vw,65px);letter-spacing:-1.5px}.section-aside{margin-top:25px;font-size:13px}.filter-chips{gap:7px}.chip{font-size:11px;padding:9px 14px}.project-grid{grid-template-columns:1fr 1fr;gap:14px}.project-media,.project-card-feature .project-media{aspect-ratio:4/5.2}.project-caption{padding:11px 0}.project-caption span{font-size:7.5px;letter-spacing:1px}.project-caption h3{font-size:21px}.project-caption .project-no{display:none}.statement{padding:80px 0}.statement-top span:nth-child(2){display:none}.statement-content h2{font-size:clamp(48px,10.8vw,72px);letter-spacing:-1px;margin:50px 0}.statement-bottom p{font-size:13px}.statement-mark{font-size:43px}.collection-grid{grid-template-columns:1fr;gap:12px}.collection-image{height:380px}.collection-info{padding:22px 0}.collection-info h3{font-size:39px;margin:10px 0}.fabric-index{grid-template-columns:1fr;gap:18px;margin-top:45px;padding-top:35px}.fabric-index-intro h3{font-size:34px}.approach-grid{grid-template-columns:1fr;gap:36px}.approach-visual{height:480px}.approach-copy h2{font-size:48px;letter-spacing:-1.5px}.steps>div{grid-template-columns:25px 90px 1fr;gap:10px}.steps strong{font-size:12px}.steps small{font-size:11px}.visit{padding:80px 0}.visit-grid{grid-template-columns:1fr;gap:40px}.visit-copy h2{font-size:54px}.visit-details{padding:29px}.footer{padding:45px 0 25px}.footer-top,.footer-bottom{display:block}.footer-top nav{margin-top:32px;gap:15px 24px}.footer-bottom{margin-top:44px}.footer-bottom span,.footer-bottom a{display:block;margin-top:12px}}
@media(max-width:430px){.hero h1{font-size:55px}.button{padding:15px 19px;gap:15px}.project-grid{grid-template-columns:1fr}.project-media,.project-card-feature .project-media{aspect-ratio:4/4}.project-caption h3{font-size:25px}.collection-image{height:340px}.visit-copy h2{font-size:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Official Ni-Shin brand mark and clearly separate conceptual inspiration */
.brand-official{display:flex;align-items:center;flex-shrink:0}.brand-official img{display:block;width:205px;height:auto;max-height:64px;object-fit:contain}.footer-official-logo{width:210px;height:auto;filter:brightness(0) invert(1);display:block;margin-bottom:10px}.inspiration{background:#f5f2ec;padding-top:110px;padding-bottom:115px}.concept-figure{margin:0}.concept-figure img{width:100%;max-height:640px;object-fit:cover;object-position:center;background:#d9d4c9}.concept-figure figcaption{color:#50605a;font-size:10px;letter-spacing:.12em;margin-top:19px;line-height:1.7}.site-header .brand-symbol{display:none}@media(max-width:700px){.brand-official img{width:145px}.footer-official-logo{width:185px}.inspiration{padding-top:72px;padding-bottom:70px}.concept-figure img{max-height:460px}}

/* Authentic installation gallery: source pixel imagery with gentle exposure corrections. */
.project-media img{image-rendering:auto;object-fit:cover}
@media(max-width:430px){.project-media img{object-position:center 45%}}


/* V2 films and catalogue */
[hidden]{display:none!important}section[id]{scroll-margin-top:105px}.films{background:var(--cream)}.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.film-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}.film-card video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;background:#1f2926;border-radius:3px}.film-caption>span,.fabric-card-copy>span{font:600 10px 'Manrope',Arial,sans-serif;letter-spacing:1px;color:var(--teal)}.film-caption h3{font-size:30px;margin:18px 0}.film-caption p{color:var(--muted);line-height:1.8}.catalogue{background:#eeeee7}.catalogue-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:20px;align-items:end;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.catalogue-filters label{display:grid;gap:10px;font-size:12px;font-weight:600}.catalogue-filters input,.catalogue-filters select{font:inherit;font-size:16px;padding:14px 12px;border:1px solid #bfcac3;border-radius:0;background:var(--white);width:100%;min-width:0;color:var(--ink)}.catalogue-filters button{min-height:49px}#product-count{margin:25px 0;color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;align-items:start}.fabric-card{background:var(--white);min-width:0}.fabric-card>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#e4e4dd}.fabric-card-copy{padding:20px}.fabric-card h3{font-family:'Manrope',Arial,sans-serif;font-size:17px;margin:12px 0;overflow-wrap:anywhere}.fabric-card p{font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0}.fabric-card summary{cursor:pointer;font-size:13px;padding:14px 0;border-top:1px solid var(--line);min-height:44px}.fabric-card .text-action{font-size:12px;line-height:1.8}.catalogue input:focus-visible,.catalogue select:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}#product-empty{padding:40px;border:1px solid var(--line);text-align:center}.site-nav{gap:20px}
@media(max-width:1100px){.film-card{grid-template-columns:1fr}.film-card video{max-height:520px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.site-nav{gap:12px}.site-nav a{font-size:11px}.header-cta{font-size:11px}}
@media(max-width:800px){.catalogue-filters{grid-template-columns:1fr 1fr}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.film-grid{gap:25px}.film-caption h3{font-size:27px}}
@media(max-width:600px){.film-grid,.catalogue-filters{grid-template-columns:1fr}.film-card{gap:18px}.film-card video{max-height:600px}.film-grid{gap:45px}.product-grid{gap:12px}.fabric-card-copy{padding:13px}.fabric-card h3{font-size:14px}.fabric-card-copy>span{font-size:9px}.fabric-card p{font-size:12px}.catalogue-filters{gap:15px}.catalogue-filters button{justify-self:start}}
@media(max-width:360px){.product-grid{grid-template-columns:1fr}}

/* V2 featured film: preserves poster while loading and respects user-controlled sound */
.hero{position:relative;isolation:isolate}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-picture{position:absolute;inset:0;z-index:-1;overflow:hidden}.hero-picture .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{z-index:1;pointer-events:none}.hero-copy,.hero-index,.hero-side{z-index:2;position:relative}.hero-sound{position:absolute;left:36px;right:auto;bottom:68px;z-index:5;border:1px solid rgba(255,255,255,.65);border-radius:99px;padding:11px 18px;background:rgba(15,35,32,.65);color:#fff;font:600 12px 'Manrope',sans-serif;backdrop-filter:blur(8px)}.hero-sound:hover{background:rgba(15,80,73,.9)}@media(max-width:700px){.hero-sound{left:18px;right:auto;bottom:54px;padding:10px 13px}.hero-video{object-position:center center}}@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* Ni-Shin editorial treatment guide and colour browsing */
.treatment-guide,.colour-guide{margin:90px 0 0}.treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.treatment-item{border:1px solid var(--line);background:#fffdfa;padding:24px 26px;border-radius:3px}.treatment-item summary{cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;list-style:none}.treatment-item summary::-webkit-details-marker{display:none}.treatment-item summary>span:first-child{grid-column:1/-1;color:var(--teal);font-size:10px;letter-spacing:2px;font-weight:700}.treatment-item summary strong{font:400 clamp(20px,2.2vw,29px) 'Playfair Display',Georgia,serif}.treatment-item summary .guide-arrow{font-size:23px;color:var(--teal)}.treatment-item[open]{background:var(--cream);border-color:#aacfc6}.treatment-item p{line-height:1.8;color:#4d5753;margin:18px 0 0}.treatment-item a{display:inline-block;margin-top:16px;color:var(--teal-dark);text-decoration:underline;text-underline-offset:4px}.mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.mood-grid>a{display:flex;flex-direction:column;border:1px solid var(--line);padding:12px 12px 19px;background:white;transition:transform .2s ease,border-color .2s}.mood-grid>a:hover{transform:translateY(-3px);border-color:var(--teal)}.mood-swatch{display:block;height:125px;margin-bottom:17px;border-radius:2px}.mood-warm{background:linear-gradient(130deg,#f2e8d8,#d1baa0,#e8dfd2)}.mood-grey{background:linear-gradient(130deg,#e6e5e0,#a5a8a7,#5d676a)}.mood-dark{background:linear-gradient(130deg,#686a66,#242b2a,#4d5550)}.mood-fresh{background:linear-gradient(130deg,#d1d7c4,#77968b,#b3c7ae)}.mood-grid strong{font:400 22px 'Playfair Display',Georgia,serif}.mood-grid small{margin-top:6px;color:var(--muted);font-size:12px}@media(max-width:800px){.treatment-grid{grid-template-columns:1fr}.mood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.treatment-guide,.colour-guide{margin-top:65px}}@media(max-width:440px){.mood-grid{gap:9px}.mood-swatch{height:90px}.mood-grid strong{font-size:17px}.mood-grid small{font-size:11px}.treatment-item{padding:19px}}

/* Editorial photography-first colour collections */
.mood-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.mood-grid>a{border:0;background:transparent;padding:0;overflow:hidden;transform:none}.mood-grid>a:hover{transform:none;border:0}.mood-photo{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#d9ddd8;margin-bottom:17px}.mood-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.2,1)}.mood-grid>a:hover .mood-photo img{transform:scale(1.055)}.mood-chip{position:absolute;bottom:13px;right:13px;width:39px;height:39px;border:3px solid rgba(255,255,255,.8);border-radius:50%;box-shadow:0 2px 14px #0002}.mood-pink{background:#d4b4ae}.mood-terra{background:#b87757}.mood-meta{font:700 10px 'Manrope',Arial,sans-serif;letter-spacing:2px;color:var(--teal);margin-bottom:10px}.mood-grid strong{font:400 clamp(23px,2.7vw,34px) 'Playfair Display',Georgia,serif}.mood-grid small{font-size:13px;line-height:1.6}.mood-explore{font-size:12px;font-weight:700;letter-spacing:.3px;color:var(--teal-dark);margin-top:17px;padding-bottom:4px;border-bottom:1px solid var(--teal);align-self:flex-start}@media(max-width:800px){.mood-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}}@media(max-width:440px){.mood-grid strong{font-size:20px}.mood-photo{aspect-ratio:3/4}.mood-grid small{font-size:11px}.mood-meta{font-size:8px}.mood-explore{font-size:10px}.mood-chip{width:27px;height:27px}}

/* Reference-inspired 3 x 2 colour gallery: titles ABOVE photography */
.colour-guide{margin-top:92px}.colour-guide .mood-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:48px}.colour-guide .mood-card{display:flex;flex-direction:column;gap:0;padding:0;background:transparent;border:0;text-align:center;min-width:0}.colour-guide .mood-card:hover{border:0;transform:none}.colour-guide .mood-heading{display:flex;flex-direction:column;align-items:center;justify-content:end;min-height:84px;padding:0 4px 15px}.colour-guide .mood-heading strong{font:400 clamp(23px,2.1vw,32px)/1.22 'DM Sans',Arial,sans-serif;letter-spacing:-.8px;color:#292c2a}.colour-guide .mood-heading small{font:400 clamp(12px,1.25vw,19px)/1.35 'DM Sans',Arial,sans-serif;color:#777;letter-spacing:0;margin-top:2px}.colour-guide .mood-photo{display:block;width:100%;aspect-ratio:4/5;margin:0;overflow:hidden;border-radius:12px;background:#e8e6e0}.colour-guide .mood-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.colour-guide .mood-card:hover .mood-photo img{transform:scale(1.035)}@media(max-width:800px){.colour-guide .mood-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 13px}.colour-guide .mood-heading{min-height:70px}.colour-guide .mood-heading strong{font-size:20px}.colour-guide .mood-heading small{font-size:12px}.colour-guide .mood-photo{aspect-ratio:3/4;border-radius:9px}}@media(max-width:480px){.colour-guide .mood-grid{grid-template-columns:1fr;gap:30px}.colour-guide .mood-heading{min-height:0;padding:0 0 12px}.colour-guide .mood-heading strong{font-size:25px}.colour-guide .mood-heading small{font-size:15px}.colour-guide .mood-photo{aspect-ratio:4/4.5}}

/* Four editorial product titles in the requested 2x2 reference layout */
.product-categories{margin:30px 0 76px}.product-categories-title{text-align:center;font:400 clamp(30px,3vw,44px) 'DM Sans',Arial,sans-serif;margin:0 0 40px;letter-spacing:-1px}.product-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.product-category-tile{position:relative;display:block;overflow:hidden;aspect-ratio:1.05/1;border-radius:12px;background:#d7dad7}.product-category-tile img{height:100%;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.product-category-tile:hover img{transform:scale(1.045)}.product-category-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.34),transparent 45%)}.product-category-label{position:absolute;bottom:38px;left:15px;right:15px;text-align:center;color:#fff;font:400 clamp(25px,2.4vw,38px) 'DM Sans',Arial,sans-serif;letter-spacing:3px;text-shadow:0 2px 12px #0006}.product-category-tile:focus-visible{outline:3px solid var(--teal);outline-offset:4px}@media(max-width:700px){.product-category-grid{gap:12px}.product-category-tile{aspect-ratio:3/4}.product-category-label{font-size:17px;letter-spacing:1.5px;bottom:20px}.product-categories-title{margin-bottom:24px}}@media(max-width:440px){.product-category-grid{grid-template-columns:1fr;gap:18px}.product-category-tile{aspect-ratio:4/3}.product-category-label{font-size:26px}}

/* Persistent WhatsApp contact and back-to-top, inspired by the approved reference */
.floating-contact{position:fixed;right:16px;bottom:16px;z-index:1100;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.floating-contact a{pointer-events:auto;text-decoration:none}.floating-back-top{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#b9b9b9;color:#172024;box-shadow:0 3px 14px #0002;transition:background .2s,transform .2s}.floating-back-top:hover{background:#d0d0d0;transform:translateY(-2px)}.floating-back-top svg{width:22px;height:22px}.floating-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#19d366;color:#fff;border-radius:999px;padding:11px 20px;min-height:50px;font:500 17px/1.2 "DM Sans",Arial,sans-serif;box-shadow:0 5px 22px #0002;transition:background .2s,transform .2s;white-space:nowrap}.floating-whatsapp:hover{background:#10b958;transform:translateY(-2px)}.floating-whatsapp svg{width:25px;height:25px;flex:none}.floating-contact a:focus-visible{outline:3px solid #075f53;outline-offset:4px}@media(max-width:540px){.floating-contact{right:12px;bottom:12px;gap:9px}.floating-back-top{width:46px;height:46px}.floating-whatsapp{min-height:46px;padding:10px 14px;font-size:14px}.floating-whatsapp svg{width:22px;height:22px}}@media(prefers-reduced-motion:reduce){.floating-contact a{transition:none}}

/* Hero composition correction: prevent oversized headline, index overlap and clipping */
.hero{isolation:isolate}.hero-copy{position:absolute!important;z-index:3;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);top:47%;transform:translateY(-50%);width:auto;max-width:min(780px,calc(100% - 120px))}.hero h1{font-size:clamp(52px,6.8vw,104px);line-height:1.05;letter-spacing:-.045em;overflow-wrap:normal;margin-bottom:25px}.hero-copy>p{max-width:540px;font-size:clamp(14px,1.35vw,17px);line-height:1.7}.hero-actions{margin-top:26px;gap:28px}.hero-index{position:absolute!important;z-index:3;left:clamp(24px,5vw,80px);right:clamp(24px,5vw,80px);bottom:22px;top:auto;transform:none;pointer-events:none}.hero-side{position:absolute!important;z-index:3}.brand-official img{width:205px;max-height:62px;object-fit:contain}.footer-official-logo{width:210px;max-height:65px;object-fit:contain}
@media(max-width:900px){.hero-copy{left:34px;right:34px;max-width:calc(100% - 68px)}.hero h1{font-size:clamp(50px,8.5vw,78px)}.hero-index{left:34px;right:34px}}
@media(max-width:600px){.hero{min-height:610px;height:calc(100svh - 110px);max-height:760px}.hero-copy{left:22px;right:22px;top:46%;max-width:calc(100% - 44px)}.hero h1{font-size:clamp(46px,11vw,65px);letter-spacing:-.045em;line-height:1.05;margin-bottom:21px}.hero-copy>p{font-size:14px;line-height:1.65;max-width:350px}.hero-actions{gap:15px;align-items:flex-start;flex-wrap:wrap;margin-top:24px}.hero-index{left:22px;right:22px;bottom:18px;letter-spacing:1.2px;font-size:8px}.hero .eyebrow{font-size:9px;letter-spacing:1.5px;line-height:1.5}.brand-official img{width:150px}}
@media(max-width:360px){.hero h1{font-size:43px}.hero-actions .button{padding:13px 15px}}

/* Heritage · 25 years of Ni-Shin window treatment experience */
.heritage-section{background:#168f85;color:#fff;padding:110px 0}.heritage-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%}.heritage-section .eyebrow{color:#d8f0e8}.heritage-number{font:clamp(95px,13vw,180px)/1 'Playfair Display',Georgia,serif;letter-spacing:-7px}.heritage-number span{display:block;font:700 12px 'DM Sans',sans-serif;letter-spacing:4px;margin:15px 0 36px}.heritage-intro h2{font:clamp(42px,4.6vw,70px)/1.15 'Playfair Display',Georgia,serif}.heritage-intro h2 em{color:#d7eee4}.heritage-story h3{font:35px/1.3 'Playfair Display',Georgia,serif;margin:0 0 24px}.heritage-story p{color:#e4f1ec;line-height:1.9;font-size:15px}.heritage-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border-block:1px solid #9acfc4;margin:35px 0;padding:25px 0}.heritage-proof strong{display:block;font:22px 'Playfair Display',Georgia,serif}.heritage-proof small{display:block;color:#d7e9e3;font-size:11px;margin-top:8px;line-height:1.5}.heritage-action{display:inline-block;border-bottom:1px solid white;padding:12px 0;font-size:11px;letter-spacing:1.4px}.heritage-story .heritage-source{font-size:10px;margin-top:25px;color:#c9e3da}@media(max-width:700px){.heritage-section{padding:75px 0}.heritage-layout{grid-template-columns:1fr;gap:35px}.heritage-number{font-size:110px}.heritage-proof{gap:8px}.heritage-proof strong{font-size:18px}}

/* Preview refinement: calm editorial layout, deeper green accents, subtle premium interactions. */
:root{--teal:#176c59;--teal-dark:#104c40;--teal-deep:#0b3932;--cream:#f5f2e9;--gold:#c2a77d}
.site-header{box-shadow:0 6px 26px rgba(12,46,38,.05)}
.product-category-tile img,.mood-card img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.product-category-tile:hover img,.mood-card:hover img{transform:scale(1.045)}
@media(prefers-reduced-motion:reduce){.product-category-tile img,.mood-card img{transition:none}}

/* Premium editorial consultation section — responsive B2C/B2B paths */
.audience-section{background:#f5f2e9;padding:clamp(70px,9vw,132px) 0;color:#193f35}.audience-section h2{font-size:clamp(38px,5.5vw,76px);line-height:1.12;letter-spacing:-.025em;max-width:900px;margin-bottom:48px}.audience-section h2 em{color:#176c59}.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.audience-card{padding:clamp(28px,4vw,58px);background:#fffdfa;border:1px solid #dce5dc;min-height:330px;display:flex;flex-direction:column;align-items:flex-start}.audience-card>span{font:700 11px Manrope,Arial,sans-serif;letter-spacing:2px;color:#176c59}.audience-card h3{font-size:clamp(30px,3vw,45px);line-height:1.2;margin:35px 0 14px}.audience-card p{font-size:15px;line-height:1.8;color:#56675e;max-width:440px}.audience-card a{margin-top:auto;border-bottom:1px solid #176c59;padding:12px 0;color:#176c59;font-weight:700;font-size:13px}.audience-card a:hover{color:#0b3932}@media(max-width:700px){.audience-grid{grid-template-columns:1fr}.audience-card{min-height:300px}.audience-section h2{margin-bottom:28px}}


/* V2.1 editorial refinement — BAAGUS-inspired hierarchy, original Ni-Shin identity */
:root{--editorial-green:#164e45;--editorial-sage:#dce6df;--editorial-ivory:#f7f5f0;--editorial-ink:#202923}
html{scroll-padding-top:88px}
body{background:var(--editorial-ivory);color:var(--editorial-ink)}
:focus-visible{outline:3px solid #b18c5c;outline-offset:4px}
img{height:auto}
section{scroll-margin-top:88px}
h1,h2{letter-spacing:-.035em;text-wrap:balance}
h1{line-height:1.07}
h2{line-height:1.16}
p{line-height:1.7}
a,button{transition:color .2s ease,background-color .2s ease,transform .2s ease}
a:hover,button:hover{filter:brightness(.96)}
.project-card,.product-card,.fabric-card{overflow:hidden}
.project-card img,.product-card img,.fabric-card img{transition:transform .65s cubic-bezier(.2,.65,.25,1)}
.project-card:hover img,.product-card:hover img,.fabric-card:hover img{transform:scale(1.035)}
@media(min-width:900px){section{padding-block:clamp(3rem,6vw,7rem)}}
@media(max-width:767px){h1{font-size:clamp(2.5rem,10vw,4.5rem)};h2{font-size:clamp(1.9rem,7vw,3rem)};button,a{touch-action:manipulation}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V2.2: Show completed projects and product categories, not individual fabric swatches or reference codes. */
.fabric-index,.catalogue,.colour-guide,.mood-grid,.fabric-library,.catalogue-filters{display:none!important}

/* Minimal V2: remove the fabric swatch library and all related controls. */
section#catalogue, .catalogue.section-pad, .fabric-index, #series-index, .catalogue-filters, .catalogue-grid, .colour-guide, #colour-guide {display:none!important}
\n
/* Brand header: preserve intrinsic SVG proportions; avoid clipping on mobile. */
.site-header .brand-official img{display:block;width:clamp(175px,17vw,255px);height:auto;max-height:none;object-fit:contain;filter:none;transform:none;image-rendering:auto}
.footer-official-logo{display:block;width:clamp(185px,19vw,235px);height:auto;max-height:none;object-fit:contain}
@media(max-width:700px){.site-header .brand-official img{width:175px;height:auto}}


/* WCAG AA: keep the original layout while strengthening small-text contrast. */
:root{--teal:#0b6a61}
.heritage-section{background:#0b5d55}
.intro-count{color:#5d675d}
.project-caption span{color:#526158}
.project-footnote{color:#596258}
.visit-details>small{color:#f0fffa}
.floating-whatsapp{background:#147d42;color:#fff}
.floating-whatsapp:hover{background:#0b6637}

@media(max-width:540px){.floating-whatsapp{width:52px;height:52px;min-height:52px;padding:0;border-radius:50%;font-size:0;gap:0}.floating-whatsapp span{display:none}.floating-whatsapp svg{width:26px;height:26px}}


/* Final owner-preview refinement: move from product discovery to real work quickly. */
.consult-prompt{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#f4f2ed;border-top:1px solid #d8e1d9;padding:26px 36px;margin:0 0 45px}
.consult-eyebrow{font:700 10px 'Manrope',Arial,sans-serif;letter-spacing:2px;color:#0b6a61}
.consult-prompt p{max-width:660px;margin:9px 0 0;font:400 14px/1.65 'DM Sans',Arial,sans-serif;color:#374440}
.consult-prompt a{color:#0b6a61;font:700 13px 'DM Sans',Arial,sans-serif;border-bottom:1px solid #0b6a61;padding:7px 0;white-space:nowrap}
.projects-more{display:none}
@media(max-width:700px){
 .consult-prompt{margin:0 0 28px;padding:21px 20px;display:block}
 .consult-prompt a{display:inline-flex;margin-top:16px}
 #project-grid:not(.is-expanded):not(.is-filtered)>.project-card:nth-child(n+7){display:none}
 .projects-more{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:24px auto 12px;border:1px solid #0b6a61;background:transparent;color:#0b6a61;padding:15px 20px;font:700 13px 'DM Sans',Arial,sans-serif}
 #project-grid.is-filtered+.projects-more{display:none}
}
