:root{--c-navy: #0c1e35;--c-navy-2: #172d47;--c-navy-3: #1e3a5f;--c-charcoal: #2c2c2c;--c-charcoal-2: #3f3f3f;--c-cream: #faf7f2;--c-off-white: #f3efe8;--c-white: #ffffff;--c-gold: #b89650;--c-gold-light: #d4b97a;--c-gold-dim: #7a6435;--c-text: #2c2c2c;--c-text-mid: #5a5a5a;--c-text-light: #888888;--c-border: #ddd9d1;--c-border-light: #eeead8;--font-en: "Cormorant Garamond", "Times New Roman", Georgia, serif;--font-ja-serif: "Shippori Mincho B1", "Noto Serif JP", serif;--font-ja-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;--section-y: clamp(5rem, 10vw, 8rem);--container-w: 1240px;--container-px: clamp(1.25rem, 5vw, 3.5rem);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-ja-sans);font-weight:300;color:var(--c-text);background-color:var(--c-white);overflow-x:hidden;line-height:1.8}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{max-width:var(--container-w);margin-inline:auto;padding-inline:var(--container-px)}.section-label{display:flex;align-items:center;gap:.75rem;font-family:var(--font-en);font-size:.7rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--c-gold);margin-bottom:1.5rem}.section-label:before{content:"";display:block;width:2.5rem;height:1px;background:var(--c-gold);flex-shrink:0}.section-num{font-family:var(--font-en);font-size:clamp(5rem,10vw,9rem);font-weight:300;line-height:1;color:var(--c-border);position:absolute;top:-.15em;right:var(--container-px);pointer-events:none;user-select:none;letter-spacing:-.03em}#site-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.5rem var(--container-px);display:flex;align-items:center;justify-content:space-between;transition:background .45s var(--ease-out),padding .45s var(--ease-out),box-shadow .45s var(--ease-out)}#site-nav.scrolled{background:#fffffff7;padding-block:1rem;box-shadow:0 1px 0 var(--c-border),0 4px 24px #0000000d}.nav-logo{font-family:var(--font-en);font-size:1.35rem;font-weight:500;letter-spacing:.12em;color:var(--c-white);transition:color .45s var(--ease-out);display:flex;flex-direction:column;line-height:1;gap:.25rem}.nav-logo-sub{font-size:.55rem;letter-spacing:.18em;font-weight:300;opacity:.7}#site-nav.scrolled .nav-logo{color:var(--c-navy)}.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}.nav-links a{font-family:var(--font-en);font-size:.7rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:#fffc;transition:color .3s;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--c-gold);transition:width .3s var(--ease-out)}.nav-links a:hover{color:var(--c-gold)}.nav-links a:hover:after{width:100%}#site-nav.scrolled .nav-links a{color:var(--c-text-mid)}#site-nav.scrolled .nav-links a:hover{color:var(--c-navy)}.nav-contact{font-family:var(--font-ja-sans);font-size:.72rem;font-weight:400;letter-spacing:.05em;color:var(--c-gold);border:1px solid rgba(184,150,80,.5);padding:.55rem 1.2rem;transition:background .3s,color .3s,border-color .3s}.nav-contact:hover{background:var(--c-gold);color:var(--c-white);border-color:var(--c-gold)}.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}.nav-hamburger span{display:block;width:22px;height:1px;background:var(--c-white);transition:background .3s,transform .3s}#site-nav.scrolled .nav-hamburger span{background:var(--c-navy)}@media(max-width:900px){.nav-links,.nav-contact{display:none}.nav-hamburger{display:flex}}#mobile-menu{position:fixed;inset:0;background:var(--c-navy);z-index:99;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;transform:translate(100%);transition:transform .5s var(--ease-out)}#mobile-menu.open{transform:translate(0)}#mobile-menu a{font-family:var(--font-en);font-size:1.5rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--c-white);transition:color .3s}#mobile-menu a:hover{color:var(--c-gold)}#mobile-menu .mobile-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--c-white);font-size:1.5rem;cursor:pointer;font-family:var(--font-en);font-weight:300}#site-footer{background:var(--c-navy);color:#ffffffb3;padding:5rem var(--container-px) 2.5rem}.footer-inner{max-width:var(--container-w);margin-inline:auto}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:2.5rem}@media(max-width:768px){.footer-top{grid-template-columns:1fr;gap:2rem}}.footer-brand-name{font-family:var(--font-en);font-size:1.4rem;font-weight:400;letter-spacing:.12em;color:var(--c-white);margin-bottom:.5rem}.footer-brand-jp{font-family:var(--font-ja-serif);font-size:.72rem;font-weight:400;letter-spacing:.12em;color:#ffffff73;margin-bottom:1.25rem}.footer-brand-tagline{font-family:var(--font-ja-serif);font-size:.82rem;font-weight:400;line-height:1.9;color:#ffffff8c}.footer-col-title{font-family:var(--font-en);font-size:.65rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--c-gold);margin-bottom:1.25rem}.footer-nav-list{list-style:none;display:flex;flex-direction:column;gap:.65rem}.footer-nav-list a{font-family:var(--font-ja-sans);font-size:.8rem;font-weight:300;color:#fff9;transition:color .25s;display:flex;align-items:center;gap:.5rem}.footer-nav-list a:before{content:"—";color:var(--c-gold-dim);font-size:.65rem}.footer-nav-list a:hover{color:var(--c-gold-light)}.footer-address{font-family:var(--font-ja-sans);font-size:.78rem;font-weight:300;line-height:2;color:#ffffff8c}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-copy{font-family:var(--font-en);font-size:.65rem;font-weight:300;letter-spacing:.08em;color:#ffffff4d}.footer-services{display:flex;gap:1.5rem}.footer-services a{font-family:var(--font-en);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;transition:color .25s}.footer-services a:hover{color:var(--c-gold)}
