:root{--font-display:'Fraunces',Georgia,'Times New Roman',serif;--font-body:'Hanken Grotesk',system-ui,-apple-system,sans-serif;--sumi:#14110d;--sumi-2:#1c1812;--sumi-3:#221d16;--cream:#ece3d2;--cream-soft:rgba(236,227,210,.68);--brass:#c9a24b;--brass-deep:#9c7a30;--brass-soft:rgba(201,162,75,.16);--line:rgba(236,227,210,.14);--shadow:0 26px 56px -28px rgba(0,0,0,.85)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.8;color:var(--cream-soft);background:var(--sumi);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--brass);text-decoration:none;transition:color .25s ease}a:hover{color:#e6c477}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-display);color:var(--cream);font-weight:500;line-height:1.18}.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.js .reveal.in-view{opacity:1;transform:none}#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;transition:background .4s ease,box-shadow .4s ease,backdrop-filter .4s ease}#site-header.scrolled{background:rgba(20,17,13,.86);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 1px 0 var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;max-width:1320px;margin:0 auto;transition:padding .3s ease}#site-header.scrolled .header-inner{padding:10px 40px}.logo a{display:inline-flex;align-items:center;gap:.6em}.logo img{height:54px;width:auto;border-radius:50%;box-shadow:0 0 0 2px var(--brass),0 6px 18px -8px rgba(0,0,0,.8);transition:height .3s ease}#site-header.scrolled .logo img{height:42px}#primary-nav ul{display:flex;align-items:center;gap:30px;list-style:none}#primary-nav a{position:relative;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(236,227,210,.85);text-shadow:0 1px 8px rgba(0,0,0,.6)}#primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--brass);transition:right .3s ease}#primary-nav a:hover::after,#primary-nav a.active::after{right:0}#primary-nav a:hover,#primary-nav a.active{color:var(--brass)}.mobile-menu-toggle{display:none;background:0 0;border:0;font-size:26px;cursor:pointer;color:var(--cream);line-height:1}#mobile-nav{display:none;background:rgba(20,17,13,.97);backdrop-filter:blur(8px)}#mobile-nav.open{display:block}#mobile-nav ul{list-style:none;padding:8px 0}#mobile-nav a{display:block;padding:13px 40px;color:var(--cream);font-size:14px;letter-spacing:.1em;text-transform:uppercase}#mobile-nav a:hover{background:var(--brass-soft);color:var(--brass)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;color:var(--cream);background:#14110d url(/images/Scan-110904-0036-Custom1.jpg)50% 18%/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:radial-gradient(115% 95% at 68% 42%,rgba(20,17,13,.1),rgba(20,17,13,.88) 82%),linear-gradient(180deg,rgba(20,17,13,.42),rgba(20,17,13,.16) 40%,rgba(20,17,13,.9))}.hero-kanji{position:absolute;right:4vw;top:50%;transform:translateY(-50%);z-index:1;font-family:var(--font-display);font-weight:500;font-size:clamp(120px,26vw,360px);color:rgba(201,162,75,.1);line-height:1;user-select:none}.hero-content{position:relative;z-index:2;max-width:1320px;width:100%;margin:0 auto;padding:0 40px}.hero-eyebrow{display:inline-flex;align-items:center;gap:.9em;font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.36em;text-transform:uppercase;color:var(--brass);margin-bottom:22px}.hero-eyebrow::before{content:"";width:46px;height:1px;background:var(--brass);transform:skewY(-12deg);transform-origin:left}.hero h1{font-family:var(--font-display);font-weight:500;color:var(--cream);font-size:clamp(48px,8.4vw,116px);line-height:.98;letter-spacing:-.015em;text-shadow:0 2px 30px rgba(0,0,0,.6)}.hero-sub{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(20px,2.6vw,32px);color:var(--brass);margin-top:12px;letter-spacing:.01em}.hero-tag{font-family:var(--font-body);font-weight:300;font-size:clamp(14px,1.6vw,17px);color:rgba(236,227,210,.78);margin-top:18px;max-width:30ch}.hero-btn{display:inline-flex;align-items:center;gap:.6em;margin-top:34px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cream);border:1px solid var(--brass);padding:.85em 1.7em;transition:.3s}.hero-btn:hover{background:var(--brass);color:var(--sumi);border-color:var(--brass)}.btn-arrow{transition:transform .3s}.hero-btn:hover .btn-arrow{transform:translateY(3px)}.scroll-down{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;width:16px;height:16px;border-right:1px solid var(--brass);border-bottom:1px solid var(--brass);rotate:45deg;animation:bob 1.8s infinite}@keyframes bob{0%,100%{translate:0 0;opacity:.4}50%{translate:4px 4px;opacity:1}}.content-section{padding:120px 0;position:relative}.content-section.alt-bg{background:var(--sumi-2)}.container{max-width:1120px;margin:0 auto;padding:0 40px}.section-head{margin-bottom:42px}.eyebrow{display:inline-flex;align-items:center;gap:.7em;font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--brass);margin-bottom:14px}.eyebrow-kanji{font-family:var(--font-display);font-size:17px;letter-spacing:.15em;color:var(--brass);padding-right:.7em;border-right:2px solid var(--brass);line-height:1}.eyebrow-kanji--full{padding-right:0;border-right:0}.content-section h1{font-size:clamp(32px,4.4vw,54px);font-weight:500;color:var(--cream);letter-spacing:-.015em;position:relative;padding-bottom:18px}.content-section h1::after{content:"";position:absolute;left:0;bottom:0;width:70px;height:2px;background:linear-gradient(90deg,var(--brass),transparent)}.content-section p{max-width:760px;margin-bottom:1.5em;font-size:16.5px;color:var(--cream-soft)}.content-section p:first-of-type{font-size:18px;color:rgba(236,227,210,.85)}.photo-credit{font-size:13px!important;color:rgba(236,227,210,.4)!important;font-style:italic;margin-top:8px}.image-row{display:grid;gap:16px;margin:40px 0}.image-row.two-col{grid-template-columns:repeat(2,1fr)}.image-row.three-col{grid-template-columns:repeat(3,1fr)}.image-row.full-width{grid-template-columns:1fr}.image-row a{position:relative;display:block;background:var(--sumi-3);padding:7px;box-shadow:var(--shadow);overflow:hidden}.image-row a::after{content:"";position:absolute;inset:7px;box-shadow:inset 0 0 0 1px rgba(201,162,75,.22);pointer-events:none;z-index:2}.image-row img{width:100%;display:block;filter:saturate(.92)brightness(.97);transition:transform .6s ease,filter .5s ease}.image-row.two-col img,.image-row.three-col img{aspect-ratio:4/3;object-fit:cover}.image-row.two-col.portrait img{aspect-ratio:3/4;object-fit:cover}.image-row a:hover img{transform:scale(1.04);filter:none}.further-info{margin-top:56px;padding:28px 32px;background:var(--brass-soft);border-left:3px solid var(--brass)}.further-info h4{font-size:16px;letter-spacing:.08em;color:var(--brass);margin-bottom:12px;text-transform:uppercase;font-family:var(--font-body);font-weight:700}.further-info ul{list-style:none}.further-info li{padding:6px 0}.further-info a{font-family:var(--font-display);font-size:18px;color:var(--cream)}.further-info a:hover{color:var(--brass)}.page-hero{position:relative;min-height:52vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--cream);background-size:cover;background-position:50%}.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,rgba(20,17,13,.45),rgba(20,17,13,.92))}.page-hero--memories{background-image:url(/images/Scan-110913-0079-Custom_cr.jpg)}.page-hero--videos{background-image:url(/images/iwama-tsensei-ken-2-Custom.jpg)}.page-hero-content{position:relative;z-index:2;padding:0 24px}.page-hero h1{font-size:clamp(36px,6vw,72px);font-weight:500;color:var(--cream);text-shadow:0 2px 24px rgba(0,0,0,.6)}.page-hero h1::after{content:"";display:block;width:70px;height:2px;background:var(--brass);margin:20px auto 0}.photo-gallery{margin:44px 0}.photo-gallery a{width:32.6%;margin-bottom:6px;display:block;position:relative;background:var(--sumi-3);padding:5px;box-shadow:0 14px 30px -20px rgba(0,0,0,.9);overflow:hidden}.photo-gallery a::after{content:"";position:absolute;inset:5px;box-shadow:inset 0 0 0 1px rgba(201,162,75,.18);pointer-events:none}.photo-gallery img{width:100%;display:block;filter:saturate(.9)brightness(.96);transition:transform .6s ease,filter .5s}.photo-gallery a:hover img{transform:scale(1.05);filter:none}.videos-container{max-width:920px}.video-block{margin-bottom:60px}.video-block h2{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,3vw,32px);color:var(--cream);margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}.video-block h2::first-letter{color:var(--brass)}.video-embed{position:relative;width:100%;padding-top:56.25%;background:#000;box-shadow:var(--shadow);outline:1px solid rgba(201,162,75,.2)}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}#site-footer{background:#0e0c09;color:rgba(236,227,210,.55);border-top:3px solid var(--brass);padding:46px 0;text-align:center}.footer-inner{max-width:1120px;margin:0 auto;padding:0 40px}#site-footer p{font-family:var(--font-display);font-size:15px;letter-spacing:.03em}#site-footer a{color:rgba(236,227,210,.8)}#site-footer a:hover{color:var(--brass)}@media(max-width:900px){.image-row.three-col{grid-template-columns:repeat(2,1fr)}.photo-gallery a{width:48.5%}.hero-kanji{font-size:40vw;right:-4vw}}@media(max-width:760px){#primary-nav{display:none}.mobile-menu-toggle{display:block}.header-inner{padding:14px 24px}.container{padding:0 24px}.content-section{padding:80px 0}.hero-content{padding:0 24px}}@media(max-width:560px){.image-row.two-col,.image-row.three-col{grid-template-columns:1fr}.photo-gallery a{width:100%}}