/* Editorial refinement: generous rhythm, clear type, quiet contrast. */
:root{--paper:#f7f6f2;--ink:#18212e;--muted:#697384}
.header{height:84px;background:#101824ed;backdrop-filter:blur(18px);padding-inline:6%}
.desktop-nav{gap:38px;font-size:13px;font-weight:500}
.hero{height:min(820px,calc(100svh - 84px));min-height:660px}
.hero-main{padding-top:90px}.hero h1{font-size:clamp(52px,5.4vw,84px);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;letter-spacing:.07em;line-height:1.6}
.hero-links{display:flex;gap:36px}.hero-about{font-size:13px}.hero-description{font-size:15px;line-height:2.25}
.section-wrap{padding-block:120px}.section-label{font-size:11px;margin-bottom:64px;padding-bottom:22px;border-bottom:1px solid #bdc3cb80}.section-label .tiny-cross{display:none}.jp-label{margin-left:auto}
.philosophy-message h2,.company h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.8}
.philosophy-message h2{font-size:clamp(34px,3.7vw,52px)}.philosophy-message{min-height:580px}.philosophy-copy{font-size:15px;line-height:2.25;letter-spacing:.025em}.philosophy-copy .lead-copy{font-size:23px;margin-bottom:30px!important}.philosophy-copy p{margin-bottom:23px}.signature{font-size:18px;margin-top:32px}.values{font-size:12px;justify-content:space-between;gap:12px}.philosophy-copy .preparation-note{font-size:11px;line-height:1.9;color:#687382;border-left:2px solid #bcc2cb;padding-left:14px;margin-top:28px}.philosophy-photo-label{font-size:8px}
.business{background:#101a29;color:#f4f4f1;position:relative}.business .section-label{color:#aab8cc;border-color:#ffffff26;margin-bottom:52px}.business .ai-block{background:none;padding:0;overflow:visible;grid-template-columns:1.05fr 1fr;gap:0 5%}.ai-intro .eyebrow{font-size:12px;letter-spacing:.25em;color:#b4c4db;margin-bottom:24px}.ai-intro h2{font-size:clamp(38px,4.8vw,66px);line-height:1.5;letter-spacing:.035em;font-weight:400;margin-bottom:28px}.soft-line{color:#b7c5d8}.ai-intro p{font-size:15px;color:#bfc9d7;line-height:2.15}.ai-intro .ai-statement{font-size:21px;letter-spacing:.13em;color:#f1f3f7;margin-bottom:14px}.digital-illustration{max-width:560px;position:relative}.digital-illustration:before{content:"";position:absolute;inset:12%;background:radial-gradient(ellipse,#a4b8d111,transparent 70%);z-index:0}.digital-illustration img{position:relative}.ai-detail-link{display:inline-flex;gap:38px;align-items:center;margin-top:22px;font-size:12px;padding-bottom:9px;border-bottom:1px solid #9bacbf80}.ai-detail-link span{font-size:18px;transition:transform .2s}.ai-detail-link:hover span{transform:translateY(4px)}
.ai-services{margin-top:72px;padding-top:40px;border-color:#ffffff2b;scroll-margin-top:120px}.ai-services>div{padding:0 25px}.ai-services>div+div{border-color:#ffffff26}.ai-services>div>span{font:italic 23px Georgia,serif;color:#95a8c0;letter-spacing:.03em;margin-bottom:12px}.ai-services h3{font-size:23px;font-weight:400;height:104px;margin-bottom:22px;line-height:1.5}.ai-services h3 .service-subtitle{display:block;font-size:16px;margin-top:6px;color:#b8c5d6}.ai-services p{font-size:14px;line-height:2.1;color:#c7d0dc}.service-scope{display:block;margin-top:22px;font-size:10px;color:#9cacc0;letter-spacing:.03em}.ai-services h3:after{height:1px;width:40px;background:#93a9c4}.ai-services>div:hover h3:after{width:88px}
.business-principle{margin-top:64px;padding-top:30px;border-top:1px solid #ffffff26;display:flex;align-items:center;justify-content:space-between;gap:24px}.business-principle>span:first-child{font:10px Arial;letter-spacing:.18em;color:#94a7c0}.business-principle p{font-family:"Yu Mincho",serif;font-size:21px;letter-spacing:.04em;margin:0}.principle-detail{font-size:12px;color:#aebccc;line-height:2}.mobile-break{display:none}
.company-table{font-size:15px}.company-table dt{font-size:12px}.company-table>div{padding-block:25px}.company-grid>div>p{font-size:14px}.company-grid h2{font-size:36px}.footer{padding-block:52px 30px}.footer-top p{font-size:12px}.footer-bottom small{font-size:10px}
@media(min-width:1500px){.section-wrap{padding-inline:max(7.4%,calc((100vw - 1300px)/2))}}
@media(max-width:1100px){.section-wrap{padding-block:90px}.philosophy-grid{gap:5%}.philosophy-copy{font-size:14px}.philosophy-copy .lead-copy{font-size:19px}.ai-services>div{padding-inline:15px}.ai-services h3{font-size:20px}.ai-services p{font-size:12px}.business-principle p{font-size:18px}.principle-detail{font-size:11px}.company-grid{gap:6%}}
@media(max-width:760px){.header{height:72px}.hero{height:calc(100svh - 72px);min-height:660px}.hero-main{padding:65px 7% 135px}.hero h1{font-size:clamp(36px,9.5vw,58px);line-height:1.7;margin-top:32px}.hero-description{font-size:13px}.hero-links{gap:22px;flex-wrap:wrap}.hero-about{font-size:11px;gap:13px}.hero .round-arrow{width:29px;height:29px}.section-wrap{padding-block:76px}.section-label{font-size:9px;margin-bottom:36px;padding-bottom:17px}.jp-label{font-size:11px}.philosophy-message{min-height:425px}.philosophy-message h2{font-size:35px}.signature{font-size:16px}.philosophy-copy{font-size:14px;line-height:2.2}.philosophy-copy .lead-copy{font-size:20px}.philosophy-copy .preparation-note{font-size:11px}.values{font-size:10px}.business .section-label{margin-bottom:38px}.business .ai-block{display:block}.ai-intro h2{font-size:43px;line-height:1.5;margin-bottom:24px}.ai-intro .eyebrow{font-size:11px}.ai-intro .ai-statement{font-size:18px}.ai-intro p{font-size:14px}.digital-illustration{max-width:400px;margin:32px auto 0}.ai-services{margin-top:32px;padding-top:32px}.ai-services>div{padding:30px 0}.ai-services>div+div{border-left:0}.ai-services>div>span{font-size:22px}.ai-services h3{font-size:24px;height:auto;min-height:82px;margin-bottom:20px;padding-bottom:20px}.ai-services p{font-size:14px;max-width:25em}.ai-services p br{display:revert}.service-scope{font-size:11px;margin-top:17px}.business-principle{display:block;margin-top:42px;padding-top:28px}.business-principle p{font-size:23px;line-height:1.8;margin:16px 0}.principle-detail{font-size:12px}.mobile-break{display:block}.company-grid h2{font-size:30px}.company-table{font-size:13px}.company-table dt{font-size:11px}.company-table>div{grid-template-columns:80px 1fr;gap:12px}.company-grid>div>p{font-size:13px}.footer-top p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.ai-detail-link span{transition:none}}

/* Soft portrait, with faces below the main heading. */
.philosophy-memory{background-position:center 54%;opacity:.22;filter:grayscale(1) contrast(.86) brightness(1.12)}
@media(max-width:760px){.philosophy-memory{background-position:center 52%;opacity:.2}.philosophy-copy .lead-copy{font-size:18px}.ai-services p br{display:none}}

/* Aligned service headings, copy and scope; a warm gold interaction. */
.ai-services>div>div{display:grid;grid-template-rows:88px minmax(90px,auto) 24px;row-gap:22px;align-content:start}
.ai-services h3{height:88px;margin:0;padding-bottom:24px;font-size:clamp(18px,1.65vw,24px);line-height:1.5;align-self:start}
.ai-services h3 .service-title{white-space:nowrap}
.ai-services h3:after{background:#b69a61;opacity:.85;width:42px;transition:width .35s ease,background-color .35s ease,opacity .35s ease}
.ai-services>div:hover h3:after{width:90px;background:#e3c589;opacity:1}
.ai-services p{margin:0;min-height:90px;font-size:14px;line-height:2.1;text-wrap:initial}
.ai-services p br{display:revert}
.ai-services .service-scope{margin:0;align-self:end;font-size:10px;line-height:2;white-space:nowrap}
@media(max-width:760px){.ai-services>div>div{grid-template-rows:auto auto auto;row-gap:20px}.ai-services h3{height:auto;min-height:64px;font-size:23px;padding-bottom:22px}.ai-services p{font-size:14px;min-height:0;line-height:2.1}.ai-services .service-scope{font-size:10px}.philosophy-message{min-height:410px}}
@media(prefers-reduced-motion:reduce){.ai-services h3:after{transition:none}}

/* Supplied Mitsurugi symbol, with existing company lettering retained. */
.brand-mark{object-fit:contain;flex-shrink:0;width:40px;height:40px}.company-mark{width:63px;height:60px;object-fit:contain;filter:brightness(.64)}
@media(max-width:760px){.brand-mark{width:31px;height:31px}.footer-top .brand-mark{width:29px;height:29px}}

/* One consistent Japanese wordmark, with a balanced English signature. */
.brand{gap:13px;align-items:center}.brand-wordmark{display:flex;flex-direction:column;align-items:center;gap:8px;line-height:1;white-space:nowrap}.brand-name{display:block;font-size:23px;font-weight:600;letter-spacing:.045em}.brand-english{display:block;font:10px/1 Arial,sans-serif;letter-spacing:.3em;padding-left:.3em;color:#d2dae6}.header .brand-mark,.footer .brand-mark{width:42px;height:42px}.footer-top .brand-name{font-size:23px}.footer-top .brand-english{font-size:10px}
@media(max-width:760px){.brand{gap:11px}.brand-wordmark{gap:7px}.brand-name,.footer-top .brand-name{font-size:20px;letter-spacing:.025em}.brand-english,.footer-top .brand-english{font-size:8px;letter-spacing:.28em;padding-left:.28em}.header .brand-mark,.footer .brand-mark{width:34px;height:34px}.footer-top p{margin-left:45px}}
/* Fine gold divider between the Japanese and English company names. */
.brand-wordmark{gap:6px}.brand-name{position:relative;padding-bottom:8px}.brand-name:after{content:"";position:absolute;bottom:0;left:2px;right:2px;height:1px;background:linear-gradient(90deg,#a88b55,#d8bd82 50%,#a88b55)}.brand-english,.footer-top .brand-english{font-size:9px;letter-spacing:.16em;padding-left:.16em;color:#e0e4eb}
@media(max-width:760px){.brand-wordmark{gap:5px}.brand-name{padding-bottom:7px}.brand-english,.footer-top .brand-english{font-size:8px;letter-spacing:.12em;padding-left:.12em}}
/* Keep large-screen gutters inside a full-width hero, without squeezing copy. */
.hero-main{width:100%;max-width:none;min-width:0}.hero h1{white-space:nowrap}
@media(max-width:370px){.hero-bottom{flex-direction:column;align-items:flex-start;gap:8px}.hero-bottom .scroll-cue{align-self:flex-end}.hero .photo-note{bottom:78px}.hero-controls{bottom:100px}}

/* Concrete brand promise, set on two intentional lines. */
.hero h1{font-size:clamp(32px,4.3vw,72px);line-height:1.65;letter-spacing:.055em;margin-top:36px;margin-bottom:32px}.hero-description{max-width:48em;line-height:2.2;text-wrap:pretty}
@media(max-width:760px){.hero h1{font-size:clamp(22px,6.5vw,36px);line-height:1.8;letter-spacing:.035em;margin-top:36px;margin-bottom:28px}.hero-description{font-size:13px;max-width:28em;line-height:2.2}.hero-links{margin-top:10px}}

/* Selected generation-spanning image, softly colored behind the philosophy. */
.philosophy-memory{background-image:url("assets/generations-community.webp");background-position:center 65%;filter:grayscale(.1) saturate(.65) contrast(.9) brightness(1.04);opacity:.52}
@media(max-width:760px){.philosophy-memory{background-position:center 65%;opacity:.48}}


/* A precisely aligned plus, and a single sharp entrance on arrival. */
.hero .hero-eyebrow{display:flex;align-items:center;gap:14px;width:fit-content;line-height:1;animation:hero-label-arrive 1.05s cubic-bezier(.22,1,.36,1) .12s both}
.hero-eyebrow .hero-eyebrow-text{display:block;font:500 10px/1 Arial,sans-serif;letter-spacing:.17em}
.hero-eyebrow .tiny-cross{position:relative;display:block;flex:0 0 11px;width:11px;height:11px;margin:0;color:inherit}
.hero-eyebrow .tiny-cross:before,.hero-eyebrow .tiny-cross:after{content:"";position:absolute;left:50%;top:50%;background:currentColor;transform:translate(-50%,-50%)}
.hero-eyebrow .tiny-cross:before{width:11px;height:1.5px}.hero-eyebrow .tiny-cross:after{width:1.5px;height:11px}
@keyframes hero-label-arrive{from{opacity:0;transform:translate3d(0,16px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:760px){.hero .hero-eyebrow{gap:11px}.hero-eyebrow .hero-eyebrow-text{font-size:8px}.hero-eyebrow .tiny-cross{flex-basis:9px;width:9px;height:9px}.hero-eyebrow .tiny-cross:before{width:9px}.hero-eyebrow .tiny-cross:after{height:9px}}
@media(prefers-reduced-motion:reduce){.hero .hero-eyebrow{animation:none;opacity:1;transform:none}}

/* Crisp still photography in natural color, with a brief crossfade. */
.hero-slide{transition:opacity .7s ease-in-out}.hero-slide:before{filter:saturate(1.12) contrast(1.025) brightness(.99);transform:none;animation:none}.hero-slide:after{display:none}
.hero-spotlight-image{filter:saturate(1.05) brightness(1.23);transform:none;animation:none}
.hero .hero-links .round-arrow{color:#d5b778;border-color:#b99a5d;background:transparent;transition:transform .25s ease,color .25s ease,border-color .25s ease,background-color .25s ease}
.hero .hero-links .text-link:hover .round-arrow{transform:translateX(4px);color:#f0d49d;border-color:#dfc18a;background:#bb9a5c12}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero .hero-links .text-link:hover .round-arrow{transform:none}}

/* Mobile-specific compositions and small image sources. */
@media(max-width:760px){.hero-slide:before,.hero-spotlight-image{background-image:var(--slide-image-mobile);background-position:center center}.philosophy-message{min-height:425px}.philosophy-memory{inset:0 -8px -10px;background-size:cover;background-position:center 66%}.philosophy-message:after{inset:0 -10px -12px}.digital-illustration{width:100%;max-width:380px}.digital-illustration img{height:auto}.footer-top{align-items:center}.footer-top .back-top{flex-shrink:0}}
@media(max-width:370px){.philosophy-message{min-height:395px}.philosophy-message h2{font-size:31px}.signature{font-size:14px}.company-table>div{grid-template-columns:68px 1fr;gap:10px}}

/* Mobile-only glass surface; the desktop copy keeps its existing layout. */
.hero-copy-card{display:contents}
@media(max-width:760px){.hero-main{padding-top:40px}.hero-copy-card{display:block;padding:24px 18px 23px;border:1px solid #ffffff36;border-radius:12px;background:linear-gradient(135deg,#0e1a2baa,#0e1a2b70);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);box-shadow:0 10px 30px #07111d20}.hero-copy-card .hero-eyebrow{margin:0 0 24px}.hero-copy-card h1{font-size:clamp(20px,6vw,28px);line-height:1.75;letter-spacing:.025em;margin:0 0 22px}.hero-copy-card .hero-description{font-size:12px;line-height:2.05;color:#f1f3f7;margin-bottom:0}.hero-copy-card .hero-links{gap:16px;margin-top:22px}.hero-copy-card .hero-about{font-size:10px;margin-top:0;gap:10px}.hero-copy-card .round-arrow{width:27px;height:27px;flex-shrink:0}.hero-copy-card .hero-links{flex-wrap:wrap}}
@media(max-width:370px){.hero-main{padding-top:30px}.hero-copy-card{padding:21px 14px}.hero-copy-card h1{font-size:20px}.hero-copy-card .hero-links{gap:12px}.hero-copy-card .hero-about{font-size:9px;gap:8px}}

/* Three comparable mobile treatments, with almost invisible glass by default. */
@media(max-width:760px){
.hero-copy-card{position:relative;isolation:isolate;border-color:#ffffff0e;border-radius:8px;background:linear-gradient(135deg,#14223524,#14223512);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);box-shadow:none}
html[data-mobile-style="none"] .hero-copy-card,html[data-mobile-style="shade"] .hero-copy-card{background:none;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
html[data-mobile-style="shade"] .hero-copy-card:before{content:"";position:absolute;inset:-32px -26px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 35% 44%,#07131f65 0%,#07131f36 42%,transparent 76%)}
html[data-mobile-style="shade"] .hero-copy-card{border-radius:0}
}
