:root{--ink:#111;--muted:#6a6a6a;--line:#deded9;--paper:#fff;--warm:#f3f2ee;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,'Noto Sans JP',sans-serif;font-weight:300;letter-spacing:.01em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,.brand-mark,.footer-logo{font-family:'Cormorant Garamond',serif;font-weight:400;margin:0}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.header-inner{height:78px;padding:0 clamp(24px,4vw,64px);display:flex;align-items:center;justify-content:space-between}.brand-mark{font-size:30px;letter-spacing:.2em}.oz-nav-list{display:flex;gap:30px;list-style:none;margin:0;padding:0}.oz-nav-list a{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#555}.oz-nav-list a:hover{color:#000}.menu-toggle{display:none;border:0;background:none;letter-spacing:.15em}.hero{min-height:calc(100vh - 78px);padding:clamp(80px,10vw,150px) clamp(24px,7vw,110px);display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,#f7f7f5 0%,#ecebe6 100%)}.hero-kicker,.eyebrow,.meta{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#777}.hero h1{font-size:clamp(110px,20vw,310px);line-height:.72;letter-spacing:.02em}.hero-name{font-size:13px;letter-spacing:.22em}.hero-copy{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,3vw,44px);max-width:820px;line-height:1.18;margin:40px 0}.text-link{display:inline-block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:5px;margin-right:24px}.section{padding:clamp(75px,9vw,135px) clamp(24px,7vw,110px);max-width:var(--max);margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,140px);align-items:start}.intro h2,.dark-cta h2{font-size:clamp(45px,6vw,86px);line-height:.97}.intro p,.about-body p,.prose p,.contact p{font-size:15px;line-height:2;color:#555}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px}.section-head h2,.page-hero h1{font-size:clamp(64px,9vw,130px);line-height:.92}.cards{display:grid;gap:32px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card .media{aspect-ratio:4/5;background:#f0f0ed;overflow:hidden}.card .media.wide{aspect-ratio:16/10}.card .media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.card:hover img{transform:scale(1.015)}.card h3{font-size:30px;margin-top:8px}.placeholder,.portrait-placeholder{height:100%;min-height:320px;display:flex;align-items:center;justify-content:center;text-align:center;background:#efefec;color:#aaa;font-size:11px;letter-spacing:.18em}.placeholder.tall{min-height:600px}.portrait-placeholder{min-height:650px;font-family:'Cormorant Garamond',serif;font-size:96px;flex-direction:column}.portrait-placeholder small{font-family:Inter,sans-serif;font-size:11px;letter-spacing:.1em}.empty-state{grid-column:1/-1;padding:70px;border:1px solid var(--line);color:#777}.dark-cta{max-width:none;background:#111;color:#fff}.dark-cta .eyebrow{color:#aaa}.dark-cta .light{color:#fff}.page-hero{padding:clamp(100px,12vw,180px) clamp(24px,7vw,110px) 70px;max-width:var(--max);margin:auto}.page-hero .lead{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,3vw,38px);color:#555}.cv-section{display:grid;grid-template-columns:1fr 2fr;border-top:1px solid var(--line);padding:42px 0}.cv-section h2{font-size:30px}.cv-row{display:grid;grid-template-columns:100px 1fr;padding:9px 0}.cv-row span{font-size:12px;color:#777}.cv-row p{margin:0;font-size:14px;line-height:1.65}.cv-note{margin-top:40px;font-size:12px;color:#888}.news-list article{padding:32px 0;border-top:1px solid var(--line)}.news-list h2{font-size:36px}.narrow{max-width:900px}.prose img{margin-bottom:45px}.contact-form{display:grid;gap:22px}.contact-form label{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:9px;border:0;border-bottom:1px solid #aaa;padding:12px 0;background:transparent;font:inherit}.contact-form textarea{border:1px solid #aaa;padding:14px}.contact-form button{justify-self:start;border:0;border-bottom:1px solid;background:none;padding:8px 0;font-size:11px;letter-spacing:.2em;cursor:pointer}.hp{position:absolute;left:-9999px}.success{padding:14px;border:1px solid #9a9}.site-footer{background:var(--warm);padding:70px clamp(24px,7vw,110px) 30px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;max-width:var(--max);margin:auto}.footer-logo{font-size:34px;letter-spacing:.18em}.footer-grid p{max-width:500px;color:#666;line-height:1.8;font-size:13px}.footer-grid h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase}.footer-grid a{display:block;color:#666;font-size:13px;margin:12px 0}.footer-bottom{max-width:var(--max);margin:60px auto 0;padding-top:25px;border-top:1px solid #ccc;display:flex;justify-content:space-between;font-size:11px;color:#777}.work-image img{width:100%}@media(max-width:850px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line)}.site-nav.open{display:block}.oz-nav-list{flex-direction:column;padding:24px;gap:18px}.hero h1{font-size:32vw}.split,.cards.three,.cards.two,.footer-grid,.cv-section{grid-template-columns:1fr}.cv-row{grid-template-columns:75px 1fr}.footer-bottom{flex-direction:column;gap:10px}.portrait-placeholder{min-height:460px}.section-head{align-items:start;gap:20px;flex-direction:column}}

/* Shopify shop */
.shop-hero{padding-bottom:50px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}.shop-card{display:block}.shop-card-media{aspect-ratio:4/5;background:#efefec;overflow:hidden}.shop-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.shop-card:hover .shop-card-media img{transform:scale(1.015)}.shop-card-info{display:grid;grid-template-columns:1fr auto;gap:4px 20px;padding-top:14px}.shop-card-info h2{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;margin:0}.shop-price{font-size:13px;padding-top:8px}.shop-status{grid-column:1/-1;font-size:10px;letter-spacing:.2em;color:#777;margin-top:5px}.shop-product-wrap{max-width:1500px}.shop-product-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:clamp(45px,8vw,130px);align-items:start;margin-top:45px}.shop-product-image img{width:100%;max-height:78vh;object-fit:contain;object-position:left top}.shop-product-info{position:sticky;top:120px}.shop-product-info h1{font-size:clamp(48px,6vw,86px);line-height:.95}.shop-product-price{font-family:'Cormorant Garamond',serif;font-size:28px;margin:22px 0 30px}.shop-description{font-size:14px;line-height:2;color:#555;border-top:1px solid var(--line);padding-top:26px}.shop-checkout-form{margin-top:36px}.shop-checkout-form label{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px}.shop-checkout-form select{display:block;width:100%;margin-top:10px;padding:13px;border:1px solid var(--line);background:#fff}.shop-buy-button,.sold-button{width:100%;border:1px solid #111;background:#111;color:#fff;padding:17px 20px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}.shop-buy-button:hover{background:#fff;color:#111}.sold-button{background:#eee;color:#777;border-color:#ddd;text-align:center}.shop-checkout-note{font-size:11px!important;line-height:1.6!important;color:#888!important;margin-top:13px}.shop-product-wrap>.eyebrow a{border-bottom:1px solid #aaa}@media(max-width:850px){.shop-grid{grid-template-columns:1fr 1fr}.shop-product-grid{grid-template-columns:1fr}.shop-product-info{position:static}.shop-card-info h2{font-size:24px}}@media(max-width:520px){.shop-grid{grid-template-columns:1fr}}

.statement-title{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,2.4vw,38px)!important;line-height:1.3!important;color:#111!important;margin:18px 0 34px}.statement-ending{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2vw,32px)!important;color:#111!important;margin-top:28px!important}.about-subhead{font-size:clamp(30px,3vw,44px);margin-top:80px;padding-top:42px;border-top:1px solid var(--line)}

.cv-portrait{width:min(370px,100%);margin:0 0 clamp(42px,6vw,72px)}.cv-portrait img{width:100%;height:auto;object-fit:contain;display:block}

@media(max-width:850px){.cv-portrait{width:min(280px,82vw);margin:0 auto 48px}}

.about-portrait{width:min(370px,100%);margin:0}.about-portrait img{width:100%;height:auto;display:block;object-fit:contain}
@media(max-width:850px){.about-portrait{width:min(280px,82vw);margin:0 auto 48px}}

/* JP / EN language switcher */
.lang-en{display:none!important}html[data-site-lang="en"] .lang-ja{display:none!important}html[data-site-lang="en"] .lang-en{display:revert!important}.header-actions{display:flex;align-items:center;gap:22px}.language-switcher{display:flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.14em;color:#aaa}.language-switcher button{border:0;background:transparent;padding:5px 2px;font:inherit;letter-spacing:inherit;color:#999;cursor:pointer}.language-switcher button.active{color:#111;border-bottom:1px solid #111}.language-switcher span{color:#ccc}@media(max-width:850px){.header-actions{gap:14px}.language-switcher{font-size:10px}.site-nav{z-index:50}}

/* BASE catalog follows the portfolio shop typography and spacing. */
.oz-base-shop .bcb-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,48px)}
.oz-base-shop .bcb-product img{aspect-ratio:4/5;object-fit:contain;background:#efefec}
.oz-base-shop .bcb-product h3{font-family:'Cormorant Garamond','Noto Sans JP',serif;font-size:28px;font-weight:400;line-height:1.4}
.oz-base-shop .bcb-product p{font-size:13px;margin:12px 0}
.oz-base-shop .bcb-buy{font-size:12px;border-radius:0}
.oz-base-shop-link{margin-top:48px}
@media(max-width:850px){.oz-base-shop .bcb-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.oz-base-shop .bcb-products{grid-template-columns:1fr}}
