:root{--ivory: #fcf9f2;--maroon-deep: #430e10;--cream: #F4EAD8;--saffron: #E8762A;--maroon: #7A1E1E;--gold: #C9A227;--ink: #1D1710;--gold-soft: color-mix(in srgb, var(--gold) 35%, transparent);--gold-faint: color-mix(in srgb, var(--gold) 16%, transparent);--gold-ink: color-mix(in srgb, var(--gold) 62%, var(--ink));--gold-bright: color-mix(in srgb, var(--gold) 85%, var(--ivory));--saffron-ink: color-mix(in srgb, var(--saffron) 68%, var(--ink));--saffron-deep: color-mix(in srgb, var(--saffron) 72%, var(--ink));--paper-card: #fffdf8;--shadow-menu: rgba(29, 23, 16, .12);--font-heading: "Cormorant Garamond", "Noto Serif JP", serif;--font-body: "Spectral", "Noto Serif JP", serif;--font-ui: Arial, "Noto Serif JP", sans-serif;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--space-4xl: 9rem;--text-xs: .8rem;--text-sm: .92rem;--text-base: 1.0625rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.9531rem;--text-2xl: 2.4414rem;--text-3xl: 3.0518rem;--text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-hair: 1px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;overflow-x:clip;background:var(--ivory);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.75;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;line-height:1.25;color:var(--ink);margin:0 0 .5em}:lang(ja) h1,:lang(ja) h2,:lang(ja) h3,:lang(ja) h4,h1:lang(ja),h2:lang(ja),h3:lang(ja),h4:lang(ja){font-family:"Noto Serif JP",Cormorant Garamond,serif;font-weight:600}:lang(ja) body,body :lang(ja){font-family:Spectral,"Noto Serif JP",serif}img{max-width:100%;height:auto;display:block}a{color:var(--maroon);text-decoration-color:color-mix(in srgb,var(--maroon) 45%,transparent);text-underline-offset:.15em}a:hover{color:var(--saffron-ink)}a:active{color:var(--maroon)}a:focus-visible,.btn:focus-visible,summary:focus-visible{outline:2px solid var(--maroon);outline-offset:2px;border-radius:1px}.container{max-width:72rem;margin-inline:auto;padding-inline:1.5rem}.diamond{color:var(--gold);font-size:.6em;line-height:1;vertical-align:middle}.ornament-divider{display:flex;align-items:center;gap:.9rem;margin:1.25rem auto;color:var(--gold)}.ornament-divider:before,.ornament-divider:after{content:"";flex:1;max-width:9rem;height:4px;border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft)}.ornament-divider .diamond{font-size:.8rem}.section-heading{text-align:center;font-size:clamp(1.6rem,3vw,2.1rem);letter-spacing:.01em}.card{background:var(--paper-card);border:1px solid var(--gold-soft);border-radius:3px;padding:1.4rem 1.5rem;transition:border-color var(--dur-short) var(--ease-out)}.card:hover{border-color:color-mix(in srgb,var(--gold) 70%,transparent)}.card h3{font-size:1.35rem;margin-bottom:.35rem}.card .card-kicker{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--saffron-ink);margin-bottom:.4rem}.card .card-link{font-size:.92rem;font-weight:500}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.5rem}.btn{display:inline-block;font-family:var(--font-body);font-size:.95rem;font-weight:500;letter-spacing:.04em;padding:.55rem 1.4rem;border-radius:2px;border:1px solid var(--gold);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;transition:background var(--dur-micro) var(--ease-out),color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.btn:active{transform:translateY(1px)}.btn:hover{background:var(--gold-faint);color:var(--ink)}.btn-primary{background:var(--saffron-deep);border-color:var(--saffron-deep);color:#fff}.btn-primary:hover{background:color-mix(in srgb,var(--saffron-deep) 88%,var(--ink));color:#fff}.section{padding-block:3.5rem}.section-alt{background:var(--cream)}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem}.field input[type=text],.field input[type=password],.field input[type=email],.field input[type=url],.field input[type=number],.field input[type=date],.field input[type=time],.field input[type=datetime-local],.field select,.field textarea{width:100%;padding:.55rem .7rem;font-family:var(--font-body);font-size:1rem;color:var(--ink);background:var(--paper-card);border:1px solid var(--gold-soft);border-radius:2px}.field textarea{line-height:1.6;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid color-mix(in srgb,var(--gold) 55%,transparent);outline-offset:1px}.admin-form{max-width:46rem}.admin-form fieldset{border:1px solid var(--gold-soft);border-radius:3px;padding:.5rem 1.1rem .25rem;margin:0 0 1.25rem}.admin-form fieldset legend{font-size:.92rem;font-weight:600;letter-spacing:.05em;color:var(--maroon);padding-inline:.35rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0 1.25rem}.hint{font-size:.8rem;color:color-mix(in srgb,var(--ink) 60%,transparent);margin:.3rem 0 0}.check-field{display:flex;align-items:center;gap:.5rem;font-size:.95rem;margin-bottom:1.25rem}.form-actions{display:flex;gap:.9rem;margin-top:1.5rem}.admin-table{width:100%;border-collapse:collapse;background:var(--paper-card);border:1px solid var(--gold-soft);border-radius:3px;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:.6rem .9rem;font-size:.92rem;border-bottom:1px solid var(--gold-faint);vertical-align:middle}.admin-table th{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--maroon);background:var(--cream)}.admin-table tr:last-child td{border-bottom:none}.admin-table .row-actions{display:flex;gap:.6rem;align-items:center}.badge{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.1rem .55rem;border-radius:999px;border:1px solid var(--gold-soft);color:color-mix(in srgb,var(--ink) 65%,transparent)}.badge-on{color:var(--saffron-ink);border-color:color-mix(in srgb,var(--saffron) 55%,transparent)}.btn-small{font-size:.82rem;padding:.25rem .75rem}.btn-danger{border-color:color-mix(in srgb,var(--maroon) 55%,transparent);color:var(--maroon)}.btn-danger:hover{background:color-mix(in srgb,var(--maroon) 10%,transparent);color:var(--maroon)}.admin-page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.admin-page-head h1{margin:0;font-size:1.9rem}.form-error{color:#a03018;font-size:.92rem;margin-bottom:1rem}.form-banner{border:1px solid var(--gold-soft);border-left:4px solid var(--gold);border-radius:3px;background:var(--paper-card);padding:.9rem 1.2rem;margin-bottom:1.5rem;font-size:.98rem}.form-banner-success{border-left-color:var(--maroon);background:var(--cream)}.form-banner-error{border-left-color:#a03018}.form-banner p{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.landing-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;padding:11px 24px;border:1px solid var(--maroon);border-radius:4px;background:var(--maroon);color:var(--ivory);font-size:.92rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background var(--dur-micro) var(--ease-out)}.landing-button:hover{background:var(--maroon-deep);color:var(--ivory)}.landing-button:active{transform:translateY(1px)}.landing-button.outline{color:var(--maroon);background:transparent}.landing-button.outline:hover{background:var(--gold-faint)}
