:root{--ink:#29312e;--washi:#f1ede6;--copper:#b76848;--fog:#cac4b9;--moss:#6d7770;--paper:#f7f4ee;--line:rgba(41,49,46,.21);--serif:'Zen Old Mincho','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP','Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;color:var(--ink);background:var(--washi);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.17;background-image:repeating-linear-gradient(92deg,transparent 0 3px,rgba(80,74,64,.025) 3px 4px),repeating-linear-gradient(0deg,transparent 0 5px,rgba(80,74,64,.016) 5px 6px)}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid var(--copper);outline-offset:4px}
a,summary{transition:color .22s ease,background-color .22s ease,border-color .22s ease,transform .22s ease}
a:hover{color:var(--copper)}
img{display:block;max-width:100%}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-weight:500}
.wrap{width:min(1180px,calc(100% - 144px));margin-inline:auto}
.skip-link{position:absolute;top:-60px;left:16px;z-index:100;background:var(--ink);color:#fff;padding:8px 16px}.skip-link:focus{top:8px}
.proposal-banner{min-height:30px;padding:5px 16px;background:var(--ink);color:var(--washi);text-align:center;font-size:10px;font-weight:600;letter-spacing:.15em;line-height:20px}
.site-header{position:sticky;top:0;z-index:10;background:rgba(241,237,230,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.brand{display:flex;flex-direction:column;flex:none;line-height:1.1;color:var(--ink)}
.brand-name{font-family:var(--serif);font-size:27px;letter-spacing:.12em;line-height:1.13}.brand-sub{font-size:8px;font-weight:700;letter-spacing:.18em;margin-top:6px;white-space:nowrap}
.desktop-nav,.desktop-actions{display:flex;align-items:center}.desktop-nav{gap:22px;margin-left:auto}.desktop-actions{gap:17px}.desktop-nav a,.header-link{font-size:11px;font-weight:600;letter-spacing:.04em;white-space:nowrap}.header-store{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--ink);padding:11px 12px;font-size:10px;font-weight:600;white-space:nowrap;min-height:44px}.header-store:hover{background:var(--ink);color:var(--washi)}
.mobile-actions{display:none}
.hero{display:grid;grid-template-columns:58% 42%;min-height:700px;padding-top:55px;padding-bottom:85px}.hero-copy{position:relative;padding:84px 58px 0 0;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{display:flex;align-items:center;gap:16px;font-size:11px;font-weight:600;letter-spacing:.18em;white-space:nowrap}.eyebrow .rule{width:37px;height:1px;background:var(--copper);display:inline-block}.hero-index{display:flex;gap:18px;align-items:center;margin:43px 0 14px;color:var(--moss);font-size:10px;letter-spacing:.15em}.hero-index span{color:var(--copper)}.hero h1{font-family:var(--serif);font-size:clamp(44px,4.4vw,64px);line-height:1.44;letter-spacing:.055em;margin:0 0 26px;white-space:nowrap}.hero-lead{font-size:15px;line-height:2.15;letter-spacing:.035em;margin:0 0 34px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:54px;padding:13px 19px;border:1px solid var(--ink);font-size:12px;font-weight:600;letter-spacing:.025em;line-height:1.4}.button span{font-size:17px;font-weight:400;line-height:1}.button-primary{background:var(--copper);border-color:var(--copper);color:#fff}.button-primary:hover{background:#975337;border-color:#975337;color:#fff}.button-outline{background:transparent}.button-outline:hover{background:var(--ink);color:var(--washi)}.hero-footnote{margin:auto 0 0;padding-top:62px;font-size:9px;letter-spacing:.12em;color:var(--moss);line-height:1.5}.hero-visual{min-width:0;position:relative;padding-left:8px}.exhibit-label{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--ink);padding:9px 1px 13px;font-size:9px;letter-spacing:.16em;font-weight:600}.exhibit-label span:last-child{color:var(--copper)}.hero-photo{height:540px}.photo-placeholder{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(130deg,#d9d3c8,#c4beb2 44%,#d7d1c7);border:1px solid rgba(41,49,46,.15);color:#5e655f;text-align:center;font-size:11px;font-weight:600;letter-spacing:.15em;line-height:2.15}.photo-placeholder::before,.photo-placeholder::after{content:"";position:absolute;inset:17px;border:1px solid rgba(41,49,46,.15)}.photo-placeholder::after{inset:32px;border-color:rgba(41,49,46,.09)}.photo-placeholder-inner{display:flex;flex-direction:column;gap:18px;align-items:center;position:relative;z-index:1}.placeholder-mark{font-family:var(--serif);font-size:75px;line-height:.65;color:rgba(41,49,46,.27)}.visual-caption{margin:9px 0 0;color:var(--moss);font-size:9px;letter-spacing:.14em}
.section-pad{padding:125px 0}.section-number{color:var(--copper);font-size:11px;font-weight:700;letter-spacing:.14em;margin:0 0 38px}.section-number span{color:var(--moss);margin-left:9px}.section-heading h2,.section-intro h2,.craft-copy h2,.visit-heading h2{font-family:var(--serif);font-size:clamp(35px,3.4vw,50px);line-height:1.55;letter-spacing:.045em;margin:0}.moment{background:var(--ink);color:var(--washi)}.moment-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%}.moment .section-number span{color:var(--fog)}.moment-body{padding-top:69px}.moment-body>p{font-size:16px;line-height:2.35;max-width:475px;letter-spacing:.02em}.moment-material{display:flex;gap:20px;margin-top:66px;padding-top:20px;border-top:1px solid rgba(241,237,230,.24);color:var(--fog);font-size:10px;letter-spacing:.15em}
.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:78px}.section-aside{color:var(--moss);font-size:13px;line-height:2;margin:0 0 8px}.exhibits{display:flex;flex-direction:column;gap:90px}.exhibit{display:grid;grid-template-columns:55% 45%;align-items:center}.exhibit-art{position:relative;padding-right:17%;}.exhibit-art .photo-placeholder{height:420px}.exhibit-tick{position:absolute;bottom:-29px;left:0;color:var(--moss);font-size:10px;letter-spacing:.13em}.exhibit-copy{border-top:1px solid var(--line);padding:21px 15px 0 0}.exhibit-english{font-size:10px;letter-spacing:.19em;color:var(--copper);font-weight:700;margin:0 0 32px}.exhibit-copy h3{font-family:var(--serif);font-size:38px;letter-spacing:.08em;margin:0 0 16px}.exhibit-copy>p:last-child{font-size:14px;line-height:2.2;margin:0}.exhibit-two{grid-template-columns:45% 55%}.exhibit-two .exhibit-art{grid-column:2;grid-row:1;padding:0 0 0 17%}.exhibit-two .exhibit-copy{grid-column:1;grid-row:1}.exhibit-two .exhibit-tick{left:17%}.exhibit-two .photo-placeholder{height:355px}.exhibit-three .exhibit-art{padding-right:24%}.exhibit-three .photo-placeholder{height:345px}
.craft{background:#e4dfd6}.craft-layout{display:grid;grid-template-columns:50% 50%;align-items:center}.craft-visual{padding-right:15%}.craft-visual>.photo-placeholder{height:590px}.image-note{display:flex;justify-content:space-between;gap:10px;margin:9px 0 0;font-size:9px;letter-spacing:.14em;color:var(--moss)}.craft-copy{padding:25px 0 25px 30px}.craft-copy h2{margin-bottom:36px}.craft-copy>p:not(.section-number){max-width:435px;line-height:2.25;margin-bottom:42px}.craft-detail{border-top:1px solid var(--line);padding-top:23px;max-width:435px}.craft-detail span{display:block;font-family:var(--serif);font-size:21px;margin-bottom:9px}.craft-detail p{font-size:13px;line-height:2.1;margin:0}
.athome-intro>p{max-width:370px;font-size:14px;line-height:2.2;margin:0 0 6px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px}.product-photo{height:350px}.product-info{display:flex;justify-content:space-between;gap:16px;padding:24px 0 21px;border-bottom:1px solid var(--ink)}.product-tag{font-size:9px;font-weight:700;letter-spacing:.16em;color:var(--copper);margin:0 0 13px}.product-info h3{font-family:var(--serif);font-size:24px;margin:0 0 8px;line-height:1.5}.product-info p:last-child{font-size:13px;color:var(--moss);margin:0}.product-info a{align-self:end;flex:none;min-width:95px;min-height:44px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ink);font-size:11px;font-weight:600}.product-info a span{font-size:16px}.all-products{display:flex;justify-content:center;margin-top:58px}
.visit{background:#d8d5ca}.visit-layout{display:grid;grid-template-columns:49% 51%;gap:4%}.visit-heading>p:last-child{margin:34px 0 0;font-size:11px;letter-spacing:.11em;color:var(--moss)}.visit-card{background:var(--paper);padding:38px 42px;box-shadow:9px 9px 0 rgba(41,49,46,.08)}.visit-row{display:grid;grid-template-columns:120px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:0 0 26px;margin-bottom:26px}.visit-row>span{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--copper)}.visit-row p{font-size:14px;line-height:2;margin:0}.visit-links{display:flex;flex-direction:column}.visit-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;font-size:12px;font-weight:600;border-bottom:1px solid var(--line)}.visit-links a:last-child{border:0}.visit-links span{font-size:17px;font-weight:400}
.footer{background:var(--ink);color:var(--washi);padding:64px 0 35px}.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:62px}.footer-brand{font-family:var(--serif);font-size:42px;line-height:1;letter-spacing:.11em}.footer-brand span{display:block;margin-top:12px;font-family:var(--sans);font-size:9px;font-weight:600;letter-spacing:.17em}.footer-links{display:flex;gap:26px;font-size:11px;font-weight:600}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(241,237,230,.28);padding-top:23px}.footer-bottom p{margin:0;font-size:10px;line-height:1.8;color:var(--fog)}
@media(max-width:1190px){.wrap{width:min(100% - 80px,1180px)}.header-inner{gap:16px}.desktop-nav{gap:14px}.desktop-actions{gap:10px}.desktop-nav a,.header-link{font-size:10px}.brand-name{font-size:23px}.brand-sub{font-size:7px}.hero h1{font-size:clamp(40px,4.3vw,58px)}.hero-copy{padding-right:30px}.hero-photo{height:510px}}
@media(max-width:980px){.desktop-nav,.desktop-actions{display:none}.mobile-actions{display:flex;align-items:center;gap:9px}.mobile-access{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;background:var(--copper);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em}.mobile-access:hover{color:#fff;background:#975337}.mobile-menu{position:relative}.mobile-menu summary{display:flex;align-items:center;justify-content:center;gap:9px;min-width:80px;min-height:44px;border:1px solid var(--ink);font-size:11px;font-weight:700;cursor:pointer;list-style:none}.mobile-menu summary::-webkit-details-marker{display:none}.menu-icon{display:flex;flex-direction:column;gap:5px}.menu-icon i{display:block;width:14px;height:1px;background:var(--ink)}.mobile-menu nav{position:absolute;top:calc(100% + 12px);right:0;width:220px;background:var(--paper);border:1px solid var(--ink);padding:10px 16px;box-shadow:6px 6px 0 rgba(41,49,46,.12);display:flex;flex-direction:column}.mobile-menu nav a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:12px}.mobile-menu nav a:last-child{border-bottom:0}.hero{grid-template-columns:1fr;min-height:0;padding-top:35px}.hero-copy{grid-row:2;padding:45px 0 0}.hero-visual{grid-row:1;padding:0}.hero-photo{height:420px}.hero-index{margin:25px 0 14px}.hero h1{font-size:50px}.hero-footnote{padding-top:43px}.moment-body{padding-top:55px}.section-pad{padding:95px 0}.craft-visual>.photo-placeholder{height:450px}.product-photo{height:280px}.visit-layout{gap:2%}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:69px}.brand-name{font-size:21px}.brand-sub{font-size:7px}.hero{padding-top:18px;padding-bottom:83px}.hero-photo{height:380px}.hero h1{font-size:42px;line-height:1.5}.hero-lead{font-size:14px}.hero-footnote{font-size:8px;letter-spacing:.09em}.section-pad{padding:78px 0}.section-number{margin-bottom:24px}.section-heading h2,.section-intro h2,.craft-copy h2,.visit-heading h2{font-size:36px}.moment-layout,.craft-layout,.visit-layout{grid-template-columns:1fr;gap:0}.moment-body{padding-top:36px}.moment-body>p{font-size:14px}.moment-material{margin-top:40px;flex-wrap:wrap;gap:10px 18px}.section-intro{align-items:start;flex-direction:column;margin-bottom:48px;gap:23px}.section-aside{margin:0}.exhibits{gap:61px}.exhibit,.exhibit-two{display:flex;flex-direction:column;align-items:stretch}.exhibit-art,.exhibit-two .exhibit-art,.exhibit-three .exhibit-art{padding:0}.exhibit-art .photo-placeholder,.exhibit-two .photo-placeholder,.exhibit-three .photo-placeholder{height:320px}.exhibit-copy{margin-top:45px}.exhibit-english{margin-bottom:12px}.exhibit-copy h3{font-size:31px;margin-bottom:8px}.exhibit-copy>p:last-child{font-size:13px}.exhibit-two .exhibit-tick{left:0}.craft-visual{padding:0}.craft-visual>.photo-placeholder{height:390px}.craft-copy{padding:57px 0 0}.craft-copy h2{margin-bottom:22px}.craft-copy>p:not(.section-number){font-size:14px}.athome-intro>p{font-size:13px}.product-grid{grid-template-columns:1fr;gap:50px}.product-photo{height:330px}.all-products{margin-top:46px}.visit-heading>p:last-child{margin:20px 0 34px}.visit-card{padding:31px 27px}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-top{padding-bottom:45px}.footer-bottom{gap:8px}.footer-brand{font-size:36px}}
@media(max-width:390px){.wrap{width:calc(100% - 32px)}.header-inner{gap:6px}.brand-name{font-size:20px}.brand-sub{font-size:6px;letter-spacing:.1em}.mobile-actions{gap:5px}.mobile-menu summary{min-width:58px;gap:5px;font-size:9px}.menu-icon i{width:11px}.mobile-access{padding:0 11px;font-size:10px}.hero-photo{height:330px}.eyebrow{font-size:9px;gap:9px;letter-spacing:.12em}.eyebrow .rule{width:23px}.hero h1{font-size:37px}.hero-lead{line-height:2}.hero-actions{width:100%;flex-direction:column}.hero-actions .button{width:100%}.hero-footnote{font-size:7px;overflow-wrap:anywhere}.section-heading h2,.section-intro h2,.craft-copy h2,.visit-heading h2{font-size:33px}.exhibit-art .photo-placeholder,.exhibit-two .photo-placeholder,.exhibit-three .photo-placeholder{height:290px}.product-photo{height:295px}.product-info{gap:5px}.product-info h3{font-size:21px}.product-info a{min-width:80px;font-size:10px}.visit-card{padding:25px 19px}.visit-row{grid-template-columns:1fr;gap:5px}.footer-links{flex-wrap:wrap;gap:12px 20px}}
@media(max-width:340px){.brand-name{font-size:18px}.brand-sub{font-size:5.8px}.mobile-menu summary{min-width:48px}.mobile-menu summary>span:last-child{display:none}.mobile-access{padding:0 9px}.hero h1{font-size:33px}.hero-photo{height:285px}.hero-lead br.desktop-break{display:none}.hero-footnote{font-size:6.8px}.moment-material{font-size:9px}.product-info{display:block}.product-info a{width:max-content;margin-top:14px}.button{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,summary{transition:none}}

/* Legibility adjustments after independent review. The prescribed copper remains
   in the palette; action fills use a deeper shade for readable white labels. */
:root{--moss:#4f5a53;--copper-action:#965037}
.button-primary,.mobile-access{background:var(--copper-action);border-color:var(--copper-action)}
.button-primary:hover,.mobile-access:hover{background:#7d3d29;border-color:#7d3d29}
.section-number,.exhibit-english,.product-tag,.exhibit-label span:last-child,.hero-index span,.visit-row>span{color:var(--moss)}
.eyebrow .rule{background:var(--ink)}
.visit-layout{grid-template-columns:minmax(0,49fr) minmax(0,51fr)}
@media(max-width:700px){.visit-layout{grid-template-columns:1fr}}
@media(max-width:390px){.brand-sub{font-size:8px;letter-spacing:.08em}.hero-footnote{font-size:10px;letter-spacing:.04em}.eyebrow{font-size:10px}}
@media(max-width:340px){.brand-sub{font-size:8px}.hero-footnote{font-size:10px}}
.moment .section-number{color:var(--washi)}
.photo-placeholder{color:var(--ink)}
.brand{min-height:44px;justify-content:center}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
a:hover{color:#38443e}
.footer a:hover{color:#fff}
.product-card-link{display:block;color:var(--ink)}
.product-card-link:hover{color:var(--ink)}
.product-cta{align-self:end;flex:none;min-width:95px;min-height:44px;display:inline-flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--ink);font-size:11px;font-weight:600}
.product-cta span{font-size:16px}
@media(max-width:390px){.product-cta{min-width:80px;font-size:10px}}
@media(max-width:340px){.product-cta{width:max-content;margin-top:14px}}
.button-primary:hover,.mobile-access:hover,.header-store:hover,.button-outline:hover{color:#fff}
@media(max-width:340px){.visit-heading h2{font-size:29px;letter-spacing:0}}

/* Official KODAMA photographs, approved for this public site and delivery. */
.photo-frame{position:relative;display:block;overflow:hidden;background:#e4dfd6;border:1px solid rgba(41,49,46,.15)}
.photo-frame img{width:100%;height:100%;object-fit:cover}
.hero-photo{height:540px}
.hero-photo img{object-position:center 50%}
.exhibit-art .photo-frame{height:420px}
.exhibit-two .photo-frame{height:355px}
.exhibit-three .photo-frame{height:345px}
.craft-visual>.photo-frame{height:590px}
.product-photo{height:350px}
.image-label{position:absolute;left:13px;bottom:13px;padding:5px 9px;background:rgba(241,237,230,.94);color:var(--ink);font-size:9px;font-weight:600;letter-spacing:.08em;line-height:1.5}
.typographic-art{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:420px;overflow:hidden;background:linear-gradient(140deg,#e7e2d9,#d4cec3);border:1px solid rgba(41,49,46,.15);color:var(--ink)}
.typographic-art::before,.typographic-art::after{content:"";position:absolute;width:62%;aspect-ratio:1;border:1px solid rgba(41,49,46,.13);border-radius:50%}
.typographic-art::after{width:45%;border-color:rgba(41,49,46,.09)}
.typographic-art span,.typographic-art strong{position:relative;z-index:1}
.typographic-art span{font-size:9px;letter-spacing:.18em;color:var(--moss)}
.typographic-art strong{font-family:var(--serif);font-size:clamp(100px,13vw,170px);font-weight:400;line-height:1;color:rgba(41,49,46,.78)}
@media(max-width:1190px){.hero-photo{height:510px}}
@media(max-width:980px){.hero-photo{height:420px}.craft-visual>.photo-frame{height:450px}.product-photo{height:280px}}
@media(max-width:700px){.hero-photo{height:380px}.exhibit-art .photo-frame,.exhibit-two .photo-frame,.exhibit-three .photo-frame{height:320px}.craft-visual>.photo-frame{height:390px}.product-photo{height:330px}.typographic-art{height:320px}}
@media(max-width:390px){.hero-photo{height:330px}.exhibit-art .photo-frame,.exhibit-two .photo-frame,.exhibit-three .photo-frame{height:290px}.product-photo{height:295px}}
@media(max-width:340px){.hero-photo{height:285px}}

/* Crop the delivery canvas around the actual photographed area. The source
   JPEGs retain their original pixels; scaling happens only inside each frame. */
.hero-photo img,.craft-visual>.photo-frame img{transform:scaleY(1.55)}
.exhibit-art .photo-frame img{transform:scaleY(1.18)}
@media(min-width:981px) and (max-width:1100px){.exhibit-art .photo-frame img{transform:scaleY(1.45)}.product-photo img{transform:scaleY(1.15)}}
@media(max-width:980px){.exhibit-art .photo-frame img{transform:scaleY(1.5)}.product-photo img{transform:scaleY(1.3)}}
@media(max-width:700px){.exhibit-art .photo-frame img{transform:scaleY(1.38)}.product-photo img{transform:none}}
@media(max-width:560px){.product-photo img{transform:scaleY(1.1)}}
@media(max-width:450px){.product-photo img{transform:scaleY(1.25)}}
@media(max-width:430px){.exhibit-art .photo-frame img{transform:scaleY(1.5)}.product-photo img{transform:scaleY(1.4)}}
@media(max-width:390px){.product-photo img{transform:scaleY(1.5)}}
