/* HIRANAI / WARM LUXURY UNIFIED SYSTEM — client review edition */
:root{--h-warm-paper:#f7f4ee;--h-warm-ivory:#efebe4;--h-ink:#292822;--h-soft:#746c62;--h-bronze:#a0845f;--h-line:#d9d0c4;--h-dark:#20211e;--h-serif:'Shippori Mincho','Yu Mincho',serif;--h-sans:'Zen Kaku Gothic New',sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:74px}
body.unified-site{margin:0;background:var(--h-warm-paper)!important;color:var(--h-ink)!important;font-family:var(--h-sans)!important;letter-spacing:.035em;overflow-x:clip}
body.unified-site a,body.unified-site button{transition:color .3s,background-color .3s,border-color .3s,opacity .3s}
body.unified-site img{max-width:100%}
body.unified-inner p,body.unified-inner li{line-height:2.08}
body.unified-inner h1,body.unified-inner h2,body.unified-inner h3,body.unified-inner h4{font-family:var(--h-serif);font-weight:600;color:var(--h-ink)!important;letter-spacing:.02em}
body.unified-site .container{max-width:1320px;padding-inline:clamp(22px,6.2vw,112px);margin-inline:auto}
body.unified-site .wrap{width:min(1420px,calc(100% - clamp(40px,11vw,170px)));margin:auto}
/* A single shared masthead across every page */
body.unified-site .site-header{position:fixed!important;inset:0 0 auto!important;width:100%;height:84px!important;display:flex!important;align-items:center!important;gap:26px!important;padding-inline:clamp(20px,4.2vw,78px)!important;background:transparent!important;color:#fff!important;z-index:500!important;border-bottom:1px solid rgba(255,255,255,.19)!important;box-shadow:none!important;transition:background .35s,backdrop-filter .35s,height .35s!important}
body.unified-site .site-header.scrolled,body.unified-site .site-header.menu-is-open{background:rgba(31,31,29,.94)!important;backdrop-filter:blur(18px);height:72px!important}
body.unified-site .site-header .brand{display:inline-flex!important;align-items:center!important;gap:13px!important;flex-shrink:0!important;z-index:2;max-width:calc(100vw - 100px)!important}
body.unified-site .site-header .brand img{display:block!important;width:39px!important;height:39px!important;max-width:39px!important;max-height:39px!important;object-fit:contain!important;min-width:39px!important;margin:0!important}
body.unified-site .site-header .brand-name{font:600 clamp(18px,1.6vw,23px)/1.3 var(--h-serif)!important;white-space:nowrap;letter-spacing:.065em!important;color:white!important}
body.unified-site .site-header .desktop-nav{display:none!important}
body.unified-site .site-header .header-cta{display:inline-flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;min-width:152px!important;background:#eee9e1!important;color:#292722!important;border-radius:0!important;margin-left:auto;font-weight:600!important;font-size:12px!important;padding:14px 16px!important;text-align:left}
body.unified-site .site-header .header-cta:hover{background:#cdb595!important}
body.unified-site .site-header .menu-toggle{position:relative;z-index:510!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:7px!important;flex:none!important;width:46px!important;height:46px!important;background:transparent!important;border:0!important;color:#fff!important;cursor:pointer!important;padding:0!important;margin:0!important}
body.unified-site .site-header .menu-toggle span{display:block!important;width:29px!important;height:1.5px!important;background:currentColor!important;transform-origin:center!important;transition:transform .3s,opacity .3s!important}
body.unified-site .site-header.menu-is-open .menu-toggle span:first-child{transform:translateY(4.25px) rotate(45deg)!important}
body.unified-site .site-header.menu-is-open .menu-toggle span:last-child{transform:translateY(-4.25px) rotate(-45deg)!important}
body.unified-site .mobile-menu{display:flex!important;position:fixed!important;inset:0!important;z-index:490!important;flex-direction:column!important;overflow:auto!important;padding:clamp(95px,12vh,135px) clamp(24px,12vw,230px) 60px!important;background:#22231f!important;color:#fff!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-12px)!important;transition:opacity .35s,transform .35s,visibility .35s!important}
body.unified-site .mobile-menu.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
body.unified-site .mobile-menu a{display:flex!important;justify-content:space-between!important;gap:14px!important;align-items:center!important;padding:clamp(9px,1.25vh,15px) 0!important;margin:0!important;border-bottom:1px solid rgba(255,255,255,.16)!important;color:#f5f1eb!important;text-decoration:none!important;font:500 clamp(18px,2.5vw,29px)/1.35 var(--h-serif)!important}
body.unified-site .mobile-menu a:hover{color:#d7b993!important}
body.unified-site .mobile-menu a span{font:600 11px/1.5 'Manrope',sans-serif!important;color:#ad9473!important}
body.unified-site .mobile-menu>p{font-size:16px!important;letter-spacing:.1em;color:#c7beb1;margin:25px 0!important}
body.unified-site.menu-open{overflow:hidden!important}
/* unified footer */
body.unified-site .footer{background:#20211e!important;color:#e8e4dc!important;border-top:1px solid #413d38!important;padding:clamp(74px,9vw,128px) 0 28px!important;margin:0!important}
body.unified-site .footer .footer-top{display:grid!important;grid-template-columns:minmax(300px,1fr) minmax(0,1.15fr)!important;gap:clamp(32px,7vw,108px)!important;align-items:start!important;padding:0 0 85px!important}
body.unified-site .footer .footer-brand{display:inline-flex!important;align-items:center!important;gap:13px!important;margin-bottom:28px!important}
body.unified-site .footer .footer-brand img{height:50px!important;width:50px!important;max-height:50px!important;max-width:50px!important;object-fit:contain!important;margin:0!important}
body.unified-site .footer .footer-brand span{font:600 clamp(21px,2.4vw,29px)/1.4 var(--h-serif)!important;color:#fff!important;white-space:nowrap}
body.unified-site .footer .footer-catch{font:500 clamp(17px,2.1vw,25px)/1.8 var(--h-serif)!important;color:#dbd5c9!important;margin:0 0 20px!important}
body.unified-site .footer address{font-style:normal!important;font:400 12px/2.4 var(--h-sans)!important;color:#aaa79d!important}
body.unified-site .footer address a{color:#e0d8c8}
body.unified-site .footer .footer-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 35px!important;max-width:none!important;align-items:start!important}
body.unified-site .footer .footer-links a{font:500 13px/1.5 var(--h-sans)!important;padding:11px 0!important;white-space:normal!important;border-bottom:1px solid #45443f;color:#e2ddd5!important}
body.unified-site .footer .footer-links a:hover{color:#c7a47c!important}
body.unified-site .footer .footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:20px!important;padding-top:24px!important;border-top:1px solid #47453e!important;font:600 10px/1.6 'Manrope',sans-serif!important;letter-spacing:.05em!important;color:#a8a49b!important}
body.unified-site .footer .footer-bottom a{color:#e4ddd2!important}
/* Page hero imagery / Apple-like editorial headline */
body.unified-inner .unified-page-hero{position:relative!important;height:min(82svh,800px)!important;min-height:565px!important;overflow:hidden!important;margin:0!important;background:#2d2924!important;display:block!important}
body.unified-inner .unified-page-hero .page-hero-bg{position:absolute!important;inset:0!important;background-position:center 52%!important;background-size:cover!important;transform:scale(1.075);animation:h-enter 1.9s cubic-bezier(.15,.58,.31,1) both;will-change:transform}
body.unified-inner .unified-page-hero .page-hero-overlay{position:absolute!important;inset:0!important;background:linear-gradient(90deg,rgba(16,17,16,.67),rgba(16,17,16,.12) 88%),linear-gradient(0deg,rgba(16,17,16,.42),transparent 55%)!important}
body.unified-inner .unified-page-hero .page-hero-content{position:absolute!important;left:clamp(28px,9.5vw,155px)!important;right:clamp(22px,8vw,125px)!important;bottom:clamp(78px,12vh,145px)!important;top:auto!important;z-index:2!important;max-width:1050px!important;color:#fff!important;animation:h-fade 1.1s .15s both}
body.unified-inner .unified-page-hero .sec-en{color:#dec9aa!important;font:600 11px/1.5 'Manrope',sans-serif!important;letter-spacing:.26em!important;display:block!important;margin:0 0 26px!important}
body.unified-inner .unified-page-hero .page-hero-title{font:500 clamp(44px,6.2vw,94px)/1.45 var(--h-serif)!important;color:#fff!important;letter-spacing:-.025em!important;text-shadow:0 5px 35px rgba(0,0,0,.19)!important;margin:0!important;max-width:900px!important}
body.unified-inner .unified-page-hero .page-hero-lead{font:400 clamp(13px,1.25vw,16px)/2.15 var(--h-sans)!important;color:#e5e0d7!important;letter-spacing:.06em!important;max-width:670px!important;margin-top:25px!important}
@keyframes h-enter{from{transform:scale(1.125)}to{transform:scale(1.025)}}
@keyframes h-fade{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:none}}
body.unified-inner .section{background:var(--h-warm-paper)!important;padding:clamp(94px,10vw,155px) 0!important}
body.unified-inner .section:nth-of-type(2n){background:var(--h-warm-ivory)!important}
body.unified-inner .sec-en,body.unified-inner .works-area,body.unified-inner .works-cat,body.unified-inner .card-badge,body.unified-inner .news-date,body.unified-inner .service-detail-num{color:var(--h-bronze)!important}
body.unified-inner .sec-head{margin-bottom:clamp(36px,6vw,88px)!important;gap:24px!important}
body.unified-inner .sec-title{font:600 clamp(34px,4.7vw,68px)/1.5 var(--h-serif)!important;color:var(--h-ink)!important;letter-spacing:-.035em!important}
body.unified-inner .sec-lead,body.unified-inner .service-detail-text,body.unified-inner .card-text,body.unified-inner .works-desc{font-size:14px!important;color:var(--h-soft)!important;line-height:2.3!important}
body.unified-inner .btn--primary,body.unified-inner .fixed-btn--cta{background:#35332e!important;color:#fff!important}
body.unified-inner .btn--outline{color:#4d453a!important;border:1px solid #9c896f!important;background:transparent!important}
body.unified-inner .btn--outline:hover{color:#fff!important;background:#454038!important}
body.unified-inner .section--service{background:#292a26!important}
body.unified-inner .section--service .sec-title,body.unified-inner .section--service .service-name{color:#fff!important}
body.unified-inner .section--service p{color:#d5cfc4!important}
body.unified-inner .cta-band{background:#292a26!important;padding:clamp(65px,8vw,105px) 0!important}
body.unified-inner .cta-band h2,body.unified-inner .cta-band p{color:#fff!important}
/* Cards, selected works, typography */
body.unified-inner .works-grid{gap:clamp(36px,6vw,100px)!important}
body.unified-inner .works-card,body.unified-inner .card{background:transparent!important;box-shadow:none!important;border:0!important}
body.unified-inner .works-img,body.unified-inner .card-img{overflow:hidden!important;background:#d9d2c9!important;aspect-ratio:4/3!important;height:auto!important}
body.unified-inner .works-img img,body.unified-inner .card-img img{width:100%!important;height:100%!important;object-fit:cover!important;transition:transform 1s cubic-bezier(.16,.7,.27,1)!important}
body.unified-inner .works-card:hover img,body.unified-inner .card:hover img{transform:scale(1.045)!important}
body.unified-inner .works-name,body.unified-inner .card-title{font:500 clamp(23px,2.4vw,32px)/1.65 var(--h-serif)!important;color:var(--h-ink)!important}
body.unified-inner .works-body,body.unified-inner .card-body{padding:25px 0!important}
body.unified-inner .service-card{border-color:#706d65!important}
body.unified-inner .service-detail{margin-bottom:clamp(65px,12vw,190px)!important}
body.unified-inner .service-detail-title{font:500 clamp(29px,4vw,55px)/1.55 var(--h-serif)!important;color:var(--h-ink)!important}
body.unified-inner .card:nth-child(even){margin-top:65px!important}
body.unified-inner .info-table th{color:#514639!important}
/* Works detail: image-first cover and uncluttered gallery */
body.unified-inner .unified-case-hero{height:min(85svh,840px)!important;min-height:580px!important;position:relative!important;background:#27231f!important;color:#fff!important;overflow:hidden!important}
body.unified-inner .unified-case-photo,body.unified-inner .unified-case-shade{position:absolute!important;inset:0!important}
body.unified-inner .unified-case-photo img{width:100%!important;height:100%!important;object-fit:cover!important;animation:h-enter 2.2s both!important}
body.unified-inner .unified-case-shade{background:linear-gradient(90deg,rgba(10,11,11,.69),rgba(10,11,11,.07) 85%),linear-gradient(0deg,rgba(10,11,11,.3),transparent 50%)!important}
body.unified-inner .unified-case-heading{position:absolute!important;left:clamp(25px,8vw,120px)!important;right:clamp(24px,8vw,120px)!important;bottom:clamp(62px,11vh,125px)!important;z-index:2!important;max-width:1050px!important;color:#fff!important}
body.unified-inner .unified-case-heading p{font:600 11px/1.6 'Manrope',sans-serif!important;letter-spacing:.25em!important;color:#ddc4a5!important;margin:0 0 28px!important}
body.unified-inner .unified-case-heading h1{font:500 clamp(32px,4.5vw,70px)/1.5 var(--h-serif)!important;letter-spacing:-.035em!important;color:#fff!important;margin:0 0 25px!important}
body.unified-inner .unified-case-heading>a{display:inline-block;border-bottom:1px solid #dbd2c4;padding-bottom:10px;color:#f9f6f0;font-size:13px!important}
body.unified-inner .breadcrumb{background:var(--h-warm-paper)!important;color:#847c70!important}
body.unified-inner .works-detail-gallery{gap:clamp(25px,5vw,72px)!important}
body.unified-inner .works-detail-gallery figure{overflow:hidden;background:transparent!important}
body.unified-inner .works-detail-gallery figure img{max-height:760px;object-fit:cover}
body.unified-inner .works-detail-gallery figcaption{font-size:13px!important;line-height:2.2!important;color:#696156!important;padding-top:19px!important}
body.unified-inner .works-detail-gallery figcaption strong{color:#33302a!important;font:600 21px/1.6 var(--h-serif)!important}
/* Superwall hero + content: avoid previous green visual system */
body.unified-inner .sw-hero{height:min(84svh,820px)!important;min-height:580px!important}
body.unified-inner .sw-hero-bg{animation:h-enter 2s both!important}
body.unified-inner .sw-hero-shade{background:linear-gradient(90deg,rgba(14,16,15,.72),rgba(14,16,15,.08) 88%)!important}
body.unified-inner .sw-hero-content{left:clamp(28px,9vw,145px)!important;bottom:clamp(80px,13vh,145px)!important;right:28px!important}
body.unified-inner .sw-hero-content h1{font:500 clamp(40px,5.8vw,80px)/1.55 var(--h-serif)!important;color:#fff!important}
body.unified-inner .sw-hero-content .sec-en{color:#e6c9aa!important}
body.unified-inner .sw-hero-content>p:last-child{color:#f5f0e9!important}
body.unified-inner .sw-values article{border-color:#d7d0c4!important}
body.unified-inner .sw-values h3,body.unified-inner .sw-feature-grid h3{color:#2d2c29!important}
body.unified-inner .sw-values span,body.unified-inner .sw-feature-grid b{color:#9c805e!important}
body.unified-inner .sw-feature-grid{background:#d9d0c4!important;border-color:#d9d0c4!important}
body.unified-inner .sw-feature-grid article{background:#faf7f1!important}
body.unified-inner .sw-performance{background:#f0ece5!important}
body.unified-inner .sw-contact{background:#242520!important}
body.unified-inner .sw-contact h2{color:#fff!important}
body.unified-inner .sw-links a{color:#3b352d!important}
body.unified-inner .text-link{color:#786144!important;border-bottom-color:#a58c6d!important}
/* other old widgets */
body.unified-inner .form-input:focus,body.unified-inner .form-select:focus,body.unified-inner .form-textarea:focus{border-color:#a0845f!important;outline:2px solid rgba(160,132,95,.2)!important}
body.unified-inner .form-title,body.unified-inner .recruit-section h3,body.unified-inner .news-title,body.unified-inner .privacy-body h3{color:#2e2924!important}
body.unified-inner .life-copy{color:#2c2925!important}
body.unified-inner .life-intro{padding-top:clamp(120px,16vw,230px)!important}
body.unified-inner .unified-text-hero{background:#e9e2d7!important;padding:clamp(160px,19vw,250px) 0 85px!important;min-height:440px!important}
body.unified-inner .unified-text-hero p{font:600 11px 'Manrope',sans-serif!important;color:#9b8264!important;letter-spacing:.22em!important;margin:0 0 22px!important}
body.unified-inner .unified-text-hero h2{font:500 clamp(38px,6vw,76px)/1.5 var(--h-serif)!important;margin:0!important}
/* Subtle cinematic reveal; no hidden text without JS */
body.unified-inner .unified-reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){body.unified-inner.has-js .unified-reveal:not(.is-visible){opacity:0;transform:translateY(36px)}body.unified-inner.has-js .unified-reveal{transition:opacity .95s ease,transform .95s cubic-bezier(.22,.65,.23,1)}}
/* Main top stays unchanged except shared header and footer */
body.unified-top #hero,body.unified-top .opening,body.unified-top .cinema{position:relative}
body.unified-top .hero h1{color:#fff!important}
body.unified-top .footer .footer-brand-column{max-width:500px}
/* responsive */
@media(max-width:980px){body.unified-site .site-header{height:72px!important}body.unified-site .site-header .header-cta{min-width:145px!important}body.unified-inner .unified-page-hero{min-height:530px!important;height:70svh!important}}
@media(max-width:700px){body.unified-site .site-header{height:68px!important;padding:0 20px!important;gap:8px!important}body.unified-site .site-header.scrolled{height:64px!important}body.unified-site .site-header .brand img{width:33px!important;height:33px!important;min-width:33px!important;max-width:33px!important;max-height:33px!important}body.unified-site .site-header .brand-name{font-size:17px!important}body.unified-site .site-header .header-cta{min-width:unset!important;padding:11px 13px!important;font-size:11px!important;gap:9px!important}body.unified-site .site-header .menu-toggle{width:39px!important;height:42px!important}body.unified-site .site-header .menu-toggle span{width:26px!important}body.unified-site .mobile-menu{padding:90px 24px 45px!important}body.unified-site .mobile-menu a{font-size:17px!important;padding:10px 0!important}body.unified-site .footer{padding:67px 0 25px!important}body.unified-site .footer .footer-top{display:flex!important;flex-direction:column!important;gap:35px!important;padding-bottom:50px!important}body.unified-site .footer .footer-brand img{width:43px!important;height:43px!important}body.unified-site .footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 20px!important;width:100%}body.unified-site .footer .footer-links a{font-size:11px!important}body.unified-site .footer .footer-bottom{flex-wrap:wrap!important;font-size:9px!important}body.unified-inner .unified-page-hero{height:78svh!important;min-height:540px!important}body.unified-inner .unified-page-hero .page-hero-content{left:24px!important;right:24px!important;bottom:78px!important}body.unified-inner .unified-page-hero .page-hero-title{font-size:clamp(37px,9vw,56px)!important}body.unified-inner .unified-page-hero .page-hero-lead{font-size:12px!important}body.unified-inner .section{padding:78px 0!important}body.unified-inner .sec-title{font-size:clamp(31px,8vw,47px)!important}body.unified-inner .card:nth-child(even){margin-top:0!important}body.unified-inner .unified-case-hero{min-height:540px!important;height:76svh!important}body.unified-inner .unified-case-heading{left:23px!important;right:23px!important;bottom:72px!important}body.unified-inner .unified-case-heading h1{font-size:clamp(31px,7.6vw,44px)!important}body.unified-inner .sw-hero{min-height:590px!important;height:78svh!important}body.unified-inner .sw-hero-content{left:24px!important;right:24px!important;bottom:85px!important}body.unified-inner .sw-hero-content h1{font-size:clamp(32px,8vw,46px)!important}body.unified-inner .life-intro{padding-top:120px!important}}
@media(max-width:385px){body.unified-site .site-header .header-cta{display:none!important}body.unified-site .site-header .menu-toggle{margin-left:auto!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}body.unified-inner .unified-reveal{opacity:1!important;transform:none!important}}
/* Detailed work-gallery treatment: editorial two-column flow, large images */
body.unified-inner .case-gallery,body.unified-inner .works-detail-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:clamp(28px,4.8vw,74px) clamp(18px,3.5vw,55px)!important;margin:clamp(50px,7vw,100px) 0!important;align-items:start!important}
body.unified-inner .case-gallery figure,body.unified-inner .works-detail-gallery figure{margin:0!important;padding:0!important;min-width:0!important;background:none!important}
body.unified-inner .case-gallery figure:first-child{grid-column:span 2}
body.unified-inner .case-gallery figure:nth-child(4n+3),body.unified-inner .works-detail-gallery figure:nth-child(4n+2){margin-top:clamp(0px,5vw,75px)!important}
body.unified-inner .case-gallery img,body.unified-inner .works-detail-gallery img{display:block!important;width:100%!important;max-height:none!important;height:auto!important;aspect-ratio:4/3!important;object-fit:cover!important;background:#ddd2c1!important;cursor:zoom-in!important}
body.unified-inner .case-gallery figure:first-child img{aspect-ratio:16/9!important}
body.unified-inner .case-gallery figcaption,body.unified-inner .works-detail-gallery figcaption{font:400 13px/2 var(--h-sans)!important;color:#676057!important;letter-spacing:.025em!important;border-top:1px solid #d5c9ba!important;padding:18px 0 0!important;margin-top:16px!important;min-height:70px!important}
body.unified-inner .case-gallery figcaption strong,body.unified-inner .works-detail-gallery figcaption strong{display:block!important;font:600 19px/1.7 var(--h-serif)!important;color:#332e27!important;margin-bottom:6px!important}
body.unified-inner .case-gallery+*,body.unified-inner .works-detail-gallery+*{margin-top:55px}
@media(max-width:700px){body.unified-inner .case-gallery,body.unified-inner .works-detail-gallery{grid-template-columns:1fr!important;gap:45px!important}body.unified-inner .case-gallery figure:first-child{grid-column:auto!important}body.unified-inner .case-gallery figure:nth-child(4n+3),body.unified-inner .works-detail-gallery figure:nth-child(4n+2){margin-top:0!important}body.unified-inner .case-gallery figure:first-child img{aspect-ratio:4/3!important}body.unified-inner .case-gallery figcaption,body.unified-inner .works-detail-gallery figcaption{font-size:12px!important}}

/* Photo viewer for the Maehira case study */
.unified-photo-viewer[hidden]{display:none!important}
.unified-photo-viewer{position:fixed;inset:0;z-index:900;background:rgba(19,19,18,.96);display:flex;justify-content:center;align-items:center;padding:72px clamp(30px,9vw,140px);color:#fff}
.unified-photo-viewer img{width:auto;height:auto;max-width:100%;max-height:calc(100svh - 145px);object-fit:contain}
.unified-photo-viewer button{position:absolute;z-index:2;display:grid;place-items:center;color:#fff;background:rgba(40,40,36,.35);border:1px solid #bbb5ad;font-size:31px;width:47px;height:47px;border-radius:50%;cursor:pointer}
.unified-photo-viewer .upv-close{right:20px;top:20px}.unified-photo-viewer .upv-prev{left:14px;top:50%;transform:translateY(-50%)}.unified-photo-viewer .upv-next{right:14px;top:50%;transform:translateY(-50%)}
.unified-photo-viewer .upv-count{position:absolute;left:22px;bottom:23px;font:500 11px 'Manrope',sans-serif;letter-spacing:.1em}
