:root{--ink:#202329;--paper:#fff;--muted:#5e636b;--line:#d7dade;--blue:#273c56;--surface:#f3f4f5;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;--latin:"Century Gothic",CenturyGothic,"Avenir Next",Avenir,Arial,sans-serif;--sans:"Century Gothic",CenturyGothic,"Avenir Next",Avenir,"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.35em}a:focus-visible{outline:3px solid #6b9dd1;outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}ul,ol{margin:0;padding:0}section{scroll-margin-top:1rem}.skip-link{position:fixed;left:1rem;top:-6rem;padding:1rem;background:#fff;z-index:100}.skip-link:focus{top:1rem}.site-header{min-height:100px;padding:1.35rem 4.5%;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid #eee;background:#fff}.brand{display:flex;align-items:center;gap:1.3rem;flex-shrink:0}.brand img{width:100px;height:auto}.brand span{font-size:.8rem;letter-spacing:.1em}.site-header nav{display:flex;align-items:center;gap:1.8rem;font-size:.875rem}.nav-contact{padding:.65rem 1.1rem;border:1px solid var(--ink)}.hero{display:grid;grid-template-columns:1.38fr 1fr;position:relative}.hero-photo{background:#333641;min-height:590px}.hero-photo img{height:100%;width:100%;object-fit:cover;object-position:27% 50%}.hero-copy{align-self:center;padding:5rem 12%}.eyebrow{font-family:var(--latin);font-size:.75rem;letter-spacing:.17em;font-weight:600;line-height:1.6}.hero-copy .eyebrow{color:var(--muted);margin-bottom:2.8rem}h1{font-family:var(--serif);font-size:clamp(2.2rem,3.25vw,3.5rem);line-height:1.7;letter-spacing:.09em;white-space:normal}.hero-message{margin-top:2rem;line-height:2.35;letter-spacing:.065em}.text-link{display:inline-flex;gap:2.5rem;align-items:center;border-bottom:1px solid currentColor;padding:.65rem 0;font-size:.9rem}.text-link span{font-size:1.35rem}.hero-copy .text-link{margin-top:2rem}.hero-foot{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;padding:1rem 4.5%;font-size:.8rem;letter-spacing:.12em;border-bottom:1px solid var(--line)}.hero-foot span:last-child{font-family:var(--latin);font-size:.7rem}.section{padding:7.5rem max(5%,calc((100vw - 1200px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:3.5rem}.section-heading .eyebrow{color:var(--muted);margin-bottom:1rem}h2{font-family:var(--serif);font-size:clamp(2rem,3vw,3rem);line-height:1.65;letter-spacing:.04em}h2 span{display:block;font-family:var(--sans);font-size:.875rem;letter-spacing:.12em;line-height:2;margin-top:.6rem}.section-heading>p{font-size:1rem;line-height:2.1}.featured-products{display:grid;grid-template-columns:1fr 1fr;gap:1.7rem;margin-bottom:3.5rem}.feature-product{padding:2.5rem 3rem;background:#f1f2f3;border-top:2px solid var(--ink);display:flex;flex-direction:column;align-items:flex-start}.feature-product h3{font-family:var(--serif);font-size:3rem;margin-top:1.3rem;letter-spacing:.06em}.feature-product>p:not(.eyebrow){font-size:1rem;margin:.2rem 0 1.6rem}.feature-product .text-link{margin-top:auto}.feature-denim{background:#edf0f5;border-color:var(--blue);color:var(--blue)}.denim-types{display:flex;gap:1.5rem}.denim-types span+span{border-left:1px solid #a9b2bf;padding-left:1.5rem}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem 2rem}.product-photo{display:block;overflow:hidden;background:#e6e7e8}.product-photo img{width:100%;height:380px;object-fit:cover;object-position:center;transition:transform .5s}.product-photo:hover img{transform:scale(1.025)}.product-heading{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-top:1.3rem}.product h3{font-family:var(--latin);font-size:1.55rem;line-height:1.5}.product-heading>span{font-size:.8rem;color:var(--muted)}.product>p{margin-top:.8rem;color:var(--muted);font-size:.9375rem;line-height:2}.about{background:#a1d1bc;color:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:5rem}.about .eyebrow{color:#2f5146;margin-bottom:2rem}.about h2{font-size:clamp(2rem,3vw,3rem);line-height:1.9}.about-copy .lead{font-family:var(--serif);font-size:1.3rem;line-height:2}.about-copy>p+p{margin-top:1.6rem;line-height:2.2}.craft-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.craft-layout>img{width:100%;max-height:520px;object-fit:cover}.craft-copy article{display:flex;gap:1.6rem;padding:1.7rem 0;border-top:1px solid var(--line)}.craft-copy article>span{font-family:var(--latin);font-size:1.2rem;color:var(--muted)}.craft-copy h3{font-size:1.25rem;margin-bottom:.7rem}.craft-copy p{color:var(--muted);font-size:.9375rem}.service-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4.5rem}.service-plans article{border-top:2px solid var(--ink);padding-top:1.5rem}.service-plans .eyebrow{color:var(--muted)}.service-plans h3{font-size:1.2rem;margin:1rem 0}.service-plans p:last-child{font-size:.9375rem;color:var(--muted)}.flow{margin-top:4rem;background:var(--surface);padding:2.2rem}.flow h3{font-size:1.1rem;margin-bottom:1.6rem}.flow ol{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.flow li{font-size:.875rem;border-left:1px solid #c7ccd3;padding-left:1rem}.flow li span{display:block;color:var(--muted);font-family:var(--latin);font-size:1.4rem;margin-bottom:.4rem}.company{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.6fr;gap:5rem}.company .section-heading{display:block;align-self:start}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:1.3rem 0;gap:1.8rem}.company-table>div:last-child{border-bottom:1px solid var(--line)}.company-table dt{font-size:.875rem;color:var(--muted)}.company-table dd{margin:0;font-size:.9375rem;overflow-wrap:anywhere}.secondary{display:block;color:var(--muted);font-size:.8rem;margin-top:.35rem}.small-link{display:inline-block;border-bottom:1px solid var(--line);font-size:.875rem;margin-top:.6rem}.partner-list{list-style:none}.partner-list li{margin:.25rem 0}.contact{padding:5rem max(5%,calc((100vw - 1200px)/2));display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;background:var(--surface)}.contact h2{margin:1rem 0;font-size:2.5rem}.contact p:not(.eyebrow){font-size:.9375rem}.contact-links{max-width:460px;width:100%;justify-self:end}.contact-mail{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 1.7rem;background:var(--ink);color:white;font-size:1rem}.contact-mail span{font-size:1.3rem}.contact-links>p{text-align:right;color:var(--muted);font-size:.8rem!important;margin-top:.5rem}.contact-tel{display:flex;gap:1rem;align-items:baseline;margin-top:1.7rem;font-family:var(--latin);font-size:2.2rem}.contact-tel span{font-family:var(--latin);font-size:.8rem}footer{padding:2.5rem 5%;display:flex;gap:2rem;align-items:center;justify-content:space-between;font-size:.8rem}.footer-brand{font-family:var(--latin);font-size:1.7rem}.footer-brand span{display:block;font-family:var(--sans);font-size:.75rem}footer small{font-size:.75rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.policy{max-width:900px;margin:0 auto;padding:5rem 5%}.policy h1{font-size:2.25rem;white-space:normal;margin-bottom:2rem}.policy h2,.policy h3{font-family:var(--sans);font-size:1.2rem;margin:2.5rem 0 1rem}.policy p{margin:1.25rem 0;overflow-wrap:anywhere}.policy-back{display:inline-block;margin-bottom:2.5rem;text-decoration:underline}
@media(min-width:1700px){.hero-copy{padding-top:7rem;padding-bottom:7rem}.hero-photo{max-height:850px}}
@media(max-width:1100px){.brand span{display:none}.site-header nav{gap:1rem}.hero-copy{padding:4rem 8%}.hero-photo{min-height:540px}.section{padding:5rem 5%}.product-photo img{height:330px}.company{gap:3rem;grid-template-columns:.7fr 1.5fr}.about{gap:3rem}.craft-layout{gap:2.5rem}.flow ol{grid-template-columns:1fr 1fr;gap:1.5rem}}
@media(max-width:760px){html{scroll-padding-top:1rem}.site-header{padding:1rem 5%;display:block}.brand{width:fit-content}.brand img{width:84px}.brand span{display:block;font-size:.75rem}.site-header nav{display:flex;flex-wrap:wrap;column-gap:1.2rem;row-gap:.6rem;margin-top:1rem;font-size:.875rem}.nav-contact{padding:0;border:0}.hero{display:flex;flex-direction:column}.hero-photo{min-height:0;height:360px}.hero-photo img{object-position:35% 50%}.hero-copy{padding:3rem 6%}.hero-copy .eyebrow{margin-bottom:1.5rem}h1{font-size:2.4rem;line-height:1.65;letter-spacing:.06em}.hero-message{margin-top:1.3rem;font-size:.9375rem}.hero-copy .text-link{margin-top:1.1rem}.hero-foot{padding:1rem 6%;font-size:.75rem}.hero-foot span:last-child{display:none}.section{padding:4rem 6%}.section-heading{display:block;margin-bottom:2rem}.section-heading>p{margin-top:1.5rem}.section-heading h2{font-size:2.2rem}.featured-products{grid-template-columns:1fr;gap:1rem;margin-bottom:2.5rem}.feature-product{padding:1.8rem 2rem}.feature-product h3{margin-top:.5rem;font-size:2.7rem}.product-grid{gap:2.5rem;grid-template-columns:1fr}.product-photo img{height:380px}.about{grid-template-columns:1fr;gap:2rem}.about h2{font-size:2.1rem}.about-copy .lead{font-size:1.2rem}.craft-layout{grid-template-columns:1fr;gap:2rem}.craft-layout>img{max-height:360px}.service-plans{grid-template-columns:1fr;gap:1.8rem;margin-top:3rem}.service-plans h3{margin:.6rem 0}.flow{padding:1.7rem 1.3rem}.flow ol{grid-template-columns:1fr;gap:1.2rem}.flow li{display:flex;align-items:baseline;gap:1rem}.flow li span{margin:0}.company{display:block}.company-table>div{grid-template-columns:82px 1fr;gap:1.1rem}.contact{padding:3.5rem 6%;grid-template-columns:1fr;gap:2rem}.contact h2{font-size:2rem}.contact-links{max-width:none}.contact-tel{font-size:2rem}footer{align-items:flex-start;flex-wrap:wrap;padding:2rem 6%;gap:1.5rem}footer small{width:100%}.policy h1{font-size:1.9rem}}
@media(max-width:380px){h1{font-size:2rem}.hero-photo{height:280px}.product-photo img{height:290px}.company-table>div{grid-template-columns:1fr;gap:.4rem}.product h3{font-size:1.35rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-photo img{transition:none}}
.featured-products{grid-template-columns:1fr;gap:3rem}
.hero-copy h1{font-size:clamp(1.5rem,2.65vw,3rem);line-height:1.8;letter-spacing:.025em}
.hero-photo{background:#f1eee8}
.about{grid-template-columns:.7fr 1.4fr;gap:3rem}
.about-copy p{line-height:2.2}
@media(max-width:760px){.about{grid-template-columns:1fr;gap:2rem}.about-copy br{display:none}}
@media(max-width:760px){.hero-copy h1{font-size:clamp(1.5rem,7vw,1.9rem)}}
.feature-product{display:grid;grid-template-columns:1.12fr 1fr;padding:0;background:#fff;border:1px solid var(--line);align-items:center}
.feature-denim{color:var(--ink);background:#f5f7fa;border-color:#d7dde5}
.feature-media{width:100%;align-self:center}
.catalog-image{display:block;position:relative;width:100%;overflow:hidden;background:#f1f2f3}
.catalog-image img{display:block;width:100%;max-width:none;height:auto}
.moku-catalog-image{aspect-ratio:2480 / 1780}
.denim-catalog-image{aspect-ratio:2480 / 2130}
.denim-catalog-image img{position:absolute;left:0;top:-14.84%}
.catalog-link{display:block;width:fit-content;margin:1rem auto;font-size:.875rem;border-bottom:1px solid var(--line)}
.catalog-link span{margin-left:.8rem}
.feature-copy{padding:2.4rem 2.2rem;width:100%}
.feature-copy>.eyebrow{color:var(--muted)}
.feature-copy h3{font-size:2.7rem;margin:.6rem 0 1.5rem;line-height:1.4}
.product-subtitle{display:block;font-family:var(--sans);font-size:.875rem;letter-spacing:.1em;margin-top:.4rem}
.feature-intro{font-size:1rem;line-height:2}
.product-specs{margin:1.6rem 0 1rem;font-size:1rem}
.product-specs>div{padding:.7rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:5.5rem 1fr;gap:.8rem}
.product-specs dt{font-size:.875rem;color:var(--muted)}
.product-specs dd{margin:0;overflow-wrap:anywhere}
.product-note{font-size:.875rem;color:var(--muted);line-height:1.9}
.feature-copy .text-link{margin-top:1.3rem}
@media(max-width:950px){.feature-product{grid-template-columns:1fr 1fr}.feature-copy{padding:1.8rem 1.5rem}.product-specs>div{grid-template-columns:1fr;gap:.15rem}}
@media(max-width:760px){.featured-products{gap:2rem}.feature-product{grid-template-columns:1fr;padding:0}.feature-copy{padding:1.6rem}.feature-copy h3{font-size:2.4rem}.product-specs>div{grid-template-columns:5.5rem 1fr;gap:.65rem}}
@media(max-width:380px){.product-specs>div{grid-template-columns:1fr;gap:.15rem}}

.product-photographs{padding:1.4rem}
.product-photographs figure{margin:0;min-width:0}
.product-photographs .main-product-photo{width:100%;max-width:420px;margin-inline:auto}
.product-photographs figcaption{font-size:.875rem;line-height:1.7;text-align:center;margin:.6rem 0 .8rem}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.flyer-photo{position:relative;overflow:hidden;aspect-ratio:var(--crop-w) / var(--crop-h);width:100%;background:#e9ecef}
.flyer-photo img{position:absolute;width:calc(100% * 2480 / var(--crop-w));max-width:none;height:auto;left:calc(-100% * var(--crop-x) / var(--crop-w));top:calc(-100% * var(--crop-y) / var(--crop-h))}
.denim-photographs{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}
.heading-logo{display:inline-block;width:122px;height:auto;vertical-align:baseline}
.footer-brand img{width:112px;height:auto;margin-bottom:.65rem}
@media(min-width:950px){.feature-denim{grid-template-columns:1.25fr 1fr}.denim-photographs{grid-template-columns:1fr}}
@media(max-width:760px){.product-photographs{padding:1rem}.photo-pair,.denim-photographs{gap:.75rem}.heading-logo{width:105px}}

.product-variations{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.product-photo{aspect-ratio:1;background:#eee6da}
.product-photo img{height:100%;width:100%;object-fit:contain;object-position:center;transition:none}
.product-photo:hover img{transform:none}
#moku h3,#hacoa h3{font-family:var(--latin);font-weight:400}
.product-variations h4{margin:0 0 .9rem;font-size:.875rem;font-weight:500;letter-spacing:.06em}
.variation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;max-width:330px}
.variation-grid figure{margin:0;min-width:0}
.variant-photo{display:block;width:72px;max-width:100%;margin:0 auto;position:relative;aspect-ratio:1;background:#f3f4f5;overflow:hidden}
.variant-crop{position:absolute;height:82%;aspect-ratio:var(--crop-w) / var(--crop-h);left:50%;top:9%;transform:translateX(-50%);overflow:hidden}
.variant-crop img{position:absolute;width:calc(100% * var(--image-w) / var(--crop-w));max-width:none;height:auto;left:calc(-100% * var(--crop-x) / var(--crop-w));top:calc(-100% * var(--crop-y) / var(--crop-h));transition:filter .3s}
.variant-photo:hover img{filter:brightness(1.07)}
.variant-photo{background:#eee6da}
.variant-photo>img{display:block;width:100%;height:100%;object-fit:contain}
.variation-grid figcaption{font-size:.875rem;line-height:1.7;margin-top:.5rem;text-align:center;overflow-wrap:anywhere}


.image-viewer{border:0;padding:1.25rem;background:#fff;color:var(--ink);width:min(860px,94vw);max-height:94vh;overflow:auto}
.image-viewer::backdrop{background:rgba(20,22,26,.8)}
.image-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.image-viewer-header p{font-size:.9375rem;line-height:1.6}
.image-viewer button{font:inherit;font-size:.875rem;flex-shrink:0;padding:.5rem .8rem;border:1px solid var(--line);background:#fff;cursor:pointer}
.image-viewer button:focus-visible{outline:3px solid #6b9dd1;outline-offset:3px}
.image-viewer>img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;margin:0 auto;object-fit:contain}
@media(max-width:400px){.variation-grid{gap:.5rem}.variant-photo{width:64px}.image-viewer{padding:.9rem}}

.service-heading{margin-bottom:1.4rem}
.service-intro{font-size:1rem;line-height:2.1;margin-bottom:2.5rem;color:var(--muted)}
.request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.request-card{padding:1.8rem;background:#f5f8f6;border-top:3px solid #82c1a6;display:flex;flex-direction:column;min-width:0}
.request-plan-name{font-size:.875rem;color:#375f50;letter-spacing:.06em;margin-bottom:.8rem}
.request-card h3{font-size:1.4rem;font-weight:500;line-height:1.65;margin-bottom:1rem}
.request-description{font-size:.9375rem;line-height:1.9;margin-bottom:1.3rem}
.design-catalog-link{align-self:flex-start;font-size:.875rem;color:#315d4b;border-bottom:1px solid #82c1a6;padding-bottom:.25rem;margin:-.4rem 0 1.3rem;display:inline-flex;gap:1rem}
.design-catalog{margin:2.5rem 0 0;border:1px solid #d3e0d9;scroll-margin-top:110px}
.design-catalog summary{padding:1.5rem 1.8rem;cursor:pointer;font-size:1.2rem;font-weight:500;background:#f5f8f6}
.design-catalog summary span{font-size:.875rem;color:var(--muted);font-weight:400;margin-left:1.3rem}
.design-catalog-body{padding:1.8rem}
.design-catalog-body>p{font-size:.9375rem;line-height:1.9;color:var(--muted);margin-bottom:2rem}
.design-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 2rem}
.design-card{min-width:0}
.design-card-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.design-card h4{font-size:1.05rem;font-weight:500}
.design-card-heading span{font-size:.8125rem;color:var(--muted)}
.design-photo,.design-thumb{display:block;background:#f7f7f5;border:1px solid var(--line);transition:opacity .2s}
.design-photo img,.design-thumb img{display:block;width:100%;height:auto;aspect-ratio:1980/991;object-fit:contain}
.design-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.65rem}
.design-photo:hover,.design-thumb:hover{opacity:.8}
.design-photo:focus-visible,.design-thumb:focus-visible,.design-catalog summary:focus-visible,.design-catalog-link:focus-visible{outline:3px solid #375f50;outline-offset:4px}
.image-viewer.is-gallery{width:min(1200px,96vw)}
.image-viewer.is-gallery>img{max-height:70vh}
.gallery-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1rem}
.gallery-controls span{font-size:.875rem;white-space:nowrap;min-width:3rem;text-align:center}
.image-viewer button:disabled{opacity:.4;cursor:default}
@media(max-width:700px){.design-grid{grid-template-columns:1fr;gap:2rem}.design-catalog summary{padding:1.2rem}.design-catalog summary span{display:block;margin:.35rem 0 0 1.2rem}.design-catalog-body{padding:1.2rem}.gallery-controls:not([hidden]){gap:.6rem;justify-content:space-between}.gallery-controls button{font-size:.8125rem;padding:.6rem}.image-viewer.is-gallery>img{max-height:65vh}}
.request-card dl{margin:auto 0 1.4rem}
.request-card dl>div{padding:.8rem 0;border-top:1px solid #d3e0d9}
.request-card dt{font-size:.875rem;font-weight:600;color:#375f50;margin-bottom:.35rem}
.request-card dd{font-size:.9375rem;line-height:1.8;margin:0}
.request-card .text-link{align-self:flex-start;gap:1.25rem;font-size:.875rem}
.service-help{display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line);padding:2rem 0 2.7rem}
.service-help h3{font-size:1.05rem;margin-bottom:.5rem}
.service-help p{font-size:.9375rem;color:var(--muted);max-width:660px}
.service-help .text-link{flex-shrink:0}
.cover-service{display:grid;grid-template-columns:.8fr 1.2fr;gap:3.5rem;align-items:center;margin-top:3.5rem}
.cover-service figure{margin:0}
.cover-service img{width:100%;max-height:330px;object-fit:cover}
.cover-service figcaption{font-size:.875rem;color:var(--muted);margin-top:.5rem}
.cover-service .eyebrow{color:#375f50;margin-bottom:.8rem}
.cover-service h3{font-family:var(--serif);font-size:1.55rem;line-height:1.8;margin-bottom:1rem}
.cover-service p:not(.eyebrow){font-size:.9375rem;line-height:2;color:var(--muted)}
.cover-service p+p{margin-top:.8rem}
.order-flow{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.order-flow>h3{font-size:1.3rem;margin-bottom:1.7rem}
.order-flow ol{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}
.order-flow li{padding:1.2rem 0;border-top:2px solid #82c1a6}
.step-number{font-family:var(--latin);font-size:1.4rem;color:#375f50}
.order-flow h4{font-size:1rem;font-weight:500;margin:.6rem 0}
.order-flow p{font-size:.875rem;line-height:1.9;color:var(--muted)}
@media(max-width:1000px){.request-grid{grid-template-columns:1fr}.request-card{padding:1.6rem 1.8rem}.request-card h3 br{display:none}.request-card dl{margin:0 0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.request-description{margin-bottom:1.2rem}.service-help{align-items:flex-start;flex-direction:column;gap:1rem}.cover-service{gap:2rem}.order-flow ol{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.request-card{padding:1.5rem}.request-card h3{font-size:1.25rem}.request-card dl{grid-template-columns:1fr;gap:0}.request-grid{gap:1.2rem}.cover-service{grid-template-columns:1fr;gap:1.5rem}.cover-service img{max-height:260px}.order-flow ol{grid-template-columns:1fr;gap:.5rem}.order-flow li{display:grid;grid-template-columns:2.7rem 1fr;gap:.2rem .5rem}.order-flow h4{margin:.2rem 0}.order-flow p{grid-column:2}.service-help{padding-bottom:2rem}}

/* English labels and contact numbers share the same typeface. */
.latin-heading,.latin-text,.feature-copy h3,.product-heading h3,footer small{font-family:var(--latin)}
.product-subtitle,.latin-heading>span{font-family:var(--sans)}
.contact-number{display:flex;align-items:baseline;gap:.8rem;font-family:var(--latin);font-variant-numeric:lining-nums tabular-nums;line-height:1.8}
.contact-number>span:first-child{min-width:2.3rem;font-size:.875rem}
.contact-number>a,.contact-number>span:last-child{white-space:nowrap}
.contact-tel{align-items:center;font-family:var(--latin);font-weight:400;line-height:1.25;letter-spacing:.025em;font-variant-numeric:lining-nums tabular-nums}
.contact-tel .tel-label{font:inherit;font-size:.875rem;letter-spacing:.08em}
.contact-tel .tel-number{font:inherit;white-space:nowrap}
.product>p,.request-description,.request-card dd,.service-help p{font-size:1rem}

/* Reserved spaces for the two forthcoming ten-page design samples. */
.design-previews{margin-top:3rem;padding-top:2.5rem;scroll-margin-top:2rem}
.design-previews-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem}
.design-previews-heading h3{font-size:1.5rem;font-weight:500}
.design-previews-heading p{font-size:.9375rem;color:var(--muted)}
.design-placeholder-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.design-placeholder-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.design-placeholder-heading h3{font-size:1rem;font-weight:500;margin:0}
.design-placeholder-heading span{font-family:var(--latin);font-size:.9375rem;color:var(--muted)}
.design-placeholder{width:100%;aspect-ratio:2/1;border:1px solid #bcc7c1;background:#fff}
@media(max-width:760px){.design-placeholder-grid{grid-template-columns:1fr;gap:2rem}.design-previews-heading{align-items:flex-start;flex-direction:column;gap:.35rem}}

.design-section{border-top:1px solid var(--line)}

.header-links{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;min-width:0}
.group-company-link{font-size:.875rem;line-height:1.6;color:#375f50;letter-spacing:.03em;border-bottom:1px solid #82c1a6;padding-bottom:.2rem;white-space:nowrap}
.header-links nav{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.header-links{align-items:flex-start;margin-top:1rem;gap:.85rem}.header-links nav{justify-content:flex-start;margin-top:0}}

/* A compact, balanced contact area and aligned footer. */
.contact{display:block;padding:3.25rem max(5%,calc((100vw - 1200px)/2))}
.contact>.eyebrow,.contact>div:first-child>.eyebrow{text-align:center;font-size:.875rem;letter-spacing:.2em;margin-bottom:1.75rem}
.contact-links{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:.6rem 3rem;max-width:860px;margin:0 auto}
.contact-mail{grid-column:1;grid-row:1;min-height:72px;align-items:center;padding:1.15rem 1.6rem}
.contact-links>p{grid-column:1;grid-row:2;text-align:center;font-size:.875rem!important;line-height:1.5;margin:0}
.contact-tel{grid-column:2;grid-row:1;justify-content:center;min-height:72px;margin:0;padding-left:2rem;border-left:1px solid #cbd0d2;font-size:2rem;gap:.75rem}
body>footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:2rem max(5%,calc((100vw - 1200px)/2))}
body>footer>small{justify-self:end;width:auto}
body>footer>.footer-brand{justify-self:start}
@media(max-width:760px){
  .contact{padding:2.5rem 6%}
  .contact-links{grid-template-columns:1fr;max-width:420px;gap:.6rem}
  .contact-mail{min-height:64px}
  .contact-tel{grid-column:1;grid-row:3;min-height:0;margin-top:1rem;padding:1.5rem 0 0;border-left:0;border-top:1px solid #cbd0d2;font-size:clamp(1.5rem,6.4vw,2rem)}
  body>footer{grid-template-columns:1fr auto;gap:1.4rem 1rem;padding:1.75rem 6%;align-items:center}
  body>footer>small{grid-column:1/-1;justify-self:center;text-align:center}
}

/* Photo-led design samples. Scoped to preserve existing product content. */
.sample-meta{font-size:.875rem;color:var(--muted)}
.sample-patterns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:3rem}
.sample-pattern{appearance:none;font:inherit;color:inherit;cursor:pointer;min-width:0;text-align:left;background:#fff;border:1px solid #d7dade;padding:1rem;display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem;transition:border-color .2s,background .2s}
.sample-pattern>img{grid-column:1/-1;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;background:#fff}
.sample-pattern[aria-pressed=true]{border-color:#49745e;background:#f4f7f4;box-shadow:inset 0 0 0 1px #49745e}
.sample-pattern:hover{border-color:#49745e}
.sample-pattern-copy{display:grid;gap:.25rem;padding:.2rem .3rem}
.sample-pattern-number{font-family:var(--latin);font-size:.6875rem;letter-spacing:.15em;color:#52665c}
.sample-pattern-title{font-family:var(--serif);font-size:1.5rem;line-height:1.7}
.sample-pattern-description{font-size:.875rem;color:var(--muted)}
.sample-selection{font-size:.75rem;color:#315d4b;visibility:hidden;white-space:nowrap;padding:.3rem}
.sample-selection>span{margin-left:1rem;font-size:1.25rem}
.sample-pattern[aria-pressed=true] .sample-selection{visibility:visible}
.sample-viewer{background:#f5f4f0;padding:1.75rem 1.75rem 1.25rem;min-width:0}
.sample-viewer-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem;line-height:1.7}
.sample-viewer-heading>p{font-size:1rem;letter-spacing:.04em}
.sample-viewer-hint{font-size:.75rem;color:var(--muted)}
.sample-spread{display:block;position:relative;appearance:none;cursor:zoom-in;width:100%;padding:0;border:0;background:#fff;color:inherit;font:inherit}
.sample-spread>img{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:2/1}
.sample-expand{position:absolute;right:.75rem;bottom:.75rem;display:flex;align-items:center;gap:.9rem;font-size:.75rem;background:rgba(255,255,255,.96);padding:.4rem .8rem;border:1px solid #d7dade}
.sample-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0}
.sample-pagination>span{font-family:var(--latin);font-size:.8125rem;color:var(--muted);white-space:nowrap}
.sample-pagination button{font:inherit;font-size:.8125rem;border:0;background:transparent;min-height:44px;padding:.5rem .25rem;cursor:pointer;color:var(--ink)}
.sample-pagination button:disabled{color:#929792;cursor:default}
.sample-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}
.sample-thumb{appearance:none;background:transparent;border:1px solid transparent;cursor:pointer;color:var(--muted);padding:.25rem;min-width:0;font:inherit}
.sample-thumb img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;background:#fff}
.sample-thumb>span{display:block;font-family:var(--latin);font-size:.75rem;padding:.3rem 0}
.sample-thumb[aria-pressed=true]{border-color:#49745e;background:#fff;color:#315d4b}
.sample-pattern:focus-visible,.sample-viewer button:focus-visible,.sample-lightbox button:focus-visible,.sample-lightbox-canvas:focus-visible{outline:3px solid #49745e;outline-offset:4px}
.sample-lightbox{width:min(1400px,96vw);max-width:96vw;max-height:94vh;border:0;padding:1.25rem;background:#fff;color:var(--ink);overflow:auto}
.sample-lightbox::backdrop{background:rgba(20,24,22,.86)}
.sample-lightbox-header,.sample-lightbox-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;line-height:1.6}
.sample-lightbox-header{margin-bottom:1rem}
.sample-lightbox-header p{font-size:.9375rem}
.sample-lightbox button{font:inherit;font-size:.8125rem;min-height:44px;padding:.5rem .8rem;cursor:pointer;border:1px solid #ccd6cf;background:#fff;color:var(--ink);flex-shrink:0}
.sample-lightbox button:disabled{opacity:.4;cursor:default}
.sample-lightbox-canvas{overflow:auto;background:#f4f3f0;max-height:68vh;overscroll-behavior:contain}
.sample-lightbox-canvas>img{width:100%;height:auto;max-height:68vh;object-fit:contain;margin:auto}
.sample-lightbox.is-zoomed .sample-lightbox-canvas>img{width:2400px;max-width:none;max-height:none;height:auto;margin:0}
.sample-lightbox-footer{padding-top:1rem;font-size:.8125rem}
.sample-zoom-control{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}
.sample-zoom-control p{font-size:.75rem;color:var(--muted)}
@media(max-width:760px){
 .sample-patterns{gap:.75rem;margin-bottom:1.5rem}
 .sample-pattern{padding:.6rem;display:flex;flex-direction:column;align-items:stretch;gap:.5rem}
 .sample-pattern-copy{padding:0;gap:.2rem}
 .sample-pattern-title{font-size:1.15rem}
 .sample-pattern-description{font-size:.75rem;line-height:1.7}
 .sample-pattern-number{font-size:.6rem;letter-spacing:.1em}
 .sample-selection{font-size:.6875rem;padding:0;min-height:22px}
 .sample-viewer{padding:1rem .6rem .8rem}
 .sample-viewer-heading{display:block;margin-bottom:.75rem;padding:0 .25rem}
 .sample-viewer-hint{display:block;margin-top:.25rem}
 .sample-viewer-heading>p{font-size:.9375rem}
 .sample-expand{position:static;justify-content:center;border:0;border-top:1px solid #eee;min-height:36px;padding:.25rem .5rem}
 .sample-pagination{gap:.3rem;padding:.5rem 0}
 .sample-pagination button{font-size:.75rem}
 .sample-pagination>span{font-size:.6875rem}
 .sample-thumbs{gap:.25rem}
 .sample-thumb{padding:.15rem}
 .sample-thumb>span{font-size:.625rem;white-space:nowrap}
 .sample-lightbox{width:96vw;max-width:96vw;padding:.85rem}
 .sample-lightbox-header p{font-size:.8125rem}
 .sample-lightbox-header{gap:.5rem}
 .sample-lightbox button{padding:.45rem .65rem;font-size:.75rem}
 .sample-zoom-control{flex-direction:column;gap:.4rem}
 .sample-zoom-control p{font-size:.6875rem;text-align:center}
}
@media(prefers-reduced-motion:reduce){.sample-pattern{transition:none}}


/* Material stories: readable summaries with optional detail. */
.product-grid>.product{min-width:0;align-self:start}
.product>.product-introduction{line-height:2.05;max-width:42em}
.material-details{margin-top:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.material-details>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:56px;padding:.85rem 0;list-style:none;cursor:pointer;font-size:.9375rem;line-height:1.7;color:var(--ink)}
.material-details>summary::-webkit-details-marker{display:none}
.material-details>summary::after{content:'+';flex:0 0 auto;font-family:var(--latin);font-size:1.35rem;line-height:1;width:1.5rem;text-align:center;color:#375f50}
.material-details[open]>summary::after{content:'−'}
.material-details>summary:hover{color:#375f50}
.material-details>summary:focus-visible{outline:3px solid #49745e;outline-offset:4px}
.material-details-body{padding:.35rem 0 1.5rem;color:var(--muted);font-size:.9375rem;line-height:2.05;overflow-wrap:anywhere}
.material-details-body h4{font-size:.9375rem;font-weight:500;line-height:1.8;margin:0 0 .6rem;color:var(--ink)}
.material-details-body>h4:not(:first-child){margin-top:1.5rem}
.material-details-body p+p{margin-top:.8rem}
.wood-story+.wood-story{border-top:1px solid #e6e8e9;margin-top:1.5rem;padding-top:1.5rem}
.wood-story h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:.35rem .8rem}
.wood-story h4>span{font-family:var(--latin);font-size:.6875rem;letter-spacing:.12em;color:#52665c}
.material-facts{margin:0 0 .8rem;font-size:.8125rem;line-height:1.8}
.material-facts>div{display:grid;grid-template-columns:3.5rem minmax(0,1fr);gap:.5rem;margin:.15rem 0}
.material-facts dd{margin:0}
.material-details-body .material-note{font-size:.8125rem;margin-top:1.25rem}
.denim-process{margin:1.2rem 0 0}
.denim-process>div+div{margin-top:1rem}
.denim-process dt{color:var(--ink);font-weight:500;margin-bottom:.25rem}
.denim-process dd{margin:0}
@media(max-width:760px){
  .material-details{margin-top:1.25rem}
  .material-details-body{padding-bottom:1.25rem}
  .material-details>summary{min-height:56px}
}

/* Share content rows between adjacent products without fixing text heights. */
@supports(grid-template-rows:subgrid){
  @media(min-width:761px){
    .product-grid{row-gap:0}
    .product-grid>.product{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 5;row-gap:0;align-self:stretch;align-items:start}
    .product-grid>.product:nth-last-child(n+3){margin-bottom:3.5rem}
    .product-grid>.product>.product-photo{grid-row:1}
    .product-grid>.product>.product-heading{grid-row:2}
    .product-grid>.product>.product-introduction{grid-row:3}
    .product-grid>.product>.product-variations{grid-row:4}
    .product-grid>.product>.material-details{grid-row:5}
  }
}
