@font-face{font-family:'Ciel Serif';src:url('/assets/noto-serif-jp.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
@view-transition{navigation:auto}
:root{--ivory:#fcf7f4;--paper:#f8eeeb;--rose:#d8b6b4;--rose-light:#efdbd7;--bordeaux:#9a4557;--bordeaux-dark:#773548;--ink:#553d3d;--muted:#806968;--line:#ddc2bb;--serif:'Ciel Serif','Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',Georgia,serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;padding-bottom:104px;background:radial-gradient(ellipse at 5% 32%,#ead1cf66,transparent 32%),radial-gradient(ellipse at 100% 64%,#e6c9c766,transparent 36%),var(--ivory);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.9;-webkit-font-smoothing:antialiased}body.page-leaving #main{opacity:0;transform:translateY(-5px)}a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}button,summary{font:inherit;color:inherit;cursor:pointer}button{background:none}button,a,summary{touch-action:manipulation}img{display:block;width:100%;height:100%;object-fit:cover}svg{display:block}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{font-weight:400}button,a,summary{outline-offset:5px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--bordeaux-dark)}[hidden]{display:none!important}::selection{background:#e1bcb8;color:#54313a}#main{outline:none;transition:opacity .2s,transform .2s}.sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;top:0;left:20px;z-index:100;padding:12px 24px;background:var(--bordeaux-dark);color:white;transform:translateY(-120%)}.skip-link:focus{transform:translateY(0)}.mobile-only{display:none}.eyebrow{margin:0 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:11px;letter-spacing:.18em;line-height:1.5;color:var(--bordeaux)}
.preview-ribbon{height:27px;display:flex;align-items:center;justify-content:center;gap:9px;background:#ead7d1;color:#735255;font-size:9px;letter-spacing:.15em}.preview-dot{width:4px;height:4px;border-radius:50%;background:#ac6c78}.ribbon-divider{color:#b29691;margin:0 4px}.site-header{position:sticky;top:0;z-index:30;height:98px;padding:0 clamp(25px,5vw,80px);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fcf7f4ed;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid #e4cfca99}.brand{display:inline-flex;align-items:center;gap:16px;min-height:44px;flex-shrink:0}.brand-word{display:block;font-family:Georgia,'Times New Roman',serif;font-size:46px;font-weight:400;letter-spacing:-2px;line-height:1.1;color:#322629}.brand-dot{display:none}.brand-ja{display:block;font-size:10px;letter-spacing:.25em;line-height:1.5;color:#745354;position:relative;padding-top:7px}.brand-ja:before,.brand-ja:after{content:'';display:inline-block;vertical-align:middle;width:16px;height:1px;margin:0 7px;background:#bb9595}.brand-caption{font-family:Georgia,serif;line-height:1.35;font-size:13px;letter-spacing:.07em;border-left:1px solid #dbc2bc;padding-left:24px;margin-left:9px;color:#503b3c}.site-header nav{display:flex;align-items:center;gap:27px}.header-nav{display:flex;flex-direction:column;justify-content:center;min-height:44px;text-align:center;font-size:11px;letter-spacing:.08em;line-height:1.6}.header-nav>span{font-size:8px;letter-spacing:.15em;margin-top:4px}.header-nav:hover{color:var(--bordeaux)}.motion-toggle{flex-shrink:0;border:1px solid #d8bbb5;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;transition:background .3s}.motion-toggle:hover{background:#f0dedb}.motion-toggle svg{width:18px;height:18px}.play-icon{display:none}.motion-paused .pause-icon{display:none}.motion-paused .play-icon{display:block}.motion-toggle:disabled{cursor:default;opacity:.6}.nav-menu{position:relative}.nav-menu>summary{list-style:none;width:52px;height:52px;background:#aa7880;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:var(--ivory)}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu>summary:before,.nav-menu>summary:after,.nav-menu>summary span{content:'';display:block;width:25px;height:1px;background:currentColor}.nav-menu>summary svg{width:26px;height:26px}.nav-panel{position:absolute;right:0;top:64px;min-width:235px;padding:17px 23px;background:#fff9f6f5;border:1px solid #e3c7c1;box-shadow:0 12px 25px #7b3e481a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);}.nav-panel a{display:flex;align-items:center;min-height:48px;font-size:12px;border-bottom:1px solid #e8d6d0}.nav-panel a:last-child{border-bottom:0}.scroll-progress{position:absolute;bottom:-1px;left:0;height:1px;width:100%;background:#ad7280;transform:scaleX(0);transform-origin:left}
.hero{position:relative;isolation:isolate;min-height:620px;max-width:1800px;margin:0 auto;overflow:hidden;background:#f1dedb}.hero-visual{position:absolute;inset:0;z-index:-2;overflow:hidden}.hero-image{object-position:70% 40%;filter:saturate(.72) brightness(1.08);animation:portrait-breathe 18s ease-in-out infinite alternate}.hero-veil{position:absolute;inset:0}.hero-copy{position:relative;width:55%;padding:62px 0 66px clamp(40px,8vw,130px);z-index:2}.hero-copy>.eyebrow{font-family:var(--sans);font-size:9px;letter-spacing:.15em;margin-bottom:20px;color:#95636b}.hero h1{font-family:var(--serif);font-size:clamp(46px,5vw,74px);letter-spacing:.15em;line-height:1.55;margin:0 0 20px;color:#93646b;text-shadow:0 1px 12px #fff8f677}.hero-script{display:block;font-family:'Times New Roman',Georgia,serif;font-style:italic;font-size:clamp(27px,3vw,45px);font-weight:400;letter-spacing:.01em;line-height:1.3;color:#b18489;margin:0 0 25px;opacity:.9}.hero-description{font-family:var(--serif);font-size:17px;letter-spacing:.21em;line-height:2.1;margin:20px 0;color:#6f454a}.hero-note{display:block;font-family:Georgia,serif;font-style:italic;font-size:clamp(48px,6vw,83px);font-weight:400;line-height:1;color:#b68b8a50;letter-spacing:-.04em;margin-top:24px;transform:rotate(-9deg);transform-origin:left}.hero-note:empty{display:none}.hero-scroll{position:absolute;left:25px;bottom:25px;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;font-size:7px;letter-spacing:.2em;color:#a67d7d}.hero-scroll i{display:block;width:1px;height:44px;background:#c6a4a0;position:relative;overflow:hidden}.hero-scroll i:after{content:'';position:absolute;width:1px;height:25px;top:-25px;background:var(--bordeaux);animation:scroll-line 2.5s ease infinite}.hero-seal,.hero-image-caption{display:none}.ticker{padding:16px 0;overflow:hidden;background:linear-gradient(90deg,#aa7b81,#8f4759 45%,#b77782);color:#fff9f3;box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #ffffff30;user-select:none}.ticker-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.ticker-track>div{display:flex;align-items:center;gap:38px;padding-right:38px;white-space:nowrap;font-family:var(--serif);font-size:16px;letter-spacing:.13em}.ticker-track>div>span{display:block}.ticker-flower{font-size:12px;opacity:.7}.ticker:hover .ticker-track{animation-play-state:paused}
.campaigns-section{max-width:1200px;margin:0 auto;padding:66px 45px 25px;scroll-margin-top:20px;position:relative}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin:0 0 32px}.section-heading .eyebrow{font-size:10px;margin-bottom:11px}.section-heading h2{font-family:Georgia,serif;font-size:43px;letter-spacing:-.03em;line-height:1.2;margin:0;color:#70484e}.section-heading h2 i{color:#b18384;font-size:.85em}.section-heading h2 span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.14em;margin-top:16px}.section-intro{font-size:12px;line-height:2;letter-spacing:.03em;color:var(--muted);margin:0}.preview-note{display:flex;gap:13px;align-items:flex-start;font-size:11px;margin:0 0 20px;color:#8b686b}.preview-note>span{border:1px solid #ccb2a9;padding:1px 7px;font-size:8px;letter-spacing:.14em;flex-shrink:0}.preview-note p{margin:0}.campaign-grid,.other-grid{display:grid;grid-template-columns:1fr;gap:17px}.campaign-card{display:grid;grid-template-columns:1.15fr 1fr 1.1fr 45px;align-items:center;gap:22px;position:relative;isolation:isolate;min-height:163px;padding:20px 25px 20px 24px;overflow:hidden;border:1px solid #fffefd;border-radius:30px;background:linear-gradient(105deg,#f6e8e6,#fffaf8 50%,#f1d7d5);box-shadow:0 3px 0 #dec2bc55,0 8px 18px #98616b18,inset 0 0 15px #fffdfb;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}.campaign-card:hover{transform:translateY(-5px);box-shadow:0 5px 0 #dec2bc44,0 16px 28px #98616b26,inset 0 0 15px #fffdfb}.card-art{position:absolute;inset:0;z-index:-2;overflow:hidden;border-radius:inherit}.card-art img{opacity:.2;object-position:50% 52%;filter:saturate(.4) brightness(1.18);transform:scale(1.03);transition:transform 1.3s var(--ease)}.card-art:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#f5e5e1bb,#fff9f5d9 52%,#f2d7d34d)}.theme-rose .card-art img{width:48%;opacity:.48;object-position:40% 55%}.theme-bordeaux .card-art img{opacity:.3}.theme-ivory .card-art img{opacity:.37}.theme-satin .card-art img{opacity:.24}.theme-gift .card-art img{opacity:.3;object-position:center 70%}.flower-mark{position:absolute;width:190px;height:190px;right:17%;top:10%;opacity:.18;color:#b98a8b;pointer-events:none}.art-orbit{display:none}.card-label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;text-align:center}.card-eyebrow{display:block;font-family:Georgia,serif;font-size:9px;letter-spacing:.14em;color:#8d5f65;line-height:1.3;margin:0 0 9px}.card-label h3{width:100%;margin:0;padding:8px 11px 9px;font-family:var(--serif);font-size:22px;line-height:1.45;letter-spacing:.08em;position:relative;color:#fff6ef;background:linear-gradient(100deg,#ab6874,#8f3c51 58%,#b16a78);box-shadow:0 4px 8px #8b475122;transform:rotate(-5deg);text-shadow:0 1px 1px #6b374144}.card-label h3:before,.card-label h3:after{content:'';position:absolute;z-index:-1;top:0;bottom:0;width:13px;background:inherit}.card-label h3:before{left:-8px;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,25% 50%)}.card-label h3:after{right:-8px;clip-path:polygon(0 0,100% 0,75% 50%,100% 100%,0 100%)}.card-eligibility{display:inline-block;max-width:100%;padding:3px 8px;margin-top:15px;background:#fff7e6cf;color:#795a50;border-radius:6px;font-family:var(--serif);font-size:11px;line-height:1.55;letter-spacing:.03em;box-shadow:0 2px 6px #b67d6020}.card-discount{position:relative;z-index:1;min-width:0;color:var(--bordeaux)}.card-scope{display:block;font-family:var(--serif);font-size:17px;letter-spacing:.1em;line-height:1.5;margin-bottom:4px}.discount-line{display:flex;align-items:baseline;white-space:nowrap;line-height:1.1;gap:2px}.discount-amount{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:51px;letter-spacing:-.045em;font-weight:400}.amount-unit{font-family:var(--serif);font-size:22px}.discount-off{font-family:Georgia,serif;font-style:italic;font-size:24px;letter-spacing:-.03em}.card-price{position:relative;z-index:1;min-width:0;align-self:center;text-align:right}.price-before{display:block;font-family:var(--serif);font-size:17px;line-height:1.65;color:#513b3b;white-space:nowrap}.price-before del{text-decoration-color:#8d5059;text-decoration-thickness:1px}.price-after{display:flex;align-items:baseline;justify-content:flex-end;white-space:nowrap;color:var(--bordeaux);line-height:1.1;gap:2px}.price-after>strong{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:54px;letter-spacing:-.04em}.price-after>span{font-family:var(--serif);font-size:23px}.price-after>small:first-child{font-size:16px;align-self:center;margin-right:5px}.price-example{display:block;font-size:10px!important;letter-spacing:.1em;line-height:1.5;color:#876366;margin-top:5px}.price-after>.price-example{align-self:flex-end;margin-left:4px;font-size:8px!important}.card-arrow{position:relative;z-index:2;width:41px;height:41px;display:grid;place-items:center;color:#fff8f0;border-radius:50%;background:linear-gradient(140deg,#c7a0a3,#aa7b84);box-shadow:0 2px 6px rgb(var(--theme-shadow-rgb) / .251);transition:transform .5s}.card-arrow svg{width:22px;height:15px}.campaign-card:hover .card-arrow{transform:translateX(3px)}.campaign-card:hover .card-art img{transform:scale(1.085)}.card-number{position:absolute;z-index:-1;right:13%;top:-15px;font-family:Georgia,serif;font-size:134px;font-style:italic;line-height:1;color:#b87f8410;pointer-events:none}.card-shine{position:absolute;z-index:4;pointer-events:none;inset:-90%;background:linear-gradient(110deg,transparent 35%,#fff9f423 44%,#fff9f48c 49%,transparent 58%);transform:translateX(-100%);animation:card-shine 12s ease-in-out infinite}.campaign-card:nth-child(2) .card-shine{animation-delay:1.7s}.campaign-card:nth-child(3) .card-shine{animation-delay:3.2s}.campaign-card:nth-child(4) .card-shine{animation-delay:4.8s}.campaign-card:nth-child(5) .card-shine{animation-delay:6.4s}.campaign-end{display:flex;align-items:center;justify-content:center;gap:17px;margin:35px 0 15px;color:#a7837d}.campaign-end>span{font-family:Georgia,serif;font-size:10px;letter-spacing:.15em}.campaign-end i{width:35px;height:1px;background:#c8a7a0}.campaign-end p{font-family:var(--serif);font-size:12px;letter-spacing:.07em;margin:0}
.reservation-callout{position:relative;max-width:960px;margin:20px auto 65px;padding:25px 30px;text-align:center}.reservation-callout .eyebrow{font-size:10px;margin-bottom:13px}.reservation-callout>p{margin:14px 0 0;color:var(--muted);font-size:12px}.booking-button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:76px;padding:17px 45px;border:1px solid #b66174;border-radius:70px;color:#fffaf4;background:linear-gradient(160deg,#ba6175,#9c4057 65%,#893247);box-shadow:0 9px 18px #8c344028,inset 0 1px #fff9;transition:transform .5s var(--ease),box-shadow .5s;line-height:1.5;font-family:var(--serif);font-size:25px;letter-spacing:.14em;text-align:center}.booking-button:hover{transform:translateY(-3px);box-shadow:0 13px 24px #8c34403b,inset 0 1px #fff9}.booking-button svg{width:28px;height:28px;flex-shrink:0}.booking-button small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.15em;opacity:.85;margin-top:3px}.booking-button>span{display:block}.booking-button .booking-arrow{width:24px;height:16px}.reservation-callout .booking-button{min-width:70%}.booking-note{font-size:12px;color:#806163;line-height:1.85;letter-spacing:.02em;margin:20px 0}.rules-section{max-width:1100px;margin:0 auto 75px;padding:0 30px;scroll-margin-top:30px}.rules-heading{text-align:center;margin-bottom:33px;position:relative}.rules-heading .eyebrow{font-size:10px;margin-bottom:13px}.rules-heading h2{font-family:var(--serif);font-size:28px;letter-spacing:.12em;line-height:1.7;margin:0;color:#855461}.rules-heading>p{font-size:13px;color:var(--muted);margin:16px 0 0}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.rule-card{padding:27px 24px;border:1px solid #ecd9d2;border-radius:17px;background:#fffcf8ad;box-shadow:0 5px 13px #ac7a7b0a}.rule-card>span{font-family:Georgia,serif;color:#b78a8d;font-size:24px;line-height:1}.rule-card h3{font-family:var(--serif);font-size:18px;line-height:1.7;letter-spacing:.05em;margin:12px 0 13px;color:#8d4e5a}.rule-card p{font-size:13px;line-height:1.9;margin:0;color:#6c5151}.rules-list{margin:24px 0 0;padding:24px 30px 24px 47px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#6f5353;font-size:13px;line-height:2}.rules-list li{padding-left:4px;margin:4px 0}.rules-list li::marker{font-size:8px;color:#a6717b}.rules-summary{font-size:13px;line-height:1.9;color:#765357;margin:24px 0 0}.rules-section .text-link{margin-top:13px}.text-link{display:inline-flex;align-items:center;gap:28px;min-height:44px;font-size:12px;letter-spacing:.05em;padding:10px 0 7px;border-bottom:1px solid #b58a86;transition:gap .4s,color .3s}.text-link svg{width:28px;height:16px}.text-link:hover{gap:37px;color:var(--bordeaux)}.information-section{max-width:1040px;margin:0 auto 65px;padding:35px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;position:relative;overflow:hidden}.information-label h2{font-family:var(--serif);font-size:23px;letter-spacing:.1em;margin:11px 0 0}.information-body>p{font-size:13px;line-height:2;margin:0}.information-note{font-size:12px!important;color:var(--muted);margin-top:12px!important}.information-section>.flower-mark{right:-10px;top:0;opacity:.13}.site-footer{border-top:1px solid #dcc0bb;background:linear-gradient(150deg,#f1ded9,#e7ceca);padding:45px clamp(25px,5vw,80px) 25px}.footer-top{position:relative;display:flex;align-items:center;gap:45px}.footer-top .brand-word{font-size:39px}.footer-top .brand-ja{font-size:9px}.footer-top .brand-caption{display:none}.footer-top>p{font-family:var(--serif);font-size:13px;letter-spacing:.06em;margin:0}.back-top{display:flex;align-items:center;justify-content:center;gap:12px;min-width:44px;min-height:44px;border:0;margin-left:auto;padding:0;font-size:8px;letter-spacing:.12em}.back-top>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid #b78a84;border-radius:50%;font-size:17px;transition:transform .3s}.back-top:hover>span{transform:translateY(-4px)}.footer-bottom{display:flex;justify-content:space-between;margin-top:29px;color:#8e6869;font-size:9px;letter-spacing:.13em}.footer-bottom p{margin:0}.fixed-booking{position:fixed;z-index:40;left:0;right:0;bottom:0;padding:13px max(24px,env(safe-area-inset-right)) calc(13px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:35px;border-top:1px solid #e4c9c0;background:#fff8f3ee;box-shadow:0 -5px 20px #9e667411;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);}.fixed-booking-copy{font-size:12px;letter-spacing:.05em;color:#80555f;line-height:1.8}.fixed-booking-copy strong{font-weight:500;display:block}.fixed-booking .booking-button{font-size:17px;min-height:52px;min-width:330px;padding:10px 28px;gap:18px}.fixed-booking .booking-button svg{width:23px;height:23px}.fixed-booking .booking-button small{font-size:8px;margin-top:0}
.detail-wrap{position:relative;max-width:1120px;padding:0 45px 70px;margin:0 auto}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:15px;min-height:80px;padding:15px 0;color:#92716f;font-size:10px;letter-spacing:.1em}.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}.breadcrumb a:hover{text-decoration:underline}.detail-heading{position:relative;text-align:center;padding:25px 0 38px;isolation:isolate}.detail-heading .eyebrow{font-size:10px;margin:0 0 17px}.detail-heading h1{font-family:var(--serif);font-size:36px;letter-spacing:.1em;line-height:1.8;margin:0;color:#885565}.detail-heading h1 i{color:#aa777b;font-family:Georgia,serif;font-size:1.2em;font-weight:400}.detail-heading h1>span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.14em;margin-top:9px}.detail-english{position:absolute;z-index:-1;left:50%;top:20px;transform:translateX(-50%);white-space:nowrap;max-width:100%;overflow:hidden;font-family:Georgia,serif;font-style:italic;line-height:1.1;font-size:115px;letter-spacing:-.04em;color:#bd92942b;pointer-events:none}.detail-visual{position:relative;isolation:isolate;min-height:345px;padding:46px 50px;display:flex;align-items:center;justify-content:space-between;gap:35px;overflow:hidden;border:1px solid #fffdfa;border-radius:27px;box-shadow:0 6px 22px #ac747921,inset 0 0 20px #fffefa;background:linear-gradient(100deg,#f4dfd9,#fff7ef 55%,#eecfcb)}.detail-visual .card-art img{opacity:.27}.detail-visual .card-art:after{background:linear-gradient(90deg,#f3dcd5b3,#fff5edc9 52%,#f5e0db59)}.detail-visual-copy{position:relative;z-index:1;min-width:0}.detail-visual-copy .card-english{font-family:Georgia,serif;font-style:italic;font-size:24px;color:#a27278;margin:0 0 15px}.detail-visual-copy h2{font-family:var(--serif);font-size:27px;line-height:1.8;letter-spacing:.1em;margin:10px 0 15px;color:#85515d}.detail-visual-copy .card-status{display:inline-block;padding:4px 13px;border:1px solid #d7b0a4;font-size:12px;line-height:1.7;color:#7f514b;background:#fff4e5bd;border-radius:5px}.detail-discount{position:relative;z-index:1;color:var(--bordeaux);font-family:Georgia,serif;text-align:center;flex-shrink:0}.detail-discount .discount-amount{font-size:87px;letter-spacing:-.06em}.detail-discount .amount-unit{font-size:32px}.detail-discount .discount-off{font-size:33px}.detail-discount>.card-scope{font-family:var(--serif);font-size:21px;letter-spacing:.11em;margin-bottom:13px}.detail-discount .discount-line{justify-content:center}.detail-visual .card-number{font-size:220px;top:-30px;right:9%;color:#aa747410}.price-comparison{margin-top:20px;padding-top:14px;border-top:1px solid #d5afa366;font-family:var(--serif);line-height:1.7;color:#6f5051;font-size:17px}.price-comparison .price-before{font-size:16px}.price-comparison .price-after{justify-content:center}.price-comparison .price-after>strong{font-size:45px}.price-comparison .price-after>span{font-size:22px}.price-comparison .price-example{font-family:var(--sans);font-size:10px!important;letter-spacing:.05em}.price-comparison del{font-size:16px}.price-comparison strong{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:45px;color:var(--bordeaux)}.detail-information{max-width:780px;margin:54px auto 70px}.detail-information>.eyebrow{text-align:center;font-size:10px}.detail-information>h2{font-family:var(--serif);font-size:27px;letter-spacing:.1em;line-height:1.8;text-align:center;margin:0 0 25px;color:#85515d}.detail-intro{font-size:14px;line-height:2.1;letter-spacing:.02em;color:#755756;margin:0 0 30px}.detail-points{display:grid;gap:12px;padding:0;margin:0 0 35px;list-style:none}.detail-points>li{position:relative;padding:16px 20px 16px 46px;border:1px solid #e4cbc3;border-radius:10px;background:#fffaf3b3;font-size:14px;line-height:1.85}.detail-points>li:before{content:'✓';position:absolute;left:20px;top:17px;color:#aa6b78;font-size:15px}.conditions{margin:0;border-top:1px solid #d4b6ac}.conditions>div{display:grid;grid-template-columns:1fr 2.2fr;padding:22px 18px;gap:25px;border-bottom:1px solid #dfc8bf;font-size:13px;line-height:1.9}.conditions dt{font-weight:500;color:#7e5257}.conditions dd{margin:0;color:#6c5150}.conditions dd strong{font-weight:500;color:#8f3f54}.conditions-note{font-size:12px;color:var(--muted);margin:18px 0 30px}.detail-reservation{text-align:center;margin:36px 0 28px}.detail-reservation .booking-button{font-size:22px;min-height:68px;min-width:80%;padding:15px 30px}.detail-reservation>.booking-note{margin:16px 0 24px}.outline-link{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:52px;padding:12px 27px;border:1px solid #b98c86;border-radius:4px;font-size:12px;letter-spacing:.06em;transition:background .3s,color .3s}.outline-link svg{width:27px;height:16px;transform:rotate(180deg)}.outline-link:hover{background:#9a4557;color:var(--ivory)}.other-campaigns{border-top:1px solid #dbc1b8;padding-top:36px}.other-heading{display:flex;align-items:center;gap:28px;margin-bottom:25px}.other-heading .eyebrow{font-size:10px;margin:0}.other-heading h2{font-family:var(--serif);font-size:23px;letter-spacing:.1em;margin:0}.other-grid{gap:16px}.compact-card{min-height:144px}.compact-card .card-label h3{font-size:20px}.compact-card .discount-amount{font-size:45px}.compact-card .price-after>strong{font-size:46px}.expired-notice,.not-found{max-width:780px;margin:0 auto;padding:75px 25px 100px;text-align:center}.expired-notice>.eyebrow,.not-found>.eyebrow{font-size:10px}.expired-notice h1,.expired-notice h2,.not-found h1{font-family:var(--serif);font-size:28px;line-height:1.9;letter-spacing:.08em;color:#875462;margin:20px 0 25px}.expired-notice p,.not-found p{font-size:14px;line-height:2;margin:15px 0 27px}.expired-notice .outline-link{margin-top:15px}.campaign-count{font-size:12px;color:#92706e}
.hero-enter{animation:soft-enter 1.2s var(--ease) both}.hero-enter:nth-child(2){animation-delay:.13s}.hero-enter:nth-child(3){animation-delay:.26s}.hero-enter:nth-child(4){animation-delay:.39s}.reveal-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal-ready .reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-ready .campaign-card.is-visible{transition:opacity .9s var(--ease),transform .7s var(--ease),box-shadow .6s}.reveal-ready .campaign-card.is-visible:hover{transform:translateY(-5px)}.reveal-ready .detail-points>li:nth-child(2),.reveal-ready .rules-grid>.reveal:nth-child(2){transition-delay:.1s}.reveal-ready .detail-points>li:nth-child(3),.reveal-ready .rules-grid>.reveal:nth-child(3){transition-delay:.2s}@keyframes soft-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-breathe{from{transform:scale(1.01)}to{transform:scale(1.065)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes scroll-line{to{transform:translateY(100px)}}@keyframes card-shine{0%,65%{transform:translateX(-90%)}90%,100%{transform:translateX(90%)}}@keyframes page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}::view-transition-old(root){animation:soft-enter .2s ease reverse both}::view-transition-new(root){animation:page-in .45s var(--ease) both;animation-delay:.06s}html.motion-paused{scroll-behavior:auto}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .hero-enter,.motion-paused .reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.motion-paused .hero-image{animation:none!important}.motion-paused .card-shine{display:none}.motion-paused #main{transition:none}
@media(min-width:1500px){.hero{min-height:700px}.hero-copy{padding-top:80px}.hero h1{font-size:82px}.hero-image{object-position:70% 43%}}
@media(max-width:1050px) and (min-width:701px){.site-header{height:87px;padding:0 30px}.brand-word{font-size:39px}.brand-caption{font-size:11px;margin-left:0;padding-left:17px}.site-header nav{gap:18px}.hero{min-height:565px}.hero-copy{padding:62px 0 55px 50px}.hero h1{font-size:55px}.hero-description{font-size:15px}.hero-script{font-size:33px}.hero-note{font-size:62px}.campaigns-section{padding:53px 30px 25px}.section-heading h2{font-size:35px}.section-intro{font-size:11px}.campaign-card{grid-template-columns:1.05fr 1fr 1.1fr 34px;gap:18px;padding:20px;min-height:151px;border-radius:25px}.card-label h3{font-size:18px;padding:7px}.card-eligibility{font-size:10px}.card-scope{font-size:15px}.discount-amount{font-size:40px}.amount-unit{font-size:18px}.discount-off{font-size:19px}.price-before{font-size:14px}.price-after>strong{font-size:43px}.price-after>span{font-size:18px}.card-arrow{width:34px;height:34px}.card-arrow svg{width:19px}.detail-wrap{padding:0 30px 65px}.detail-visual{padding:37px;gap:25px}.detail-visual-copy h2{font-size:24px}.detail-discount .discount-amount{font-size:68px}.detail-discount .amount-unit{font-size:25px}.detail-discount .discount-off{font-size:27px}.footer-top{gap:25px}.footer-top>p{font-size:12px}}
@media(max-width:700px){html{scroll-padding-top:87px}body{font-size:13px;padding-bottom:calc(91px + env(safe-area-inset-bottom))}.preview-ribbon{height:23px;font-size:7px;gap:6px;letter-spacing:.12em}.site-header{height:77px;padding:0 18px;gap:12px}.brand{gap:9px}.brand-word{font-size:34px;letter-spacing:-1.3px}.brand-ja{font-size:8px;padding-top:4px;letter-spacing:.12em}.brand-ja:before,.brand-ja:after{width:10px;margin:0 4px}.brand-caption{font-size:8px;letter-spacing:.02em;padding-left:12px;margin-left:0;line-height:1.4}.site-header nav{gap:9px}.header-nav{display:none}.motion-toggle{width:44px;height:44px;background:#fff9f655}.motion-toggle svg{width:16px;height:16px}.nav-menu>summary{width:44px;height:44px}.nav-menu>summary:before,.nav-menu>summary:after,.nav-menu>summary span{width:22px}.nav-panel{top:57px;min-width:220px;padding:13px 19px}.nav-panel a{font-size:12px;min-height:48px}.hero{min-height:457px}.hero-copy{width:77%;padding:39px 0 32px 25px}.hero-copy>.eyebrow{font-size:7px;letter-spacing:.12em;margin-bottom:22px;max-width:180px}.hero h1{font-size:clamp(33px,9.5vw,49px);line-height:1.65;letter-spacing:.13em;margin:0 0 14px;max-width:260px}.hero-script{font-size:25px;line-height:1.2;letter-spacing:-.01em;white-space:nowrap;margin-bottom:23px;opacity:.87}.hero-description{font-size:13px;letter-spacing:.17em;line-height:2.1;margin:0 0 17px;max-width:210px}.hero-note{font-size:49px;margin-top:27px;letter-spacing:-.04em;opacity:.75}.hero-image{object-position:66% 42%;filter:saturate(.6) brightness(1.06)}.hero-scroll{display:none}.ticker{padding:11px 0}.ticker-track>div{font-size:12px;letter-spacing:.08em;gap:25px;padding-right:25px}.ticker-flower{font-size:9px}.campaigns-section{padding:38px 16px 12px;scroll-margin-top:12px}.section-heading{display:block;margin-bottom:22px}.section-heading .eyebrow{font-size:8px;margin-bottom:11px}.section-heading h2{font-size:clamp(28px,8.2vw,38px);letter-spacing:-.045em;line-height:1.25}.section-heading h2 span{font-size:11px;letter-spacing:.1em;margin-top:12px}.section-intro{font-size:12px;margin:17px 0 0;line-height:1.85;letter-spacing:.02em}.preview-note{font-size:10px;line-height:1.8;margin-bottom:17px;gap:10px}.preview-note>span{font-size:7px;padding:1px 5px;letter-spacing:.08em}.campaign-grid,.other-grid{gap:15px}.campaign-card{grid-template-columns:minmax(100px,.88fr) minmax(0,1.42fr) 23px;grid-template-rows:auto auto;column-gap:11px;row-gap:3px;min-height:153px;padding:16px 12px 16px 16px;border-radius:23px;box-shadow:0 2px 0 #dec2bc55,0 6px 13px #98616b19,inset 0 0 15px #fffdfb}.card-label{grid-column:1;grid-row:1/3;align-self:center}.card-eyebrow{font-size:7px;letter-spacing:.1em;margin-bottom:8px}.card-label h3{font-size:16px;letter-spacing:.02em;line-height:1.6;padding:6px 5px;box-shadow:0 3px 7px #8b475122}.card-label h3:before{left:-5px;width:8px}.card-label h3:after{right:-5px;width:8px}.card-eligibility{font-size:10px;line-height:1.55;padding:4px 6px;margin-top:11px;letter-spacing:0;box-shadow:0 2px 5px #b67d6018}.card-discount{grid-column:2;grid-row:1;align-self:end}.card-scope{font-size:12px;letter-spacing:.06em;margin-bottom:3px;line-height:1.5}.discount-line{gap:1px}.discount-amount{font-size:31px;letter-spacing:-.045em}.amount-unit{font-size:14px}.discount-off{font-size:16px}.card-price{grid-column:2;grid-row:2;align-self:start;text-align:left;margin-top:5px}.price-before{font-size:11px;line-height:1.5;white-space:nowrap;letter-spacing:-.03em}.price-after{justify-content:flex-start;gap:1px;line-height:1.1}.price-after>strong{font-size:32px;letter-spacing:-.045em}.price-after>span{font-size:15px}.price-after>small:first-child{font-size:9px;margin-right:3px;align-self:center}.price-example{font-size:8px!important;letter-spacing:.04em;line-height:1.2;margin-top:2px}.price-after>.price-example{font-size:7px!important;letter-spacing:0;margin-left:2px;margin-bottom:4px}.card-arrow{grid-column:3;grid-row:1/3;width:25px;height:30px;border-radius:20px;background:linear-gradient(140deg,#c7a0a3,#aa7b84)}.card-arrow svg{width:17px;height:13px}.card-number{font-size:105px;right:13%;top:1px;color:#b87f840d}.card-art img{object-position:50% 60%}.theme-rose .card-art img{width:75%;opacity:.32;object-position:35% 45%}.campaign-end{gap:10px;margin:29px 0 13px;flex-wrap:wrap}.campaign-end>span{font-size:8px}.campaign-end i{width:23px}.campaign-end p{font-size:10px;letter-spacing:.04em}.reservation-callout{margin:14px 0 37px;padding:18px 22px}.reservation-callout .eyebrow{font-size:8px;margin-bottom:11px}.reservation-callout .booking-button{min-width:100%;width:100%}.booking-button{font-size:21px;letter-spacing:.1em;gap:16px;min-height:66px;padding:15px 24px;box-shadow:0 7px 14px #8c344026,inset 0 1px #fff9}.booking-button svg{width:24px;height:24px}.booking-button small{font-size:8px;letter-spacing:.1em}.booking-button .booking-arrow{width:20px;height:16px}.reservation-callout>p{font-size:11px;line-height:1.9;margin-top:15px}.booking-note{font-size:12px;line-height:1.9;margin:16px 0}.rules-section{padding:0 22px;margin-bottom:43px;scroll-margin-top:20px}.rules-heading{margin-bottom:23px;text-align:left}.rules-heading .eyebrow{font-size:8px;margin-bottom:11px}.rules-heading h2{font-size:23px;letter-spacing:.1em}.rules-heading>p{font-size:12px;line-height:1.9;margin-top:13px}.rules-grid{grid-template-columns:1fr;gap:12px}.rule-card{padding:22px 23px;border-radius:13px}.rule-card>span{font-size:21px}.rule-card h3{font-size:18px;letter-spacing:.04em;margin:8px 0 10px}.rule-card p{font-size:13px;line-height:1.95}.rules-list{font-size:12px;padding:20px 5px 20px 20px;line-height:2;margin-top:21px}.rules-list li{padding-left:3px;margin:7px 0}.rules-summary{font-size:12px;margin-top:21px}.text-link{font-size:12px;gap:23px}.information-section{display:block;padding:25px 0;margin:0 22px 38px}.information-label h2{font-size:21px;margin-top:11px}.information-label .eyebrow{font-size:8px}.information-body{margin-top:19px}.information-body>p{font-size:12px}.information-note{font-size:11px!important}.information-section>.flower-mark{right:-80px;opacity:.09}.site-footer{padding:31px 22px 24px}.footer-top{display:block;padding-right:48px}.footer-top .brand-word{font-size:33px}.footer-top .brand-ja{font-size:8px}.footer-top>p{font-size:11px;letter-spacing:.03em;margin-top:18px;line-height:1.8}.back-top{position:absolute;right:0;top:0;min-width:44px;min-height:44px;flex-direction:column;gap:4px;font-size:6px}.back-top>span{width:33px;height:33px;font-size:16px}.footer-bottom{font-size:7px;letter-spacing:.08em;margin-top:25px}.fixed-booking{padding:10px max(15px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom));gap:10px;justify-content:space-between;min-height:80px}.fixed-booking-copy{font-size:9px;letter-spacing:0;max-width:105px;flex:0 1 31%;line-height:1.7}.fixed-booking-copy strong{font-size:10px}.fixed-booking .booking-button{flex:1;min-width:0;min-height:54px;font-size:16px;padding:10px 13px;gap:8px;letter-spacing:.05em;box-shadow:0 4px 12px #8c34402a,inset 0 1px #fff9}.fixed-booking .booking-button svg{width:19px;height:19px}.fixed-booking .booking-button small{font-size:7px;letter-spacing:.08em}.fixed-booking .booking-button .booking-arrow{display:none}.detail-wrap{padding:0 18px 42px}.breadcrumb{gap:10px;min-height:64px;padding:10px 0;font-size:8px;letter-spacing:.05em;line-height:1.7}.breadcrumb a{min-height:40px}.detail-heading{padding:19px 0 31px}.detail-heading .eyebrow{font-size:8px;margin-bottom:14px}.detail-heading h1{font-size:26px;line-height:1.7;letter-spacing:.06em}.detail-heading h1>span{font-size:10px;margin-top:12px;letter-spacing:.1em}.detail-english{top:5px;font-size:66px;max-width:calc(100vw - 36px);opacity:.8}.detail-visual{display:block;padding:30px 26px 29px;min-height:0;gap:0;border-radius:22px;text-align:center}.detail-visual-copy .card-english{font-size:20px;margin-bottom:8px}.detail-visual-copy h2{font-size:23px;line-height:1.7;letter-spacing:.08em;margin:10px 0 13px}.detail-visual-copy .card-status{font-size:12px;padding:3px 10px}.detail-discount{margin-top:21px}.detail-discount>.card-scope{font-size:17px;letter-spacing:.1em;margin-bottom:9px}.detail-discount .discount-amount{font-size:66px;letter-spacing:-.04em}.detail-discount .amount-unit{font-size:25px}.detail-discount .discount-off{font-size:29px}.detail-visual .card-number{font-size:155px;right:5%;top:-10px}.price-comparison{padding-top:15px;margin-top:18px;font-size:15px;line-height:1.8}.price-comparison .price-before{font-size:15px;line-height:1.7}.price-comparison .price-after>strong{font-size:43px}.price-comparison .price-after>span{font-size:20px}.price-comparison .price-example{font-size:9px!important}.price-comparison del{font-size:15px}.price-comparison strong{font-size:41px}.detail-information{margin:36px auto 43px}.detail-information>.eyebrow{font-size:8px;margin-bottom:18px}.detail-information>h2{font-size:23px;line-height:1.8;letter-spacing:.07em;margin-bottom:19px}.detail-intro{font-size:13px;line-height:2;margin-bottom:25px;letter-spacing:0}.detail-points{gap:10px;margin-bottom:27px}.detail-points>li{padding:14px 14px 14px 36px;font-size:13px;line-height:1.9;border-radius:8px}.detail-points>li:before{left:14px;top:15px;font-size:13px}.conditions>div{grid-template-columns:.9fr 1.6fr;gap:17px;padding:18px 6px;font-size:12px;line-height:1.95}.conditions-note{font-size:11px;margin:16px 0 23px}.detail-reservation{margin:28px 0 21px}.detail-reservation .booking-button{width:100%;min-width:0;min-height:64px;font-size:19px;padding:14px 20px;gap:14px}.detail-reservation>.booking-note{font-size:12px;line-height:1.9;margin:17px 0 22px}.outline-link{font-size:12px;min-height:50px;padding:12px 22px;gap:20px}.outline-link svg{width:25px}.other-campaigns{padding-top:29px}.other-heading{display:block;margin-bottom:22px}.other-heading .eyebrow{font-size:8px;margin-bottom:11px}.other-heading h2{font-size:21px;letter-spacing:.08em}.other-grid{gap:15px}.compact-card{min-height:150px}.compact-card .card-label h3{font-size:16px}.compact-card .discount-amount{font-size:31px}.compact-card .price-after>strong{font-size:32px}.expired-notice,.not-found{padding:49px 17px 60px}.expired-notice>.eyebrow,.not-found>.eyebrow{font-size:8px}.expired-notice h1,.expired-notice h2,.not-found h1{font-size:23px;line-height:1.9;margin:20px 0}.expired-notice p,.not-found p{font-size:13px;line-height:2;margin:15px 0 23px}.mobile-only{display:initial}.desktop-only{display:none}}
@media(max-width:360px){.site-header{padding:0 13px;gap:8px}.brand{gap:6px}.brand-word{font-size:31px}.brand-ja{font-size:7px}.brand-ja:before,.brand-ja:after{width:8px;margin:0 3px}.brand-caption{font-size:7px;padding-left:9px}.site-header nav{gap:5px}.hero{min-height:435px}.hero-copy{padding:32px 0 29px 21px;width:82%}.hero h1{font-size:32px;letter-spacing:.11em;line-height:1.7}.hero-script{font-size:23px}.hero-description{font-size:12px;letter-spacing:.16em}.hero-note{font-size:44px;margin-top:25px}.hero-image{object-position:64% 42%}.campaigns-section{padding:34px 12px 10px}.section-heading h2{font-size:27px}.campaign-card{grid-template-columns:minmax(85px,.85fr) minmax(0,1.42fr) 18px;column-gap:9px;padding:15px 10px 15px 13px;min-height:148px;border-radius:20px}.card-label h3,.compact-card .card-label h3{font-size:14px;letter-spacing:0;padding:6px 4px}.card-eyebrow{font-size:6px;letter-spacing:.08em}.card-eligibility{font-size:9px;padding:4px 4px;line-height:1.5}.card-scope{font-size:11px;letter-spacing:.03em}.discount-amount,.compact-card .discount-amount{font-size:28px}.amount-unit{font-size:12px}.discount-off{font-size:14px}.price-before{font-size:10px}.price-after>strong,.compact-card .price-after>strong{font-size:29px}.price-after>span{font-size:13px}.price-after>small:first-child{font-size:7px;margin-right:2px}.price-after>.price-example{display:none}.card-arrow{width:21px;height:27px}.card-arrow svg{width:14px;height:12px}.campaign-end{gap:8px}.campaign-end p{font-size:9px}.reservation-callout{padding:17px 18px}.booking-button{font-size:19px;gap:12px;letter-spacing:.08em}.rules-section{padding:0 18px}.fixed-booking-copy{font-size:8px;max-width:89px}.fixed-booking-copy strong{font-size:9px}.fixed-booking{gap:8px;padding-left:12px;padding-right:12px}.fixed-booking .booking-button{font-size:14px;gap:7px;padding-left:11px;padding-right:11px}.fixed-booking .booking-button svg{width:18px;height:18px}.detail-wrap{padding-left:14px;padding-right:14px}.detail-heading h1{font-size:23px}.detail-visual{padding:27px 20px}.detail-discount .discount-amount{font-size:60px}.detail-discount .amount-unit{font-size:23px}.detail-discount .discount-off{font-size:25px}.detail-visual-copy h2{font-size:21px}.conditions>div{grid-template-columns:.8fr 1.55fr;gap:13px;font-size:12px}.detail-reservation .booking-button{font-size:18px;gap:11px}.outline-link{font-size:11px;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready .reveal{opacity:1!important;transform:none!important}.card-shine{display:none}.hero-image{transform:none!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
.reveal-ready .reveal{transition-delay:var(--reveal-delay,0ms)}
/* Shared-page additions matched to the final content markup. */
.brand-lockup{text-align:center}.brand-lockup .brand-ja:before,.brand-lockup .brand-ja:after{display:none}.site-header>nav{margin-left:auto}.nav-menu>summary:before,.nav-menu>summary:after{display:none}.nav-menu>summary span{flex-shrink:0}
.rules-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-card strong{font-weight:500;color:#943f53}.reservation-callout>p{margin:0 0 19px}.reservation-callout>small{display:block;font-size:11px;line-height:1.8;color:#8d6d6b;margin-top:13px}.reservation-callout .booking-button{width:min(100%,730px)}.booking-button>svg:last-child{width:25px;height:16px}
.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:34px;padding:16px 0 0;border-top:1px solid #cfaaa4}.footer-nav a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:45px;padding:8px 12px;font-family:var(--serif);font-size:13px;letter-spacing:.05em;border-left:1px solid #cfaaa4}.footer-nav a:first-child{border-left:0}.footer-nav a:hover{color:#9a4557}
.price-guide{max-width:1040px;margin:0 auto 65px;padding:35px 35px 38px;border-top:1px solid #d8bbb2;border-bottom:1px solid #d8bbb2;position:relative;overflow:hidden}.price-guide:after{content:'La Ciel';position:absolute;z-index:-1;right:20px;bottom:-40px;font-family:Georgia,serif;font-style:italic;line-height:1;font-size:180px;letter-spacing:-.06em;color:#bb8f8d12;pointer-events:none}.price-guide .eyebrow{font-size:10px}.price-guide h2{font-family:var(--serif);font-size:25px;letter-spacing:.1em;margin:13px 0 20px;color:#85515d}.price-guide p:not(.eyebrow){font-size:13px;line-height:2;margin:12px 0}.price-guide .text-link{margin-top:7px}
.detail-visual-copy{width:100%;text-align:center}.detail-visual-copy>.card-scope{font-size:18px;margin:0 0 19px}.detail-visual-copy h2.detail-discount{margin:0;line-height:1.1;font-family:Georgia,serif;color:#9a4557;letter-spacing:-.03em}.detail-discount>strong{font-family:Georgia,serif;font-style:italic;font-size:105px;font-weight:400;letter-spacing:-.06em}.detail-discount>span{font-family:var(--serif);font-size:35px;letter-spacing:-.03em;margin-left:4px}.detail-limit{display:inline-block;max-width:100%;margin:20px 0 7px;padding:5px 16px;font-family:var(--serif);font-size:13px;line-height:1.8;color:#7f514b;background:#fff3debd;border:1px solid #dec4ac;border-radius:6px}.detail-visual .price-comparison{max-width:450px;margin:19px auto 0}.detail-information .eyebrow{text-align:center}.detail-information h2{font-family:var(--serif);font-size:27px;letter-spacing:.1em;line-height:1.8;text-align:center;margin:0 0 25px;color:#85515d}.detail-back{text-align:center;margin:0 0 60px}.fixed-booking .booking-button>svg:last-child{width:23px;height:15px}
@media(max-width:1050px) and (min-width:701px){.detail-discount>strong{font-size:92px}.detail-discount>span{font-size:32px}}
@media(max-width:700px){.campaign-card{grid-template-columns:minmax(112px,.88fr) minmax(0,1.42fr) 23px}.rules-grid{grid-template-columns:1fr}.reservation-callout>p{margin:0 0 15px;font-size:12px;line-height:1.9}.reservation-callout>small{font-size:10px;margin-top:11px}.booking-button>svg:last-child{width:22px;height:15px}.footer-nav{margin-top:24px;padding-top:12px}.footer-nav a{font-size:10px;letter-spacing:0;min-height:48px;padding:6px 5px;line-height:1.75}.price-guide{margin:0 22px 38px;padding:25px 0 28px}.price-guide:after{font-size:110px;right:0;bottom:-17px}.price-guide .eyebrow{font-size:8px}.price-guide h2{font-size:21px;margin:11px 0 17px}.price-guide p:not(.eyebrow){font-size:12px;line-height:2;margin:12px 0}.detail-visual-copy>.card-scope{font-size:15px;line-height:1.8;margin-bottom:18px}.detail-discount>strong{font-size:76px}.detail-discount>span{font-size:27px;margin-left:3px}.detail-limit{font-size:12px;line-height:1.8;margin:17px 0 5px;padding:5px 11px}.detail-visual .price-comparison{margin-top:18px}.detail-information h2{font-size:23px;line-height:1.8;letter-spacing:.07em;margin-bottom:19px}.detail-back{margin-bottom:40px}.fixed-booking .booking-button>svg:last-child{display:none}}
@media(max-width:360px){.campaign-card{grid-template-columns:minmax(98px,.85fr) minmax(0,1.42fr) 18px}.price-guide{margin-left:18px;margin-right:18px}.footer-nav a{font-size:9px;padding-left:3px;padding-right:3px}.detail-discount>strong{font-size:65px}.detail-discount>span{font-size:24px}.detail-limit{font-size:11px}.detail-visual-copy>.card-scope{font-size:13px}}
/* Visual refresh: open portrait, glass event heading, and five campaign worlds. */
.hero{min-height:640px;background:#f2e1df}.hero-copy{position:absolute;top:23%;left:8%;width:43%;padding:0;z-index:2}.hero-logo{display:block;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(100px,10.2vw,166px);line-height:1.05;font-weight:400;letter-spacing:-.06em;color:#57383e;text-shadow:0 1px 20px #fff8f65c;white-space:nowrap}.hero-logo small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.3em;margin-top:19px}.hero-signature{display:block;font-family:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;font-style:italic;font-size:38px;letter-spacing:.01em;line-height:1.5;color:#a97d85;margin:23px 0 0;transform:rotate(-7deg);transform-origin:left}.hero-image{object-position:72% 41%;filter:saturate(.7) brightness(1.06)}
.event-title-panel{position:relative;isolation:isolate;z-index:4;max-width:800px;width:calc(100% - 90px);margin:-65px auto 0;padding:27px 30px 35px;text-align:center;border:1px solid #fffefbed;border-radius:3px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.event-title-panel:before,.event-title-panel:after{content:'';position:absolute;pointer-events:none;inset:7px;border:1px solid #dcbdb381;z-index:-1}.event-title-panel:after{inset:11px;border-color:#fff9f4b3}.event-title-en{display:block;font-family:Georgia,'Times New Roman',serif;font-size:55px;font-weight:400;line-height:1.15;letter-spacing:.22em;margin:0 0 10px;padding-left:.22em}.event-title-panel h1{font-family:var(--serif);white-space:nowrap;overflow-wrap:normal;line-height:1.8;margin:0}.event-introduction{max-width:740px;width:calc(100% - 72px);margin:0 auto;padding:42px 0 40px;text-align:center}.event-introduction>p{font-family:var(--serif);font-size:14px;line-height:2.3;letter-spacing:.09em;margin:0;color:#735157}.event-introduction>p+p{margin-top:10px}
.ticker{position:relative;isolation:isolate;background:linear-gradient(120deg,#fff8f3b5,#ecd7d2ad 48%,#fff9f5c7);border-top:1px solid #fffefb;border-bottom:1px solid #cfaaa582;box-shadow:inset 0 1px #d6b6ad77,inset 0 -1px #fff9f3e6,0 5px 14px #9d6b720a;color:#97606d;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);}.ticker:before,.ticker:after{content:'';position:absolute;top:6px;bottom:6px;width:24px;z-index:2;pointer-events:none}.ticker:before{left:0;background:linear-gradient(90deg,#f6e9e4d9,transparent)}.ticker:after{right:0;background:linear-gradient(-90deg,#f6e9e4d9,transparent)}.ticker-decoration{position:absolute;z-index:-1;right:4%;top:50%;transform:translateY(-52%);font-family:Georgia,serif;font-style:italic;font-size:65px;line-height:1;letter-spacing:.02em;color:#b6898f1a;white-space:nowrap;pointer-events:none}.ticker-track{animation-duration:28s}.ticker-track>div{color:#97606d}.ticker-flower{color:#b98f92}
.campaigns-section{padding-top:58px}.campaign-grid,.other-grid{gap:21px}.campaign-card{min-height:185px;border-radius:23px;border-color:#fffcf7;background:#f7e8e4;box-shadow:0 5px 17px #9d6b7317,inset 0 0 16px #fffcf5b3}.card-label h3{background:transparent;transform:none;box-shadow:none;color:#9b5f6d;font-size:23px;letter-spacing:.07em;text-shadow:none;border-top:1px solid #c9a29c88;border-bottom:1px solid #c9a29c88;padding:9px 4px}.card-label h3:before,.card-label h3:after{display:none}.card-highlight{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:3px 5px;max-width:100%;margin-top:12px;font-family:var(--serif);color:#875662;line-height:1.65;text-align:center}.card-highlight small{font-size:11px;font-weight:400;line-height:1.65;display:block}.card-highlight strong{font-weight:500;font-size:17px;letter-spacing:.04em;line-height:1.5}.card-theme-art{position:absolute;z-index:-1;pointer-events:none;right:17%;top:-10%;width:225px;height:225px;opacity:.25}.card-theme-art>img{width:100%;height:100%;object-fit:contain}.card-theme-word{position:absolute;z-index:-1;right:9%;bottom:-24px;font-family:Georgia,'Times New Roman',serif;font-size:118px;font-weight:400;font-style:italic;letter-spacing:.01em;line-height:1;color:#ac7a8412;white-space:nowrap;pointer-events:none;user-select:none}.card-scope{font-size:16px}.card-price .price-example{font-size:10px!important}.theme-rose .card-art>img{width:52%;opacity:.5;object-position:30% 50%}.theme-rose .card-theme-art{left:7%;right:auto;top:-15%;width:210px;height:210px;opacity:.45}.theme-rose .card-label h3{letter-spacing:.09em}.theme-rose .card-highlight strong{font-size:14px}.theme-rose .card-theme-word{right:9%;bottom:-20px}
.theme-bordeaux{box-shadow:0 8px 22px rgb(var(--theme-shadow-rgb) / 0.149),inset 0 0 20px rgb(var(--theme-shadow-rgb) / 0.078)}.theme-bordeaux .card-art>img{opacity:.1}.theme-bordeaux .card-label h3{transform:rotate(-5deg);text-shadow:0 1px rgb(var(--theme-shadow-rgb) / 0.267);box-shadow:0 3px 7px rgb(var(--theme-shadow-rgb) / 0.161)}.theme-bordeaux .price-before del{text-decoration-color:#e4beb9}.theme-bordeaux .card-highlight{margin-top:15px;padding:6px 8px;border:1px solid var(--theme-line);border-radius:5px;gap:2px 5px;box-shadow:0 2px 7px rgb(var(--theme-shadow-rgb) / 0.133)}.theme-bordeaux .card-highlight strong{font-size:18px}.theme-bordeaux .card-highlight small{font-size:12px}.theme-bordeaux .card-arrow{border:1px solid var(--theme-line);box-shadow:0 3px 6px rgb(var(--theme-shadow-rgb) / 0.133)}.theme-bordeaux .card-theme-art{left:8%;right:auto;top:-29%;width:350px;height:350px;opacity:.54}.theme-bordeaux .card-theme-word{font-style:normal;right:4%;bottom:-12px;font-size:116px;letter-spacing:.04em}.theme-ivory .card-art>img{opacity:.17;width:100%}.theme-ivory .card-label h3{text-align:left;padding:3px 0 3px 15px;border:0;border-left:2px solid var(--theme-line);font-size:24px;letter-spacing:.03em}.theme-ivory .card-eyebrow{align-self:flex-start;margin-left:15px}.theme-ivory .card-highlight{padding:4px 9px;border:1px solid var(--theme-line);border-radius:30px;margin-top:11px;gap:0 4px}.theme-ivory .card-highlight strong{font-size:21px}.theme-ivory .card-theme-art{left:9%;right:auto;top:-21%;width:270px;height:270px;opacity:.32;transform:rotate(-12deg)}.theme-ivory .card-theme-word{right:11%;bottom:-24px;font-size:132px;letter-spacing:.04em}
.theme-satin{box-shadow:0 5px 20px rgb(var(--theme-shadow-rgb) / 0.075),inset 0 0 22px rgb(var(--theme-light-rgb) / 0.902)}.theme-satin .card-art>img{opacity:.13}.theme-satin .card-label h3{border:1px solid var(--theme-line);box-shadow:inset 0 0 15px rgb(var(--theme-light-rgb) / 0.639);border-radius:13px;font-size:24px}.theme-satin .card-highlight{gap:1px 5px}.theme-satin .card-highlight strong{font-size:20px;border-bottom:1px solid var(--theme-line)}.theme-satin .card-theme-art{left:10%;right:auto;top:-36%;width:315px;height:315px;opacity:.51}.theme-satin .card-theme-word{right:10%;bottom:-21px;font-size:115px;letter-spacing:.03em}
.theme-gift{box-shadow:0 6px 19px rgb(var(--theme-shadow-rgb) / 0.102),inset 0 0 24px rgb(var(--theme-light-rgb) / 0.384)}.theme-gift .card-art>img{opacity:.24;object-position:50% 68%}.theme-gift .card-label h3{font-size:25px;letter-spacing:.03em;border:0;padding:4px 0 7px}.theme-gift .card-eyebrow{letter-spacing:.19em}.theme-gift .card-highlight{padding-top:6px;margin-top:7px;border-top:1px solid var(--theme-line)}.theme-gift .card-highlight strong{font-size:17px}.theme-gift .card-theme-art{left:8%;right:auto;top:-27%;width:285px;height:285px;opacity:.4}.theme-gift .card-theme-word{right:16%;bottom:-20px;font-size:135px;letter-spacing:.05em}
.detail-visual .card-theme-art{left:auto;right:-2%;top:-11%;width:350px;height:350px;opacity:.32}.detail-visual .card-theme-word{right:2%;bottom:-26px;font-size:155px;opacity:.9}.detail-visual.theme-ivory .card-theme-art{right:2%;top:-3%;transform:rotate(-12deg);opacity:.24}.detail-visual.theme-satin .card-theme-art{right:-4%;top:-16%;opacity:.47}.detail-visual.theme-gift .card-theme-art{right:-1%;top:-6%;opacity:.29}
.booking-instructions{position:relative;max-width:1040px;width:calc(100% - 60px);margin:0 auto 70px;padding:38px 36px 36px;border:1px solid #ead0c8;border-radius:18px;background:linear-gradient(130deg,#fff9f4c4,#f5e7e1c9 58%,#fffaf5dc);box-shadow:0 8px 23px #9f73790d,inset 0 0 25px #fffdfa80;overflow:hidden}.booking-instructions:before{content:'RESERVATION';position:absolute;right:12px;bottom:-20px;font-family:Georgia,serif;font-size:86px;letter-spacing:.04em;line-height:1;color:#bd8f9610;pointer-events:none}.booking-instructions-heading{position:relative;text-align:center;margin:0 0 27px}.booking-instructions-heading .eyebrow{font-size:10px;margin-bottom:14px}.booking-instructions-heading h2{font-family:var(--serif);font-size:26px;line-height:1.8;letter-spacing:.1em;color:#87515f;margin:0 0 14px}.booking-instructions-heading p:not(.eyebrow){font-size:13px;line-height:2;color:#735458;letter-spacing:.03em;margin:0}.booking-methods{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:19px}.booking-method{position:relative;min-width:0;padding:25px 24px;border:1px solid #e2c2b9;border-radius:11px;background:#fffbf5c9}.booking-step{display:inline-grid;place-items:center;width:31px;height:31px;border:1px solid #cfaaa2;border-radius:50%;font-family:Georgia,serif;font-size:13px;line-height:1;letter-spacing:.02em;color:#aa7884;margin-bottom:12px;background:#fff8ef91}.booking-method h3{font-family:var(--serif);font-size:21px;line-height:1.7;letter-spacing:.05em;color:#945868;margin:0 0 13px}.booking-method p,.booking-method ol,.booking-method ul{font-size:13px;line-height:2;color:#715357;letter-spacing:.02em;margin:0}.booking-method strong{font-weight:500;color:#8d4159}.booking-method ol,.booking-method ul{padding-left:20px}.booking-method li{padding-left:3px;margin:5px 0}.booking-by-web{border-color:#cea4a3;background:linear-gradient(135deg,#fffbf6d9,#f6e2dfbd)}.booking-by-web h3{color:#92435c}.booking-example{margin-top:17px;padding:13px 15px;border-left:2px solid #c99aa6;background:#fffaf6e6;border-radius:0 6px 6px 0;line-height:1.9;overflow-wrap:anywhere}.booking-example>span{display:block;font-size:10px;letter-spacing:.09em;color:#9c7880;margin-bottom:4px}.booking-example code{display:block;font-family:var(--serif);font-size:13px;line-height:1.95;letter-spacing:.03em;color:#85515d;white-space:normal;overflow-wrap:anywhere}.detail-wrap>.booking-instructions{width:100%;margin-top:0}
@media(min-width:1500px){.hero{min-height:710px}.hero-copy{top:24%}.hero-logo{font-size:170px}.event-title-panel{margin-top:-70px}}
@media(max-width:1050px) and (min-width:701px){.hero{min-height:580px}.hero-copy{left:7%;top:25%;width:45%}.hero-logo{font-size:112px}.hero-signature{font-size:31px;margin-top:18px}.event-title-panel{width:calc(100% - 100px);padding:26px 28px 30px}.event-title-en{font-size:47px}.event-introduction{max-width:630px;padding:36px 0}.campaign-card{min-height:177px}.card-label h3,.theme-gift .card-label h3{font-size:20px}.card-highlight strong{font-size:15px}.card-highlight small{font-size:10px}.theme-bordeaux .card-highlight strong{font-size:16px}.theme-bordeaux .card-highlight small{font-size:11px}.theme-ivory .card-label h3,.theme-satin .card-label h3{font-size:21px}.theme-ivory .card-highlight strong,.theme-satin .card-highlight strong{font-size:18px}.card-theme-art{width:220px;height:220px}.card-theme-word{font-size:103px}.theme-bordeaux .card-theme-art{width:290px;height:290px}.theme-ivory .card-theme-art{width:240px;height:240px}.theme-satin .card-theme-art{width:280px;height:280px}.theme-gift .card-theme-art{width:240px;height:240px}.booking-instructions{width:calc(100% - 60px);padding:32px 28px}.booking-method{padding:22px 20px}.booking-method h3{font-size:19px}}
@media(max-width:700px){.hero{min-height:465px}.hero-copy{left:7%;top:25%;width:53%;padding:0}.hero-logo{font-size:clamp(58px,16vw,75px);letter-spacing:-.055em;line-height:1.1}.hero-logo small{font-size:8px;letter-spacing:.18em;margin-top:12px}.hero-signature{font-size:24px;line-height:1.5;letter-spacing:-.02em;margin-top:18px;white-space:nowrap}.hero-image{object-position:67% 41%;filter:saturate(.63) brightness(1.04)}.event-title-panel{width:calc(100% - 40px);max-width:540px;margin-top:-55px;padding:22px 17px 27px;border-radius:3px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.event-title-panel:before{inset:5px}.event-title-panel:after{inset:9px}.event-title-en{font-size:38px;line-height:1.2;letter-spacing:.2em;padding-left:.2em;margin-bottom:7px}.event-title-panel h1{line-height:1.8}.event-introduction{width:calc(100% - 54px);max-width:500px;padding:30px 0 31px}.event-introduction>p{font-size:12px;line-height:2.25;letter-spacing:.055em}.ticker-decoration{font-size:46px;right:0;color:#ba8d941b}.campaigns-section{padding-top:34px}.campaign-grid,.other-grid{gap:18px}.campaign-card{min-height:168px;border-radius:20px;padding-top:17px;padding-bottom:17px}.card-label h3{font-size:16px;line-height:1.65;letter-spacing:.015em;padding:7px 3px}.card-highlight{gap:0 3px;margin-top:9px;line-height:1.5}.card-highlight strong{font-size:12px;line-height:1.5;letter-spacing:0}.card-highlight small{font-size:9px;line-height:1.55}.card-theme-art{width:155px;height:155px;right:16%;top:-5%;opacity:.27}.card-theme-word{font-size:70px;right:8%;bottom:-10px;letter-spacing:0}.card-scope{font-size:12px}.card-price .price-example{font-size:8px!important}.theme-rose .card-label h3{font-size:16px;letter-spacing:.025em}.theme-rose .card-highlight strong{font-size:11px}.theme-rose .card-theme-art{width:155px;height:155px;left:2%;top:-5%;opacity:.38}.theme-rose .card-theme-word{bottom:-8px;right:6%;font-size:68px}.theme-bordeaux .card-label h3{font-size:16px;line-height:1.6;padding:6px 3px}.theme-bordeaux .card-highlight{padding:5px 4px;margin-top:13px;gap:0 3px;border-radius:4px}.theme-bordeaux .card-highlight strong{font-size:13px;letter-spacing:0;line-height:1.5}.theme-bordeaux .card-highlight small{font-size:10px;line-height:1.5}.theme-bordeaux .card-theme-art{left:-3%;top:-2%;width:200px;height:200px;opacity:.45}.theme-bordeaux .card-theme-word{font-size:66px;bottom:-3px;right:3%;letter-spacing:.03em}.theme-ivory .card-label h3{font-size:16px;line-height:1.7;padding:3px 0 3px 9px;letter-spacing:0}.theme-ivory .card-eyebrow{margin-left:9px}.theme-ivory .card-highlight{margin-top:9px;padding:3px 6px;gap:0 3px;border-radius:13px}.theme-ivory .card-highlight strong{font-size:15px;line-height:1.5}.theme-ivory .card-highlight small{font-size:8px;line-height:1.55}.theme-ivory .card-theme-art{left:-3%;top:-1%;width:192px;height:192px;opacity:.28}.theme-ivory .card-theme-word{font-size:77px;right:9%;bottom:-10px}.theme-satin .card-label h3{font-size:16px;line-height:1.65;padding:6px 3px;border-radius:9px}.theme-satin .card-highlight{gap:0 3px}.theme-satin .card-highlight strong{font-size:15px;line-height:1.5}.theme-satin .card-highlight small{font-size:9px}.theme-satin .card-theme-art{left:-5%;top:-12%;width:210px;height:210px;opacity:.47}.theme-satin .card-theme-word{font-size:70px;right:8%;bottom:-4px}.theme-gift .card-label h3{font-size:17px;line-height:1.65;padding:3px 0 6px;letter-spacing:0}.theme-gift .card-highlight{margin-top:6px;padding-top:6px;gap:0 3px}.theme-gift .card-highlight strong{font-size:12px;line-height:1.5}.theme-gift .card-highlight small{font-size:8px;line-height:1.6}.theme-gift .card-theme-art{left:-5%;top:-5%;width:185px;height:185px;opacity:.35}.theme-gift .card-theme-word{font-size:82px;right:13%;bottom:-5px}.detail-visual .card-theme-art{right:-10%;left:auto;top:-3%;width:270px;height:270px;opacity:.21}.detail-visual .card-theme-word{font-size:100px;bottom:-9px;right:-1%;letter-spacing:0}.detail-visual.theme-bordeaux .card-theme-art{top:-5%;right:-8%;width:280px;height:280px;opacity:.37}.detail-visual.theme-ivory .card-theme-art{top:0;right:-10%;opacity:.2}.detail-visual.theme-satin .card-theme-art{right:-10%;top:-4%;opacity:.38}.detail-visual.theme-gift .card-theme-art{right:-13%;top:3%;opacity:.24}.booking-instructions{width:calc(100% - 44px);margin-bottom:42px;padding:26px 17px 20px;border-radius:13px}.booking-instructions:before{font-size:48px;right:0;bottom:-7px}.booking-instructions-heading{margin-bottom:21px}.booking-instructions-heading .eyebrow{font-size:8px;margin-bottom:12px}.booking-instructions-heading h2{font-size:21px;line-height:1.8;letter-spacing:.055em;margin-bottom:12px}.booking-instructions-heading p:not(.eyebrow){font-size:12px;line-height:2;letter-spacing:.01em}.booking-methods{grid-template-columns:1fr;gap:13px}.booking-method{padding:20px 18px;border-radius:9px}.booking-step{width:28px;height:28px;font-size:12px;margin-bottom:10px}.booking-method h3{font-size:18px;line-height:1.75;margin-bottom:11px;letter-spacing:.04em}.booking-method p,.booking-method ol,.booking-method ul{font-size:12px;line-height:2;letter-spacing:.015em}.booking-example{padding:11px 12px;margin-top:14px}.booking-example>span{font-size:9px;margin-bottom:3px}.booking-example code{font-size:12px;line-height:2;letter-spacing:.015em}.fixed-booking-copy{font-size:9px;line-height:1.6;max-width:122px;flex-basis:35%}.fixed-booking-copy strong{font-size:9px;line-height:1.7}.fixed-booking{gap:10px}.fixed-booking .booking-button{font-size:15px;padding-left:13px;padding-right:13px}.detail-wrap>.booking-instructions{width:100%}}
@media(max-width:360px){.hero{min-height:438px}.hero-copy{top:26%;left:7%;width:55%}.hero-logo{font-size:56px;letter-spacing:-.06em}.hero-signature{font-size:21px;margin-top:16px;letter-spacing:-.025em}.hero-image{object-position:65% 40%}.event-title-panel{width:calc(100% - 34px);margin-top:-49px;padding:20px 15px 24px}.event-title-en{font-size:34px;letter-spacing:.18em;padding-left:.18em;margin-bottom:6px}.event-introduction{width:calc(100% - 44px);padding:27px 0}.event-introduction>p{font-size:12px;letter-spacing:.025em;line-height:2.2}.campaign-grid,.other-grid{gap:16px}.campaign-card{min-height:163px;padding-top:16px;padding-bottom:16px}.card-label h3,.theme-rose .card-label h3,.theme-bordeaux .card-label h3,.theme-ivory .card-label h3,.theme-satin .card-label h3{font-size:14px;letter-spacing:0;line-height:1.6}.theme-gift .card-label h3{font-size:15px}.card-highlight{margin-top:8px}.card-highlight strong{font-size:11px}.card-highlight small{font-size:8px}.theme-rose .card-highlight strong{font-size:10px}.theme-bordeaux .card-highlight{padding:4px 3px;margin-top:11px}.theme-bordeaux .card-highlight strong{font-size:12px}.theme-bordeaux .card-highlight small{font-size:9px}.theme-ivory .card-highlight{padding:3px 4px}.theme-ivory .card-highlight strong{font-size:13px}.theme-ivory .card-highlight small{font-size:8px}.theme-satin .card-highlight strong{font-size:13px}.theme-gift .card-highlight strong{font-size:11px}.theme-gift .card-highlight small{font-size:8px}.card-scope{font-size:11px}.booking-instructions{width:calc(100% - 36px);padding:24px 14px 17px}.booking-instructions-heading h2{font-size:20px;letter-spacing:.03em}.booking-method{padding:18px 15px}.booking-method h3{font-size:17px}.booking-example{padding-left:10px;padding-right:10px}.booking-example code{font-size:11px;letter-spacing:0}.fixed-booking-copy{font-size:8px;max-width:107px;flex-basis:36%;line-height:1.65}.fixed-booking-copy strong{font-size:8px;line-height:1.65}.fixed-booking .booking-button{font-size:14px;padding-left:10px;padding-right:10px;gap:7px}}
.booking-step{width:auto;height:auto;min-height:26px;padding:3px 10px;border-radius:20px;font-family:Georgia,'Times New Roman',serif;font-size:10px;line-height:1.6;letter-spacing:.12em;white-space:nowrap}
@media(max-width:700px){.booking-step{min-height:25px;padding:3px 9px;font-size:9px;line-height:1.6;letter-spacing:.1em}.fixed-booking-copy{min-width:0;overflow-wrap:anywhere}.fixed-booking .booking-button{flex-shrink:0}}

/* Current visual palette: one source of theme color for banners and details. */
.theme-rose {
 --theme-bg-start:#f4dfe4; --theme-bg-center:#fff8f6; --theme-bg-end:#e8c6d0; --theme-overlay-start:#f4dfe480; --theme-overlay-center:#fff8f6d1; --theme-overlay-end:#e8c6d066;
 --theme-ink:#8b3f5c; --theme-text:#66414d; --theme-muted:#966272; --theme-line:#c89aa9;
 --theme-label-bg:#f8e3e8b8; --theme-label-ink:#8b3f5c; --theme-chip:#fff4f4dc;
 --theme-shadow-rgb:139 63 92; --theme-light-rgb:255 248 246;
}
.theme-bordeaux {
 --theme-bg-start:#f3ddc4; --theme-bg-center:#fff4e5; --theme-bg-end:#e7bd99; --theme-overlay-start:#f3ddc480; --theme-overlay-center:#fff4e5d1; --theme-overlay-end:#e7bd9966;
 --theme-ink:#8c4f2b; --theme-text:#6c4936; --theme-muted:#9a6849; --theme-line:#c79a77;
 --theme-label-bg:#995c38; --theme-label-ink:#fff8ee; --theme-chip:#fff6e5e8;
 --theme-shadow-rgb:139 79 43; --theme-light-rgb:255 246 229;
}
.theme-ivory {
 --theme-bg-start:#dcebe7; --theme-bg-center:#f7fcf7; --theme-bg-end:#bddad2; --theme-overlay-start:#dcebe780; --theme-overlay-center:#f7fcf7d1; --theme-overlay-end:#bddad266;
 --theme-ink:#2d625c; --theme-text:#385e59; --theme-muted:#638b83; --theme-line:#9abfb5;
 --theme-label-bg:transparent; --theme-label-ink:#2d625c; --theme-chip:#f3fbf6e6;
 --theme-shadow-rgb:45 98 92; --theme-light-rgb:247 255 250;
}
.theme-satin {
 --theme-bg-start:#eee6f3; --theme-bg-center:#fdfaff; --theme-bg-end:#d9c9e7; --theme-overlay-start:#eee6f380; --theme-overlay-center:#fdfaffd1; --theme-overlay-end:#d9c9e766;
 --theme-ink:#654673; --theme-text:#5f506b; --theme-muted:#89739a; --theme-line:#bda6ce;
 --theme-label-bg:#e8ddf1c2; --theme-label-ink:#654673; --theme-chip:#faf5ffe8;
 --theme-shadow-rgb:101 70 115; --theme-light-rgb:253 249 255;
}
.theme-gift {
 --theme-bg-start:#f0e0c5; --theme-bg-center:#fff6e5; --theme-bg-end:#ddbc91; --theme-overlay-start:#f0e0c580; --theme-overlay-center:#fff6e5d1; --theme-overlay-end:#ddbc9166;
 --theme-ink:#785020; --theme-text:#6e5137; --theme-muted:#a07d4d; --theme-line:#c4a06d;
 --theme-label-bg:#f8e7c3a8; --theme-label-ink:#785020; --theme-chip:#fff8e9e8;
 --theme-shadow-rgb:120 80 32; --theme-light-rgb:255 249 233;
}
.campaign-card[class*="theme-"], .detail-visual[class*="theme-"] {
 color:var(--theme-text); border-color:var(--theme-line);
 background:linear-gradient(115deg,var(--theme-bg-start),var(--theme-bg-center) 52%,var(--theme-bg-end));
}
.campaign-card .card-art:after, .detail-visual .card-art:after {
 background:linear-gradient(105deg,var(--theme-overlay-start),var(--theme-overlay-center) 49%,var(--theme-overlay-end));
}
.campaign-card .card-art>img, .detail-visual .card-art>img {filter:grayscale(.9) brightness(1.13)}
.theme-rose .card-art>img {filter:grayscale(.7) brightness(1.12)}
.campaign-card .card-label h3 {color:var(--theme-label-ink); background:var(--theme-label-bg); border-color:var(--theme-line)}
.campaign-card .card-eyebrow, .campaign-card .price-example {color:var(--theme-muted)}
.campaign-card .card-discount, .campaign-card .card-scope, .campaign-card .price-after,
.detail-visual .card-scope, .detail-visual .detail-discount, .detail-visual .detail-discount>strong,
.detail-visual .detail-discount>span, .detail-visual .price-after, .detail-visual .price-after>strong {color:var(--theme-ink)}
.campaign-card .price-before, .detail-visual .price-before {color:var(--theme-text)}
.campaign-card .price-before del, .detail-visual .price-before del {text-decoration-color:var(--theme-ink)}
.campaign-card .card-highlight {color:var(--theme-ink); background:var(--theme-chip); border-color:var(--theme-line)}
.campaign-card .card-highlight strong, .campaign-card .card-highlight small {color:inherit; border-color:var(--theme-line)}
.campaign-card .card-arrow {color:var(--theme-label-ink); background:var(--theme-line); border-color:var(--theme-line)}
.theme-rose .card-arrow, .theme-ivory .card-arrow, .theme-satin .card-arrow, .theme-gift .card-arrow {color:#fffaf6}
.theme-bordeaux .card-arrow {color:#fff9ef; background:#b78159}
.campaign-card .flower-mark, .detail-visual .flower-mark {color:var(--theme-line)}
.campaign-card .card-theme-word, .detail-visual .card-theme-word {color:rgb(var(--theme-shadow-rgb) / .1)}
.campaign-card .card-theme-art>img, .detail-visual .card-theme-art>img {filter:none}
.detail-visual .detail-limit {color:var(--theme-ink); border-color:var(--theme-line); background:var(--theme-chip)}
.detail-visual .price-comparison {border-color:var(--theme-line)}
.detail-visual .price-example {color:var(--theme-muted)}
/* The portrait stays visible beneath a light ivory and rose veil on both sides. */
.hero-veil {
 background:linear-gradient(#fff8f014,#fff8f014),linear-gradient(90deg,#fff9f2dc 0%,#fcf4ed9c 22%,#faf0e936 48%,#f7e8e321 76%,#fff6ee26 100%),linear-gradient(0deg,#f8eceac7,transparent 30%);
}
/* A larger single-line Mincho title remains the focal point of the glass panel. */
.event-title-panel {
 background:linear-gradient(125deg,#fffdf8d4,#fff9f2e6 47%,#f4e5dfd4);
 border-color:#fffef9;
 box-shadow:0 13px 32px #9e707619,inset 0 0 25px #fffdfa8a;
}
.event-title-panel:before {border:1px solid #cfb4ad8c}
.event-title-panel:after {border:1px solid #fffdf5c2}
.event-title-en {color:#b38b8b48; text-shadow:0 1px #fffaf4b3}
.event-title-panel h1 {
 font-family:var(--serif); font-weight:500; font-size:clamp(28px,5.1vw,42px);
 letter-spacing:.11em; color:#8c5d68; text-shadow:0 1px 12px #fffaf09c; white-space:nowrap; overflow-wrap:normal;
}
.event-title-script {
 display:block; margin:8px 0 0; font-family:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;
 font-style:italic; font-size:22px; font-weight:400; line-height:1.35; letter-spacing:.015em; color:#b38e93;
}
@media(max-width:700px) {
 .event-title-panel h1 {font-size:clamp(22px,6.2vw,31px);letter-spacing:.075em}
 .event-title-script {font-size:18px;line-height:1.35;margin-top:7px;letter-spacing:0}
}
@media(max-width:360px) {
 .event-title-panel h1 {font-size:22px;letter-spacing:.075em}
 .event-title-script {font-size:17px;margin-top:7px}
}

/* All supplied banners share a 3:1 canvas. The inset protects every image edge from the rounded frame. */
.campaign-card.campaign-image-card {
 display:block;
 width:100%;
 min-width:0;
 min-height:0;
 height:auto;
 aspect-ratio:auto;
 padding:4px;
 gap:0;
 border:1px solid #e5d2cb;
 border-radius:12px;
 background:#fffbf6;
}
.campaign-card.campaign-image-card .campaign-image-picture {
 display:block;
 width:100%;
 height:auto;
 max-width:100%;
 aspect-ratio:3 / 1;
 object-fit:contain;
 object-position:center;
 border-radius:0;
 filter:none;
 transform:none;
}
@media(max-width:700px) {
 .campaign-card.campaign-image-card {padding:3px;border-radius:10px}
}
/* Completed hero artwork: keep the original face, copy, and full 3:2 canvas visible. */
.hero.hero-completed {
 width:100%; max-width:1280px; min-height:0; height:auto; aspect-ratio:3 / 2;
 margin:0 auto; overflow:visible; background:#503a36;
}
.hero.hero-completed .hero-visual {
 position:relative; inset:auto; z-index:auto; width:100%; height:auto; overflow:visible;
}
.hero.hero-completed .hero-image {
 display:block; width:100%; height:auto; max-width:100%; aspect-ratio:3 / 2;
 object-fit:contain; object-position:center; filter:none; transform:none; animation:none;
}
/* The event title sits over only the artwork's empty lower edge on larger screens. */
.event-title-panel {
 margin-top:-24px; overflow:hidden;
 color:#fff7ed;
 background:linear-gradient(120deg,#4b342fe8,#653644e6 54%,#51342fe8);
 border:1px solid #e8d2bba6;
 box-shadow:0 10px 28px #40232c24,inset 0 1px #fff4df29,inset 0 0 22px #efcda40c;
 -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
}
.event-title-panel:before {border:1px solid #d7bc9380}
.event-title-panel:after {border:1px solid #fff2d91f}
.event-title-en {color:#eddbc57a;text-shadow:0 1px #261c151a}
.event-title-panel h1 {
 font-family:var(--serif); font-weight:500; font-size:clamp(30px,5.2vw,46px);
 letter-spacing:.1em; color:#fff7ed; text-shadow:0 1px 12px #23191c36;
 white-space:nowrap; overflow-wrap:normal;
}
.event-title-script {color:#e2c8a8;opacity:.88}
.event-title-glint {
 position:absolute; z-index:3; pointer-events:none; inset:0;
 opacity:0; transform:translateX(-52%);
 background:linear-gradient(90deg,transparent,#fff6df88,transparent) 0 0 / 42% 1px no-repeat,linear-gradient(90deg,transparent,#fff6df66,transparent) 100% 100% / 35% 1px no-repeat;
}
.reveal-ready .event-title-panel>.event-title-en,
.reveal-ready .event-title-panel>h1,
.reveal-ready .event-title-panel>.event-title-script {
 opacity:0; transform:translateY(7px);
 transition:opacity .75s ease,transform .75s var(--ease);
}
.reveal-ready .event-title-panel>.event-title-en {transition-delay:.1s}
.reveal-ready .event-title-panel>h1 {transition-delay:.19s}
.reveal-ready .event-title-panel>.event-title-script {transition-delay:.29s}
.reveal-ready .event-title-panel.is-visible>.event-title-en,
.reveal-ready .event-title-panel.is-visible>h1,
.reveal-ready .event-title-panel.is-visible>.event-title-script {opacity:1;transform:none}
.reveal-ready .event-title-panel.is-visible>.event-title-glint {animation:event-title-glint 8s ease-in-out infinite}
@keyframes event-title-glint {
 0%,36% {opacity:0;transform:translateX(-52%)}
 43% {opacity:.32}
 65% {opacity:.22;transform:translateX(52%)}
 72%,100% {opacity:0;transform:translateX(52%)}
}
.motion-paused .event-title-panel>.event-title-en,
.motion-paused .event-title-panel>h1,
.motion-paused .event-title-panel>.event-title-script {opacity:1!important;transform:none!important;transition:none!important}
.motion-paused .event-title-panel>.event-title-glint {display:none!important;animation:none!important}
@media(max-width:700px) {
 .event-title-panel {margin-top:12px}
 .event-title-panel h1 {font-size:clamp(24px,6.6vw,32px);letter-spacing:.06em}
}
@media(max-width:360px) {
 .event-title-panel {margin-top:12px}
 .event-title-panel h1 {font-size:24px;letter-spacing:.06em}
}
@media(prefers-reduced-motion:reduce) {
 .event-title-panel>.event-title-en,
 .event-title-panel>h1,
 .event-title-panel>.event-title-script {opacity:1!important;transform:none!important;transition:none!important}
 .event-title-panel>.event-title-glint {display:none!important;animation:none!important}
}

/* Final event-heading polish: all other components retain their styles. */
.event-title-panel {
 --reveal-delay:200ms;
 background:linear-gradient(120deg,#543b35e8,#6d3d4ae6 54%,#593b35e8);
 border-color:#e7cc9fd1;
 box-shadow:0 8px 20px #34202414,0 16px 34px #40232c1a,inset 0 1px #fff4df29,inset 0 0 22px #efcda40c;
}
.event-title-panel:before {border-color:#dbc19a99}
.event-title-panel:after {border-color:#fff2d92b}
.event-title-panel h1 {font-size:clamp(32.1px,5.564vw,49.22px)}
.reveal-ready .event-title-panel>.event-title-en {transition-delay:.3s}
.reveal-ready .event-title-panel>h1 {transition-delay:.39s}
.reveal-ready .event-title-panel>.event-title-script {transition-delay:.49s}
@media(max-width:700px) {
 .event-title-panel {
  width:calc(100% - 40px);max-width:540px;
  height:auto;min-height:0;margin:12px auto 0;padding:12px 14px 14px;
 }
 .event-title-panel>.event-title-en {font-size:18px;line-height:1.2;letter-spacing:.2em;margin-bottom:4px}
 .event-title-panel h1 {font-size:clamp(20px,6.2vw,27px);line-height:1.45;letter-spacing:.06em}
 .event-title-panel>.event-title-script {font-size:13px;line-height:1.2;margin-top:4px;letter-spacing:0}
}
/* Keyframes also run when the observer reveals an element before its first paint. */
.reveal-ready .event-title-panel.reveal,
.reveal-ready .event-title-panel>.event-title-en,
.reveal-ready .event-title-panel>h1,
.reveal-ready .event-title-panel>.event-title-script {transition:none}
.reveal-ready .event-title-panel.reveal.is-visible {
 animation:event-title-enter .9s var(--ease) var(--reveal-delay,200ms) both;
}
.reveal-ready .event-title-panel.is-visible>.event-title-en {animation:event-title-copy .65s var(--ease) .3s both}
.reveal-ready .event-title-panel.is-visible>h1 {animation:event-title-copy .65s var(--ease) .39s both}
.reveal-ready .event-title-panel.is-visible>.event-title-script {animation:event-title-copy .65s var(--ease) .49s both}
@keyframes event-title-enter {
 from {opacity:0;transform:translate3d(0,24px,0)}
 to {opacity:1;transform:translate3d(0,0,0)}
}
@keyframes event-title-copy {
 from {opacity:0;transform:translate3d(0,7px,0)}
 to {opacity:1;transform:translate3d(0,0,0)}
}
.motion-paused .event-title-panel>.event-title-en,
.motion-paused .event-title-panel>h1,
.motion-paused .event-title-panel>.event-title-script {animation:none!important}
