:root{--ink:#151515;--muted:#686868;--line:#deddd9;--paper:#fbfaf8;--wash:#f0efeb;--accent:#df3155;--max:1160px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","DM Sans",sans-serif;line-height:1.8}
a{color:inherit;text-decoration:none}
img{display:block;width:100%;height:100%;object-fit:cover}
.wrap{width:min(calc(100% - 48px),var(--max));margin:auto}
.utility{background:#151515;color:#eee;font:500 10px/1.2 "DM Sans",sans-serif;letter-spacing:.12em;padding:10px 0;text-transform:uppercase}
.utility .wrap{display:flex;justify-content:space-between}
.utility span:last-child{color:#aaa}
header{height:89px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;width:68px;height:64px;flex:0 0 68px}
.brand::before{content:"";display:block;width:100%;height:100%;background:url("media/ginya-logo.png") center/contain no-repeat;filter:grayscale(1) contrast(100) invert(1);mix-blend-mode:multiply}
.brand .mark,.brand .brand-main,.brand .brand-sub{display:none}
.mark{border:2px solid var(--ink);display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font:700 13px/1 "DM Sans"}
.brand-main{display:block;font:700 18px/1 "DM Sans";letter-spacing:.08em}
.brand-sub{font:500 10px/1 "Noto Sans JP";letter-spacing:.1em;display:block;margin-top:5px;color:var(--muted)}
nav{display:flex;gap:20px;font:500 11px/1 "Noto Sans JP";letter-spacing:.04em}
nav a:hover{color:var(--accent)}
.contact-link{border:1px solid var(--ink);padding:12px 16px;font:600 11px/1 "DM Sans";letter-spacing:.08em}
.contact-link:hover{background:var(--ink);color:#fff}
.page-hero{padding:90px 0 68px;border-bottom:1px solid var(--line)}
.eyebrow,.kicker{font:600 11px/1 "DM Sans";letter-spacing:.16em;color:var(--accent)}
h1{font-size:clamp(42px,6vw,78px);line-height:1.16;letter-spacing:-.045em;margin:18px 0 24px;font-weight:600}
h2{font-size:clamp(28px,3.6vw,46px);line-height:1.3;letter-spacing:-.03em;margin:0 0 18px}
.lead{max-width:690px;color:var(--muted);font-size:16px;margin:0}
.content{padding:88px 0}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.content p{font-size:14px;color:var(--muted)}
.photo{border-radius:16px;overflow:hidden;aspect-ratio:1.15;background:#ddd}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--line);padding:28px;background:#fff}
.card b{font:600 11px/1 "DM Sans";letter-spacing:.12em;color:var(--accent)}
.card h3{font-size:20px;margin:18px 0 12px;line-height:1.4}
.card p{font-size:13px;margin:0}
.back-link{display:inline-flex;gap:13px;align-items:center;font:600 11px/1 "DM Sans";letter-spacing:.08em;border-bottom:1px solid var(--ink);padding-bottom:5px}
.note{margin-top:35px;padding:18px 20px;background:#f0ede7;color:#706b62;font-size:12px}
.profile-section{padding:96px 0}.profile-section.is-wash{background:var(--wash)}
.profile-hero{padding:64px 0}.profile-hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(34px,6vw,82px);align-items:center}.profile-hero-grid h1{font-size:clamp(38px,4vw,58px);line-height:1.22;margin-bottom:24px}.profile-hero-purpose{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);max-width:650px}.profile-hero-purpose span{font:600 13px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.02em}.profile-hero-purpose p{font-size:13px;line-height:1.85;color:var(--muted);margin:11px 0 0}.profile-hero-visual{aspect-ratio:800/533;margin:0;min-height:0;overflow:hidden;background:var(--wash)}.profile-hero-visual img{width:100%;height:100%;object-fit:cover}
.profile-split{display:grid;grid-template-columns:minmax(0,.82fr) minmax(340px,1.18fr);gap:clamp(42px,7vw,108px);align-items:start}.profile-statement{font-size:clamp(26px,3.25vw,43px);line-height:1.38;letter-spacing:-.035em;margin:0}.profile-body{font-size:15px;line-height:2;color:var(--muted);margin:0}.profile-body+p{margin-top:18px}
.profile-heading{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:38px}.profile-heading h2{margin:0}.profile-heading p{max-width:490px;margin:0;color:var(--muted);font-size:14px}
.profile-business-grid,.profile-strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.profile-business-card,.profile-strength-card{background:#fff;padding:31px 28px;min-height:280px}.profile-business-card b,.profile-strength-card b{font:600 11px/1 "DM Sans";letter-spacing:.14em;color:var(--accent)}.profile-business-card h3,.profile-strength-card h3{font-size:22px;line-height:1.35;margin:22px 0 14px}.profile-business-card p,.profile-strength-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}
.profile-strength-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:clamp(42px,7vw,104px);align-items:center}.profile-strength-layout h2{margin:16px 0 34px}.profile-strength-list{list-style:none;margin:0;padding:0}.profile-strength-list li{display:grid;grid-template-columns:78px 1fr;gap:28px;padding:23px 0;border-top:1px solid var(--line)}.profile-strength-list li:last-child{border-bottom:1px solid var(--line)}.profile-strength-list b{font:600 20px/1 "DM Sans";letter-spacing:-.03em;color:var(--accent)}.profile-strength-list h3{font-size:21px;line-height:1.45;margin:0 0 11px}.profile-strength-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.85}.profile-strength-visual{aspect-ratio:1/1;margin:0;overflow:hidden;border-radius:54px;background:var(--wash)}.profile-strength-visual img{width:100%;height:100%;object-fit:cover}
.profile-support{display:grid;grid-template-columns:minmax(250px,.75fr) 1.25fr;gap:58px;align-items:start}.profile-support>p{margin:16px 0 0;color:var(--muted);font-size:14px}.support-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr}.support-list li{display:flex;gap:13px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line);font-size:14px}.support-list b{font:600 10px/1 "DM Sans";letter-spacing:.1em;color:var(--accent);min-width:24px}
.profile-support-content{display:grid;grid-template-columns:1fr minmax(190px,.68fr);gap:26px;align-items:stretch}.profile-support-visual,.profile-information-visual{margin:0;overflow:hidden;background:#252525}.profile-support-visual img,.profile-information-visual img{width:100%;height:100%;object-fit:cover}.profile-information{padding:96px 0;background:#171717;color:#fff}.profile-information-layout{display:grid;grid-template-columns:minmax(230px,.62fr) 1.38fr;gap:clamp(34px,6vw,82px);align-items:stretch}.profile-information-visual{min-height:610px}.profile-information .kicker{color:#f29aaf}.profile-information h2{margin:16px 0 38px}.profile-table{border-top:1px solid #777;margin:0}.profile-table>div{display:grid;grid-template-columns:minmax(165px,.34fr) 1fr;gap:26px;padding:25px 0;border-bottom:1px solid #555}.profile-table dt{font:600 11px/1.45 "DM Sans";letter-spacing:.13em;color:#f4a1b4}.profile-table dd{margin:0;font-size:15px;line-height:1.9}.profile-table ul{list-style:none;padding:0;margin:0;display:grid;gap:5px}.profile-table li{padding-left:15px;position:relative}.profile-table li::before{content:"";position:absolute;top:.84em;left:0;width:5px;height:5px;background:#f4a1b4;border-radius:50%}
.support-eight-grid .service-card:nth-child(5){border-left:0;padding-left:0}.live-recruit-banner{padding:0 0 88px}.live-recruit-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:40px 48px;background:var(--ink);color:#fff}.live-recruit-banner .kicker{color:#f3a0b2}.live-recruit-banner h2{font-size:clamp(25px,3vw,39px);line-height:1.32;margin:14px 0 0}.live-recruit-banner p{max-width:600px;margin:14px 0 0;color:#d4d4d4;font-size:13px;line-height:1.8}.live-recruit-banner a{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;border:1px solid #fff;padding:15px 18px;color:#fff;font:600 11px/1 "Noto Sans JP",sans-serif;letter-spacing:.08em}.live-recruit-banner a::after{content:"→";margin-left:13px;font:400 18px/1 "DM Sans"}.live-recruit-banner a:hover{background:#fff;color:var(--ink)}.support-grid.support-grid-eight{grid-template-columns:repeat(4,1fr)}
.news-list{border-top:1px solid var(--line)}
.news-row{display:grid;grid-template-columns:160px 1fr auto;gap:20px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}
.news-row time{font:500 11px/1 "DM Sans";letter-spacing:.1em;color:var(--muted)}
.news-row small{display:block;font:600 10px/1 "DM Sans";letter-spacing:.12em;color:var(--accent);margin-bottom:6px}
.news-row h3{font-size:17px;line-height:1.5;margin:0;font-weight:500}
.status{font:600 10px/1 "DM Sans";letter-spacing:.1em;color:#777;border:1px solid #bbb;padding:7px 8px}
.business-hero{display:grid;grid-template-columns:1fr 1fr;background:#202020;color:white;min-height:500px}
.business-hero-copy{padding:80px clamp(28px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.business-hero .eyebrow{color:#f17b91}
.business-hero h1{font-size:clamp(37px,5vw,65px)}
.business-hero p{color:#ccc;font-size:14px;max-width:480px}
.business-visual{min-height:360px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.step{padding:22px 20px 20px 0;border-bottom:1px solid var(--line);min-height:170px}
.step:not(:first-child){padding-left:20px;border-left:1px solid var(--line)}
.step b{font:600 11px/1 "DM Sans";letter-spacing:.12em;color:var(--accent)}
.step h3{font-size:16px;line-height:1.4;margin:22px 0 7px}
.step p{font-size:12px;margin:0}
footer{background:#161616;color:#eee;padding:28px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}
.footer-inner span{color:#aaa;font:500 10px/1.5 "DM Sans";letter-spacing:.08em}
@media(max-width:800px){.wrap{width:min(calc(100% - 30px),var(--max))}
.utility span:last-child,.contact-link{display:none}
header{height:auto;min-height:72px;flex-wrap:wrap;padding:14px 0}
nav{order:3;width:100%;justify-content:space-between;gap:8px;font-size:10px;overflow:auto;padding-top:3px}
.page-hero{padding:60px 0 50px}
.content{padding:60px 0}
.content-grid,.business-hero{grid-template-columns:1fr;gap:35px}
.profile-section,.profile-information{padding:62px 0}.profile-hero{padding:34px 0 54px}.profile-hero-grid,.profile-split,.profile-support,.profile-information-layout,.profile-strength-layout{grid-template-columns:1fr;gap:30px}.profile-hero-visual{min-height:0}.profile-heading{display:block;margin-bottom:28px}.profile-heading p{margin-top:14px}.profile-business-grid,.profile-strength-grid{grid-template-columns:1fr}.profile-business-card,.profile-strength-card{min-height:0;padding:26px 22px}.profile-strength-list li{grid-template-columns:50px 1fr;gap:15px;padding:20px 0}.profile-strength-list h3{font-size:19px}.profile-strength-visual{max-width:560px;width:100%;border-radius:28px}.profile-support-content{grid-template-columns:1fr}.profile-support-visual{min-height:390px}.support-list{grid-template-columns:1fr}.profile-information-visual{min-height:390px}.profile-table>div{grid-template-columns:1fr;gap:9px;padding:20px 0}
.support-eight-grid .service-card:nth-child(odd){border-left:0;padding-left:0}.live-recruit-banner{padding:0 0 60px}.live-recruit-banner .wrap{display:block;padding:34px 26px}.live-recruit-banner a{margin-top:24px}.support-grid.support-grid-eight{grid-template-columns:1fr 1fr}
.cards{grid-template-columns:1fr}
.news-row{grid-template-columns:1fr auto;gap:8px}
.news-row time{grid-column:1/-1}
.business-hero-copy{padding:58px 28px}
.business-visual{min-height:270px}
.steps{grid-template-columns:1fr 1fr}
.step:nth-child(3){border-left:0;padding-left:0}
.footer-inner{align-items:flex-start;flex-direction:column}
}

/* Shared refined CTA icons. */.contact-link{display:inline-flex!important;align-items:center!important;gap:11px!important;font-size:0!important}
.contact-link::before{content:"CONTACT";font:600 11px/1 "DM Sans";letter-spacing:.08em}
.contact-link::after{content:"";display:inline-block;width:12px;height:1px;background:currentColor;transform:rotate(-45deg);transform-origin:left center}
.back-link::before{content:"";display:inline-block;width:7px;height:7px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 9px 0 2px}

:root{--svg-arrow-up-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");--svg-arrow-left:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5m6 6-6-6 6-6'/%3E%3C/svg%3E")}
.contact-link::after{width:14px;height:14px;background:currentColor;transform:none;-webkit-mask:var(--svg-arrow-up-right) center/contain no-repeat;mask:var(--svg-arrow-up-right) center/contain no-repeat}
.back-link::before{width:14px;height:14px;border:0;background:currentColor;transform:none;margin:0 8px 0 0;-webkit-mask:var(--svg-arrow-left) center/contain no-repeat;mask:var(--svg-arrow-left) center/contain no-repeat}

:root{--svg-arrow-right:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E")}
.contact-link::after{-webkit-mask-image:var(--svg-arrow-right);mask-image:var(--svg-arrow-right)}

/* Secondary pages share the same white canvas. */.business-hero{background:#fff!important;color:var(--ink)!important;border-bottom:1px solid var(--line)}
.business-hero p{color:var(--muted)!important}
.business-hero .eyebrow{color:var(--accent)!important}
.business-visual{background:#f0efeb}

.recruit-hero{background:#fff!important;color:var(--ink)!important;border-bottom:1px solid var(--line)}
.recruit-hero p{color:var(--muted)!important}
.recruit-hero .eyebrow{color:var(--accent)!important}
.recruit-hero .recruit-cta{background:var(--ink)!important;color:#fff!important}
.apply-box{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line)}
.apply-box p{color:var(--muted)!important}
.apply-box a{background:var(--ink)!important;color:#fff!important}
footer{background:#fff!important;color:var(--ink)!important;border-top:1px solid var(--line)}
.footer-inner span{color:var(--muted)!important}

.recruit-data{padding:86px 0;background:#f0efeb}
.recruit-data .data-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.recruit-data article{background:#fff;padding:28px;min-height:190px}
.recruit-data b{font:600 11px/1 "DM Sans";letter-spacing:.13em;color:var(--accent)}
.recruit-data h3{font-size:19px;line-height:1.45;margin:18px 0 10px}
.recruit-data p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.recruit-data .case-name{font:600 20px/1.3 "DM Sans";color:var(--ink)}
.recruit-data .case-id{font:500 11px/1.5 "DM Sans";letter-spacing:.06em;color:var(--accent);margin:8px 0}
.recruit-data .disclaimer{font-size:11px;color:var(--muted);margin-top:22px}
@media(max-width:800px){.recruit-data{padding:60px 0}
.recruit-data .data-grid{grid-template-columns:1fr}
}

.studio-visual{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:25px}
.studio-level{padding:26px;background:#fff;border-top:3px solid var(--ink)}
.studio-level span{display:block;font:600 11px/1 "DM Sans";letter-spacing:.13em;color:var(--accent)}
.studio-level strong{display:block;font:500 22px/1.25 "Noto Sans JP";margin:15px 0 10px}
.studio-level p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.studio-stat{margin:12px 0 0;padding:22px 25px;background:var(--ink);color:#fff;display:flex;align-items:baseline;gap:13px}
.studio-stat strong{font:500 38px/1 "DM Sans";letter-spacing:-.04em}
.studio-stat span{font-size:12px}
.case-chart{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px;min-height:310px;align-items:end;border-bottom:1px solid var(--line)}
.case-bar{display:flex;flex-direction:column;justify-content:flex-end;min-height:290px}
.case-bar .bar{height:0;background:var(--ink);transition:height 900ms cubic-bezier(.2,.8,.2,1)}
.case-bar.show .bar{height:calc(var(--bar)*180px)}
.case-bar strong{font:500 26px/1 "DM Sans";margin:0 0 12px}
.case-bar p{margin:12px 0 18px;font-size:12px;line-height:1.6;color:var(--muted)}
@media(max-width:800px){.studio-visual,.case-chart{grid-template-columns:1fr}
.case-chart{min-height:0;border-bottom:0;gap:8px}
.case-bar{min-height:auto;display:grid;grid-template-columns:92px 1fr;gap:12px;align-items:center}
.case-bar strong{grid-column:1;margin:0}
.case-bar .bar{grid-column:2;grid-row:1;height:18px!important;width:0;transition:width 900ms cubic-bezier(.2,.8,.2,1)}
.case-bar.show .bar{width:var(--bar-width)}
.case-bar p{grid-column:1/-1;margin:0 0 12px}
}

.case-media{position:relative;overflow:hidden;padding-top:0!important}
.case-media::before{content:"";display:block;height:300px;background:linear-gradient(90deg,#0000003d,#0000),url("media/recruit-creator.jpeg") center 38%/cover}
.case-media>.wrap{position:relative}
.case-media .case-chart{background:#fff;margin:-68px 30px 0;padding:22px 28px;position:relative}
.case-media .disclaimer{margin-left:30px;margin-right:30px}
.case-media .kicker,.case-media h2{position:absolute;top:-265px;color:#fff;z-index:1}
.case-media h2{top:-235px;margin:0;font-size:clamp(28px,3.6vw,46px)}
@media(max-width:800px){.case-media::before{height:230px}
.case-media .case-chart{margin:-30px 0 0;padding:20px}
.case-media .kicker{top:-195px}
.case-media h2{top:-168px}
.case-media .disclaimer{margin-left:0;margin-right:0}
}

.case-media{padding-top:86px!important;background:#fff}
.case-media::before{display:none}
.case-media .case-chart{background:transparent;margin:28px 0 0;padding:0}
.case-media .disclaimer{margin-left:0;margin-right:0}
.case-media .kicker,.case-media h2{position:static;color:inherit}
.case-media h2{margin:12px 0 0;font-size:clamp(28px,3.6vw,46px)}
@media(max-width:800px){.case-media{padding-top:60px!important}
.case-media .case-chart{margin-top:22px;padding:0}
}


/* Shared navigation, aligned with the homepage. */
header{position:sticky;top:0;background:var(--paper);z-index:20;gap:28px}
nav#site-nav{align-items:center;gap:45px}
.menu-btn{display:none;border:0;background:transparent;font-size:25px;padding:7px}
.nav-item,.nav-dropdown summary{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 0;font:600 11px/1 "Noto Sans JP",sans-serif;letter-spacing:.04em;white-space:nowrap}
.nav-item small,.nav-dropdown summary small{font:500 8px/1 "DM Sans",sans-serif;letter-spacing:.11em;color:var(--muted)}
.nav-dropdown{position:relative}
.nav-dropdown summary{list-style:none;cursor:pointer}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-business-label{position:relative;padding-right:18px}
.nav-menu-icon{position:absolute;right:0;top:50%;transform:translateY(-50%);font:400 16px/.8 "DM Sans"}
.nav-dropdown-menu{position:absolute;top:43px;left:-19px;width:190px;padding:9px 18px 12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 35px #00000012}
.nav-dropdown-menu a{display:block;padding:10px 0;border-bottom:1px solid #ebe9e5;font-size:11px}
.nav-dropdown-menu a:last-child{border:0}
.nav-item.is-current,.nav-dropdown.is-current summary{position:relative;color:var(--accent)}
.nav-item.is-current small,.nav-dropdown.is-current summary small{color:currentColor}
.nav-item.is-current::after,.nav-dropdown.is-current summary::after{content:"";position:absolute;left:50%;bottom:-11px;width:22px;height:2px;background:var(--accent);transform:translateX(-50%)}
.nav-dropdown-menu a.is-current{color:var(--accent);font-weight:600}
@media(max-width:800px){header{height:72px;min-height:72px;padding:0}
.brand-main{font-size:16px}
nav#site-nav{position:fixed;inset:72px 0 auto;background:var(--paper);display:none;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:12px 15px 20px}
nav#site-nav.open{display:flex}
.nav-item,.nav-dropdown summary{align-items:flex-start;gap:6px;padding:12px 0;border-bottom:1px solid #e4e2de}
.nav-item.is-current::after,.nav-dropdown.is-current summary::after{left:0;bottom:0;transform:none}
.nav-dropdown-menu{position:static;width:auto;box-shadow:none;border:0;padding:0 14px}
.menu-btn{display:block}
}

@media(min-width:801px){header.wrap{border-bottom:0}
header.wrap::before{content:"";position:absolute;z-index:-1;top:0;bottom:-1px;left:calc((100vw - 100%)/-2);right:calc((100vw - 100%)/-2);background:var(--paper);border-bottom:1px solid var(--line)}
}

/* Lightweight business-page contact panel. */
.business-contact{padding:0 0 88px}
.business-contact .wrap{border-top:1px solid var(--line);padding-top:28px}
.business-contact-inner{display:grid;grid-template-columns:1.1fr .9fr auto;gap:28px;align-items:end}
.business-contact-label{font:600 10px/1 "DM Sans";letter-spacing:.14em;color:var(--accent)}
.business-contact h2{margin:11px 0 0;font-size:clamp(23px,2.4vw,32px)}
.business-contact p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.7}
.business-contact-details{display:flex;gap:26px;align-items:flex-end}
.business-contact-details a{display:block;font:600 16px/1.4 "DM Sans";letter-spacing:.015em}
.business-contact-details small{display:block;margin-bottom:6px;font:600 9px/1 "DM Sans";letter-spacing:.12em;color:var(--muted)}
.business-contact-cta{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;border:1px solid var(--ink);padding:14px 17px;font:600 10px/1 "DM Sans";letter-spacing:.1em}
.business-contact-cta::after{content:"→";font-size:16px;line-height:.8}
.business-contact-cta:hover{background:var(--ink);color:#fff}
@media(max-width:800px){.business-contact{padding-bottom:60px}.business-contact-inner{grid-template-columns:1fr;gap:22px}.business-contact-details{gap:20px;flex-wrap:wrap}.business-contact-cta{justify-self:start}}

/* Compact language menu shared by all site pages. */
.language-switcher{position:relative;flex:0 0 auto;margin-left:auto}.language-toggle{display:grid;place-items:center;width:42px;height:46px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer}.language-toggle svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.language-toggle:hover,.language-switcher.is-open .language-toggle{background:transparent;color:var(--accent)}.language-menu{position:absolute;z-index:20;top:calc(100% + 8px);right:0;display:none;min-width:112px;padding:6px;background:#fff;border:1px solid var(--ink);box-shadow:0 10px 22px #00000018}.language-switcher.is-open .language-menu{display:grid}.language-menu button{border:0;background:transparent;padding:10px 12px;text-align:left;color:var(--muted);font:600 11px/1 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.07em;cursor:pointer}.language-menu button:hover,.language-menu button.is-active{background:var(--ink);color:#fff}@media(max-width:800px){.language-switcher{margin-left:auto}.language-toggle{width:40px;height:40px}.language-menu{right:0}}

