/* Nuit Silk — fonts: Google Fonts (OFL) Cormorant Garamond / Noto Serif JP / Jost / Noto Sans JP */
:root{--ecru:#F2ECE2;--paper:#FBF8F3;--navy:#14182B;--gold:#BFAE86;--line:rgba(20,24,43,.14);--mute:#5d6072}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ecru);color:var(--navy);font:300 15px/2 "Jost","Noto Sans JP",sans-serif;letter-spacing:.03em}
h1,h2,h3,.serif,.logo{font-family:"Cormorant Garamond","Noto Serif JP",serif;font-weight:400;letter-spacing:.06em}
a{color:inherit}img{max-width:100%;height:auto;display:block}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
header{position:sticky;top:0;z-index:5;background:rgba(242,236,226,.94);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:18px 6vw}
.logo{font-size:24px;letter-spacing:.32em;text-decoration:none;text-transform:uppercase}
nav.main{display:flex;gap:28px;font-size:12px;letter-spacing:.14em}nav.main a{text-decoration:none}nav.main a:hover,nav.main a[aria-current]{color:#8a7445}
.cc{display:flex;gap:2px}.cc button{font:300 11px "Jost",sans-serif;letter-spacing:.12em;border:0;border-bottom:1px solid transparent;background:none;padding:6px 8px;cursor:pointer;color:var(--mute)}.cc button[aria-pressed=true]{color:var(--navy);border-bottom-color:var(--gold)}
.wrap{max-width:1180px;margin:0 auto;padding:var(--space-md) 6vw}.narrow{max-width:780px}
.eyebrow{display:block;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#8a7445;margin-bottom:18px}
h2{font-size:38px;line-height:1.35;text-align:center;margin:0 0 48px}h3{font-size:22px;margin:18px 0 6px}
.hero{position:relative;min-height:88vh;background:url(images/hero-pc-16x9.jpg) center/cover;display:flex;align-items:flex-end}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,24,43,.46),rgba(20,24,43,.12) 38%,rgba(20,24,43,0) 62%)}.hero .box{text-shadow:0 1px 18px rgba(20,24,43,.35)}
.hero .box{position:relative;z-index:1;color:var(--ecru);padding:0 6vw 10vh;max-width:720px}.hero h1{font-size:54px;line-height:1.3;margin:0 0 16px}
.link,.btn{display:inline-block;font:400 12px "Jost",sans-serif;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:14px 30px;border:1px solid currentColor;background:none;color:inherit;cursor:pointer;transition:background .6s,color .6s}
.btn:hover,.link:hover{background:var(--navy);color:var(--ecru);border-color:var(--navy)}.hero .link:hover{background:var(--ecru);color:var(--navy)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.note{font-size:12px;line-height:1.8;color:var(--mute)}
.ben{display:grid;grid-template-columns:repeat(3,1fr);gap:64px;text-align:center}.ben p{margin:0}.ben b{display:block;font:400 21px "Cormorant Garamond","Noto Serif JP",serif;margin-bottom:10px}
.ben b::after{content:"";display:block;width:28px;height:1px;background:var(--gold);margin:14px auto 0}
.bleed{width:100%;height:78vh;object-fit:cover}
.feature{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:center;text-decoration:none}
.price{font-size:17px;letter-spacing:.08em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:96px}.card{text-decoration:none}.card img{aspect-ratio:4/5;object-fit:cover}
.split{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}.split h2{text-align:left}
.dark{background:var(--navy);color:var(--ecru)}.dark .note{color:#b8b9c4}.dark .eyebrow{color:var(--gold)}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{border-bottom:1px solid var(--line);padding:16px 12px;text-align:left;vertical-align:top;font-weight:300}th{font-weight:400}thead th{font-family:"Cormorant Garamond","Noto Serif JP",serif;font-size:18px}
.legal th{width:34%}
details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font:400 18px "Cormorant Garamond","Noto Serif JP",serif;list-style:none}summary::after{content:"+";float:right;color:#8a7445}details[open] summary::after{content:"–"}details p{margin:12px 0 0}
.doc h1{font-size:42px;margin:0 0 40px;text-align:center}.doc h2{font-size:24px;text-align:left;margin:56px 0 12px}
.tbc{color:#8a5a2b}
footer{background:var(--navy);color:#cfd0d8;padding:80px 6vw 48px;font-size:12px;letter-spacing:.08em}footer .logo{color:var(--ecru);font-size:22px}footer nav{display:flex;flex-wrap:wrap;gap:10px 28px;margin:28px 0}footer a{text-decoration:none}footer a:hover{color:var(--gold)}
.gal{display:grid;align-content:start;grid-template-columns:1fr 1fr;gap:12px}.gal img:first-child{grid-column:1/3}
.pdp{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;padding-top:64px}.pdp h1{margin:0 0 8px;font-size:40px;line-height:1.3}.pdp .info{position:sticky;top:110px;align-self:start}
.opt{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.opt button{border:1px solid var(--line);background:none;padding:9px 16px;font:300 13px "Jost","Noto Sans JP",sans-serif;cursor:pointer;color:var(--navy)}.opt button[aria-pressed=true]{border-color:var(--navy)}
.lbl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--mute);margin:24px 0 8px}
.wl{text-align:center}.wl form{display:grid;gap:16px;text-align:left;max-width:480px;margin:40px auto 0}.wl label{font-size:12px;letter-spacing:.1em}
.wl input:not([type=checkbox]),textarea{display:block;width:100%;padding:12px 0;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;margin-top:4px;font:300 16px "Jost","Noto Sans JP",sans-serif}
.wl .chk{font-size:12px;line-height:1.8;letter-spacing:.03em}.msg{margin-top:20px;font-size:13px;color:var(--gold)}
.fade{opacity:0;transform:translateY(12px);transition:opacity 1.4s ease,transform 1.4s ease}.fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}*{transition:none!important}}
:focus-visible{outline:1px solid var(--gold);outline-offset:3px}
@media(max-width:820px){body{font-size:14px}nav.main{order:3;width:100%;overflow-x:auto;gap:20px}.wrap{padding:80px 7vw}.ben,.feature,.split,.pdp{grid-template-columns:1fr;gap:48px}.cards{grid-template-columns:1fr 1fr;gap:20px}.hero{min-height:82vh;background-image:url(images/hero-sp-4x5.jpg);background-position:center}.hero h1{font-size:34px}h2{font-size:28px;margin-bottom:32px}.split img,.split .ph{order:-1}.bleed{height:56vh}.pdp .info{position:static}.pdp h1{font-size:30px}.doc h1{font-size:30px}}
.gal img{aspect-ratio:1/1;object-fit:cover;width:100%}
.nw{white-space:nowrap}
@media(max-width:820px){html:lang(ja) .hero h1{font-size:min(34px,7.2vw);letter-spacing:.02em}}
/* ===== v2 (branding brief) ===== */
:root{--gold-dim:#8A7445;--dusk:#7B626D;--line-dark:rgba(244,239,230,.16);--mute-dark:#A8AAB8;--ease-silk:cubic-bezier(.22,1,.36,1);
--space-sm:32px;--space-md:clamp(40px,5vw,64px);--space-lg:clamp(72px,9vw,120px);--space-xl:clamp(96px,11vw,160px)}
h1,h2{word-break:keep-all;overflow-wrap:anywhere}
.sp-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.sp-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.sp-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.sp-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}
.center{text-align:center}.left{text-align:left!important;margin-bottom:16px}
.paper{background:var(--paper)}
/* 1: 未確定表示は控えめに */
.tbc{color:var(--mute);font-size:.82em;letter-spacing:.04em;border-bottom:1px dotted currentColor;font-weight:300}
.night .tbc{color:var(--mute-dark)}
.btn[disabled]{opacity:1;color:var(--mute);border-color:var(--line);background:none}
.msg{color:var(--mute)}
/* 6: 夜の色はここ1か所 */
.night{background:var(--navy);color:var(--ecru)}.night .note{color:var(--mute-dark)}.night .eyebrow{color:var(--gold)}
footer{background:var(--paper);color:var(--mute);border-top:1px solid var(--line)}footer .logo{color:var(--navy)}footer a:hover{color:var(--gold-dim)}
/* 7: ブランドマークの仮置き枠（意匠は承認後） */
.logo{display:inline-flex;align-items:center;gap:12px}.mark{display:inline-block;width:22px;height:22px;border:1px dashed var(--mute);border-radius:50%;font-size:0;overflow:hidden;flex:none}
/* 3: ritual */
.ritual{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.ritual img{aspect-ratio:4/5;object-fit:cover;width:100%}
.ritual p{margin:20px 0 0}.ritual b{display:block;font:400 22px "Cormorant Garamond","Noto Serif JP",serif;margin:4px 0 6px}.step{font-size:11px;letter-spacing:.28em;color:var(--gold-dim)}
/* 2: set */
.duo{position:relative}.duo .sub{position:absolute;width:38%;right:-6%;bottom:-8%;border:6px solid var(--ecru)}
.setin{font-size:13px;letter-spacing:.08em;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.acc{border:1px dashed var(--line);padding:12px}.acc .eyebrow{margin:12px 0 0;color:var(--mute)}.row{display:flex;gap:20px;align-items:center}.row img{width:120px}
.gn{grid-column:1/3;margin:0}
/* 4: tactile copy first */
.feel{font:400 19px/1.9 "Cormorant Garamond","Noto Serif JP",serif}.small{font-size:13px}.ins b{display:block;font:400 20px "Cormorant Garamond","Noto Serif JP",serif;margin-bottom:6px}
.crop{aspect-ratio:4/5;object-fit:cover;object-position:62% 55%;transform:scale(1);width:100%}
.bleedfig{margin:0;position:relative}.bleedfig figcaption{position:absolute;left:6vw;bottom:32px;color:var(--ecru);font:400 italic 20px "Cormorant Garamond","Noto Serif JP",serif;letter-spacing:.08em}
/* motion */
.fade{transform:translateY(10px);transition:opacity .9s var(--ease-silk),transform .9s var(--ease-silk)}
.link,.btn{transition:background .25s,color .25s}
@media(prefers-reduced-motion:reduce){.fade{opacity:1;transform:none;transition:none}}
@media(max-width:820px){.ritual{grid-template-columns:1fr;gap:40px}.duo .sub{right:0;bottom:-6%}.bleedfig figcaption{font-size:17px}}

/* photo-redo-1105: ritual-towel + texture now ship; remaining .ph are unused ritual steps / card */
.ph{aspect-ratio:4/5;width:100%;background:var(--paper);border:1px dashed var(--line)}
.ph.crop{aspect-ratio:4/5}
.card .ph{margin:0}
img[src*="set.jpg"],img[src*="gift-navy.jpg"],img[src*="accessories.jpg"],img[src*="ritual-towel.jpg"],img[src*="texture.jpg"]{object-fit:cover;object-position:50% 50%}


/* colors-1112: per-colour products and per-market sizes */
.color-head{margin:64px 0 28px;font-size:28px}
.color-cards{margin:0}
.more-cards{margin-top:64px}
.color-cards .note{margin:0;font-size:12px}
.size-guide{margin-top:0}
.opt button{white-space:normal;max-width:100%;text-align:left;line-height:1.5}
@media(max-width:820px){
  .color-head{font-size:22px;margin:40px 0 20px}
  .more-cards{margin-top:40px}
  .opt{gap:8px}
}

/* set contents 1112: towel card is coming soon, not in the set */
.card.soon{display:block}
.soon-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:8px 0 0}
.more-cards{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.more-cards{grid-template-columns:1fr 1fr}}
