:root{--night:#24136f;--royal:#38258e;--paper:#f8f5ee;--gold:#bc8335;--ink:#282035;--serif:'Noto Serif CJK JP','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans CJK JP','Hiragino Kaku Gothic ProN',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--paper);font-family:var(--serif);line-height:1.9}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}a:focus-visible{outline:2px solid currentColor;outline-offset:6px}.sample-bar{position:relative;z-index:20;padding:7px 12px;background:var(--night);font:12px/1.8 var(--sans);text-align:center;border-bottom:1px solid #ffffff35}.sample-bar a{text-decoration:underline}.hero{height:600svh;position:relative;background:radial-gradient(ellipse at 50% 70%,#4a30a4,var(--night) 75%)}.hero-inner{position:sticky;top:0;width:100%;height:100svh;min-height:740px;overflow:hidden;isolation:isolate}.hero-heading{position:absolute;top:21%;left:50%;transform:translateX(-50%);width:440px;text-align:center;z-index:7}.hero-title{font:400 40px/1.5 var(--serif);letter-spacing:.12em}.hero-since{display:block;margin-top:6px;font:14px/1.4 Georgia,serif;letter-spacing:.3em}.hero-kicker{position:absolute;top:32px;left:4.5%;z-index:8;width:180px;font:16px/1.6 Georgia,serif;letter-spacing:.07em}.hero-nav{position:absolute;z-index:8;right:4.5%;top:34px;display:flex;border:1px solid #ffffffb0;border-radius:30px;padding:6px 16px;gap:20px;font:13px/1.7 var(--serif)}.hero-nav a{transition:transform .3s}.hero-nav a:hover{transform:translateY(-3px)}.hero-copy{position:absolute;z-index:7;bottom:7%;left:50%;width:580px;max-width:65%;transform:translateX(-50%);font:15px/2 var(--serif);text-align:center;text-shadow:0 1px 12px var(--night)}.hero-note{position:absolute;top:14%;left:50%;transform:translateX(-50%);z-index:7;font-size:14px;letter-spacing:.12em;white-space:nowrap}.hero-visuals{position:absolute;width:100%;height:350px;top:39%;left:0;z-index:3;transform-origin:50% 120%}.circle-photo{overflow:hidden}.hero-visuals .circle-photo,.fan-edge{position:absolute;width:204px;height:344px;border-radius:110px 110px 0 0;border:3px solid #ded6f1;box-shadow:0 15px 45px #1006284d}.circle-main{left:calc(50% - 102px);top:0;z-index:4}.hero-side .circle-photo{opacity:.55}.hero-side.left .circle-photo{left:calc(50% - 362px);top:30px;transform:rotate(-9deg)}.hero-side.right .circle-photo{left:calc(50% + 158px);top:30px;transform:rotate(9deg)}.fan-edge{opacity:.28;top:86px}.edge-left{left:calc(50% - 626px);transform:rotate(-18deg)}.edge-right{left:calc(50% + 422px);transform:rotate(18deg)}.hero-visuals img{transition:transform 1s}.hero-visuals .circle-photo:hover img{transform:scale(1.06)}.drape{position:absolute;inset:0 auto 0 0;width:50%;height:100%;z-index:6;pointer-events:none;transform-origin:0 0;background:repeating-linear-gradient(101deg,#6e3917 0%,#ad712b 5%,#ca9446 10%,#bd8536 15%,#6e3514 20%,#a16727 24%,#cb9545 31%,#6e3917 38%);clip-path:polygon(0 0,100% 0,97% 10%,92% 22%,84% 34%,73% 46%,58% 57%,38% 67%,20% 73%,12% 77%,18% 84%,28% 91%,15% 96%,0 100%)}.drape-right{left:auto;right:0;transform:scaleX(-1);transform-origin:50% 50%}.drape:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#16091b22,transparent 60%,#eabe7555)}main section{position:relative;scroll-margin-top:20px}.wrap{width:min(944px,calc(100% - 80px));margin:auto}.section-head{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 0 64px}.section-label{display:block;font:400 87.3333px/1.15 Georgia,serif;letter-spacing:-.035em}.section-title{font:400 18px/1.7 var(--serif);letter-spacing:.1em;margin-top:18px}.commitment{height:925svh;background:var(--night)}.commitment>.wrap{position:sticky;top:0;height:100svh;min-height:740px;width:100%;isolation:isolate;padding:70px 7%;overflow:hidden}.story-photo{position:absolute;inset:0;z-index:-2}.story-photo img{object-position:50% 50%;transform:scale(1.03)}.story-stage:after{position:absolute;inset:0;z-index:-1;content:'';background:linear-gradient(90deg,#130b3edb,#130b3e60 70%)}.commitment .section-head{align-items:flex-start;text-align:left;margin:0;position:absolute;left:8%;top:12%}.commitment .section-label{font-size:87.3333px}.commitment-grid{position:absolute;top:42%;left:12%;width:min(620px,65%)}.commitment-card{position:absolute;inset:0 auto auto 0;max-width:570px;transition:opacity .7s,transform .7s}.commitment-card h3{font-size:32px;font-weight:400;line-height:1.7;margin-bottom:26px}.commitment-card p{font-size:18px;line-height:2.4;letter-spacing:.05em}.commitment-card:not(:first-child){opacity:0;transform:translateY(30px);pointer-events:none}#menu{background:var(--royal);padding-top:160px}#menu>.wrap{width:100%}#menu .section-label{font-size:182px;line-height:.9;letter-spacing:-.045em}#menu .section-title{margin-top:24px}#menu .section-head{margin-bottom:110px}.menu-grid{display:block}.menu-card{height:300svh;position:relative;padding:0 6%}.menu-stage{position:sticky;top:0;height:100svh;min-height:700px;display:grid;grid-template-columns:minmax(0,676fr) minmax(0,220fr);gap:70px;align-items:center;margin:auto;max-width:1040px}.menu-photo{height:64svh;min-height:450px;max-height:670px;position:relative}.menu-photo .circle-photo{height:100%;width:100%;border-radius:50% 50% 3px 3px;overflow:hidden}.menu-body{align-self:center}.menu-body h3{font:400 38px/1.45 var(--serif);margin-bottom:24px}.menu-price{display:block;color:#e6c795;font:24px/1.4 Georgia,serif;margin-bottom:28px}.menu-text{font-size:16px;line-height:2}.menu-card:nth-child(2) .menu-stage{grid-template-columns:minmax(0,220fr) minmax(0,676fr)}.menu-card:nth-child(2) .menu-photo{grid-column:2;grid-row:1}.menu-card:nth-child(2) .menu-body{grid-column:1;grid-row:1}.menu-card:last-child{height:330svh}.calendar{padding:213px 0 170px;background:var(--night)}.calendar .section-label{max-width:100%;font-size:87.3333px}.calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:100px;row-gap:80px}.month-card{padding:50px 20px 70px;border-top:1px solid #b4a6d08c;min-height:380px}.month-name{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.month-name strong{font-size:38px;font-weight:400}.month-name span{font:22px/1.2 Georgia,serif;letter-spacing:.05em;color:#c5b5eb}.month-card p{font-size:16px;line-height:2.1}#gift{background:var(--paper);color:var(--night);min-height:989px;padding:350px 0 180px;border-radius:50% 50% 0 0 / 8% 8% 0 0}#gift>.wrap{width:min(1180px,calc(100% - 100px));display:grid;grid-template-columns:1fr 1fr;gap:70px}#gift .section-head{align-items:flex-start;text-align:left}#gift .section-label{font-size:66.6667px;line-height:1.15;letter-spacing:.666667px}.gift-box{padding-top:10px}.gift-box h3{font-size:26px;font-weight:400;line-height:1.8;margin-bottom:24px}.gift-box p{font-size:17px;line-height:2.2}#photo{background:var(--night);padding:213px 0 190px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:78px}.photo-card .circle-photo{aspect-ratio:262/370;border-radius:140px 140px 0 0;margin-bottom:35px}.photo-card h3{font-size:21px;font-weight:400;line-height:1.6;margin-bottom:16px}.photo-card p{font-size:15px;line-height:2}#guide{background:var(--paper);color:var(--night);min-height:1320px;padding:206.667px 0 260px;overflow:hidden}#guide:after{content:'';position:absolute;bottom:-220px;left:-10%;width:120%;height:400px;border-radius:50%;background:var(--royal)}#guide .section-label{font-size:95.3333px;line-height:1}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:100px}.info-card h3{font-size:25px;font-weight:400;border-bottom:1px solid #24136f60;padding-bottom:20px;margin-bottom:20px}.info-list{list-style:none;margin:0;padding:0}.info-list li{padding:15px 0;border-bottom:1px solid #24136f25;font-size:16px}.info-list strong{display:inline-block;font-weight:500;min-width:6em}#noren-direct-reception{background:var(--paper)}footer{padding:36px 45px;background:var(--night);font-family:var(--sans);font-size:13px;line-height:1.9;text-align:center}.footer-name{font:22px/1.6 var(--serif);margin-bottom:12px}.footer-note a{text-decoration:underline}.reveal{opacity:1}html.motion .reveal{transition:opacity .8s,transform .8s}html.motion .reveal:not(.is-visible){opacity:0;transform:translateY(24px)}
@media(min-width:1600px){.hero-visuals{transform:scale(1.2)}.hero-heading{width:600px}.hero-title{font-size:50px}}
@media(max-width:759px){.sample-bar{font-size:11px;line-height:1.65;padding:8px 14px}.hero{height:auto}.hero-inner{position:relative;height:980px;min-height:0}.hero-kicker{top:24px;left:22px;width:145px;font-size:14px}.hero-nav{top:94px;left:24px;right:24px;justify-content:space-between;gap:8px;padding:10px 13px;font-size:14px}.hero-heading{top:208px;width:100%;padding:0 15px}.hero-title{font-size:30px;letter-spacing:.04em;line-height:1.6}.hero-since{font-size:13px;margin-top:6px}.hero-note{top:164px;white-space:normal;width:85%;font-size:15px;text-align:center;line-height:1.8}.hero-visuals{top:345px;height:300px;transform:none}.hero-visuals .circle-photo,.fan-edge{width:146px;height:254px;border-width:2px}.circle-main{left:calc(50% - 73px)}.hero-side.left .circle-photo{left:calc(50% - 230px);top:27px}.hero-side.right .circle-photo{left:calc(50% + 84px);top:27px}.fan-edge{display:none}.drape{width:43%;height:720px;opacity:.97;clip-path:polygon(0 0,100% 0,96% 10%,78% 23%,57% 38%,33% 49%,14% 58%,0 66%,8% 75%,19% 84%,0 100%)}.hero-copy{bottom:76px;width:310px;max-width:calc(100% - 64px);font-size:16px;line-height:2.05}.wrap{width:calc(100% - 44px)}.section-label{font-size:48px;line-height:1.15;overflow-wrap:anywhere;letter-spacing:-.04em}.section-title{font-size:17px;letter-spacing:.04em;line-height:1.8;margin-top:14px}.section-head{margin-bottom:48px}.commitment{height:auto}.commitment>.wrap{position:relative;min-height:0;height:auto;padding:100px 24px 110px;overflow:visible}.story-photo{height:100%}.story-stage:after{background:#130b3ed9}.commitment .section-head{position:relative;top:auto;left:auto;align-items:center;text-align:center}.commitment .section-label{font-size:49px}.commitment-grid{position:relative;top:auto;left:auto;width:100%;margin-top:60px;display:grid;gap:62px}.commitment-card,.commitment-card:not(:first-child){position:relative;opacity:1!important;transform:none!important;pointer-events:auto}.commitment-card h3{font-size:23px;line-height:1.75;margin-bottom:18px}.commitment-card p{font-size:16px;line-height:2.1}#menu{padding-top:100px}#menu .section-label{font-size:116px}#menu .section-head{margin-bottom:65px}.menu-card,.menu-card:last-child{height:auto;padding:0 24px 100px}.menu-stage,.menu-card:nth-child(2) .menu-stage{position:relative;display:flex;flex-direction:column;height:auto;min-height:0;gap:34px}.menu-photo{width:100%;height:440px;min-height:0}.menu-body{width:100%;text-align:center}.menu-body h3{font-size:30px;margin-bottom:14px}.menu-price{font-size:24px;margin-bottom:20px}.menu-text{font-size:16px}.calendar{padding:100px 0}.calendar .section-label{font-size:49px;max-width:330px}.calendar-grid{grid-template-columns:1fr;gap:30px}.month-card{padding:34px 6px;min-height:0}.month-name strong{font-size:34px}.month-name span{font-size:21px}.month-card p{font-size:16px}#gift{padding:120px 0;min-height:0;border-radius:0}#gift>.wrap{width:calc(100% - 48px);display:block}#gift .section-head{align-items:center;text-align:center}#gift .section-label{font-size:66.6667px}.gift-box h3{font-size:23px}.gift-box p{font-size:16px}#photo{padding:100px 0}.photo-grid{grid-template-columns:1fr;gap:65px}.photo-card .circle-photo{width:100%;height:410px;border-radius:180px 180px 0 0}.photo-card h3{font-size:23px}.photo-card p{font-size:16px}#guide{padding:110px 0 220px;min-height:0}#guide .section-label{font-size:56px;line-height:1.1}.info-grid{grid-template-columns:1fr;gap:50px;margin-top:60px}.info-list li{font-size:16px}.info-list strong{display:block}.info-card h3{font-size:23px}footer{padding:36px 24px;font-size:13px}.footer-name{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero{height:auto}.hero-inner{position:relative}.commitment{height:auto}.commitment>.wrap{height:auto;min-height:1000px;position:relative}.commitment-grid{position:relative;top:auto;left:auto;margin:230px auto 50px;display:grid;gap:36px}.commitment-card,.commitment-card:not(:first-child){position:relative;opacity:1!important;transform:none!important;pointer-events:auto}.menu-card,.menu-card:last-child{height:auto}.menu-stage{position:relative}.reveal{opacity:1!important;transform:none!important}}

/* Preserve source rendered capitalization and clip only the decorative photo. */
.hero-kicker,.section-label,.month-name span{text-transform:uppercase}.story-photo{overflow:hidden}
@media(max-width:759px){.commitment .section-label{font-size:42px}.calendar .section-label{font-size:43px}#guide .section-label{font-size:48px}}
/* Public widget theme variables; embedded widget source remains byte-identical. */
#noren-direct-reception{--noren-accent:var(--night)!important;--noren-accent2:var(--royal)!important;--noren-on-accent:#ffffff!important;--noren-font:var(--sans)!important}

/* Scroll-length correction: desktop only; preserve the mobile reading layout. */
@media (min-width:760px) and (prefers-reduced-motion:no-preference){
 .hero{height:220svh;background-size:100% 600svh;background-repeat:no-repeat}
 .commitment{height:320svh}
 .menu-card,.menu-card:last-child{height:90svh;min-height:700px}
 .menu-stage{position:relative;height:90svh}
 #menu{padding-top:70px}
 #menu .section-head{margin-bottom:45px}
 .calendar{padding:70px 0 60px}
 .calendar .section-head{margin-bottom:35px}
 .calendar-grid{row-gap:25px}
 .month-card{min-height:0;padding:25px 20px 30px}
 #gift{min-height:0;padding:90px 0 75px}
 #photo{padding:75px 0 70px}
 #photo .section-head{margin-bottom:40px}
 #guide{min-height:0;padding:75px 0 145px}
 #guide:after{bottom:-290px}
 #guide .section-head{margin-bottom:35px}
 .info-grid{margin-top:45px;gap:55px}
}

/* Scroll feel: let the copy travel with the document over a pinned photograph. */
@media (min-width:760px) and (prefers-reduced-motion:no-preference){
 .commitment{height:auto}
 .commitment>.wrap{position:relative;top:auto;height:auto;min-height:0;padding:0;overflow:visible}
 .commitment .story-photo{position:sticky;inset:auto;top:0;height:100svh;margin-bottom:-100svh;width:100%}
 .commitment .section-head{position:relative;left:auto;top:auto;height:35svh;padding:8svh 8% 0}
 .commitment-grid{position:relative;top:auto;left:auto;margin-left:12%;width:min(620px,65%);counter-reset:story-step}
 .commitment-card,.commitment-card:not(:first-child){position:relative;inset:auto;min-height:95svh;display:flex;flex-direction:column;justify-content:center;opacity:1;transform:none;pointer-events:auto;transition:none;counter-increment:story-step}
 html.motion .commitment .reveal{opacity:1;transform:none;transition:none}
 .commitment-card:before{content:counter(story-step,decimal-leading-zero) " / 03";position:absolute;left:-80px;top:calc(50% - 95px);width:60px;text-align:center;font:12px/1.5 Georgia,serif;letter-spacing:.08em;color:#e6c795}
 .commitment-card:after{content:"";position:absolute;left:-50px;top:calc(50% - 60px);width:1px;height:120px;background:#e6c79580}
}
