:root{--ink:#172638;--navy:#15283e;--deep:#0c1a2a;--cream:#f4f0e9;--paper:#fbfaf7;--gold:#a88b5c;--line:#d9d2c8;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:2;letter-spacing:.04em}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.site-header{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,38,56,.12);background:rgba(251,250,247,.92);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font-family:Georgia,serif;font-size:15px;letter-spacing:.22em}.site-header nav{display:flex;gap:2.5vw;font-size:12px;letter-spacing:.12em}.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:42% 58%;overflow:hidden}.hero-copy{padding:12vh 5vw 8vh 9vw;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.24em;color:var(--gold);margin:0 0 22px}.hero h1,.section h2,.closing h2{font-family:var(--serif);font-weight:400;line-height:1.55;letter-spacing:.08em;margin:0}.hero h1{font-size:clamp(36px,4.1vw,66px)}.hero h1 em{font-style:normal;color:var(--gold)}.lead{margin:36px 0;font-family:var(--serif);font-size:15px;line-height:2.2}.text-link{width:max-content;border-bottom:1px solid var(--ink);padding:5px 0;font-size:12px;letter-spacing:.14em}.text-link span{margin-left:25px}.hero-visual{position:relative;background:#ebe5dc}.hero-main{width:78%;margin-left:auto}.hero-sub{position:absolute;width:29%;height:39%;left:3%;bottom:6%;border:8px solid var(--paper)}.vertical-note{position:absolute;right:2.5%;bottom:4%;font:9px/1.6 var(--sans);letter-spacing:.22em;writing-mode:vertical-rl;color:#fff}.section{padding:120px max(7vw,30px)}.wide{padding-left:4vw;padding-right:4vw}.intro{text-align:center;max-width:850px;margin:auto}.intro h2{font-size:clamp(31px,4vw,52px);margin-bottom:30px}.intro>p:last-child{max-width:650px;margin:auto}.design{background:var(--cream)}.design-grid{display:grid;grid-template-columns:45% 42% 13%;max-width:1300px;margin:auto;align-items:center}.design-large{height:720px;margin:0}.design-copy{background:var(--paper);padding:7vw 5vw;margin-left:-8%;z-index:2}.number{font-family:Georgia,serif;font-style:italic;color:var(--gold);font-size:33px;margin:0 0 5px}.design-copy h2{font-size:clamp(27px,3.1vw,43px);margin-bottom:25px}.features{display:grid;grid-template-columns:1fr 1fr;list-style:none;padding:30px 0 0;margin:30px 0 0;border-top:1px solid var(--line);gap:18px}.features li{display:flex;gap:12px;font-size:11px;line-height:1.7}.features b{font-family:Georgia,serif;color:var(--gold);font-weight:400}.design-small{height:360px;margin:0 0 0 -15%}.occasions{text-align:center}.occasions h2{font-size:clamp(28px,3vw,42px)}.occasion-row{margin:45px auto 0;display:flex;justify-content:center;flex-wrap:wrap}.occasion-row span{font-family:var(--serif);padding:10px 34px;border-right:1px solid var(--line)}.occasion-row span:last-child{border:none}.lineup{background:#ece9e3}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;max-width:1200px;margin:0 auto 55px}.section-heading h2{font-size:clamp(30px,3.7vw,50px)}.section-heading>p{font-size:12px;line-height:2}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1300px;margin:auto}.product-card{background:var(--paper)}.product-image{height:510px;overflow:hidden}.product-body{padding:36px 30px 32px}.product-no{font:9px var(--sans);letter-spacing:.14em;color:#8f8475}.product-body h3{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.7;margin:14px 0}.product-body h3 span{font-family:Georgia,serif;font-size:12px;letter-spacing:.18em;color:var(--gold)}.product-body>p:not(.product-no){font-size:12px;min-height:75px}.product-body dl{margin:26px 0}.product-body dl div{display:grid;grid-template-columns:50px 1fr;border-top:1px solid var(--line);padding:8px 0;font-size:10px;line-height:1.7}.product-body dt{color:#897b68}.product-body dd{margin:0}.button,.light-button{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:var(--navy);color:#fff;font-size:11px;letter-spacing:.1em;transition:.25s}.button:hover,.light-button:hover{background:var(--gold)}.texture{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;align-items:center}.texture-copy{padding:3vw}.texture h2{font-size:clamp(28px,3vw,45px);margin-bottom:25px}.texture-copy>p:last-child{color:#d5d9df;font-size:12px}.texture figure{height:560px;margin:0;position:relative}.texture figcaption{position:absolute;bottom:0;left:0;right:0;padding:26px;background:linear-gradient(transparent,rgba(5,15,27,.82));display:flex;justify-content:space-between;align-items:end}.texture figcaption b{font:12px Georgia,serif;letter-spacing:.16em}.texture figcaption span{font-size:10px}.sizes{max-width:1280px;margin:auto}.size-block{display:grid;grid-template-columns:23% 77%;padding:40px 0;border-top:1px solid var(--line)}.size-title h3{font-family:var(--serif);font-weight:500;font-size:17px;margin:0}.size-title p{font-size:10px;color:#8f8475}.tables{display:grid;grid-template-columns:1fr 1fr;gap:30px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px;text-align:center;white-space:nowrap}caption{text-align:left;font-weight:600;margin-bottom:12px}th,td{padding:9px 7px;border-bottom:1px solid #e3ded6}thead th{color:#8b7c68;font-weight:500;background:#f5f1eb}.note{text-align:right;font-size:10px;color:#837a70}.closing{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:#fff;min-height:650px}.closing>div{padding:7vw;align-self:center}.closing h2{font-size:clamp(30px,3.7vw,52px)}.closing div>p:not(.eyebrow){color:#ccd2d9;margin:30px 0;max-width:530px}.light-button{width:230px;background:#fff;color:var(--ink);display:block;text-align:center}footer{padding:55px 6vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;background:#f1ede6}footer p{text-align:center;font-family:var(--serif);font-size:12px}footer small{text-align:right;font-size:9px;letter-spacing:.12em}
@media(max-width:900px){.site-header nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 8vw 65px}.hero-visual{height:72vh}.hero-main{width:85%}.design-grid{grid-template-columns:1fr}.design-large{height:600px}.design-copy{margin:-80px 6vw 0;padding:55px 8vw}.design-small{display:none}.product-grid{grid-template-columns:1fr;max-width:560px}.product-image{height:auto;aspect-ratio:1/1.12}.texture{grid-template-columns:1fr 1fr}.texture-copy{grid-column:1/-1;padding:10vw 4vw 5vw}.texture figure{height:520px}.size-block{grid-template-columns:1fr}.size-title{margin-bottom:20px}.tables{grid-template-columns:1fr}.closing{grid-template-columns:1fr}.closing>img{height:600px}.section-heading{display:block}.section-heading>p{margin-top:20px}}
@media(max-width:560px){body{font-size:13px}.section{padding:85px 6vw}.hero h1{font-size:36px}.hero-visual{height:58vh}.hero-sub{width:38%;height:34%}.design-large{height:480px}.design-copy{margin:-45px 4vw 0}.features{grid-template-columns:1fr}.occasion-row{display:grid;grid-template-columns:1fr 1fr}.occasion-row span{padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.texture{grid-template-columns:1fr}.texture figure{height:auto;aspect-ratio:4/5}.tables{width:100%;overflow-x:auto}.size-block{padding:32px 0}.closing>img{height:460px}.closing>div{padding:70px 8vw}footer{grid-template-columns:1fr;text-align:center;gap:12px}footer p,footer small{text-align:center}.site-header{height:64px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* デザイン右側の写真は、被写体の全体像を切らずに見せる */
@media(min-width:901px){.design-grid{grid-template-columns:44% 38% 18%;max-width:1380px}.design-copy{margin-left:-6%}.design-small{height:360px;margin-left:0;position:relative;z-index:1}.design-small img{object-fit:contain;background:var(--cream)}}

/* Brand story additions */
.manifesto{display:grid;grid-template-columns:52% 48%;background:var(--deep);color:#fff;min-height:800px}.manifesto-photo{min-height:800px}.manifesto-copy{padding:8vw 7vw;align-self:center}.manifesto h2,.hokuriku h2,.craft h2,.moments h2,.promise h2{font-family:var(--serif);font-weight:400;line-height:1.6;letter-spacing:.08em;margin:0}.manifesto h2{font-size:clamp(34px,4vw,56px)}.manifesto-lead{font-family:var(--serif);font-size:16px;line-height:2.3;margin:36px 0}.manifesto-copy>p:not(.eyebrow):not(.manifesto-lead):not(.signature){font-size:12px;color:#cdd4dd}.signature{font-family:var(--serif);color:#c2a678;font-size:18px;margin-top:40px}.hokuriku{background:#eae4da}.hokuriku-title,.hokuriku-text{max-width:1080px;margin-left:auto;margin-right:auto}.hokuriku-title h2{font-size:clamp(34px,4vw,54px)}.hokuriku-text{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin-top:45px;font-size:13px}.fabric-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1300px;margin:70px auto 0}.fabric-panels figure{margin:0;background:#fff}.fabric-panels img{aspect-ratio:1/1}.fabric-panels figcaption{padding:22px;display:flex;flex-direction:column;gap:4px}.fabric-panels figcaption span{font-size:10px;color:#867864}.fabric-panels figcaption b{font:11px Georgia,serif;letter-spacing:.15em}.craft-heading{max-width:760px;margin:0 auto 70px;text-align:center}.craft-heading h2{font-size:clamp(34px,4vw,54px);margin-bottom:28px}.craft-heading>p:last-child{font-size:13px}.craft-gallery{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:18px;max-width:1180px;margin:auto;align-items:center}.craft-gallery figure{margin:0}.craft-gallery img{height:520px}.craft-gallery .craft-center img{height:650px}.craft-gallery figcaption{text-align:center;font-family:var(--serif);font-size:11px;padding:16px}.craft blockquote{text-align:center;font-family:var(--serif);font-size:clamp(22px,3vw,37px);line-height:1.8;margin:100px auto 0;color:var(--gold)}.craft blockquote span{font-size:14px;color:var(--ink)}.moments{background:var(--navy);color:#fff;padding:110px max(7vw,30px);display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:center}.moment-copy{max-width:680px}.moments h2{font-size:clamp(30px,3.5vw,49px);margin-bottom:35px}.moment-copy>p:not(.eyebrow){color:#d6dbe1;font-size:13px}.moment-words{border-top:1px solid rgba(255,255,255,.22)}.moment-words>div{display:flex;align-items:center;gap:30px;padding:22px 5px;border-bottom:1px solid rgba(255,255,255,.22)}.moment-words b{font:italic 21px Georgia,serif;color:var(--gold)}.moment-words span{font-family:var(--serif);letter-spacing:.14em}.promise{text-align:center;background:#f1ece4}.promise h2{font-size:clamp(34px,4vw,55px)}.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw;max-width:900px;margin:55px auto;text-align:left;font-size:13px}.promise-final{font-family:var(--serif);font-size:clamp(18px,2.2vw,27px);line-height:2;color:var(--gold)}
@media(max-width:900px){.manifesto{grid-template-columns:1fr}.manifesto-photo{min-height:650px}.manifesto-copy{padding:90px 9vw}.hokuriku-text{gap:5vw}.craft-gallery{grid-template-columns:1fr 1fr}.craft-gallery figure:last-child{display:none}.moments{grid-template-columns:1fr}.promise-grid{gap:4vw}}
@media(max-width:560px){.manifesto-photo{min-height:500px}.manifesto-copy{padding:75px 8vw}.manifesto-lead br{display:none}.hokuriku-text,.fabric-panels,.craft-gallery,.promise-grid{grid-template-columns:1fr}.fabric-panels{gap:20px}.craft-gallery figure:last-child{display:block}.craft-gallery img,.craft-gallery .craft-center img{height:auto;aspect-ratio:4/5}.craft blockquote{margin-top:65px}.moments{padding:80px 8vw}}

/* Store links */
.shop-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.shop-links .official{grid-column:1/-1;background:var(--gold);min-height:62px}.shop-links .official:hover{background:#8f744b}.shop-links .official small{display:block;font-size:9px;line-height:1.35;letter-spacing:.12em;margin-bottom:3px}.shop-links .official b{font-size:14px;font-weight:400}.shop-links .marketplace{background:var(--navy);padding:12px 13px;font-size:9px;letter-spacing:.04em}.sale-note{min-height:0!important;margin:7px 0 0;text-align:center;font-size:8px!important;color:#82786b;line-height:1.5}.product-body dl{margin-bottom:14px}
@media(max-width:1100px){.shop-links{grid-template-columns:1fr}.shop-links .official{grid-column:auto}}

/* Textile editorial */
.textile-story{background:#f8f5ef}.textile-story-head{display:grid;grid-template-columns:1fr 1.2fr;column-gap:9vw;max-width:1120px;margin:0 auto 70px}.textile-story-head .eyebrow{grid-column:1/-1}.textile-story-head h2,.jacquard-notes h2{font-family:var(--serif);font-weight:400;font-size:clamp(34px,4vw,56px);line-height:1.6;letter-spacing:.08em;margin:0}.textile-story-head>p:last-child{margin:8px 0 0;font-size:13px}.weave-visual{display:grid;grid-template-columns:1.05fr .95fr;max-width:1240px;margin:auto;background:#fff}.weave-visual>figure{margin:0;min-height:720px;position:relative}.weave-visual>figure figcaption{position:absolute;left:0;right:0;bottom:0;padding:70px 40px 32px;color:#fff;background:linear-gradient(transparent,rgba(8,21,36,.84));display:flex;flex-direction:column}.weave-visual figcaption span{font-size:11px}.weave-visual figcaption b{font-family:var(--serif);font-size:19px;font-weight:400}.weave-explain{padding:45px 4vw;display:flex;flex-direction:column;justify-content:center}.weave-explain article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:29px 0;border-bottom:1px solid var(--line)}.weave-explain article:last-child{border-bottom:0}.weave-explain article>span{font:italic 22px Georgia,serif;color:var(--gold)}.weave-explain h3{font-family:var(--serif);font-size:16px;font-weight:500;margin:0 0 10px}.weave-explain p{font-size:11px;margin:0}.jacquard-notes{padding:125px max(7vw,30px);background:var(--deep);color:#fff;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.notes-title{align-self:start;position:sticky;top:125px}.notes-title .number{font-size:13px;line-height:1.5;letter-spacing:.18em;margin-bottom:38px}.notes-grid{display:grid;grid-template-columns:1fr 1fr}.notes-grid article{padding:45px 38px;border-left:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.notes-grid .note-no{font:italic 25px Georgia,serif;color:var(--gold);margin:0 0 20px}.notes-grid h3{font-family:var(--serif);font-size:18px;font-weight:400;margin:0 0 16px}.notes-grid article>p:last-child{font-size:11px;color:#cfd5dc;margin:0}
@media(max-width:900px){.textile-story-head{grid-template-columns:1fr}.textile-story-head>p:last-child{margin-top:28px}.weave-visual{grid-template-columns:1fr}.weave-visual>figure{min-height:620px}.jacquard-notes{grid-template-columns:1fr}.notes-title{position:static}.notes-grid{max-width:none}}
@media(max-width:560px){.weave-visual>figure{min-height:460px}.weave-explain{padding:35px 7vw}.notes-grid{grid-template-columns:1fr}.notes-grid article{padding:38px 24px}.jacquard-notes{padding-top:85px;padding-bottom:85px}}


/* KORAN brand header and footer */
.site-header{height:96px;padding-left:max(4vw,48px);padding-right:max(4vw,48px)}.site-header .brand{display:flex;align-items:center;width:210px;height:70px}.site-header .brand img{width:100%;height:auto;object-fit:contain}.hero{min-height:calc(100vh - 96px)}footer .brand{display:block;width:190px}footer .brand img{width:100%;height:auto;object-fit:contain}
@media(max-width:900px){.site-header{height:82px;padding-left:32px;padding-right:32px}.site-header .brand{width:180px;height:60px}.hero{min-height:calc(100vh - 82px)}}
@media(max-width:560px){.site-header{height:70px;padding-left:20px;padding-right:20px}.site-header .brand{width:150px;height:50px}footer .brand{width:165px;margin:0 auto}.hero{min-height:calc(100vh - 70px)}}

/* Adult cute details */
.adult-cute{display:grid;grid-template-columns:1fr 1fr;padding-top:0;padding-bottom:0;background:#eee8de}.adult-cute-visual{min-height:900px}.adult-cute-copy{padding:9vw 7vw;align-self:center}.adult-cute h2{font-family:var(--serif);font-weight:400;font-size:clamp(33px,3.8vw,53px);line-height:1.6;letter-spacing:.08em;margin:0 0 30px}.adult-cute-lead{font-family:var(--serif);font-size:14px;margin-bottom:42px}.charm-point{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:24px 0;border-top:1px solid var(--line)}.charm-point>span{font:italic 21px Georgia,serif;color:var(--gold)}.charm-point h3{font-family:var(--serif);font-size:16px;font-weight:500;margin:0 0 8px}.charm-point p{font-size:11px;margin:0}.adult-cute-close{font-family:var(--serif);font-size:16px;color:var(--gold);margin:38px 0 0}
@media(max-width:900px){.adult-cute{grid-template-columns:1fr}.adult-cute-visual{min-height:650px}.adult-cute-copy{padding:90px 9vw}}
@media(max-width:560px){.adult-cute-visual{min-height:480px}.adult-cute-copy{padding:75px 8vw}}


/* One broad, shallow wave matching the reference */
.wave-bottom{position:relative;z-index:2;margin-bottom:0;overflow:hidden;--next-color:var(--paper)}.wave-bottom::after{content:"";position:absolute;z-index:3;pointer-events:none;left:-10%;right:auto;bottom:-1px;width:120%;height:52px;background:var(--next-color);border-radius:50% 50% 0 0/100% 100% 0 0;transform:rotate(-.45deg);transform-origin:center bottom}.manifesto.wave-bottom{--next-color:#eae4da}.jacquard-notes.wave-bottom{--next-color:var(--cream)}.moments.wave-bottom{--next-color:#ece9e3}.texture.wave-bottom{--next-color:var(--paper)}.jacquard-notes.wave-bottom::after,.texture.wave-bottom::after{transform:rotate(.45deg)}
@media(max-width:560px){.wave-bottom{margin-bottom:0}.wave-bottom::after{left:-15%;bottom:-1px;width:130%;height:28px;background:var(--next-color);border-radius:50% 50% 0 0/100% 100% 0 0}}

/* Seam-free wave correction */
.wave-bottom::after{left:0;right:auto;bottom:-4px;width:100%;height:58px;transform:none;border-radius:58% 42% 0 0/100% 100% 0 0;box-shadow:0 5px 0 var(--next-color)}.jacquard-notes.wave-bottom::after,.texture.wave-bottom::after{transform:none;border-radius:42% 58% 0 0/100% 100% 0 0}
@media(max-width:560px){.wave-bottom::after{left:0;bottom:-3px;width:100%;height:31px;transform:none;box-shadow:0 4px 0 var(--next-color)}}

/* Keep fabric captions in the document flow on mobile. */
.fabric-panels img{height:auto}
