:root{--red:#c32831;--ink:#333330;--paper:#fff;--paper-rgb:255,255,255;--card:#faf9f7;--ease:cubic-bezier(.22,1,.36,1);font-family:'Noto Sans JP',sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:4px}figure,p,h1,h2{margin:0}img{display:block}button{border:0}body:has(dialog[open]){overflow:hidden}.immersive{position:relative;isolation:isolate}.hero{height:100svh;min-height:480px;position:relative}.red-plane{position:absolute;inset:0 0 auto;height:72px;background:var(--red);z-index:1;transform-origin:0 0}.split-photos{position:absolute;inset:72px 0 0;display:grid;grid-template-rows:1fr 1fr;overflow:hidden}.photo{position:relative;overflow:hidden;min-height:0}.photo img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-x,50%) 50%}.photo-space img{object-position:var(--photo-x,50%) 50%}.photo-hands img{width:135%;max-width:none;object-position:var(--photo-x,40%) center}.split-photos::after{content:'';position:absolute;inset:0;background:rgba(50,0,0,.15);pointer-events:none}.brand{--logo-scale:1;position:absolute;width:calc(219.815px * var(--logo-scale));height:calc(149px * var(--logo-scale));left:50%;top:calc(50% + 36px);transform:translate(-50%,-50%);z-index:4}.brand img{transform:scale(var(--logo-scale));transform-origin:top left}.brand-red{display:none}.hero-slides,.fixed-backdrop,.portrait-copy,.vertical-copy{display:none}.hero-visit{position:absolute;inset:auto 20px 22px;z-index:5;display:flex;gap:18px;align-items:flex-end;justify-content:space-between}.holidays{background:rgba(var(--paper-rgb),.9);width:202px;min-height:93px;padding:14px 12px;color:var(--red);border-radius:2px}.holidays>span{display:flex;align-items:center;justify-content:center;gap:10px}.holidays b{font-size:14px;letter-spacing:2px}.holiday-days{display:block;color:var(--ink);font-size:11px;line-height:1.65;letter-spacing:.02em;border-top:1px solid var(--red);padding-top:7px;margin-top:7px;white-space:nowrap}.holiday-arrow{display:none}.phone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:130px;height:130px;flex:none;color:white;text-decoration:none}.phone-disc{position:absolute;inset:0;z-index:-1}.phone-ring{position:absolute;left:2.6px;top:2.6px;z-index:-1}.phone>span{display:flex;flex-direction:column;align-items:center;gap:7px}.phone b{font-size:12px;letter-spacing:1px;font-weight:700}.phone small{font-size:11px;letter-spacing:.4px}.site-header{position:fixed;top:0;left:0;right:0;height:72px;z-index:12;pointer-events:none;background:var(--red)}.mini-brand{position:absolute;left:16px;top:8px;width:81.4px;height:55.2px;pointer-events:auto;opacity:0;transition:opacity .3s}.mini-brand img{transform:scale(.37);transform-origin:0 0}.scrolled .mini-brand{opacity:1}.menu-button{position:absolute;top:14px;right:16px;width:44px;height:44px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;pointer-events:auto;color:white}.menu-button span{display:block;width:26px;height:1.5px;background:currentColor}.concept{position:relative;background:linear-gradient(to bottom,var(--paper) 0,var(--paper) 255px,var(--red) 255px,var(--red) 100%);padding:34px 0 64px;scroll-margin-top:72px}.concept-intro h2{font-size:0;display:flex;align-items:baseline;color:var(--red);padding:0 18px 22px;white-space:nowrap;font-weight:500}.concept-intro h2 strong{font-family:'Noto Serif JP',serif;font-weight:700;font-size:46px;letter-spacing:3px}.concept-intro h2 span{font-size:40px;letter-spacing:3px}.concept-intro h2 small{font-size:31px;letter-spacing:3px}.consultation{position:relative;width:calc(100% - 20px);height:auto;aspect-ratio:370 / 216}.consultation>img{width:100%;height:100%;object-fit:cover;object-position:var(--photo-x,50%) center}.consultation figcaption{position:absolute;left:0;top:17px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--red);font-size:13px;font-weight:500;letter-spacing:2px}.consultation figcaption span{background:rgba(var(--paper-rgb),.9);padding:4px 7px;line-height:1.4}.concept-copy{padding:30px 20px 0;color:white;font-size:13px;line-height:1.65;letter-spacing:2px}.concept-copy p+p{margin-top:24px}.concept-copy p:last-child{margin-top:32px}.menu-section{padding:38px 20px 60px;background:var(--paper)}.menu-panel{background:var(--red);padding:54px 26px;color:white;max-width:720px;margin:auto}.menu-panel h2{font:40px 'Music Newsreader',serif;letter-spacing:-1.4px}.menu-panel dl{margin:30px 0}.menu-panel dl>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #fff9;font-size:18px}.menu-panel dd{font-family:'Noto Serif JP',serif;margin:0}.menu-panel p{font-size:10px;line-height:1.9}.scene-footer{padding:55px 20px;background:var(--paper);display:flex;justify-content:center}.scene-footer img{opacity:.8}.opening{position:fixed;inset:0;z-index:20;pointer-events:none}.opening-mark{position:absolute;top:0;left:0;width:240px;height:165.275px}.opening-mark img{position:absolute;inset:0;width:240px;height:165.275px;filter:brightness(0) invert(1)}.js:not(.ready) .brand{opacity:0}.js:not(.ready) .site-header{background:transparent}.js:not(.ready) .menu-button,.js:not(.ready) .hero-visit{opacity:0}.ready .opening{display:none}.ready .red-plane{transform:none}.opening .op-word,.opening .op-upper,.opening .op-lower{opacity:0}html:not(.js) .opening{display:none}dialog{width:min(540px,calc(100% - 32px));max-height:85svh;overflow:auto;border:0;padding:54px 30px 36px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#30282470}.dialog-close{position:absolute;top:10px;right:14px;font-size:12px;min-height:36px;background:none}dialog>img{margin:0 auto 30px}dialog nav{display:flex;flex-direction:column}dialog nav>a,dialog nav>button{display:flex;justify-content:space-between;text-decoration:none;background:none;align-items:center;text-align:left;padding:18px 0;border-bottom:1px solid #dedbd5;font:28px 'Music Newsreader',serif}dialog nav small{font:12px 'Noto Sans JP',sans-serif}dialog h2{font:26px 'Noto Serif JP',serif;margin-bottom:24px}#info-body{font-size:14px;line-height:2}#info-body p+p{margin-top:20px}.info-days{color:var(--red)}
/* 02: an independent brand field. No photographic overlay. */
[data-variant="2"] .red-plane{height:43%}[data-variant="2"] .split-photos{display:none}[data-variant="2"] .hero-slides{display:block;position:absolute;inset:43% 0 32px;overflow:hidden}[data-variant="2"] .brand{top:21.5%}[data-variant="2"] .site-header{background:transparent;pointer-events:none}[data-variant="2"].scrolled .site-header{background:var(--red)}[data-variant="2"] .mini-brand{display:none}.slideshow{overflow:hidden}.slide{position:absolute;inset:0;opacity:0;overflow:hidden}.slide:first-child{opacity:1}.slide img{position:absolute;inset:0;width:110%;height:100%;object-fit:cover;object-position:var(--photo-x,50%) center;max-width:none;will-change:transform}.vertical-copy{position:absolute;right:35px;top:calc(43% - 34px);z-index:5;flex-direction:row-reverse;gap:10px;align-items:flex-start;color:var(--red)}.vertical-copy span{writing-mode:vertical-rl;background:var(--paper);padding:7px 3px;font-size:15px;font-weight:500;line-height:1.15;letter-spacing:3px;white-space:nowrap}.vertical-copy span+span{margin-top:88px}[data-variant="2"] .vertical-copy{display:flex}[data-variant="2"] .hero-visit,[data-variant="3"] .hero-visit{bottom:0;gap:0;align-items:stretch;height:64px}[data-variant="2"] .holidays,[data-variant="3"] .holidays{width:50%;min-height:64px;border-radius:0;background:var(--card);padding:8px}[data-variant="2"] .holidays b,[data-variant="3"] .holidays b{font-size:13px;letter-spacing:1px}[data-variant="2"] .holiday-arrow,[data-variant="3"] .holiday-arrow{display:block}[data-variant="2"] .holiday-days,[data-variant="3"] .holiday-days{display:none}[data-variant="2"] .phone,[data-variant="3"] .phone{width:50%;height:64px;background:var(--red);gap:3px}[data-variant="2"] .phone>span,[data-variant="3"] .phone>span{flex-direction:row;gap:7px}[data-variant="2"] .phone b,[data-variant="3"] .phone b{font-size:13px;font-weight:500;letter-spacing:0}[data-variant="2"] .phone-disc,[data-variant="2"] .phone-ring,[data-variant="3"] .phone-disc,[data-variant="3"] .phone-ring{display:none}[data-variant="2"] .consultation figcaption{display:none}
/* 03: a single pinned photograph surface continues behind the following text. */
[data-variant="3"] .fixed-backdrop{display:block;position:sticky;top:0;height:100svh;min-height:480px;margin-bottom:-100svh;z-index:-1;overflow:hidden}[data-variant="3"] .background-slides{position:absolute;inset:0}.background-slides .slide:first-child img{object-fit:fill;width:108%}.top-light{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.6),rgba(255,255,255,0) 23%);pointer-events:none}[data-variant="3"] .split-photos{display:none}[data-variant="3"] .red-plane{height:1px}[data-variant="3"] .brand{--logo-scale:1;left:32px;top:27px;transform:none;width:calc(118.021px * var(--logo-scale));height:calc(80px * var(--logo-scale))}[data-variant="3"] .brand-white{display:none}[data-variant="3"] .brand-red{display:block}[data-variant="3"] .portrait-copy{display:block;position:absolute;z-index:4;left:32px;top:145px;padding:0;isolation:isolate}.portrait-copy::before{content:'';position:absolute;z-index:-1;left:-12px;right:-12px;top:-140px;bottom:-22px;background:rgba(var(--paper-rgb),var(--copy-shade,0));transition:background .3s}.portrait-copy h1{font-family:'Noto Serif JP',serif;font-weight:400;font-size:34px;letter-spacing:3px;line-height:1.35}.portrait-copy h1 span{display:block}.portrait-copy h1 small{font-size:24px}.portrait-copy h1 span+span{font-size:32px}.portrait-copy i{display:block;width:37px;height:1px;background:var(--red);margin:22px 0 18px}.portrait-copy p{font-size:12px;font-weight:500;line-height:1.5;letter-spacing:3px}[data-variant="3"] .site-header{background:transparent}[data-variant="3"] .mini-brand{display:none}[data-variant="3"] .menu-button{color:var(--ink);top:8px}[data-variant="3"].scrolled .menu-button{background:rgba(var(--paper-rgb),.85)}[data-variant="3"] .hero-visit{left:0;right:0}[data-variant="3"] .concept{padding:96px 0 80px;background:rgba(var(--paper-rgb),.65);scroll-margin-top:0}[data-variant="3"] .concept-intro{display:none}[data-variant="3"] .concept-copy{padding:0;width:calc(100% - 90px);max-width:560px;margin:auto;color:var(--red);font-weight:500;line-height:1.65}[data-variant="3"] .menu-section{background:rgba(var(--paper-rgb),.65);padding-top:0}[data-variant="3"] .menu-panel{max-width:680px}
@media(min-width:768px){.hero{min-height:600px}.red-plane{height:92px}.site-header{height:92px}.menu-button{top:24px;right:36px}.mini-brand{top:16px;left:36px}.split-photos{inset:92px 0 0;grid-template-rows:1fr;grid-template-columns:1fr 1fr}.photo-hands img{width:125%}.brand{--logo-scale:1.55;top:calc(50% + 46px)}.hero-visit{left:48px;right:48px;bottom:34px}.holidays{width:230px;min-height:93px}.concept{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center;padding:100px 7vw;background:linear-gradient(to bottom,var(--paper) 0,var(--paper) 180px,var(--red) 180px,var(--red) 100%);scroll-margin-top:90px}.concept-intro h2{padding:0 0 35px}.concept-intro h2 strong{font-size:clamp(46px,4.5vw,70px)}.concept-intro h2 span{font-size:clamp(40px,3.9vw,60px)}.concept-intro h2 small{font-size:clamp(31px,3vw,44px)}.consultation{width:100%;aspect-ratio:1.35}.consultation figcaption{font-size:15px;top:24px}.concept-copy{padding:0;max-width:580px;font-size:14px;line-height:1.9;letter-spacing:1.6px}.concept-copy p+p{margin-top:22px}.menu-section{padding:80px 8vw}.menu-panel{padding:60px 64px}.scene-footer{padding:60px}[data-variant="2"] .red-plane{width:43%;height:100%}[data-variant="2"] .hero-slides{inset:0 0 0 43%}[data-variant="2"] .brand{left:21.5%;top:50%;--logo-scale:1.65}[data-variant="2"] .vertical-copy{right:auto;left:calc(43% - 38px);top:calc(50% - 110px);gap:14px}[data-variant="2"] .vertical-copy span{font-size:17px;padding:10px 5px}[data-variant="2"] .hero-visit{left:auto;right:36px;bottom:30px;width:380px}[data-variant="2"] .menu-button{background:var(--red)}[data-variant="2"].scrolled .site-header{background:transparent}[data-variant="2"] .concept{background:linear-gradient(to bottom,var(--paper) 0,var(--paper) 180px,var(--red) 180px,var(--red) 100%)}[data-variant="3"] .fixed-backdrop{min-height:600px}[data-variant="3"] .background-slides .slide:first-child img{object-fit:cover}[data-variant="3"] .brand{left:10%;top:45px;--logo-scale:1.35}[data-variant="3"] .portrait-copy{left:10%;top:210px}.portrait-copy h1{font-size:46px}.portrait-copy h1 span+span{font-size:43px}.portrait-copy h1 small{font-size:32px}.portrait-copy p{font-size:14px;line-height:1.8}.portrait-copy::before{top:-180px;left:-24px;right:-24px;bottom:-32px}[data-variant="3"] .hero-visit{left:auto;right:0;width:420px}[data-variant="3"] .menu-button{top:24px}[data-variant="3"] .concept{display:block;min-height:85svh;padding:120px 8vw;background:rgba(var(--paper-rgb),.65)}[data-variant="3"] .concept-copy{max-width:540px;width:100%;font-size:15px;line-height:2.1}[data-variant="3"] .menu-section{padding:0 8vw 100px}}
@media(max-width:374px){.hero-visit{left:14px;right:14px;gap:12px}.holidays{width:calc(100% - 132px);padding:12px 8px}.holidays b{font-size:12px;letter-spacing:1px}.holiday-days{font-size:9px}.concept-intro h2 strong{font-size:40px}.concept-intro h2 span{font-size:35px}.concept-intro h2 small{font-size:27px}.vertical-copy{right:22px}.vertical-copy span{font-size:13px;letter-spacing:2px}.brand{--logo-scale:.92}}
@media(max-height:620px) and (max-width:767px){.hero{min-height:460px}.red-plane,.site-header{height:62px}.split-photos{top:62px}.mini-brand{top:5px}.menu-button{top:9px}.hero-visit{bottom:16px}.brand{--logo-scale:.87;top:calc(50% + 31px)}[data-variant="2"] .red-plane{height:39%}[data-variant="2"] .brand{top:19.5%;--logo-scale:.9}[data-variant="2"] .hero-slides{top:39%}[data-variant="2"] .vertical-copy{top:calc(39% - 22px)}.vertical-copy span{font-size:13px;letter-spacing:2px}.vertical-copy span+span{margin-top:65px}[data-variant="3"] .brand{top:22px;--logo-scale:.9}[data-variant="3"] .portrait-copy{top:129px}.portrait-copy h1{font-size:31px}.portrait-copy h1 span+span{font-size:29px}.portrait-copy i{margin:15px 0}.portrait-copy p{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}.slide img{will-change:auto}}
.js:not(.ready):not(.motion-started) .red-plane{position:fixed;inset:0;width:100%;height:100svh;z-index:18}
[data-variant="3"].ready .red-plane{opacity:0}
.background-slides .slide:first-child img.custom-photo{object-fit:cover;width:110%}
html:not(.js)[data-variant="2"] .hero-slides{background:url('assets/salon.webp') center/cover}
html:not(.js)[data-variant="3"] .background-slides{background:url('assets/salon.webp') center/contain no-repeat}
html{scrollbar-width:none}html::-webkit-scrollbar{display:none}

.hero-visit{bottom:calc(22px + env(safe-area-inset-bottom,0px))}
[data-variant="2"] .hero-visit,[data-variant="3"] .hero-visit{height:calc(64px + env(safe-area-inset-bottom,0px));bottom:0}
[data-variant="2"] .hero-visit .phone,[data-variant="3"] .hero-visit .phone{height:100%;padding-bottom:env(safe-area-inset-bottom,0px)}
[data-variant="2"] .hero-visit .holidays,[data-variant="3"] .hero-visit .holidays{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
@media(min-width:768px){[data-variant="2"] .hero-visit{bottom:30px}}

@media(min-width:768px){[data-variant="1"] .concept,[data-variant="2"] .concept{align-items:start}[data-variant="1"] .concept-copy,[data-variant="2"] .concept-copy{padding-top:104px}}
@media(min-width:768px) and (max-width:1023px){.concept-intro h2 strong{font-size:38px}.concept-intro h2 span{font-size:32px}.concept-intro h2 small{font-size:25px}}

/* rev3: SP proposal through concept, with measured pauses between sections. */
.concept{background:var(--red);padding:0 0 calc(112px + env(safe-area-inset-bottom,0px))}
.concept-intro{background:var(--paper);padding-top:88px;display:flow-root}
.concept-intro h2{padding:0 24px 40px}
.consultation{width:calc(100% - 32px);margin-bottom:-64px;z-index:1}
.concept-copy{padding:112px 28px 0;font-size:13px;line-height:1.95;letter-spacing:1.4px}
.concept-copy p+p{margin-top:30px}
.concept-copy p:last-child{margin-top:38px}
[data-variant="3"] .concept{padding:112px 0 calc(144px + env(safe-area-inset-bottom,0px))}
[data-variant="3"] .concept-copy{width:calc(100% - 88px);line-height:2;letter-spacing:1.4px}
.proposal-menu-note{font-size:12px;line-height:1.9;margin-top:28px;color:#777}
/* A shared quiet strip stays available while reading. */
.hero-visit.visit-bar{position:fixed;inset:auto 0 0;z-index:15;display:flex;gap:0;align-items:stretch;height:calc(64px + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(70,45,30,.12)}
.visit-bar .holidays{width:50%;min-height:64px;border-radius:0;background:var(--card);padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px))}
.visit-bar .holidays b{font-size:13px;letter-spacing:1px}
.visit-bar .holiday-arrow{display:block}
.visit-bar .holiday-days,.visit-bar .phone-disc,.visit-bar .phone-ring{display:none}
.visit-bar .phone{width:50%;height:100%;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--red);gap:3px}
.visit-bar .phone>span{flex-direction:row;gap:7px}
.visit-bar .phone b{font-size:13px;font-weight:500;letter-spacing:0}
.hero-visit.scroll-visit{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .4s var(--ease),visibility .3s}
.ready.past-hero .hero-visit.scroll-visit{visibility:visible;opacity:1;pointer-events:auto;transform:none}
@media(max-width:374px){.concept-intro h2{padding-left:20px;padding-right:20px}.concept-copy{padding-left:24px;padding-right:24px}}

/* rev4: the opening mark and its destination share a top-left origin. */
.opening-mark{transform-origin:0 0}
.opening-white{position:absolute;inset:0}
.opening-mark .op-red{filter:none;opacity:0;object-fit:fill}
[data-variant="1"] .mini-brand{left:22px;top:50%;width:112px;height:auto;transform:translateY(-50%);opacity:1}
[data-variant="1"] .mini-brand img{width:100%;height:auto;transform:none}
.js:not(.ready) .mini-brand{opacity:0}
.photo-space img{filter:saturate(.93) contrast(.98)}
.photo-hands img{filter:saturate(.86) contrast(.97) brightness(1.03)}
[data-variant="2"] .vertical-copy{right:26px;gap:9px}
[data-variant="2"] .vertical-copy span{padding:9px 5px;font-size:14px;letter-spacing:2.5px;line-height:1.25}
[data-variant="3"] .background-slides .slide:first-child img{object-fit:cover;width:110%}
[data-variant="3"] .top-light{background:linear-gradient(90deg,rgba(255,255,255,.44),rgba(255,255,255,.18) 35%,rgba(255,255,255,0) 72%),linear-gradient(to bottom,rgba(255,255,255,.5),rgba(255,255,255,0) 26%)}
@media(max-height:620px) and (max-width:767px){[data-variant="2"] .vertical-copy span{font-size:13px;letter-spacing:2px}}

/* rev7: photographs reach the top; the white treatment remains translucent. */
[data-variant="3"] .fixed-backdrop{background:var(--paper)}
[data-variant="3"] .background-slides .slide{inset:0 0 calc(64px + env(safe-area-inset-bottom,0px));height:auto}
[data-variant="3"] .background-slides .slide img{width:107%;height:100%;object-fit:cover}
[data-variant="3"] .background-slides .slide::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,.55),rgba(255,255,255,.16) 22%,rgba(255,255,255,0) 44%),linear-gradient(90deg,rgba(255,255,255,.24),rgba(255,255,255,0) 60%);pointer-events:none}
[data-variant="3"] .top-light{display:none}

/* rev9: a small stagger carries the opening rhythm into the concept. */
.concept-pending{opacity:0;transform:translateY(16px)}
@media(prefers-reduced-motion:reduce){.concept-pending{opacity:1;transform:none}}

/* rev10: a quiet circular phrase extends beyond the right edge. */
[data-variant="1"] .concept,[data-variant="2"] .concept{--concept-inset:28px;overflow:clip}
.concept-intro{position:relative;isolation:isolate}
.concept-orbit{position:absolute;right:-190px;top:4px;width:360px;height:360px;clip-path:inset(0 0 48% 0);pointer-events:none;color:var(--ornament,#efede8);z-index:0}
.concept-orbit svg{display:block;overflow:visible;width:100%;height:100%;transform:rotate(-28deg)}
.concept-orbit text{fill:currentColor;font-family:'Music Newsreader',Georgia,serif;font-size:78px;font-weight:400}
.concept-intro h2{position:relative;z-index:1;padding-left:var(--concept-inset,28px);padding-right:var(--concept-inset,28px)}
.consultation figcaption{left:calc(var(--concept-inset,28px) - 7px)}
[data-variant="1"] .concept-copy,[data-variant="2"] .concept-copy{padding-left:var(--concept-inset);padding-right:var(--concept-inset)}
[data-variant="3"] .portrait-copy{top:clamp(158px,25svh,194px)}
[data-variant="3"] .portrait-copy::before{top:-180px}
@media(max-width:374px){[data-variant="1"] .concept,[data-variant="2"] .concept{--concept-inset:24px}}

/* rev11: the original English orbit turns gently behind the heading. */
.concept-orbit svg{animation:concept-orbit-turn 120s linear infinite;animation-play-state:var(--orbit-play-state,running)}
@keyframes concept-orbit-turn{from{transform:rotate(-28deg)}to{transform:rotate(332deg)}}
@media(prefers-reduced-motion:reduce){.concept-orbit svg{animation:none;transform:rotate(-28deg)}}

/* rev13 · 03: the translucent circle continues from the photograph into the story. */
.travelling-circle,.header-surface{display:none}
[data-variant="3"] .fixed-backdrop{min-height:0}
[data-variant="3"] .background-slides .slide{inset:0}
[data-variant="3"] .background-slides .slide::after{background:linear-gradient(to bottom,rgba(255,255,255,.6) 2%,rgba(255,255,255,0) 23%)}
[data-variant="3"] .background-slides .slide:first-child img:not(.custom-photo){height:124%;top:-13.6%;width:107%}
[data-variant="3"] .background-slides .slide:first-child img.custom-photo{height:100%;top:0;width:107%}
[data-variant="3"] .site-header,[data-variant="3"].scrolled .site-header{height:56px;background:transparent}
[data-variant="3"] .header-surface{display:block;position:absolute;left:8px;top:6.6px;pointer-events:none}
.header-surface img{transform:scaleX(var(--header-scale,1));transform-origin:left top}
[data-variant="3"] .brand{position:fixed;left:20px;top:20px;width:91.9043px;height:20px;transform:none;z-index:13}
[data-variant="3"] .brand .circle-wordmark{transform:none}
[data-variant="3"] .menu-button,[data-variant="3"].scrolled .menu-button{top:10px;right:16px;width:44px;height:44px;gap:3.145px;color:white;background:transparent;isolation:isolate}
[data-variant="3"] .menu-button .menu-disc{position:absolute;left:4px;top:4px;z-index:-1}
[data-variant="3"] .menu-button span{width:14.153px;height:1.179px}
[data-variant="3"] .travelling-circle{display:block;position:absolute;left:calc(50% - 4px);top:calc(50svh - 128px);width:256px;height:256px;transform:translateX(-50%);transform-origin:center;z-index:0;pointer-events:none;will-change:transform,opacity}
.circle-surface{width:256px;height:256px;border-radius:50%;position:relative;overflow:hidden}
.circle-sheen{position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 39%,rgba(255,255,255,.13) 47%,rgba(255,255,255,.65) 50%,rgba(255,255,255,.12) 53%,transparent 61%);opacity:0;transform:translateX(-80%)}
[data-variant="3"].ready .circle-sheen{animation:circle-light 1500ms 350ms ease-out both;animation-play-state:var(--orbit-play-state,running)}
@keyframes circle-light{0%{opacity:0;transform:translateX(-80%)}35%{opacity:.55}100%{opacity:0;transform:translateX(80%)}}
[data-variant="3"] .portrait-copy{left:50%;top:calc(50svh - 26.4px);width:268.8px;transform:translateX(-50%);padding:0;color:var(--red)}
[data-variant="3"] .portrait-copy::before{display:none}
[data-variant="3"] .portrait-copy h1{font-size:0;line-height:1;margin:0;font-weight:400;height:37.2px}
[data-variant="3"] .portrait-copy p{width:290px;margin:21px 0 0 -10.6px;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:2px;text-align:center;white-space:nowrap}
[data-variant="3"] .concept{background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.65) 72px);padding:99px 0 120px}
[data-variant="3"] .concept-copy{width:calc(100% - 90px);font-size:13px;line-height:1.6;letter-spacing:2px}
[data-variant="3"] .concept-copy p+p{margin-top:24px}
[data-variant="3"] .concept-copy p:last-child{margin-top:32px}
[data-variant="3"] .hero-visit.visit-bar{left:20px;right:20px;bottom:calc(12px + env(safe-area-inset-bottom,0px));height:36px;width:auto;gap:11px;align-items:center;border:0;transition:opacity .35s,transform .45s var(--ease),visibility .35s}
[data-variant="3"] .hero-visit .holidays{flex:1;min-width:0;width:auto;min-height:36px;height:36px;padding:0 12px;border-radius:50px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.85);overflow:hidden}
[data-variant="3"] .holidays>.pill-calendar{flex:none}
[data-variant="3"] .holidays>.holiday-window{display:block;min-width:0;flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4px,#000 calc(100% - 5px),transparent)}
.holiday-track{display:flex;width:max-content;animation:holiday-ticker 14s 1s linear infinite;animation-play-state:var(--orbit-play-state,running)}
.holiday-item{display:flex;align-items:center;gap:8px;padding-right:28px;flex:none;white-space:nowrap}
[data-variant="3"] .holidays .holiday-month{font-size:12px;letter-spacing:2px;font-weight:500}
.marquee-days{font-size:12px;color:var(--ink);font-weight:500}
@keyframes holiday-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
[data-variant="3"] .hero-visit .phone{width:103px;height:36px;min-height:36px;flex-direction:row;gap:4px;border-radius:50px;padding:0 12px;background:var(--red)}
[data-variant="3"] .hero-visit .phone b{font-size:13px;font-weight:500;letter-spacing:1.04px;white-space:nowrap}
[data-variant="3"] .holidays:hover .holiday-track,[data-variant="3"] .holidays:focus-visible .holiday-track{animation-play-state:paused}
[data-variant="3"][data-bar="scroll"]:not(.bar-revealed) .hero-visit{opacity:0!important;visibility:hidden;pointer-events:none;transform:translateY(12px)}
.js[data-variant="3"]:not(.ready):not(.motion-started) .travelling-circle,.js[data-variant="3"]:not(.ready):not(.motion-started) .portrait-copy,.js[data-variant="3"]:not(.ready):not(.motion-started) .header-surface{opacity:0}
@media(max-width:359px){[data-variant="3"] .hero-visit.visit-bar{left:14px;right:14px;gap:8px}[data-variant="3"] .hero-visit .holidays{padding:0 9px}.holiday-item{gap:6px}}
@media(prefers-reduced-motion:reduce){.circle-sheen{display:none}.holiday-track{animation:none}.travelling-circle{will-change:auto}.holiday-item+.holiday-item{display:none}}

[data-variant="3"] .site-header>.brand{pointer-events:auto}

/* rev14: enlarge the circle and copy without changing the exported SVG geometry. */
[data-variant="3"] .circle-surface>img{transform:scale(1.25490196);transform-origin:top left}
[data-variant="3"] .portrait-copy h1>img{transform:scale(1.2);transform-origin:top left}


/* Proposal 02: only the menu control stays with the viewport. */
[data-variant="2"] .site-header,[data-variant="2"].scrolled .site-header{position:absolute;background:transparent}
[data-variant="2"] .menu-button{position:fixed;background:var(--red);border-radius:50%}

/* rev20: the copy circle itself becomes the concept background. */
[data-variant="3"] .immersive{overflow:clip}
[data-variant="3"] .circle-surface{background:rgba(255,255,255,var(--circle-alpha,.4))}
[data-variant="3"] .circle-surface>img{display:none}
.js[data-variant="3"]:not(.circle-static) .concept{background:transparent}
