:root{--ink:#22211f;--paper:#f3efe7;--cream:#e8e0d2;--gold:#aa8955;--line:rgba(34,33,31,.18);--serif:"Cormorant Garamond",serif;--sans:"Noto Sans JP",sans-serif}
html{font-size:17px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-weight:300;line-height:1.8}a{color:inherit;text-decoration:none}button,input{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.announcement{padding:.55rem 1rem;color:#eee8de;background:var(--ink);font-size:.65rem;letter-spacing:.16em;text-align:center}.site-header{height:88px;padding:0 4vw;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--line);background:rgba(243,239,231,.93);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.site-header.is-scrolled{box-shadow:0 8px 24px rgba(34,33,31,.06)}.brand{display:flex;align-items:center;gap:.75rem;width:max-content;font-family:var(--serif);font-size:1.25rem;letter-spacing:.16em;line-height:.8}.brand small{display:block;margin-top:.45rem;font-family:var(--sans);font-size:.47rem;letter-spacing:.42em}.brand__mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:italic 1.4rem var(--serif)}.site-nav{display:flex;gap:2rem;font:500 .66rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.site-nav a,.header-link,.text-link{position:relative}.site-nav a:after,.header-link:after,.text-link:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--gold);transition:right .35s}.site-nav a:hover:after,.header-link:hover:after,.text-link:hover:after{right:0}.header-link{justify-self:end;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}.header-link span,.text-link span{color:var(--gold);margin-left:.4rem}.menu-toggle{display:none;border:0;background:none;padding:.5rem}.menu-toggle>span:not(.sr-only){display:block;width:24px;height:1px;margin:5px;background:var(--ink)}
main{overflow:hidden}.hero{min-height:calc(100vh - 120px);display:grid;grid-template-columns:46% 54%;position:relative}.hero__copy{align-self:center;padding:7vw 3vw 7vw 9vw;z-index:2}.eyebrow{display:flex;align-items:center;gap:.8rem;margin:0 0 1.3rem;font-size:.64rem;font-weight:500;letter-spacing:.24em}.eyebrow span{width:34px;height:1px;background:var(--gold)}h1,h2,blockquote{font-family:var(--serif);font-weight:400}.hero h1{margin:0 0 2rem;font-size:clamp(4.3rem,7vw,7.8rem);line-height:.74;letter-spacing:-.04em}.hero h1 em,.section h2 em,.craft h2 em,.story em{color:var(--gold);font-weight:400}.hero h1 em{font-size:.62em}.hero__lead{margin:0 0 2.5rem;font-size:.84rem;line-height:2.2;letter-spacing:.08em}.text-link{display:inline-flex;align-items:center;gap:1.8rem;padding-bottom:.35rem;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:500;letter-spacing:.12em}.text-link span{font-size:1.1rem}.hero__visual{position:relative;min-height:600px;background:linear-gradient(145deg,#d2c2aa,#eee8de 55%,#cfc0aa)}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb--one{width:460px;height:460px;right:-8%;top:-12%;background:rgba(255,255,255,.32)}.orb--two{width:300px;height:300px;left:5%;bottom:-8%;background:rgba(170,137,85,.12)}.jewel-scene{position:absolute;inset:0;filter:drop-shadow(16px 24px 20px rgba(60,45,25,.22))}.ring{position:absolute;width:210px;height:300px;border:22px solid #b5986a;border-radius:50%;transform:rotate(55deg);box-shadow:inset 4px 0 5px #fff6d8,4px 4px 6px #766345}.ring i,.mini-ring i{position:absolute;left:50%;top:-48px;transform:translateX(-50%) rotate(45deg);width:58px;height:58px;background:linear-gradient(135deg,#fff 10%,#c9d2d3 43%,#fff 60%,#a5b2b4);clip-path:polygon(50% 0,90% 28%,100% 72%,50% 100%,0 72%,10% 28%);box-shadow:0 0 18px white}.ring--back{left:23%;top:20%;transform:rotate(38deg) scale(.88);opacity:.82}.ring--front{left:46%;top:40%;border-color:#c2a573}.spark{position:absolute;color:#fff;text-shadow:0 0 12px #fff}.spark--one{left:42%;top:27%;font-size:2.2rem}.spark--two{right:19%;bottom:24%}.hero__number{position:absolute;right:3rem;bottom:2rem;font:1.5rem var(--serif)}.hero__number span{font-size:.8rem;opacity:.5}.hero__vertical{position:absolute;right:1rem;top:50%;z-index:2;margin:0;font-size:.55rem;letter-spacing:.3em;writing-mode:vertical-rl;color:rgba(34,33,31,.55)}
.section{padding:9rem 8vw}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:3rem}.section-heading h2,.craft h2{margin:0;font-size:clamp(3rem,5vw,5.2rem);line-height:.9}.section-heading>p{max-width:390px;margin:0;font-size:.78rem;line-height:2}.filter-bar{display:flex;gap:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.filter-chip{padding:.7rem 0;border:0;border-bottom:1px solid transparent;background:none;color:#777;font:500 .67rem var(--sans);letter-spacing:.14em;cursor:pointer}.filter-chip.is-active{color:var(--ink);border-color:var(--gold)}.product-search{max-width:420px;margin:0 0 2.5rem}.product-search>label{display:block;margin-bottom:.45rem;font-size:.6rem;font-weight:500;letter-spacing:.15em}.product-search__field{display:flex;align-items:center;border-bottom:1px solid var(--line)}.product-search__field>span{color:var(--gold);font:1.4rem var(--serif)}.product-search input{width:100%;padding:.75rem;border:0;outline:none;background:transparent;color:var(--ink);font-size:.76rem}.product-search input::placeholder{color:#8c887f}.product-search input:focus-visible{box-shadow:0 1px var(--gold)}.search-message{min-height:1.2em;margin:.45rem 0 0;color:#77684f;font-size:.65rem}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}.product-card{transition:opacity .35s,transform .35s}.product-card.is-hidden{display:none}.product-card__visual{height:380px;position:relative;display:grid;place-items:center;overflow:hidden;background:#ddd4c5}.visual--halo{background:#cec5b7}.visual--drop{background:#ded5c9}.visual--twist{background:#c9bba7}.product-card__visual b{position:absolute;top:1rem;left:1rem;font-size:.55rem;letter-spacing:.18em}.mini-ring{position:relative;width:125px;height:175px;border:13px solid #b79c6c;border-radius:50%;transform:rotate(25deg);box-shadow:inset 3px 0 #f5e7c8,6px 10px 16px rgba(70,55,35,.18)}.mini-ring i{top:-32px;width:42px;height:42px}.mini-ring--twist{border-width:9px;transform:rotate(-38deg);box-shadow:9px 1px 0 #e7d8b8,12px 10px 18px rgba(70,55,35,.2)}.necklace{position:absolute;top:-30px;width:230px;height:310px;border:2px solid #b49b72;border-radius:50%}.necklace i{position:absolute;left:50%;bottom:-13px;width:28px;height:28px;border:4px solid #c3a777;border-radius:50%;background:radial-gradient(circle,#fff 0 25%,#bbc4c5 28% 45%,#eee 48%)}.earring{position:absolute;width:2px;height:120px;background:#ad9165;top:80px}.earring:after{content:"";position:absolute;left:-16px;bottom:-32px;width:34px;height:48px;border-radius:50% 50% 55% 55%;background:radial-gradient(circle at 35% 25%,#fff,#bbb3a4 48%,#8f877b);box-shadow:4px 7px 10px rgba(50,40,30,.2)}.earring--one{left:38%;transform:rotate(-7deg)}.earring--two{right:35%;top:120px;transform:rotate(8deg)}.product-card__info{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem}.product-card__info p{margin:0;color:var(--gold);font-size:.55rem;letter-spacing:.2em}.product-card__info h3{margin:.2rem 0 0;font:500 1.28rem var(--serif)}.product-card__info>span{padding-top:1.4rem;font-size:.66rem}
.craft{display:grid;grid-template-columns:55% 45%;min-height:720px;background:#242320;color:#ede8df}.craft__art{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 42%,#81745f,#403d36 48%,#242320 70%)}.craft-ring{position:relative;width:250px;height:350px;border:25px solid #b39768;border-radius:50%;transform:rotate(-42deg);filter:drop-shadow(18px 24px 22px #171613)}.craft-ring i{position:absolute;left:50%;top:-56px;transform:translateX(-50%);width:70px;height:70px;background:linear-gradient(135deg,#fff,#9fa8a7 45%,#fff 54%,#828c8d);clip-path:polygon(50% 0,90% 25%,100% 70%,50% 100%,0 70%,10% 25%)}.craft__art>span{position:absolute;left:2rem;bottom:2rem;color:#d0c6b5;font:italic 1.2rem var(--serif)}.craft__copy{align-self:center;padding:6vw}.craft__copy>p:not(.eyebrow){max-width:440px;margin:2rem 0;font-size:.78rem;line-height:2.3;color:#c9c3b9}.craft .text-link{border-color:#57534d}.story{text-align:center}.story>.eyebrow{justify-content:center}.story blockquote{margin:2rem 0;font-size:clamp(2.4rem,4.4vw,4.8rem);line-height:1.3}.story__text{max-width:620px;margin:3rem auto 0;font-size:.8rem;line-height:2.4}.visit{display:grid;grid-template-columns:1fr 1fr;margin:0 8vw 8rem;background:#d8cdbc}.visit__copy{padding:6vw}.visit h2{margin:0 0 2rem;font:400 clamp(2rem,3.3vw,3.8rem)/1.3 var(--serif)}.visit__copy>p:not(.eyebrow){font-size:.75rem;margin-bottom:2rem}.visit__sign{min-height:420px;display:grid;place-content:center;text-align:center;background:linear-gradient(145deg,#756a5b,#3c3934);color:#ede8df}.visit__sign .brand__mark{width:80px;height:80px;margin:auto;font-size:3.4rem;border-color:#d3b986;color:#d3b986}.visit__sign p{font:1rem var(--serif);letter-spacing:.2em}.visit__sign small{font:400 .48rem var(--sans);opacity:.6}.newsletter{display:flex;justify-content:space-between;align-items:center;padding:5rem 8vw;border-top:1px solid var(--line)}.newsletter h2{margin:0;font-size:2.5rem}.newsletter__form{position:relative;width:min(400px,100%)}.newsletter input{width:100%;padding:1rem 3rem 1rem 0;border:0;border-bottom:1px solid var(--ink);outline:none;background:none;font-size:.8rem}.newsletter button{position:absolute;right:0;top:.45rem;border:0;background:none;font-size:1.3rem;cursor:pointer}.form-message{position:absolute;margin:.4rem 0;font-size:.68rem;color:var(--gold)}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;padding:4rem 4vw 2rem;background:var(--ink);color:#e9e3d9}.footer-links{display:flex;gap:2rem;font-size:.62rem;letter-spacing:.1em}.site-footer>p{justify-self:end;margin:0;font-size:.55rem;letter-spacing:.1em}.site-footer .fiction-notice{grid-column:1/-1;justify-self:center;width:100%;margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(233,227,217,.16);color:rgba(233,227,217,.58);text-align:center;line-height:1.8}.brand--footer .brand__mark{color:#c4a66e}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto}.site-nav{position:absolute;top:88px;left:0;right:0;display:none;flex-direction:column;padding:2rem;background:var(--paper);border-bottom:1px solid var(--line)}.site-nav.is-open{display:flex}.menu-toggle{display:block}.header-link{display:none}.hero{grid-template-columns:1fr}.hero__copy{padding:7rem 8vw 4rem}.hero__visual{min-height:520px}.product-grid{grid-template-columns:repeat(2,1fr)}.craft{grid-template-columns:1fr}.craft__art{min-height:570px}.craft__copy{padding:6rem 8vw}.newsletter{gap:3rem}.site-footer{grid-template-columns:1fr;gap:3rem}.site-footer>p{justify-self:start}}
@media(max-width:600px){.announcement{font-size:.52rem}.site-header{height:72px}.site-nav{top:72px}.hero__copy{padding-top:5rem}.hero h1{font-size:4rem}.hero__visual{min-height:420px}.ring{width:150px;height:215px;border-width:16px}.ring i{top:-38px;width:45px;height:45px}.ring--back{left:12%}.ring--front{left:43%}.section{padding:6rem 6vw}.section-heading{display:block}.section-heading>p{margin-top:2rem}.product-grid{grid-template-columns:1fr}.product-card__visual{height:420px}.filter-bar{gap:1rem}.craft__art{min-height:450px}.craft-ring{width:175px;height:250px;border-width:18px}.craft-ring i{top:-44px;width:58px;height:58px}.visit{grid-template-columns:1fr;margin:0}.newsletter{display:block;padding:4rem 6vw}.newsletter__form{margin-top:2rem}.footer-links{flex-wrap:wrap}.hero__vertical{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Sub pages */
.site-search{position:relative;z-index:15;display:grid;grid-template-columns:auto minmax(260px,650px);align-items:center;justify-content:center;gap:1rem 2rem;padding:.85rem 4vw;border-bottom:1px solid var(--line);background:#ebe5da}.site-search>label{font-size:.58rem;font-weight:500;letter-spacing:.16em;white-space:nowrap}.site-search__field{display:flex;align-items:center;border-bottom:1px solid rgba(34,33,31,.35)}.site-search__field>span{color:var(--gold);font:1.3rem var(--serif)}.site-search input{min-width:0;flex:1;padding:.55rem .7rem;border:0;outline:none;background:transparent;color:var(--ink);font-size:.7rem}.site-search button{padding:.45rem 0 .45rem 1rem;border:0;background:transparent;color:var(--ink);font-size:.6rem;font-weight:500;letter-spacing:.1em;white-space:nowrap;cursor:pointer}.site-search button:hover{color:var(--gold)}.site-search>p{grid-column:2;margin:-.7rem 0 0;color:#936f42;font-size:.58rem}
.page-number{position:fixed;right:1.25rem;bottom:1rem;z-index:30;display:flex;align-items:baseline;gap:.25rem;padding:.45rem .7rem;border:1px solid rgba(170,137,85,.45);border-radius:999px;background:rgba(243,239,231,.88);color:var(--ink);font:1rem var(--serif);backdrop-filter:blur(8px)}.page-number span{font:500 .48rem var(--sans);letter-spacing:.08em;color:var(--gold)}
.sub-hero{min-height:520px;display:grid;grid-template-columns:1.05fr .95fr;border-bottom:1px solid var(--line)}.sub-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:7rem 8vw}.sub-hero h1{margin:0;font:400 clamp(3.7rem,7vw,7.4rem)/.85 var(--serif);letter-spacing:-.04em}.sub-hero h1 em{display:block;color:var(--gold);font-size:.55em;font-weight:400}.sub-hero__art{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#d6cbbb,#eee8df)}.sub-hero__art:before,.sub-hero__art:after{content:"";position:absolute;border:1px solid rgba(170,137,85,.45);border-radius:50%}.sub-hero__art:before{width:280px;height:380px;transform:rotate(35deg)}.sub-hero__art:after{width:170px;height:250px;transform:rotate(-28deg)}.sub-hero__monogram{z-index:1;color:var(--gold);font:italic 7rem var(--serif)}
.content-section{padding:7rem 8vw}.content-section--soft{background:#e7dfd3}.content-intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw}.content-intro h2,.owner-copy h2,.form-intro h2{margin:0;font:400 clamp(2.6rem,4.5vw,5rem)/1 var(--serif)}.content-intro__body{max-width:680px}.content-intro__body>p{margin:0 0 1.8rem;font-size:.84rem;line-height:2.3}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:5rem;background:var(--line)}.value-card{padding:3rem;background:var(--paper)}.value-card span,.step-card>span,.service-card>span{color:var(--gold);font:italic 1.3rem var(--serif)}.value-card h3,.step-card h3,.service-card h3{font:500 1.65rem var(--serif)}.value-card p,.step-card p,.service-card p{font-size:.74rem;line-height:2}.owner{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:#282723;color:#ede8df}.owner-portrait{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,#9b8c77,#514c43 55%,#292824)}.owner-portrait__shape{width:220px;height:310px;border-radius:48% 48% 8px 8px;background:linear-gradient(145deg,#d8c7ad,#7c6d5b);box-shadow:20px 30px 35px rgba(0,0,0,.25)}.owner-portrait__shape:before{content:"";display:block;width:105px;height:105px;margin:-50px auto 0;border-radius:50%;background:#c7b297}.owner-copy{align-self:center;padding:7vw}.owner-copy>p:not(.eyebrow){font-size:.78rem;line-height:2.3;color:#cec7bd}.signature{display:block;margin-top:2rem;color:#c9ad7c;font:italic 2rem var(--serif)}
.step-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:4rem;background:var(--line)}.step-card{min-height:260px;padding:3rem;background:var(--paper)}.step-card__meta{display:block;margin-top:1.5rem;color:#777;font-size:.62rem;letter-spacing:.12em}.note-box{display:flex;justify-content:space-between;gap:2rem;margin-top:4rem;padding:2rem 2.5rem;border:1px solid var(--gold)}.note-box p{margin:0;font-size:.75rem}.note-box a{font-size:.7rem;font-weight:500;letter-spacing:.12em}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:4rem}.service-card{padding:3rem 2.5rem;border:1px solid var(--line)}.service-card ul{padding:0;list-style:none;font-size:.7rem;line-height:2.3}.service-card li:before{content:"—";margin-right:.7rem;color:var(--gold)}.care-notes{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin-top:4rem}.care-notes article{padding-top:1.5rem;border-top:1px solid var(--line)}.care-notes h3{font:500 1.5rem var(--serif)}.care-notes p{font-size:.75rem;line-height:2.1}
.order-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;padding:7rem 8vw}.form-intro{position:sticky;top:140px;align-self:start}.form-intro>p:not(.eyebrow){margin-top:2rem;font-size:.76rem;line-height:2}.order-form{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 1.2rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-field--full{grid-column:1/-1}.form-field label,.form-field legend{font-size:.64rem;font-weight:500;letter-spacing:.1em}.required{color:#9b684f}.form-field input,.form-field select,.form-field textarea{width:100%;padding:.9rem;border:0;border-bottom:1px solid var(--line);border-radius:0;outline:none;background:transparent;color:var(--ink);font:300 .78rem var(--sans)}.form-field textarea{min-height:130px;resize:vertical;border:1px solid var(--line)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--gold)}.form-consent{grid-column:1/-1;font-size:.68rem}.form-consent input{accent-color:var(--gold)}.submit-button{grid-column:1/-1;width:100%;padding:1rem;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:.7rem;letter-spacing:.18em;cursor:pointer;transition:.3s}.submit-button:hover{background:var(--gold);border-color:var(--gold)}.order-message{grid-column:1/-1;margin:0;color:var(--gold);font-size:.72rem}.sub-footer{margin-top:0}
@media(max-width:800px){.sub-hero,.content-intro,.owner,.order-layout{grid-template-columns:1fr}.sub-hero__copy{padding:6rem 7vw 4rem}.sub-hero__art{min-height:360px}.value-grid,.service-grid{grid-template-columns:1fr}.step-list{grid-template-columns:1fr}.owner-copy{padding:5rem 7vw}.form-intro{position:static}.care-notes{grid-template-columns:1fr}.note-box{display:block}.note-box a{display:inline-block;margin-top:1rem}}
@media(max-width:520px){.site-search{grid-template-columns:1fr;gap:.25rem;padding:.7rem 5vw}.site-search>label{display:none}.site-search>p{grid-column:1;margin:0}.site-search button{font-size:.52rem}.order-form{grid-template-columns:1fr}.form-field,.form-field--full{grid-column:1}.page-number{right:.7rem;bottom:.7rem}.value-card,.step-card,.service-card{padding:2rem}.content-section{padding:5rem 7vw}}
.owner-message__title{margin:2.2rem 0 .8rem;color:#d8cdbd;font:500 .72rem var(--sans);letter-spacing:.12em}.owner-copy .owner-message{max-width:520px;margin:0;color:#eee8df;font-size:.84rem;line-height:2.35}
.hair-gem-notice{margin:2.2rem 0 0;padding-left:1.2rem;border-left:2px solid var(--gold);font:500 clamp(1.05rem,1.5vw,1.3rem)/1.8 var(--sans);letter-spacing:.04em}.hair-gem-notice a{display:inline-block;margin-left:.45rem;color:#8b6638;border-bottom:1px solid currentColor}
.page-end-notice{margin:0;padding:2.4rem 8vw;border-top:1px solid var(--line);background:#e7dfd3;font-size:.88rem;font-weight:400;line-height:2;text-align:center;letter-spacing:.04em}
.product-card__visual img{width:100%;height:100%;display:block;object-fit:cover}.visual--pearl img{object-position:center}
.hero__visual:has(.hero__image){background:#efeeec}.hero__image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.88) contrast(.96)}.hero__visual:has(.hero__image):after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,239,231,.36),transparent 14%),linear-gradient(180deg,transparent 65%,rgba(34,33,31,.1));pointer-events:none}.hero__visual:has(.hero__image) .hero__number{z-index:1;color:#302e2a}
.craft__art--photo{background:#191512}.craft__art--photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.82) contrast(.98)}.craft__art--photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 70%,#242320 100%),linear-gradient(0deg,rgba(20,17,14,.42),transparent 30%);pointer-events:none}.craft__art--photo>span{z-index:1;color:#e4d6c1;text-shadow:0 2px 12px rgba(0,0,0,.7)}
.owner-portrait--photo{background:#282723}.owner-portrait--photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;filter:saturate(.86) contrast(.96)}.owner-portrait--photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(40,39,35,.18),transparent 20%,transparent 72%,#282723 100%),linear-gradient(0deg,rgba(40,39,35,.3),transparent 28%);pointer-events:none}

/* Hair Gem — secret collection */
.secret-page{--secret-red:#6f1521;--secret-gold:#ba9760;color:#e8dfd2;background:#0e0d0d}.secret-page .announcement{background:#080707;color:#a98a61}.secret-page .site-header{border-color:rgba(186,151,96,.2);background:rgba(14,13,13,.92);color:#eee5d8}.secret-page .menu-toggle>span:not(.sr-only){background:#eee5d8}.secret-page .site-search{border-color:rgba(186,151,96,.22);background:#171313;color:#ded3c4}.secret-page .site-search__field{border-color:rgba(186,151,96,.4)}.secret-page .site-search input,.secret-page .site-search button{color:#ded3c4}.secret-page main{overflow:hidden}.secret-hero{min-height:calc(100vh - 150px);position:relative;display:grid;place-items:center;padding:7rem 7vw;text-align:center;background:radial-gradient(circle at 50% 47%,#3b1820 0,#171111 38%,#090909 72%)}.secret-hero:before{content:"";position:absolute;width:min(64vw,730px);aspect-ratio:1;border:1px solid rgba(186,151,96,.18);border-radius:50%;box-shadow:0 0 80px rgba(111,21,33,.2),inset 0 0 80px rgba(111,21,33,.12)}.secret-hero__copy{position:relative;z-index:2}.secret-kicker{margin:0 0 1.5rem;color:#b89762;font-size:.58rem;letter-spacing:.5em}.secret-hero h1{margin:0;color:#f0e5d6;font:400 clamp(5rem,12vw,11rem)/.67 var(--serif);letter-spacing:-.05em;text-shadow:0 10px 50px rgba(0,0,0,.8)}.secret-hero h1 em{display:block;margin-top:.35em;color:#a8293d;font-size:.42em;font-weight:400;letter-spacing:.06em}.secret-hero__lead{margin:3rem auto 0;color:#bdb0a0;font-size:.75rem;line-height:2.2;letter-spacing:.15em}.secret-gem{position:absolute;z-index:1;width:115px;height:190px;right:13%;top:24%;transform:rotate(24deg);border:4px solid #aa8757;border-radius:55% 45% 62% 38%;background:radial-gradient(circle at 35% 28%,#fff 0 2%,#d44a60 4%,#710f22 30%,#1b0509 72%);box-shadow:0 0 25px #8d1a2e,0 0 80px rgba(141,26,46,.45)}.secret-gem:before{content:"";position:absolute;left:50%;top:100%;width:2px;height:240px;background:linear-gradient(#b89865,transparent);transform:rotate(-10deg)}.secret-index{position:absolute;left:4vw;bottom:2rem;color:#806b4f;font:italic 1rem var(--serif);letter-spacing:.22em}.secret-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding:9rem 10vw;background:#111010}.secret-intro h2{margin:0;color:#e5d8c7;font:400 clamp(3.2rem,5vw,6rem)/.9 var(--serif)}.secret-intro h2 em{display:block;color:#8e2132;font-weight:400}.secret-intro__text{align-self:center}.secret-intro__text p{margin:0 0 1.5rem;color:#a99d8f;font-size:.78rem;line-height:2.4}.secret-details{padding:8rem 8vw;background:linear-gradient(145deg,#171313,#090909)}.secret-details__heading{text-align:center}.secret-details h2{margin:0;color:#e6d9c8;font:400 clamp(3rem,5vw,5.5rem)/1 var(--serif)}.secret-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4rem;background:rgba(186,151,96,.2)}.secret-card{min-height:260px;padding:3rem;background:#11100f}.secret-card span{color:#8f2334;font:italic 1.4rem var(--serif)}.secret-card h3{color:#d9c9b3;font:400 1.8rem var(--serif)}.secret-card p{color:#8f867b;font-size:.7rem;line-height:2.2}.secret-warning{padding:4rem 8vw;border-top:1px solid rgba(186,151,96,.24);border-bottom:1px solid rgba(186,151,96,.24);background:#160b0e;text-align:center}.secret-warning p{margin:0;color:#c5ac89;font-size:.78rem;letter-spacing:.14em}.secret-order{padding:7rem 8vw;text-align:center}.secret-order h2{margin:0 0 1.5rem;color:#e5d7c5;font:400 clamp(2.8rem,5vw,5rem)/1 var(--serif)}.secret-order p{color:#8f8578;font-size:.72rem}.secret-button{display:inline-block;margin-top:2rem;padding:1rem 2.5rem;border:1px solid #8d6e48;color:#d6bc94;font-size:.65rem;letter-spacing:.2em;transition:.3s}.secret-button:hover{background:#6f1521;border-color:#6f1521;color:#fff}.secret-page .site-footer{border-top:1px solid rgba(186,151,96,.18);background:#080707}.secret-page .page-number{border-color:#6f1521;background:rgba(14,13,13,.9);color:#e1d3c0}
@media(max-width:700px){.secret-gem{right:5%;top:17%;width:75px;height:125px}.secret-intro{grid-template-columns:1fr;padding:7rem 8vw}.secret-cards{grid-template-columns:1fr}.secret-hero{min-height:680px}.secret-hero h1{font-size:5.5rem}}
.hair-gem-offer{max-width:900px;margin:4rem auto 0;text-align:center}.hair-gem-offer__comparison{margin:0;padding:2.5rem;border-top:1px solid rgba(186,151,96,.24);border-bottom:1px solid rgba(186,151,96,.24);color:#aaa093;font-size:.82rem;line-height:2.3}.hair-gem-price{margin-top:4rem}.hair-gem-price p{margin:0 0 1rem;color:#b99b70;font:italic 1.25rem var(--serif);letter-spacing:.12em}.hair-gem-price strong{display:block;color:#eee1d0;font:400 clamp(2.5rem,5vw,5rem)/1.15 var(--serif)}.hair-gem-price span{display:block;margin-top:1.8rem;color:#a99c8c;font-size:.78rem;letter-spacing:.08em}
.secret-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(.96);opacity:.72}.secret-hero:has(.secret-hero__image):after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(12,8,9,.2),rgba(9,8,8,.72) 68%),linear-gradient(90deg,#0e0d0d 0,transparent 18%,transparent 82%,#0e0d0d 100%);pointer-events:none}.secret-hero:has(.secret-hero__image) .secret-hero__copy,.secret-hero:has(.secret-hero__image) .secret-index{z-index:2}
.secret-hero:has(.secret-hero__image){grid-template-columns:42% 58%;place-items:stretch;padding:0;min-height:720px;text-align:left;background:#0e0d0d}.secret-hero:has(.secret-hero__image):before,.secret-hero:has(.secret-hero__image):after{display:none}.secret-hero .secret-hero__image{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;min-height:720px;opacity:1;object-fit:cover;filter:saturate(.82) contrast(.96)}.secret-hero:has(.secret-hero__image) .secret-hero__copy{grid-column:1;grid-row:1;align-self:center;padding:7vw;z-index:2}.secret-hero:has(.secret-hero__image) h1{font-size:clamp(4.7rem,8vw,8.5rem)}.secret-hero:has(.secret-hero__image) .secret-hero__lead{margin-left:0}.secret-hero:has(.secret-hero__image) .secret-index{left:3vw}.review-gateway{padding:5rem 8vw 7rem;border-top:1px solid rgba(186,151,96,.2);background:#0b0a0a;text-align:center}.review-gateway .secret-kicker{margin-bottom:1rem}.review-gateway a{display:inline-flex;align-items:center;gap:2rem;padding-bottom:.55rem;border-bottom:1px solid #856b47;color:#e4d4bf;font:400 clamp(1.8rem,3vw,3rem) var(--serif)}.review-gateway a span{color:#8f2334;transition:transform .3s}.review-gateway a:hover span{transform:translateX(8px)}
.review-hero{padding:8rem 8vw 6rem;text-align:center;background:radial-gradient(circle at 50% 0,#32151b,#0e0d0d 52%)}.review-hero h1{margin:0;color:#ebdecd;font:400 clamp(4rem,8vw,8rem)/.8 var(--serif)}.review-hero h1 em{display:block;margin-top:.3em;color:#9c293b;font-size:.45em;font-weight:400}.review-summary{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:3rem;color:#bbaa93}.review-summary strong{font:400 3.5rem var(--serif)}.review-summary span{font-size:.7rem;letter-spacing:.15em}.review-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;padding:1px 8vw 8rem;background:#0e0d0d}.review-card{padding:4rem;background:#141212}.review-stars{color:#a98959;font-size:.75rem;letter-spacing:.35em}.review-card blockquote{margin:1.8rem 0;color:#ded0bd;font:400 1.5rem/1.65 var(--serif)}.review-card p{color:#8f8579;font-size:.72rem;line-height:2.2}.review-card footer{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid rgba(186,151,96,.14);color:#766b60;font-size:.58rem;letter-spacing:.12em}.review-note{padding:3rem 8vw;background:#170c0f;color:#ad9678;text-align:center;font-size:.68rem;letter-spacing:.08em}
@media(max-width:700px){.secret-hero:has(.secret-hero__image){grid-template-columns:1fr;min-height:auto}.secret-hero .secret-hero__image{grid-column:1;grid-row:2;min-height:440px}.secret-hero:has(.secret-hero__image) .secret-hero__copy{grid-column:1;grid-row:1;padding:7rem 8vw 5rem}.secret-hero:has(.secret-hero__image) .secret-index{bottom:1rem}.review-list{grid-template-columns:1fr;padding-left:6vw;padding-right:6vw}.review-card{padding:2.5rem}}
.review-stars small{margin-left:.7rem;color:#756a5d;font:500 .55rem var(--sans);letter-spacing:.08em}.reviewer-name{margin:1.5rem 0;color:#dfcfba;font:400 2rem var(--serif)}.review-card--featured{grid-column:1/-1}.review-card--featured>p{max-width:760px}@media(max-width:700px){.review-card--featured{grid-column:auto}}
.search-result-page{min-height:calc(100vh - 150px);padding:8rem 8vw;background:radial-gradient(circle at 65% 30%,#2b2020,#0b0a0a 55%);color:#e6dccf}.search-result-wrap{width:min(900px,100%);margin:auto}.search-result-count{margin:0 0 4rem;color:#b89a6c;font:400 clamp(2.7rem,5vw,5rem) var(--serif)}.search-result-count span{display:block;margin-bottom:.6rem;color:#756b60;font:500 .58rem var(--sans);letter-spacing:.28em}.search-result-item{display:grid;grid-template-columns:260px 1fr;border:1px solid rgba(186,151,96,.24);background:rgba(21,18,18,.78);transition:border-color .3s,transform .3s}.search-result-item:hover{border-color:#986f38;transform:translateY(-4px)}.search-result-item__visual{min-height:260px;background:url("media/img/hairgem_right.png") center/cover no-repeat}.search-result-item__copy{align-self:center;padding:3rem}.search-result-item__copy small{color:#8b6f49;font-size:.56rem;letter-spacing:.2em}.search-result-item__copy h1{margin:.5rem 0 1rem;color:#e8d9c5;font:400 3.2rem var(--serif)}.search-result-item__copy p{margin:0;color:#92877a;font-size:.72rem;line-height:2}.search-result-item__copy b{display:block;margin-top:1.8rem;color:#b89a6c;font-size:.62rem;letter-spacing:.16em}.search-result-back{display:inline-block;margin-top:3rem;color:#766c60;font-size:.62rem;letter-spacing:.12em}.search-result-back:hover{color:#b89a6c}@media(max-width:650px){.search-result-page{padding:6rem 6vw}.search-result-item{grid-template-columns:1fr}.search-result-item__visual{min-height:300px}.search-result-item__copy{padding:2rem}}
.search-result-item__visual--diary{position:relative;background:#27221d}.search-result-item__visual--diary:before{content:"M";position:absolute;inset:0;display:grid;place-items:center;color:#a7885a;font:italic 7rem var(--serif);background:radial-gradient(circle,rgba(169,136,90,.1),transparent 65%)}.diary-page{color:#312c26;background:#ddd2c0}.diary-hero{min-height:520px;display:grid;place-content:center;padding:7rem 8vw;text-align:center;background:linear-gradient(rgba(26,22,18,.55),rgba(26,22,18,.72)),url("assets/maki-ogai.webp") center 38%/cover;color:#eee4d6}.diary-hero p{margin:0 0 1.5rem;color:#cdb38c;font-size:.58rem;letter-spacing:.35em}.diary-hero h1{margin:0;font:400 clamp(4rem,8vw,8rem)/.8 var(--serif)}.diary-hero h1 em{display:block;margin-top:.35em;color:#d3b17c;font-size:.42em;font-weight:400}.diary-sheet{position:relative;width:min(780px,calc(100% - 2rem));margin:-4rem auto 7rem;padding:6rem clamp(2rem,7vw,6rem);background:#f1eadf;box-shadow:0 25px 60px rgba(55,43,28,.18)}.diary-sheet:before{content:"";position:absolute;top:0;bottom:0;left:2rem;width:1px;background:rgba(144,73,63,.2)}.diary-date{color:#987549;font:italic 1.1rem var(--serif);letter-spacing:.08em}.diary-sheet h2{margin:1.5rem 0 3rem;font:400 clamp(2.4rem,4vw,4rem)/1.2 var(--serif)}.diary-body p{margin:0 0 2rem;font-size:.82rem;line-height:2.5;letter-spacing:.04em}.diary-signature{display:block;margin-top:4rem;text-align:right;color:#9b794c;font:italic 2.2rem var(--serif)}.diary-return{display:inline-block;margin-top:3rem;color:#856b49;font-size:.65rem;letter-spacing:.12em;border-bottom:1px solid currentColor}.diary-page .site-footer{background:#24211d}
.diary-page{color:#aaa39a;background:#080808}.diary-page .site-header{height:72px;border-color:#222;background:#0b0b0b;color:#c7c0b6}.diary-page .brand__mark{border-color:#52483b;color:#756652}.diary-private-bar{padding:.45rem 4vw;border-bottom:1px solid #211d1a;background:#050505;color:#5f5549;font-size:.5rem;letter-spacing:.35em}.diary-close{justify-self:end;color:#6f675e;font-size:.6rem;letter-spacing:.15em}.diary-close:hover{color:#b1a597}.diary-main{min-height:calc(100vh - 100px);padding:8rem 1rem;background:radial-gradient(circle at 50% 15%,#151311,#080808 45%)}.diary-main .diary-sheet{width:min(680px,100%);margin:0 auto;padding:0;background:transparent;box-shadow:none}.diary-main .diary-sheet:before{display:none}.diary-label{margin:0 0 4rem;color:#4e4943;font-size:.5rem;letter-spacing:.3em}.diary-main .diary-date{margin:0;color:#6c6256;font:400 .65rem var(--sans);letter-spacing:.12em}.diary-main .diary-sheet h1{margin:1.2rem 0 4rem;color:#c5baac;font:400 clamp(2.3rem,5vw,4.2rem)/1 var(--serif)}.diary-main .diary-sheet h2{margin:0 0 3rem;padding-bottom:1.4rem;border-bottom:1px solid #25211d;color:#948879;font:400 clamp(1.5rem,3vw,2.2rem)/1.4 var(--serif)}.diary-main .diary-body p{color:#8b847c;font-size:.76rem;line-height:2.55}.diary-main .diary-signature{color:#665b4d;font-size:1.7rem}.diary-page .site-footer{border-top:1px solid #211e1a;background:#050505}
.diary-page{color:#999;background:#0a0a0a;font-family:var(--sans)}.diary-private-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #222;background:#0a0a0a;color:#555;font-size:.58rem;letter-spacing:.18em}.diary-close{color:#666;font-size:.6rem;letter-spacing:.08em}.diary-close:hover{color:#aaa}.diary-main{min-height:calc(100vh - 110px);padding:5rem 1.5rem;background:#0a0a0a}.diary-main .diary-sheet{width:min(620px,100%);margin:0 auto;padding:0;background:none;box-shadow:none}.diary-main .diary-sheet:before{display:none}.diary-main .diary-date{margin:0 0 3rem;padding-bottom:1rem;border-bottom:1px solid #242424;color:#aaa;font:400 .78rem var(--sans);letter-spacing:.04em}.diary-main .diary-body p{margin:0 0 2.5rem;color:#aaa;font-size:.82rem;line-height:2.25;letter-spacing:0}.diary-footer{padding:1.5rem;border-top:1px solid #1d1d1d;background:#080808;text-align:center}.diary-footer p{margin:0;color:#454545;font-size:.52rem;line-height:1.8}.diary-page .page-number{border-color:#292929;background:#0d0d0d;color:#777}.diary-page .page-number span{color:#555}
.diary-main .diary-title{margin:0 0 2.5rem;color:#bbb;font:400 clamp(1.5rem,3vw,2rem)/1.4 var(--sans);letter-spacing:.04em}

/* Fictional local news article */
.search-result-item__visual--news{position:relative;background:linear-gradient(145deg,#e8e8e5,#b9bec0)}.search-result-item__visual--news:before{content:"NEWS";position:absolute;inset:0;display:grid;place-items:center;color:#3b5661;font:600 2rem var(--sans);letter-spacing:.25em}.news-page{margin:0;background:#f5f5f3;color:#20252a;font-family:var(--sans)}.news-header{border-top:5px solid #a62626;border-bottom:1px solid #d7dadd;background:#fff}.news-header__inner{display:flex;justify-content:space-between;align-items:center;width:min(1040px,calc(100% - 2rem));margin:auto;padding:1.35rem 0}.news-logo{color:#273f4a;font-size:1.35rem;font-weight:600;letter-spacing:.08em}.news-logo span{margin-left:.7rem;color:#a62626;font-size:.58rem;letter-spacing:.16em}.news-home{color:#657078;font-size:.72rem}.news-main{width:min(860px,calc(100% - 2rem));margin:3.5rem auto 6rem}.news-category{display:inline-block;margin:0 0 1rem;padding:.3rem .7rem;background:#a62626;color:#fff;font-size:.62rem;letter-spacing:.12em}.news-title{margin:0 0 1.2rem;font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.5}.news-date{margin:0 0 2.5rem;padding-bottom:1rem;border-bottom:1px solid #cfd3d5;color:#697178;font-size:.72rem}.news-lead{font-weight:500}.news-body p{margin:0 0 1.6rem;font-size:.94rem;line-height:2}.news-notice{margin-top:4rem;padding:1rem;border:1px solid #d9dcde;color:#7a8084;font-size:.65rem;text-align:center}.news-footer{padding:2rem;background:#263840;color:#bac2c5;text-align:center;font-size:.6rem;letter-spacing:.08em}@media(max-width:600px){.news-header__inner{padding:1rem 0}.news-logo span{display:block;margin:.25rem 0 0}.news-main{margin-top:2.5rem}.news-body p{font-size:.86rem}}
.page-number--scroll{opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .35s ease,transform .35s ease,visibility .35s}.page-number--scroll.is-page-number-visible{opacity:1;visibility:visible;transform:none}
@media(prefers-reduced-motion:reduce){.page-number--scroll{transform:none;transition:none}}

/* Gyochikai archive pamphlet */
.search-result-item__visual--gyochikai{background:#17130f url("media/img/pamphlet_1.png") center 20%/cover no-repeat}
.search-result-item__visual--gyochikai-02{background:#17130f url("media/img/pamphlet_2.png") center 20%/cover no-repeat}
.search-result-item__visual--monitor{background:#17130f url("media/img/hairgem_right.png") center/cover no-repeat}
.search-result-list{display:grid;gap:1.25rem}.search-result-item__visual--monitor-data{position:relative;background:linear-gradient(145deg,#281319,#0b0909)}.search-result-item__visual--monitor-data:before{content:"DATA";position:absolute;inset:0;display:grid;place-items:center;color:#9c2d40;font:400 2.2rem var(--serif);letter-spacing:.24em}
.search-result-item__visual--experiment{position:relative;background:radial-gradient(circle,#3b151d,#0b0909 70%)}.search-result-item__visual--experiment:before{content:"I";position:absolute;inset:0;display:grid;place-items:center;color:#9c2d40;font:italic 7rem var(--serif)}.search-result-item__visual--experiment-02:before{content:"II"}
.search-result-item__visual--contact{position:relative;background:linear-gradient(145deg,#e2d8ca,#b9a993)}.search-result-item__visual--contact:before{content:"@";position:absolute;inset:0;display:grid;place-items:center;color:#8e754f;font:italic 5rem var(--serif)}
.pamphlet-page{margin:0;color:#d8cdbd;background:#090807;font-family:var(--sans)}
.pamphlet-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 4vw;border-bottom:1px solid #2a241d;background:#0d0b09;color:#75695a;font-size:.58rem;letter-spacing:.18em}
.pamphlet-bar a{color:#9a8b78}.pamphlet-bar a:hover{color:#d6c3aa}
.pamphlet-main{min-height:100vh;padding:6rem max(5vw,1.25rem) 7rem;background:radial-gradient(circle at 50% 10%,#211a12,#090807 48%)}
.pamphlet-heading{max-width:760px;margin:0 auto 3rem;text-align:center}
.pamphlet-heading p{margin:0 0 1rem;color:#a4865e;font-size:.62rem;letter-spacing:.28em}
.pamphlet-heading h1{margin:0;color:#e1d5c5;font:400 clamp(2.4rem,5vw,4.6rem)/1.2 var(--serif)}
.pamphlet-figure{width:min(760px,100%);margin:0 auto;padding:clamp(.65rem,2vw,1.25rem);border:1px solid rgba(184,154,108,.28);background:#16120e;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.pamphlet-figure img{display:block;width:100%;height:auto;background:#211b15}
.pamphlet-figure figcaption{padding:1rem .25rem 0;color:#776b5c;font-size:.56rem;letter-spacing:.16em;text-align:right}
.pamphlet-return{display:block;width:max-content;margin:3rem auto 0;color:#9d8768;font-size:.64rem;letter-spacing:.12em;border-bottom:1px solid currentColor}
@media(max-width:650px){.pamphlet-main{padding-top:4rem}.pamphlet-heading{margin-bottom:2rem}.pamphlet-bar span{max-width:70%;line-height:1.5}}

/* Hair Gem monitor recruitment */
.monitor-page{margin:0;color:#d9cdbc;background:#090807;font-family:var(--sans)}.monitor-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 4vw;border-bottom:1px solid #2b201c;background:#0b0908;color:#755d52;font-size:.56rem;letter-spacing:.18em}.monitor-bar a{color:#9c8878}.monitor-main{min-height:100vh;padding-bottom:8rem;background:radial-gradient(circle at 72% 7%,#32151b,#0b0908 40%)}.monitor-hero{position:relative;min-height:600px;display:grid;align-content:center;padding:7rem 8vw;overflow:hidden}.monitor-hero>p,.monitor-hero>h1{position:relative;z-index:1;width:min(700px,60%)}.monitor-hero>p{color:#a77d57;font-size:.58rem;letter-spacing:.3em}.monitor-hero h1{margin:1.5rem 0 0;color:#eadcca;font:400 clamp(3rem,6vw,6.5rem)/1 var(--serif)}.monitor-hero h1 em{color:#9b2b3f;font-weight:400}.monitor-hero__image{position:absolute;inset:0 0 0 45%;background:linear-gradient(90deg,#100b0b 0,transparent 30%),url("media/img/hairgem_right.png") center/cover no-repeat;opacity:.7}.monitor-sheet{width:min(900px,calc(100% - 2rem));margin:-3rem auto 0;padding:clamp(2rem,6vw,5rem);position:relative;background:#141110;border:1px solid rgba(184,154,108,.2);box-shadow:0 30px 80px rgba(0,0,0,.45)}.monitor-intro{padding-bottom:3rem;border-bottom:1px solid #302823}.monitor-intro p{margin:0 0 1.3rem;color:#c1b3a3;font-size:.82rem;line-height:2.3}.monitor-sheet section{padding:3.5rem 0;border-bottom:1px solid #302823}.monitor-sheet h2{display:flex;align-items:center;gap:1rem;margin:0 0 2rem;color:#dfcfbb;font:400 clamp(1.8rem,3vw,2.7rem) var(--serif)}.monitor-sheet h2 span{color:#8d2335;font:italic 1rem var(--serif)}.monitor-sheet ul{margin:0;padding:0;list-style:none}.monitor-sheet li{position:relative;padding:.55rem 0 .55rem 1.4rem;color:#a99e92;font-size:.76rem;line-height:1.9}.monitor-sheet li:before{content:"—";position:absolute;left:0;color:#806c53}.monitor-facts{display:grid;grid-template-columns:repeat(2,1fr);margin:0;border-top:1px solid #302823}.monitor-facts div{display:grid;grid-template-columns:110px 1fr;padding:1.1rem 0;border-bottom:1px solid #302823}.monitor-facts div:nth-child(odd){padding-right:2rem}.monitor-facts dt{color:#756b60;font-size:.62rem}.monitor-facts dd{margin:0;color:#d3c3af;font-size:.78rem}.monitor-caution{background:#180d10;margin:0 clamp(-5rem,-6vw,-2rem);padding-left:clamp(2rem,6vw,5rem)!important;padding-right:clamp(2rem,6vw,5rem)!important}.monitor-return{display:inline-block;margin-top:3rem;color:#9c8060;font-size:.63rem;letter-spacing:.12em;border-bottom:1px solid currentColor}@media(max-width:700px){.monitor-hero{min-height:680px;padding:5rem 7vw;align-content:start}.monitor-hero>p,.monitor-hero>h1{width:100%}.monitor-hero__image{inset:42% 0 0;background:linear-gradient(180deg,#100b0b 0,transparent 25%),url("media/img/hairgem_right.png") center/cover no-repeat}.monitor-facts{grid-template-columns:1fr}.monitor-facts div:nth-child(odd){padding-right:0}.monitor-caution{margin-left:-2rem;margin-right:-2rem}}
.monitor-page{margin:0;color:#d9cdbc;background:#090807;font-family:var(--sans)}.monitor-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 4vw;border-bottom:1px solid #2b201c;background:#0b0908;color:#755d52;font-size:.56rem;letter-spacing:.18em}.monitor-bar a{color:#9c8878}.monitor-main{min-height:100vh;padding-bottom:8rem;background:radial-gradient(circle at 72% 7%,#32151b,#0b0908 40%)}.monitor-hero{position:relative;min-height:600px;display:grid;align-content:center;padding:7rem 8vw;overflow:hidden}.monitor-hero>p,.monitor-hero>h1{position:relative;z-index:1;width:min(700px,60%)}.monitor-hero>p{color:#a77d57;font-size:.58rem;letter-spacing:.3em}.monitor-hero h1{margin:1.5rem 0 0;color:#eadcca;font:400 clamp(3rem,6vw,6.5rem)/1 var(--serif)}.monitor-hero h1 em{color:#9b2b3f;font-weight:400}.monitor-hero__image{position:absolute;inset:0 0 0 45%;background:linear-gradient(90deg,#100b0b 0,transparent 30%),url("media/img/hairgem_right.png") center/cover no-repeat;opacity:.7}.monitor-sheet{width:min(900px,calc(100% - 2rem));margin:-3rem auto 0;padding:clamp(2rem,6vw,5rem);position:relative;background:#141110;border:1px solid rgba(184,154,108,.2);box-shadow:0 30px 80px rgba(0,0,0,.45)}.monitor-intro{padding-bottom:3rem;border-bottom:1px solid #302823}.monitor-intro p{margin:0 0 1.3rem;color:#c1b3a3;font-size:.82rem;line-height:2.3}.monitor-sheet section{padding:3.5rem 0;border-bottom:1px solid #302823}.monitor-sheet h2{display:flex;align-items:center;gap:1rem;margin:0 0 2rem;color:#dfcfbb;font:400 clamp(1.8rem,3vw,2.7rem) var(--serif)}.monitor-sheet h2 span{color:#8d2335;font:italic 1rem var(--serif)}.monitor-sheet ul{margin:0;padding:0;list-style:none}.monitor-sheet li{position:relative;padding:.55rem 0 .55rem 1.4rem;color:#a99e92;font-size:.76rem;line-height:1.9}.monitor-sheet li:before{content:"—";position:absolute;left:0;color:#806c53}.monitor-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem;margin:0;border-top:1px solid #302823}.monitor-sheet .monitor-facts li{padding:1.1rem 0 1.1rem 1.4rem;border-bottom:1px solid #302823;color:#d3c3af}.monitor-caution{background:#180d10;margin:0 clamp(-5rem,-6vw,-2rem);padding-left:clamp(2rem,6vw,5rem)!important;padding-right:clamp(2rem,6vw,5rem)!important}.monitor-return{display:inline-block;margin-top:3rem;color:#9c8060;font-size:.63rem;letter-spacing:.12em;border-bottom:1px solid currentColor}@media(max-width:700px){.monitor-hero{min-height:680px;padding:5rem 7vw;align-content:start}.monitor-hero>p,.monitor-hero>h1{width:100%}.monitor-hero__image{inset:42% 0 0;background:linear-gradient(180deg,#100b0b 0,transparent 25%),url("media/img/hairgem_right.png") center/cover no-repeat}.monitor-facts{grid-template-columns:1fr}.monitor-caution{margin-left:-2rem;margin-right:-2rem}}

/* Larger type on the monitor recruitment page */
.monitor-page .monitor-bar{font-size:.68rem}
.monitor-page .monitor-hero>p{font-size:.72rem}
.monitor-page .monitor-hero h1{font-size:clamp(3.5rem,6.5vw,7rem)}
.monitor-page .monitor-intro p{font-size:1rem;line-height:2.2}
.monitor-page .monitor-sheet h2{font-size:clamp(2.15rem,3.4vw,3.1rem)}
.monitor-page .monitor-sheet li{font-size:.94rem;line-height:2}
.monitor-page .monitor-return{font-size:.78rem}
.monitor-page .diary-footer p{font-size:.65rem}

/* Hair Gem confidential monitor data */
.monitor-data-page{margin:0;color:#d7c9b7;background:#090707;font-family:var(--sans)}.monitor-data-main{min-height:calc(100vh - 100px);padding:7rem max(4vw,1rem) 8rem;background:radial-gradient(circle at 75% 0,#301219,#090707 44%)}.monitor-data-heading{width:min(1180px,100%);margin:0 auto 3.5rem}.monitor-data-heading>p:first-child{margin:0 0 1rem;color:#9c744e;font-size:.7rem;letter-spacing:.28em}.monitor-data-heading h1{margin:0;color:#eadcca;font:400 clamp(3.2rem,6vw,6rem)/1 var(--serif)}.monitor-data-lead{margin:1.5rem 0 0;color:#998b7c;font-size:.92rem}.monitor-table-wrap{width:min(1180px,100%);margin:auto;overflow-x:auto;border:1px solid #342423;background:#120e0e;box-shadow:0 28px 70px rgba(0,0,0,.42)}.monitor-table{width:100%;min-width:900px;border-collapse:collapse}.monitor-table th,.monitor-table td{padding:1.25rem 1.1rem;border-bottom:1px solid #302423;text-align:left;white-space:nowrap}.monitor-table th{background:#1d1114;color:#a98764;font-size:.72rem;font-weight:500;letter-spacing:.1em}.monitor-table td{color:#b9aca0;font-size:.9rem}.monitor-table td:nth-child(1),.monitor-table td:nth-child(6){color:#d4b88f;font-family:var(--serif);font-size:1.1rem}.monitor-table td:nth-child(5){white-space:normal;min-width:230px}.monitor-table tbody tr{transition:background .25s}.monitor-table tbody tr:hover{background:#1a1212}.monitor-table__highlight{background:rgba(112,20,35,.22)}.rank{display:inline-grid;place-items:center;width:2rem;height:2rem;border:1px solid #665548;border-radius:50%;font:500 .8rem var(--serif)}.rank--s{border-color:#a1263a;color:#e05c72;box-shadow:0 0 18px rgba(160,35,56,.35)}.rank--a{color:#c6a46e}.rank--b{color:#9c8e7f}.rank--c{color:#776d64}.monitor-data-main>.monitor-return{display:block;width:max-content;margin:3rem auto 0}@media(max-width:700px){.monitor-data-main{padding-top:4rem}.monitor-data-heading h1{font-size:3.2rem}.monitor-table th,.monitor-table td{padding:1rem .85rem}}
.monitor-data-memo{width:min(1180px,100%);margin:2rem auto 0;padding:clamp(1.5rem,4vw,3rem);border:1px solid #3c2025;background:linear-gradient(145deg,#1b0f12,#100d0d)}.monitor-data-memo h2{margin:0 0 2rem;color:#d8c5af;font:400 clamp(1.8rem,3vw,2.7rem) var(--serif)}.monitor-data-memo h2 span{display:block;margin-bottom:.55rem;color:#9e2c40;font:500 .58rem var(--sans);letter-spacing:.24em}.monitor-data-memo article{display:grid;grid-template-columns:180px 1fr;gap:2rem;padding:1.35rem 0;border-top:1px solid #392327}.monitor-data-memo h3{margin:0;color:#c9a77c;font:500 1rem var(--sans)}.monitor-data-memo p{margin:0;color:#b6aaa0;font-size:.88rem;line-height:2}@media(max-width:700px){.monitor-data-memo article{grid-template-columns:1fr;gap:.5rem}}

/* Return experiment archive */
.experiment-page{margin:0;color:#d7c9b7;background:#080707;font-family:var(--sans)}.experiment-main{min-height:calc(100vh - 100px);display:grid;place-items:center;padding:6rem 1rem;background:radial-gradient(circle at 50% 35%,#2b1117,#080707 58%)}.experiment-document{width:min(800px,100%);min-height:560px;padding:clamp(2rem,7vw,6rem);border:1px solid #40242a;background:#120e0f;box-shadow:0 35px 90px rgba(0,0,0,.5)}.experiment-label{margin:0;color:#9c704f;font-size:.65rem;letter-spacing:.28em}.experiment-document h1{margin:2rem 0;color:#eadcca;font:400 clamp(3.4rem,7vw,6.5rem)/1 var(--serif)}.experiment-rule{height:1px;margin:3rem 0;background:linear-gradient(90deg,#7e2031,transparent)}
.experiment-date{margin:0;color:#9b8066;font:italic 1.1rem var(--serif);letter-spacing:.08em}.experiment-body p{margin:0 0 2.2rem;color:#bcb0a4;font-size:1rem;line-height:2.2}.experiment-document>.monitor-return{display:inline-block;margin-top:2rem}
.contact-page{width:min(1040px,calc(100% - 2rem));margin:auto;padding:7rem 0}.contact-heading{max-width:720px;margin-bottom:4rem}.contact-heading h1{margin:0 0 2rem;font:400 clamp(3.5rem,7vw,7rem)/.9 var(--serif)}.contact-heading h1 em{display:block;color:var(--gold);font-size:.58em;font-weight:400}.contact-heading>p:last-child{font-size:.9rem}.contact-form{width:100%;padding:clamp(2rem,5vw,4rem);background:#ebe3d7}.contact-return{display:inline-block;margin-top:3rem;color:#866d4a;font-size:.75rem;border-bottom:1px solid currentColor}
.contact-form input[readonly]{color:#745e41;background:rgba(170,137,85,.08);cursor:default}

/* Fictional received email */
.mail-page{margin:0;color:#282522;background:#e8e6e2;font-family:var(--sans)}.mail-app-bar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(3vw,1rem);border-bottom:1px solid #d0cec9;background:#fafafa;color:#555}.mail-app-bar>div{display:flex;align-items:center;gap:.8rem}.mail-app-bar strong{font-size:.72rem;letter-spacing:.18em}.mail-app-bar a{font-size:.7rem}.mail-app-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:#4f5965;color:#fff;font:italic 1.25rem var(--serif)}.mail-main{min-height:calc(100vh - 120px);padding:3rem 1rem 6rem;overflow:visible}.mail-message{width:min(860px,100%);margin:auto;border:1px solid #d4d1cb;background:#fff;box-shadow:0 16px 45px rgba(40,35,30,.1)}.mail-message__toolbar{display:flex;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #e3e0dc;color:#777;font-size:.68rem}.mail-message__header{padding:2.5rem clamp(1.5rem,5vw,4rem);border-bottom:1px solid #e7e3de}.mail-subject-label{margin:0;color:#999;font-size:.62rem;letter-spacing:.12em}.mail-message__header h1{margin:.3rem 0 2rem;font:500 clamp(1.8rem,4vw,2.8rem)/1.35 var(--sans)}.mail-sender{display:flex;align-items:center;gap:1rem}.mail-sender__mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#26221f;color:#d2b079;font:italic 1.5rem var(--serif)}.mail-sender strong,.mail-sender small{display:block}.mail-sender strong{font-size:.78rem}.mail-sender small{margin-top:.2rem;color:#999;font-size:.62rem}.mail-message__body{padding:3rem clamp(1.5rem,5vw,4rem) 4rem}.mail-message__body p{margin:0 0 2.2rem;font-size:.9rem;line-height:2.25}.mail-message__body p:nth-child(n+2){color:#3b3331}.mail-footer{padding:1.5rem;background:#dedbd6;color:#8b8781;text-align:center;font-size:.58rem;letter-spacing:.08em}@media(max-width:600px){.mail-main{padding-top:1rem}.mail-message__header,.mail-message__body{padding-left:1.3rem;padding-right:1.3rem}.mail-message__body p{font-size:.84rem}}
.mail-epilogue-link{display:flex;align-items:center;justify-content:space-between;width:min(860px,100%);margin:2rem auto 0;padding:1.5rem 2rem;border:1px solid #c8c3bb;background:#f7f5f1;font:500 1rem var(--sans);letter-spacing:.06em;transition:background .25s,color .25s}.mail-epilogue-link:hover{background:#282522;color:#fff}.mail-epilogue-link span{font-size:1.4rem}
.epilogue-page{margin:0;color:#ded2c1;background:#080707;font-family:var(--sans)}.epilogue-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 4vw;border-bottom:1px solid #2b2320;color:#776b5e;font-size:.6rem;letter-spacing:.18em}.epilogue-main{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:6rem 1rem;background:radial-gradient(circle at 50% 40%,#27191b,#080707 62%)}.epilogue-card{width:min(800px,100%);padding:clamp(2rem,7vw,6rem);text-align:center}.epilogue-card>p{margin:0 0 2rem;color:#9c714e;font-size:.65rem;letter-spacing:.4em}.epilogue-card h1{margin:0;color:#eadfce;font:400 clamp(3.5rem,8vw,7.5rem)/.95 var(--serif)}.epilogue-card h1 em{color:#9d293c;font-weight:400}.epilogue-divider{width:80px;height:1px;margin:4rem auto;background:#806142}.epilogue-card a{color:#8f8172;font-size:.7rem;border-bottom:1px solid currentColor}
.dm-page{margin:0;color:#242424;background:#f5f5f7;font-family:var(--sans)}.dm-header{position:sticky;top:0;z-index:5;height:72px;display:grid;grid-template-columns:40px 44px 1fr 40px;align-items:center;gap:.7rem;padding:0 max(1rem,calc((100vw - 720px)/2));border-bottom:1px solid #dddde2;background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}.dm-header>a{display:grid;place-items:center;font-size:1.25rem}.dm-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#ad8dbe,#6c516f);color:#fff;font-weight:500}.dm-header strong,.dm-header small{display:block}.dm-header strong{font-size:.82rem}.dm-header small{color:#777;font-size:.6rem}.dm-main{min-height:100vh;padding:2rem 1rem 8rem;overflow:visible}.dm-date{margin:0 auto 2rem;color:#8d8d94;text-align:center;font-size:.65rem}.dm-thread{width:min(680px,100%);margin:auto}.dm-message{width:min(560px,88%);margin:0 0 .85rem;padding:1.2rem 1.35rem;border-radius:22px 22px 22px 5px;background:#fff;box-shadow:0 2px 12px rgba(30,25,35,.06)}.dm-message p{margin:0 0 1rem;font-size:.9rem;line-height:1.95}.dm-message p:last-child{margin-bottom:0}.dm-seen{margin:1rem 0 0;color:#999;font-size:.58rem}.dm-message--postscript{margin-top:24rem;border:1px solid #b6929b;background:#fff7f8}.dm-message--postscript strong{color:#9c293f}.dm-composer{position:sticky;bottom:0;height:70px;display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:.7rem;padding:0 max(1rem,calc((100vw - 720px)/2));border-top:1px solid #dddde2;background:rgba(255,255,255,.96)}.dm-composer>div{padding:.7rem 1rem;border:1px solid #d8d8dc;border-radius:22px;color:#aaa;font-size:.72rem}.dm-composer>span{text-align:center;color:#806a81;font-size:1.2rem}@media(max-width:600px){.dm-message{width:94%;padding:1rem 1.1rem}.dm-message p{font-size:.84rem}.dm-message--postscript{margin-top:18rem}}
.site-footer .fiction-notice{font-size:.78rem;line-height:2}
.secret-intro__text{max-width:570px;padding-left:clamp(0rem,2vw,2rem);border-left:1px solid rgba(186,151,96,.22)}.secret-intro__text p{margin-bottom:1.8rem;font-size:.9rem;line-height:2.35;letter-spacing:.04em}.secret-intro__text p:last-child{margin-bottom:0}@media(max-width:700px){.secret-intro__text{margin-top:1rem;padding:2rem 0 0;border-top:1px solid rgba(186,151,96,.22);border-left:0}.secret-intro__text p{font-size:.88rem}}

/* High-contrast mobile navigation */
@media(max-width:900px){.site-nav{background:#f3efe7;color:#22211f;box-shadow:0 14px 28px rgba(34,33,31,.14)}.site-nav a{color:#22211f;font-size:.78rem;font-weight:600;opacity:1}.secret-page .site-nav{border-color:rgba(186,151,96,.32);background:#12100f;color:#f0e7da;box-shadow:0 14px 32px rgba(0,0,0,.5)}.secret-page .site-nav a{color:#f0e7da}.diary-page .site-nav,.monitor-page .site-nav,.monitor-data-page .site-nav,.experiment-page .site-nav{background:#111;color:#eee}.diary-page .site-nav a,.monitor-page .site-nav a,.monitor-data-page .site-nav a,.experiment-page .site-nav a{color:#eee}}

/* Readability and responsive heading refinements */
.hero h1{font-size:clamp(3.4rem,5.8vw,6.4rem);line-height:.86}
.visit h2{font-size:clamp(1.8rem,2.7vw,3rem)}
.content-intro h2{font-size:clamp(2.2rem,3.6vw,4rem);line-height:1.08}
body:has(.service-grid) .sub-hero h1{font-size:clamp(3rem,5.4vw,5.8rem);line-height:.95}
.secret-intro h2{font-size:clamp(2.6rem,4.2vw,4.8rem);line-height:1}
.review-card>p{font-size:.88rem;line-height:2.05}
.diary-main .diary-body p{font-size:1rem;line-height:2.2}
.site-search{grid-template-columns:auto minmax(320px,760px);padding:1.15rem 4vw}
.site-search>label{font-size:.72rem}
.site-search__field>span{font-size:1.65rem}
.site-search input{padding:.8rem .85rem;font-size:1rem}
.site-search input::placeholder{color:#777168}
.site-search button{font-size:.72rem}
.monitor-page .monitor-hero h1{font-size:clamp(2.5rem,4.8vw,5.2rem);line-height:1.08}
.form-intro h2+p{display:none}
@media(max-width:600px){.hero h1{font-size:3.25rem;line-height:.9}.visit h2{font-size:1.75rem}.site-search{padding:.9rem 5vw}.site-search input{font-size:.92rem}.monitor-page .monitor-hero h1{font-size:2.45rem}}

/* Page-specific heading sizing: keep intended phrases from wrapping awkwardly */
.secret-page .secret-intro h2{font-size:clamp(2rem,3.2vw,3.6rem);line-height:1.08}
.order-layout .form-intro h2{font-size:clamp(1.65rem,2.6vw,2.8rem);line-height:1.15;white-space:nowrap}
.experiment-document h1{font-size:clamp(1.8rem,4.5vw,3.8rem);line-height:1.05;white-space:nowrap}
.monitor-page .monitor-hero h1{font-size:clamp(2.1rem,4vw,4.3rem);line-height:1.12}
body:has(.value-grid) .content-intro h2{font-size:clamp(1.8rem,2.8vw,3.1rem);line-height:1.15;white-space:nowrap}
@media(max-width:600px){
  .secret-page .secret-intro h2{font-size:1.9rem}
  .order-layout .form-intro h2{font-size:clamp(1.45rem,7vw,1.8rem)}
  body:has(.value-grid) .content-intro h2{font-size:clamp(1.55rem,7.3vw,1.85rem)}
  .experiment-document h1{font-size:clamp(1.65rem,8.5vw,2.25rem)}
  .monitor-page .monitor-hero h1{font-size:2rem}
}

/* Make the final mail and direct-message screens read clearly as apps. */
.mail-message{border-top:4px solid #4f5965;box-shadow:0 18px 50px rgba(40,35,30,.14)}
.mail-app-bar strong::before{content:"✉";margin-right:.55rem;font-size:1rem;vertical-align:-.08em}
.mail-message__toolbar{background:#f4f6f8;color:#525b66;font-weight:500}
.mail-subject-label::before{content:"受信メール / ";color:#596675;font-weight:500}
.dm-date{margin-bottom:2.5rem;color:#5e5862;font-size:clamp(1.05rem,2.5vw,1.4rem);font-weight:500;line-height:1.5}
.dm-composer{height:76px}
.dm-composer>span,.dm-composer>div{transform:translateY(5px)}

.mail-page .mail-app-bar{height:82px;background:#263544;color:#fff;box-shadow:0 2px 10px rgba(25,35,45,.18)}
.mail-page .mail-app-bar a{color:#fff}
.mail-page .mail-app-icon{background:#fff;color:#263544}
.mail-page .mail-app-bar strong{font-size:.9rem}
.mail-page .mail-message__toolbar{padding:1.15rem 1.5rem;background:#eef3f7}
.dm-page .dm-date{font-size:clamp(1.45rem,3.8vw,2.1rem);font-weight:600}
.dm-page .dm-composer>span,.dm-page .dm-composer>div{transform:translateY(10px)}
