/* Approved full-screen opening and tab-top curtain — 7 September 2026. */
.fullscreen-concept .masthead{position:absolute;inset:0 0 auto;z-index:10;color:var(--paper);height:112px}
.fullscreen-concept .masthead a:focus-visible{outline-color:var(--paper)}
.fullscreen-concept .arrival{position:relative;isolation:isolate;display:flex;align-items:center;min-height:100svh;padding:150px var(--page-inset) 72px;overflow:hidden;background:#302b24;color:var(--paper)}
.fullscreen-concept .arrival-world{position:absolute;inset:0;z-index:-1;height:100%;width:100%;max-width:none}
.fullscreen-concept .arrival-window{width:100%;height:100%;aspect-ratio:auto;background:#302b24}
.fullscreen-concept .arrival-far{inset:-10px}
.fullscreen-concept .arrival-photo{object-position:center;height:100%;width:100%}
.fullscreen-concept .arrival-light,.fullscreen-concept .arrival-near,.fullscreen-concept .image-caption{display:none}
.fullscreen-concept .arrival-copy{padding:0;width:min(100%,550px);text-shadow:0 1px 2px #171611bb}
.fullscreen-concept .arrival h1{font-size:clamp(64px,7vw,112px);margin:28px 0 20px}
.fullscreen-concept .arrival-line{font-size:clamp(28px,2.9vw,42px)}
.fullscreen-concept .arrival-description{color:var(--paper);max-width:39ch;font-size:16px}
.fullscreen-concept .text-link{color:var(--paper);border-color:#f1ebddaa;margin-top:28px}
.fullscreen-concept .text-link:focus-visible{outline-color:var(--paper)}
.fullscreen-concept .nav-join:hover,.fullscreen-concept .text-link:hover{color:white}
@media(min-width:1700px){.fullscreen-concept .arrival-copy{width:550px}}
@media(max-width:900px){.fullscreen-concept .arrival{padding-top:140px;padding-bottom:60px}.fullscreen-concept .arrival-copy{width:min(100%,480px)}.fullscreen-concept .arrival h1{font-size:clamp(62px,10vw,88px)}}
@media(max-width:620px){.fullscreen-concept .masthead{height:86px}.fullscreen-concept .arrival{padding-top:128px;padding-bottom:54px;align-items:flex-start}.fullscreen-concept .arrival h1{font-size:clamp(60px,16vw,80px);margin:24px 0 18px}.fullscreen-concept .arrival-description{font-size:15px}.fullscreen-concept .arrival-photo{object-position:40% center}.fullscreen-concept .text-link{margin-top:26px}}

.fullscreen-concept{--hero-inset:clamp(24px,6vw,180px)}
.fullscreen-concept .masthead,.fullscreen-concept .arrival{padding-inline:var(--hero-inset)}

.fullscreen-concept .arrival-far picture{display:block;height:100%}
@media(max-width:900px){.fullscreen-concept .arrival-photo{object-position:center top}}
@media(max-width:620px){.fullscreen-concept .arrival{min-height:max(100svh,820px)}}

/* Matte hinoki framing: photographic grain, softly rounded rail and recessed
   inner edges. Keep the existing mesh margins and shared reveal transform. */
.fullscreen-concept .noren-post{
  background:#bda885 url('assets/hinoki-grain.webp') 26% center/auto 100% no-repeat;
  box-shadow:inset -2px 0 2px #54423066,5px 0 9px #171c2038;
}
.fullscreen-concept .noren-post::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,#45392b18,transparent 28%,transparent 87%,#45392b30);
}
.fullscreen-concept .noren-post-right{
  transform:none;background-position:73% center;
  box-shadow:inset 2px 0 2px #54423066,-5px 0 9px #171c2038;
}
.fullscreen-concept .noren-post-right::after{transform:scaleX(-1)}
.fullscreen-concept .noren-rail{
  left:2.8%;right:2.8%;top:36px;height:18px;overflow:hidden;
  border-radius:5px;background:#bda885;
  box-shadow:0 2px 2px #382b2055,0 5px 7px #161b1f44;
}
.fullscreen-concept .noren-rail::before{
  content:"";position:absolute;left:50%;top:50%;width:18px;height:100vw;
  background:#bda885 url('assets/hinoki-grain.webp') 48% center/auto 100% no-repeat;
  transform:translate(-50%,-50%) rotate(90deg);
}
.fullscreen-concept .noren-rail::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,#3c30251c,transparent 27%,#fff5df16 39%,transparent 55%,#38291e5c);
  box-shadow:inset 1px 0 2px #3d30294d,inset -1px 0 2px #3d30294d;
}
@media(max-width:620px){
  .fullscreen-concept .noren-rail{top:39px;height:16px;left:1.6%;right:1.6%;border-radius:4px}
  .fullscreen-concept .noren-rail::before{width:16px;height:max(100vw,800px)}
}


/* Tab-top attachment study: indigo loops wrap over the exposed rail. The
   shadowed recess masks the original sleeve; tabs share the frame transform
   and overlap the mesh where its upper edge remains anchored. */
.fullscreen-concept .noren-head{
  height:78px;background:linear-gradient(180deg,#201c18,#3b3126 45%,#29241f);
  box-shadow:inset 0 8px 12px #15151555;
}
.fullscreen-concept .noren-tabs{
  position:absolute;left:calc(4.5% + 12px);right:calc(4.5% + 12px);
  top:34px;display:flex;justify-content:space-between;align-items:flex-start;
}
.fullscreen-concept .noren-tabs span{
  position:relative;display:block;width:clamp(24px,3.3vw,54px);height:64px;
  border-radius:5px 5px 1px 1px;
  background:linear-gradient(180deg,#09172455,transparent 10%,#70818a26 19%,#09172444 34%,transparent 65%),url('assets/noren-cloth.webp') 12% top/550px auto;
  box-shadow:2px 2px 3px #10182044,inset 1px 0 #a9bbc126,inset -2px 0 #0c172966;
}
.fullscreen-concept .noren-tabs span:nth-child(2){background-position:0 0,32% top}
.fullscreen-concept .noren-tabs span:nth-child(3){background-position:0 0,53% top}
.fullscreen-concept .noren-tabs span:nth-child(4){background-position:0 0,71% top}
.fullscreen-concept .noren-tabs span:nth-child(5){background-position:0 0,91% top}
.fullscreen-concept .noren-tabs span::after{
  content:"";position:absolute;left:4px;right:4px;bottom:4px;height:16px;
  border:1px dashed #93a6ac55;border-top:0;border-radius:0 0 1px 1px;
}
.fullscreen-concept .noren{top:78px;height:calc(100% - 58px)}
@media(max-width:620px){
  .fullscreen-concept .noren-tabs{left:calc(3.5% + 7px);right:calc(3.5% + 7px);top:37px}
  .fullscreen-concept .noren-tabs span{height:60px;width:24px;background-size:auto,360px auto}
}


/* Supporting copy and launch action use the same type and link treatment as
   the opening. Preserve the reveal timing and its interaction guard. */
.fullscreen-concept .threshold-note{font-family:inherit;letter-spacing:-.055em;color:#FFF9EF;text-shadow:0 1px 3px #171611e6}
.fullscreen-concept .moment-details{margin-top:24px;font-size:17px;line-height:1.65;letter-spacing:0;font-weight:500}
.fullscreen-concept .moment-details p{font-size:17px;max-width:42ch;color:#FFF9EF;margin:0;opacity:var(--detail,1);transform:translateY(var(--detail-y,0px))}
.fullscreen-concept .moment-details .reveal-join{
  width:max-content;max-width:100%;margin-top:28px;min-height:48px;
  background:transparent;color:#FFF9EF;font-size:15px;font-weight:500;line-height:1.65;letter-spacing:0;
  pointer-events:auto;opacity:var(--reveal-cta,1);transform:translateY(var(--reveal-cta-y,0px));
}
.fullscreen-concept .moment-details[inert] .reveal-join{pointer-events:none}
.fullscreen-concept .moment-details .reveal-join:focus-visible{outline:2px solid var(--paper);outline-offset:5px}
@media(max-width:900px){.fullscreen-concept .moment-details{margin-top:18px}}
@media(max-width:620px){
  .fullscreen-concept .moment-details,.fullscreen-concept .moment-details p{font-size:16px}
  .fullscreen-concept .moment-details .reveal-join{margin-top:26px;font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .fullscreen-concept .moment-details p,.fullscreen-concept .moment-details .reveal-join{opacity:1;transform:none}
}


/* Introduce the whole box first, then the three ways to enjoy the ritual. */
.fullscreen-concept .ritual-box-intro{align-items:start;padding-block:96px}
.fullscreen-concept .box-eyebrow{margin:0 0 28px;font-size:10px;line-height:1.8;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.fullscreen-concept .box-contents{list-style:none;margin:0;padding:0}
.fullscreen-concept .box-contents li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:28px;padding:30px 0;border-top:1px solid #24456b55}
.fullscreen-concept .box-contents li:last-child{border-bottom:1px solid #24456b55}
.fullscreen-concept .box-number{padding-top:7px;font-size:10px;letter-spacing:.08em;color:var(--blue)}
.fullscreen-concept .box-contents h3{font-size:27px;line-height:1.3;font-weight:400;letter-spacing:-.025em;margin:0 0 10px}
.fullscreen-concept .box-contents p{font-size:15px;line-height:1.7;color:var(--blue);max-width:none;margin:0}
.fullscreen-concept .ritual-ways{background:var(--paper);padding:44px var(--page-inset) 73px}
.fullscreen-concept .ritual-ways-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,4.5vw,64px);margin:0}
.fullscreen-concept .ritual-ways-list>div{padding:28px 0 0;border-top:1px solid #24456b55;border-bottom:0}
.fullscreen-concept .ritual-ways-list dt{font-size:26px;line-height:1.35;font-weight:400;letter-spacing:-.025em}
.fullscreen-concept .ritual-ways-list dd{margin:16px 0 0;font-size:15px;line-height:1.7;max-width:35ch}
@media(max-width:900px){
  .fullscreen-concept .ritual-box-intro{grid-template-columns:1fr;padding-block:64px;gap:44px}
  .fullscreen-concept .ritual-box-intro .ritual-heading{padding-right:0;max-width:600px}
  .fullscreen-concept .box-contents li{padding-block:26px}
  .fullscreen-concept .ritual-ways{padding-top:28px;padding-bottom:57px}
  .fullscreen-concept .ritual-ways-list{gap:28px}
  .fullscreen-concept .ritual-ways-list dt{font-size:22px}
  .fullscreen-concept .ritual-ways-list dd{font-size:14px}
}
@media(max-width:620px){
  .fullscreen-concept .ritual-box-intro{padding-block:56px;gap:36px}
  .fullscreen-concept .box-eyebrow{margin-bottom:24px}
  .fullscreen-concept .box-contents li{grid-template-columns:24px minmax(0,1fr);gap:18px;padding-block:24px}
  .fullscreen-concept .box-contents h3{font-size:24px}
  .fullscreen-concept .box-contents p{font-size:14px}
  .fullscreen-concept .ritual-ways-list{grid-template-columns:1fr;gap:30px}
  .fullscreen-concept .ritual-ways-list>div{padding-top:24px}
  .fullscreen-concept .ritual-ways-list dd{max-width:42ch;margin-top:12px}
}


/* Owner-requested packaging colour on the closing panel. Brand notes identify
   Kachi #1C2331 as the gift/curated box ground; Kinari is its light type. */
.fullscreen-concept .invitation{background:#1C2331;color:#F1EBDD;color-scheme:dark}
.fullscreen-concept .invitation-inner>p,
.fullscreen-concept .invitation .consent,
.fullscreen-concept .invitation .signup-note,
.fullscreen-concept .invitation .form-status,
.fullscreen-concept .invitation .footer>span:last-child{color:#F1EBDD}
.fullscreen-concept .invitation .input-line{border:0;align-items:end;gap:28px}
.fullscreen-concept .invitation .input-line input{color:#F1EBDD;border-bottom:1px solid #f1ebdd88}
.fullscreen-concept .invitation .input-line input::placeholder{color:#d4cfc5;opacity:1}
.fullscreen-concept .invitation .input-line button{min-height:60px;width:215px;max-width:100%;justify-content:space-between;gap:32px;background:transparent;color:#F1EBDD;padding:15px 0;border:0;border-bottom:1px solid #f1ebddaa;border-radius:0;font-size:14px;font-weight:400}
.fullscreen-concept .invitation .input-line button:hover{background:transparent;color:#FFF9EF;border-bottom-color:#FFF9EF}
.fullscreen-concept .invitation .consent input{accent-color:#F1EBDD}
.fullscreen-concept .invitation .form-status[data-state=error]{color:#F1EBDD}
.fullscreen-concept .invitation .footer{border-color:#f1ebdd55}
.fullscreen-concept .invitation :focus-visible{outline:2px solid #F1EBDD;outline-offset:5px}
@media(max-width:620px){.fullscreen-concept .invitation .input-line button{width:200px;min-height:53px;height:auto;padding:12px 0;margin-top:20px;font-size:13px}}

.fullscreen-concept .ritual-ways-list>div:nth-child(2) dd{max-width:none;text-wrap:pretty}

/* Account for the rule and its 24px inset when centring the stacked text. */
@media(max-width:620px){.fullscreen-concept .ritual-ways{padding-bottom:53px}}
