:root{--ink:#08171f;--ink-deep:#061219;--brand:#04384c;--accent:#82cdb7;--paper:#f2f1eb;--white:#fcfcf7;--muted:#a5b3b5;--line:rgba(216,237,232,.18);--line-light:rgba(8,23,31,.18);--sans:Arial,'Helvetica Neue','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--ease:cubic-bezier(.22,.61,.36,1);--nav-height:100px;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--ink);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img,video,svg{max-width:100%}img{height:auto}button{color:inherit}h1,h2,h3,h4,p{margin:0}ul{padding-left:1.4em}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.section-light :focus-visible,.content-surface :focus-visible{outline-color:var(--brand)}[hidden]{display:none!important}.container{width:min(100% - 112px,1328px);margin-inline:auto}.section-light{background:var(--paper)}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.14em;font-weight:600;display:flex;align-items:center;gap:11px}.eyebrow::before{content:'';width:6px;height:6px;background:var(--accent);flex:none}.section-light .eyebrow::before,.content-surface .eyebrow::before{background:var(--brand)}.section-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:50px}.section-side-note{font-size:10px;letter-spacing:.12em;color:#67726f}.display-section{font-size:clamp(64px,7.3vw,106px);line-height:.97;letter-spacing:-.065em;font-weight:400}.skip-link{position:fixed;top:0;left:20px;z-index:300;padding:16px 22px;background:var(--accent);color:var(--ink);transform:translateY(-130%)}.skip-link:focus{transform:translateY(0)}
/* Navigation and shared controls. */
.site-header{position:absolute;top:0;left:0;width:100%;height:var(--nav-height);z-index:100;color:var(--white);border-bottom:1px solid var(--line);transition:background .24s var(--ease),height .24s var(--ease)}.site-header.is-scrolled{position:fixed;height:76px;background:rgba(6,18,25,.97);box-shadow:0 1px 0 var(--line);border-bottom-color:transparent}.admin-bar .site-header{top:32px}.header-inner{width:calc(100% - 96px);max-width:1536px;height:100%;margin:auto;display:flex;align-items:center;gap:27px}.brand,.custom-logo-link{display:inline-flex;align-items:center;flex:none;width:139px}.brand img{width:139px;height:auto;filter:brightness(0) invert(1)}.custom-logo-link img{max-width:160px;max-height:54px;width:auto;object-fit:contain}.brand-caption{font-size:8px;line-height:1.55;letter-spacing:.15em;opacity:.7;border-left:1px solid var(--line);padding-left:24px}.desktop-nav{margin-left:auto}.nav-list{margin:0;padding:0;list-style:none;display:flex;gap:32px}.desktop-nav .nav-list a{font-size:12px;letter-spacing:.04em;display:block;padding:13px 0;position:relative}.desktop-nav .nav-list a::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .24s var(--ease)}.desktop-nav .nav-list a:hover::after,.desktop-nav .nav-list .current-menu-item>a::after{transform:scaleX(1)}.desktop-nav .sub-menu{position:absolute;list-style:none;background:var(--ink);padding:16px 24px;min-width:180px;display:none;top:75%;margin:0;border:1px solid var(--line)}.desktop-nav li:hover>.sub-menu,.desktop-nav li:focus-within>.sub-menu{display:block}.desktop-nav .sub-menu a{font-size:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:56px;padding:16px 22px;border:1px solid transparent;font-size:13px;line-height:1.65;transition:background .24s var(--ease),color .24s var(--ease),transform .12s;position:relative}.button--primary{color:var(--ink);background:var(--accent)}.button--primary:hover{background:#a0dec9}.button--secondary{border-color:currentColor;background:transparent;color:inherit}.button--secondary:hover{background:var(--ink);color:var(--white)}.site-header .button--secondary:hover{background:var(--white);color:var(--ink)}.button--text{padding-inline:0;min-height:48px;border-bottom:1px solid currentColor;gap:28px}.button--text:hover{color:var(--accent)}.section-light .button--text:hover,.content-surface .button--text:hover{color:var(--brand)}.button--light{background:var(--paper);color:var(--ink)}.button:active{transform:translateY(1px)}.button-arrow{display:block;width:23px;height:23px;overflow:hidden;position:relative;flex:none}.button-arrow svg{width:23px;height:23px;position:absolute;top:0;left:0;transition:transform .25s var(--ease)}.button-arrow svg:nth-child(2){transform:translateX(-145%)}.button:hover .button-arrow svg:first-child{transform:translateX(145%)}.button:hover .button-arrow svg:nth-child(2){transform:translateX(0)}.header-contact{min-height:42px;padding:9px 14px;font-size:11px;gap:23px;margin-left:8px}.header-contact .button-arrow{width:18px;height:18px}.header-contact svg{width:18px;height:18px}.menu-toggle{border:0;padding:10px 0 10px 14px;display:flex;gap:13px;align-items:center;background:transparent;font-size:10px;letter-spacing:.05em}.menu-lines{height:14px;width:24px;position:relative}.menu-lines::before,.menu-lines::after{content:'';position:absolute;left:0;width:24px;height:1px;background:currentColor;top:3px;transition:transform .24s var(--ease)}.menu-lines::after{top:10px}.menu-toggle[aria-expanded=true] .menu-lines::before{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines::after{transform:translateY(-3.5px) rotate(-45deg)}.site-menu{position:fixed;inset:0 0 0 auto;width:min(620px,100%);padding:42px 60px;background:var(--accent);color:var(--ink);z-index:150;box-shadow:-100vw 0 0 100vw rgba(0,10,15,.58);opacity:0;transform:translateX(35px);transition:opacity .24s var(--ease),transform .24s var(--ease);overflow:auto}.site-menu.is-open{opacity:1;transform:translateX(0)}.menu-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:56px}.menu-top .eyebrow::before{background:var(--ink)}.menu-close{display:flex;align-items:center;gap:25px;background:none;border:0;font-size:12px}.menu-close span{font-size:32px;font-weight:300}.site-menu .nav-list{flex-direction:column;gap:0;margin-bottom:38px}.site-menu .nav-list>li>a{font-size:clamp(38px,5vw,64px);letter-spacing:-.05em;line-height:1.3;display:block;padding:11px 0;border-bottom:1px solid var(--line-light)}.site-menu .sub-menu{font-size:14px;list-style:none;padding:10px 18px}.site-menu .sub-menu a{display:inline-block;padding:7px 0}.site-menu .button{border-color:var(--ink)}.menu-note{margin-top:70px;font-size:14px}
/* Hero: a visual system built from human inputs. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink-deep);color:var(--white);padding-top:var(--nav-height)}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 87% 44%,rgba(4,56,76,.51),transparent 54%)}.hero-topline{display:flex;justify-content:space-between;align-items:center;padding-top:37px}.hero-index{font-size:9px;letter-spacing:.12em;display:flex;align-items:center;gap:12px;color:var(--muted)}.hero-index i{display:inline-block;width:4px;height:4px;background:var(--accent)}.hero-stage{position:relative;min-height:670px;padding-top:54px;padding-bottom:65px}.hero-title-wrap{position:relative;z-index:2;pointer-events:none}.hero-kicker{font-size:13px;letter-spacing:.11em;margin-bottom:24px;color:var(--accent)}.hero h1{font-size:clamp(92px,10.8vw,157px);font-weight:400;line-height:.95;letter-spacing:-.071em;max-width:1000px}.hero h1>span{display:block;white-space:nowrap}.hero-period{color:var(--accent)}.hero-art{position:absolute;width:min(53%,730px);right:-49px;top:10px;z-index:1;color:var(--accent);aspect-ratio:680/640}.hero-art::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--ink-deep),transparent 28%);pointer-events:none;opacity:.25}.hero-art .intelligence-map{width:100%;height:auto;opacity:.82}.art-caption{position:absolute;bottom:9%;left:24%;right:8%;display:flex;gap:9px;align-items:center;font-size:8px;letter-spacing:.12em;color:var(--muted)}.art-caption>span:last-child{margin-left:auto}.status-dot{width:4px;height:4px;background:var(--accent)}.hero-description{position:relative;z-index:2;margin-top:39px;max-width:680px}.hero-jp{font-size:clamp(19px,1.6vw,24px);line-height:1.8;letter-spacing:.025em;font-weight:500}.hero-support{font-size:12px;color:var(--muted);line-height:1.95;letter-spacing:.025em;margin-top:13px}.hero-actions{display:flex;gap:32px;align-items:center;margin-top:30px}.hero-actions .button--text{font-size:11px;min-height:48px;border-color:var(--line);gap:26px}.hero-bottom{border-top:1px solid var(--line);height:79px;display:flex;justify-content:space-between;align-items:center;gap:20px}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.13em}.scroll-icon{width:30px;height:30px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%}.scroll-icon svg{width:14px;height:14px}.hero-sequence{display:flex;gap:17px;font-size:8px;letter-spacing:.13em;color:var(--muted)}.hero-sequence b{font-weight:300;opacity:.4}.motion-toggle{display:flex;align-items:center;gap:9px;font-size:10px;background:none;border:0;padding:12px 0 12px 14px;color:var(--muted);min-height:44px}.pause-icon{width:8px;height:9px;border-left:2px solid currentColor;border-right:2px solid currentColor}.motion-toggle[aria-pressed=true] .pause-icon{border:0;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor}.hero-poster,.hero-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-poster{z-index:2}.hero-art video{z-index:3;opacity:0}.hero-art.is-video-ready video{opacity:1}.hero-art:has(.hero-poster) .intelligence-map,.hero-art.is-video-ready .intelligence-map{opacity:0}.hero-art:has(.hero-poster)::after{z-index:4;opacity:1;background:linear-gradient(90deg,var(--ink-deep),transparent 80%)}
/* Original SVG illustrations; motion is enabled only when visible. */
.intelligence-map{overflow:visible}.map-grid{opacity:.09}.map-orbit{opacity:.2;stroke-dasharray:3 6}.map-inputs rect{fill:var(--ink);stroke:currentColor;stroke-width:.7}.map-inputs text,.map-annotations text{fill:currentColor;font-size:9px;font-family:var(--sans);letter-spacing:.09em}.map-inputs circle{fill:currentColor}.map-annotations{opacity:.55}.map-routes{opacity:.35}.map-flow{stroke-dasharray:12 430;animation:signal-flow 7s linear infinite;animation-play-state:paused}.map-plane{fill:var(--ink);fill-opacity:.65;stroke:currentColor;stroke-width:1}.map-edge{stroke:currentColor;stroke-width:.8;opacity:.48}.map-plane-grid{stroke:currentColor;stroke-width:.65;opacity:.22}.map-active-cell{fill:currentColor;fill-opacity:.19;stroke:currentColor;stroke-width:.8;animation:cell-pulse 6s var(--ease) infinite;animation-delay:calc(var(--layer)*-.9s);animation-play-state:paused}.map-endpoints{opacity:.55}.is-motion-active .map-flow,.is-motion-active .map-active-cell{animation-play-state:running}.motion-paused .map-flow,.motion-paused .map-active-cell{animation-play-state:paused!important}.map-architecture,.map-inputs,.map-endpoints,.map-routes{transition:transform .6s var(--ease),opacity .6s var(--ease);transform-origin:370px 340px}.drawing-muted{opacity:.13}.drawing-panel{fill:var(--ink)}.drawing-fill{fill:var(--accent);fill-opacity:.13}.service-drawing{display:block;width:100%;color:var(--accent)}.service-drawing text{fill:currentColor;stroke:none;font-size:10px;letter-spacing:.03em}.unit-block{fill:var(--ink);fill-opacity:.92}.unit-block--0,.unit-block--4{color:#eff4ec}.unit-block--3{fill:var(--brand)}@keyframes signal-flow{to{stroke-dashoffset:-884}}@keyframes cell-pulse{0%,100%{fill-opacity:.07}50%{fill-opacity:.45}}
/* Concept progresses with ordinary scrolling. */
.concept{padding:109px 0 112px}.concept-heading{font-size:clamp(36px,4.35vw,63px);font-weight:500;line-height:1.4;letter-spacing:-.045em}.concept-heading span{color:var(--brand)}.concept-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;margin-top:56px}.concept-visual-wrap{position:relative;min-width:0}.concept-visual{position:sticky;top:105px;color:var(--brand);border:1px solid var(--line-light);margin-top:26px;aspect-ratio:1/1.05;padding:5px;overflow:hidden}.concept-visual::before,.concept-visual::after{content:'+';position:absolute;font-size:14px;top:8px;left:11px;opacity:.5}.concept-visual::after{left:auto;right:11px;top:auto;bottom:43px}.concept-visual .intelligence-map{width:100%;height:auto}.concept-visual .map-plane,.concept-visual .map-inputs rect{fill:var(--paper)}.concept-visual .map-grid{opacity:.15}.concept-visual .map-orbit{opacity:.18}.concept-visual[data-stage='0'] .map-architecture{transform:translate(32px,5px) scale(.8);opacity:.36}.concept-visual[data-stage='0'] .map-endpoints{opacity:.05}.concept-visual[data-stage='0'] .map-inputs{transform:translate(-8px,7px)}.concept-visual[data-stage='1'] .map-architecture{transform:translate(0,-12px) scale(1.05);opacity:.75}.concept-visual[data-stage='1'] .map-routes{opacity:.9}.concept-visual[data-stage='1'] .map-endpoints{opacity:.8}.concept-visual[data-stage='2'] .map-architecture{transform:translate(0,0) scale(1);opacity:1}.concept-visual[data-stage='2'] .map-inputs{opacity:.5}.concept-visual[data-stage='2'] .map-endpoints{opacity:1}.concept-visual-caption{position:absolute;left:20px;right:20px;bottom:17px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.1em;border-top:1px solid var(--line-light);padding-top:16px}.concept-step{border-top:1px solid var(--line-light);padding:28px 0 55px;min-height:340px;position:relative;scroll-margin-top:120px}.step-number{display:flex;align-items:center;gap:16px;font-size:15px;font-variant-numeric:tabular-nums}.step-number span{font-size:9px;color:#73807d}.step-english{font-size:clamp(35px,4vw,58px);letter-spacing:-.045em;font-weight:400;margin-top:18px;line-height:1.1}.concept-step h3{font-size:20px;font-weight:500;margin-top:18px;letter-spacing:.02em}.concept-step .step-lead{font-size:13px;color:var(--ink);margin-top:18px}.concept-step p:last-of-type{font-size:12px;line-height:2;color:#5d6864;max-width:370px;margin-top:9px}.step-static{display:none}.philosophy{border-top:1px solid var(--line-light);display:grid;grid-template-columns:1.1fr 1fr;gap:10%;padding-top:66px;margin-top:25px}.philosophy-en{font-size:clamp(33px,3.8vw,56px);line-height:1.08;letter-spacing:-.055em;color:var(--brand)}.philosophy-copy p{font-size:13px;line-height:2.15;margin:0 0 23px}
/* Service hierarchy: one lead service, two complementary disciplines. */
.services{background:var(--ink);color:var(--white);padding:106px 0 113px}.services .section-side-note{color:var(--muted)}.section-heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:58px}.section-heading-row .display-section span{color:var(--accent)}.section-description{font-size:14px;line-height:2;letter-spacing:.02em;margin:0 48px 8px 0}.service-feature{display:grid;grid-template-columns:1fr 1fr;background:#102b33;border-top:1px solid rgba(130,205,183,.45);overflow:hidden;min-height:405px}.service-feature-copy{padding:44px 48px 45px}.service-number{font-size:10px;letter-spacing:.12em;color:var(--accent)}.service-feature h3{font-size:clamp(24px,2.3vw,34px);font-weight:500;letter-spacing:-.025em;margin-top:28px}.service-feature-copy>p{font-size:13px;line-height:2;color:#c1d0cd;max-width:430px;margin-top:22px}.service-tags{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:20px}.service-tags span{font-size:9px;color:#bdcec7;display:flex;align-items:center;gap:6px}.service-tags span::before{content:'';width:3px;height:3px;background:var(--accent)}.service-feature .button{margin-top:31px;min-width:225px}.service-feature-art{position:relative;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(130,205,183,.14);padding:15px 18px 44px}.service-feature-art .service-drawing{max-width:510px}.drawing-caption{position:absolute;bottom:27px;left:34px;right:34px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em;color:var(--muted)}.service-pair{display:grid;grid-template-columns:1fr 1fr;margin-top:57px;gap:60px}.service-secondary{border-top:1px solid var(--line);padding-top:27px;display:flex;align-items:flex-start;flex-direction:column}.service-secondary-top{display:flex;align-items:center;justify-content:space-between;width:100%}.service-small-arrow{height:22px;width:22px;opacity:.65}.service-secondary-art{width:100%;margin-top:4px;max-height:280px;overflow:hidden}.service-secondary-art .service-drawing{height:280px}.service-secondary h3{font-size:23px;font-weight:500;letter-spacing:-.025em;margin-top:19px}.service-secondary>p{font-size:13px;line-height:2;color:var(--muted);max-width:460px;margin-top:18px;margin-bottom:24px}.service-secondary .button{font-size:11px;gap:45px;border-color:var(--line);margin-top:auto}.company-section{padding:108px 0 104px}.company-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:11%;align-items:center}.company-statement{display:flex;position:relative;justify-content:space-between;align-items:center;gap:15px}.company-statement h2{font-size:clamp(30px,3.25vw,47px);font-weight:500;line-height:1.5;letter-spacing:-.045em}.company-statement h2 span{color:var(--brand)}.company-bracket{font-weight:300;font-size:220px;line-height:1;color:#c4cec5;transform:scaleX(.7);display:block}.company-copy>p{font-size:13px;line-height:2.1;margin-bottom:29px}.company-copy .button{min-width:240px}.additional-content{padding:20px 0 75px}.news-section{padding:0 0 114px}.news-section .container{border-top:1px solid var(--line-light);padding-top:58px}.news-section .section-top{margin-bottom:29px}.news-section .button{font-size:11px;min-height:38px;padding-block:8px}.news-list{margin-top:40px}.news-row{display:grid;grid-template-columns:110px 95px 1fr 24px;gap:25px;align-items:center;border-top:1px solid var(--line-light);padding:27px 0;min-height:100px;transition:color .24s var(--ease)}.news-row:last-child{border-bottom:1px solid var(--line-light)}.news-date{font-size:12px;letter-spacing:.03em;font-variant-numeric:tabular-nums}.news-category{font-size:10px;display:inline-block;color:#53615b}.news-title{font-size:15px;line-height:1.8;letter-spacing:.02em;font-weight:500}.news-arrow{width:22px;height:22px;overflow:hidden}.news-arrow svg{width:22px;height:22px}.news-row:hover{color:#256d5c}.news-row:hover .news-arrow svg{animation:arrow-flow .25s var(--ease)}.news-empty{padding:30px 0;font-size:14px;color:#66756e}@keyframes arrow-flow{0%{transform:translateX(0)}49%{transform:translateX(150%)}50%{transform:translateX(-150%)}100%{transform:translateX(0)}}
/* Footer. */
.site-footer{background:var(--ink-deep);color:var(--white)}.footer-contact{padding:82px 0 79px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:50px}.footer-contact .eyebrow{font-size:9px;margin-bottom:22px;color:var(--accent)}.footer-contact h2{font-size:clamp(30px,3.4vw,49px);font-weight:400;letter-spacing:-.04em;line-height:1.4}.footer-contact p:last-child{font-size:12px;line-height:1.9;margin-top:18px;color:var(--muted)}.footer-contact>.button{min-width:260px;min-height:68px}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:65px;padding:60px 0 58px}.footer-brand .brand,.footer-brand .brand img{width:170px}.footer-brand>p{font-size:12px;margin-top:24px;letter-spacing:.02em}.footer-brand>span{display:block;margin-top:14px;font-size:10px;color:var(--muted)}.footer-label{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted);margin-bottom:20px}.footer-nav-group .nav-list{flex-direction:column;gap:14px;font-size:13px}.footer-nav-group .sub-menu{font-size:12px;padding:6px 0 0 15px}.footer-services{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:19px;font-size:11px;line-height:1.7}.footer-nav-group a:hover{color:var(--accent)}.footer-external{display:flex;flex-wrap:wrap;gap:18px;font-size:10px;color:var(--muted);padding:0 0 30px}.footer-bottom{padding:25px 0 32px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;line-height:1.7;color:var(--muted)}.footer-bottom nav{display:flex;gap:24px}.back-top{color:var(--white)}
/* WordPress page/post content: preserve native blocks and plugin output. */
.page-hero{background:var(--ink-deep);color:var(--white);padding:calc(var(--nav-height) + 26px) 0 75px;overflow:hidden}.breadcrumb{display:flex;gap:12px;align-items:center;margin:0 0 57px;font-size:10px;line-height:1.8;color:var(--muted)}.breadcrumb a:hover{color:var(--accent)}.page-hero .eyebrow{color:var(--accent);margin-bottom:25px}.display-page{font-size:clamp(65px,9.8vw,145px);font-weight:400;line-height:1;letter-spacing:-.065em;overflow-wrap:anywhere;color:var(--white)}.page-heading{font-size:clamp(26px,3vw,44px);font-weight:400;line-height:1.5;letter-spacing:-.035em;margin-top:24px;max-width:1020px}.page-intro{font-size:14px;line-height:2;color:var(--muted);margin-top:24px;max-width:670px}.content-surface{background:var(--paper);padding:78px 0 98px;min-height:350px}.prose{max-width:920px;margin-inline:auto;font-size:15px;line-height:2.1;overflow-wrap:anywhere}.page-content> :first-child{margin-top:0}.prose p{margin:0 0 1.8em}.prose h2{font-size:clamp(26px,3vw,39px);font-weight:500;line-height:1.5;letter-spacing:-.03em;margin:2.2em 0 .85em}.prose h3{font-size:23px;line-height:1.6;margin:1.8em 0 .7em;font-weight:500}.prose h4{font-size:18px;margin:1.5em 0 .7em}.prose a:not(.button):not(.wp-block-button__link){color:var(--brand);text-decoration:underline;text-underline-offset:4px}.prose li{margin:.5em 0}.prose ul,.prose ol{margin-bottom:1.8em}.prose blockquote{border-left:2px solid var(--brand);padding:10px 28px;margin:2em 0;background:rgba(4,56,76,.035)}.prose blockquote p:last-child{margin-bottom:0}.prose figure{margin:2em 0;max-width:100%}.prose img{max-width:100%;height:auto}.prose .wp-block-image img{display:block}.prose figcaption{font-size:12px;color:#66756e;line-height:1.8;margin-top:10px}.prose .wp-block-table{width:100%;overflow-x:auto}.prose table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0;min-width:0}.prose td,.prose th{padding:20px 21px;border:1px solid var(--line-light);text-align:left;vertical-align:top;word-break:normal}.prose th{background:rgba(4,56,76,.05);font-weight:500}.prose hr{border:0;border-top:1px solid var(--line-light);margin:3em 0}.prose pre{overflow:auto;white-space:pre;padding:20px;background:var(--ink);color:var(--white);font-size:13px}.prose .wp-block-columns{gap:38px}.prose .wp-block-button__link{display:inline-flex;gap:30px;align-items:center;background:var(--brand);color:var(--white);border-radius:0;font-size:13px;padding:16px 24px;line-height:1.8}.prose .wp-block-button__link::after{content:'→';font-size:19px}.prose .wp-block-button__link:hover::after{animation:arrow-flow .25s var(--ease)}.prose .wp-block-cover{color:white}.prose .wp-block-cover .wp-block-cover__inner-container{padding:30px}.prose details{border-top:1px solid var(--line-light);padding:19px 0}.prose details:last-of-type{border-bottom:1px solid var(--line-light)}.prose summary{font-weight:500;cursor:pointer;line-height:1.8;padding:8px 35px 8px 0;position:relative}.prose details>p{margin:20px 0 10px}.prose .alignwide{max-width:1120px}.prose .alignfull{margin-inline:0;width:100%}.entry-meta{display:flex;align-items:center;flex-wrap:wrap;gap:20px;font-size:11px;margin-top:26px;color:var(--muted)}.entry-featured-image{margin:0 auto 50px;max-width:1100px}.entry-featured-image img{width:100%;max-height:640px;object-fit:contain}.article-navigation{max-width:920px;margin:64px auto 0;border-top:1px solid var(--line-light);padding-top:26px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:12px}.article-navigation .nav-links{display:flex;gap:40px;justify-content:space-between}.pagination{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:43px;font-size:13px}.pagination .nav-links{display:flex;gap:10px;flex-wrap:wrap}.pagination .page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;border:1px solid var(--line-light);padding-inline:10px}.pagination .page-numbers.current{background:var(--brand);color:white}.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute!important;white-space:nowrap}.search-panel{max-width:740px;margin:0 auto 40px}.search-form{display:flex;align-items:stretch;gap:12px;margin:25px 0 45px}.search-form label{flex:1}.search-field{width:100%;padding:14px 17px;background:transparent;border:1px solid #a9b7af;min-height:50px;border-radius:0}.search-submit{border:0;background:var(--brand);color:white;padding:12px 22px}.comments-area{border-top:1px solid var(--line-light);margin:50px auto 0;padding-top:25px;max-width:920px}.comment-form input:not([type=checkbox]),.comment-form textarea{display:block;width:100%;padding:14px;background:transparent;border:1px solid #a9b7af;max-width:100%}.comment-form .submit{background:var(--brand);color:white;width:auto;cursor:pointer}.prose .wpforms-container{max-width:760px;margin:0 auto}.prose .wpforms-container .wpforms-field-label{font-weight:500;font-size:14px;color:var(--ink)}.prose .wpforms-container input:not([type=checkbox]):not([type=radio]),.prose .wpforms-container select,.prose .wpforms-container textarea{border-radius:0;background:rgba(255,255,255,.4);border:1px solid #a7b3ac;color:var(--ink);min-height:48px;box-shadow:none;max-width:100%}.prose .wpforms-container button[type=submit]{border-radius:0;background:var(--brand);box-shadow:none;min-height:54px;padding:12px 38px;color:white}.preview-form-notice{padding:26px 30px;border-left:2px solid var(--brand);background:#e3e8de;margin:2em 0}.preview-form-notice p:last-child{margin:0}.contact-band{padding-top:35px;margin-top:40px;border-top:1px solid var(--line-light)}
/* Only saved legacy markup is styled; original blocks remain in the CMS. */
.prose .swell-block-columns__inner{display:flex;flex-wrap:wrap;gap:28px}.prose .swell-block-column{flex:1;min-width:230px}.prose .swell-block-fullWide{padding:40px 25px;margin-block:35px;width:100%}.prose .swell-block-button{margin:22px 0}.prose .swell-block-button__link{display:inline-flex;padding:13px 26px;border:1px solid var(--brand);text-decoration:none}.prose .swell-block-faq__item{border-top:1px solid var(--line-light);padding:20px 0}.prose .swell-block-faq__item dt{font-weight:500}.prose .swell-block-faq__item dd{margin:12px 0 0}.prose .swell-block-bannerLink{display:block;position:relative;overflow:hidden}.prose .swell-block-bannerLink img{max-width:100%;height:auto}.prose iframe{max-width:100%}.prose [class*='table-responsive']{overflow-x:auto}
@media(min-width:1600px){.hero-stage{min-height:725px}.hero-art{width:735px;right:-65px}.hero-description{margin-top:52px}.hero h1{font-size:158px}}
@media(max-width:1199px){:root{--nav-height:88px}.container{width:calc(100% - 72px)}.header-inner{width:calc(100% - 64px);gap:20px}.brand-caption{display:none}.nav-list{gap:25px}.hero-stage{min-height:650px;padding-top:53px}.hero h1{font-size:11.7vw}.hero-art{width:58%;top:85px;right:-45px;opacity:.7}.hero-description{max-width:560px}.hero-support{max-width:410px}.hero-sequence{gap:12px}.concept-layout,.philosophy{gap:8%}.concept-step{min-height:325px}.company-layout{gap:7%}.company-bracket{font-size:178px}.service-feature-copy{padding:36px 30px}.service-pair{gap:38px}.section-description{margin-right:0}.footer-main{gap:40px}.footer-contact>.button{min-width:225px}.footer-bottom{flex-wrap:wrap}.footer-bottom nav{gap:18px}}
@media(max-width:899px){:root{--nav-height:80px}.container{width:calc(100% - 48px)}.header-inner{width:calc(100% - 48px);gap:17px}.brand,.brand img{width:122px}.desktop-nav{display:none}.header-contact{margin-left:auto}.hero-topline{padding-top:28px}.hero-index{font-size:8px}.hero-stage{padding-top:44px;min-height:690px}.hero h1{font-size:12.1vw}.hero-art{width:66%;top:80px;right:-50px;opacity:.55}.hero-description{margin-top:50px}.hero-jp{font-size:22px}.hero-bottom{height:74px}.hero-sequence{display:none}.concept{padding:77px 0}.section-top{margin-bottom:36px}.section-side-note{font-size:8px}.concept-heading{font-size:43px}.concept-layout{display:block;margin-top:49px}.concept-visual-wrap{display:none}.concept-steps{display:grid;grid-template-columns:1fr;gap:0}.concept-step{min-height:0;padding:26px 100px 35px 73px;position:relative}.step-number{position:absolute;top:32px;left:0;flex-direction:column;gap:6px;align-items:flex-start}.step-english{font-size:46px;margin-top:0}.concept-step h3{font-size:20px;margin-top:13px}.concept-step p:last-of-type{max-width:480px}.step-static{display:flex;position:absolute;right:3px;top:58px;gap:4px;align-items:center;width:60px;flex-wrap:wrap;color:var(--brand)}.step-static span{width:12px;height:12px;border:1px solid currentColor}.step-static i{font-size:18px;font-style:normal}.step-static b{font-size:19px;font-weight:400}.concept-step[data-concept-step='1'] .step-static span:nth-child(2){transform:translateY(-10px)}.concept-step[data-concept-step='2'] .step-static span{background:var(--brand);width:13px}.philosophy{grid-template-columns:.9fr 1.1fr;padding-top:40px;gap:7%}.philosophy-en{font-size:34px}.philosophy-copy p{font-size:12px}.services{padding:76px 0}.section-heading-row{gap:40px;align-items:flex-end;margin-bottom:43px}.display-section{font-size:76px}.section-description{font-size:12px}.service-feature{grid-template-columns:1fr}.service-feature-copy{padding:36px}.service-feature h3{font-size:31px}.service-feature-copy>p{max-width:100%}.service-feature-art{border-left:0;border-top:1px solid var(--line);height:330px;padding:10px 30px 45px}.service-feature-art .service-drawing{height:300px}.service-pair{gap:30px;margin-top:42px}.service-secondary-art,.service-secondary-art .service-drawing{height:210px}.service-secondary h3{font-size:20px;line-height:1.6}.service-secondary>p{font-size:12px}.service-secondary .button{font-size:10px;gap:15px}.service-number{font-size:9px}.company-section{padding:75px 0}.company-layout{grid-template-columns:1fr 1fr;gap:6%}.company-statement h2{font-size:31px}.company-bracket{display:none}.company-copy>p{font-size:12px}.news-section{padding-bottom:79px}.news-row{grid-template-columns:86px 72px 1fr 20px;gap:16px}.news-title{font-size:13px}.news-date{font-size:10px}.news-category{font-size:9px}.footer-contact{padding:60px 0;gap:35px}.footer-contact h2{font-size:32px}.footer-contact>.button{font-size:12px;min-width:195px;gap:18px}.footer-main{gap:26px;grid-template-columns:1.2fr .8fr 1.1fr}.footer-brand .brand,.footer-brand .brand img{width:139px}.footer-services{font-size:10px}.footer-nav-group .nav-list{font-size:12px}.footer-bottom nav{gap:15px;flex-wrap:wrap}.page-hero{padding-bottom:58px}.display-page{font-size:85px}.breadcrumb{margin-bottom:37px}.content-surface{padding:55px 0 72px}.prose{font-size:14px}.prose td,.prose th{padding:16px}.prose h2{font-size:31px}.prose h3{font-size:22px}html:not(.js-ready) .desktop-nav{display:block;margin-left:auto}html:not(.js-ready) .desktop-nav .nav-list{gap:14px;flex-wrap:wrap}html:not(.js-ready) .desktop-nav .nav-list a{font-size:10px}html:not(.js-ready) .header-contact,html:not(.js-ready) .menu-toggle{display:none}}
@media(max-width:599px){:root{--nav-height:75px}.container{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);gap:16px}.site-header.is-scrolled{height:68px}.brand,.brand img{width:112px}.header-contact{padding:8px 10px;min-height:36px;font-size:9px;gap:11px}.header-contact .button-arrow,.header-contact svg{width:14px;height:14px}.menu-toggle{font-size:0;padding-left:0;gap:0;min-width:28px;min-height:44px}.menu-lines,.menu-lines::before,.menu-lines::after{width:23px}.site-menu{padding:27px 27px 45px}.menu-top{padding-bottom:38px}.site-menu .nav-list>li>a{font-size:49px;padding-block:12px}.hero-topline{padding-top:28px}.hero-topline .eyebrow{font-size:8px;gap:8px;letter-spacing:.12em}.hero-index{font-size:7px;letter-spacing:.08em;gap:7px}.hero-index i{display:none}.hero-index{max-width:85px;text-align:right;line-height:1.5}.hero-stage{padding-top:41px;min-height:730px;padding-bottom:37px}.hero-kicker{font-size:11px;margin-bottom:20px;letter-spacing:.07em}.hero h1{font-size:clamp(51px,12.65vw,75px);line-height:1.01;letter-spacing:-.064em}.hero h1>span{white-space:normal}.hero-period{margin-left:-.04em}.hero-art{width:97%;top:137px;right:-72px;opacity:.72;pointer-events:none}.hero-art .intelligence-map{opacity:.66}.hero-art::after{background:linear-gradient(180deg,transparent 30%,var(--ink-deep));opacity:.65}.art-caption{font-size:6px;bottom:7%;left:22%;right:10%;opacity:.7}.hero-description{margin-top:225px;max-width:100%}.hero-jp{font-size:18px;line-height:1.8;letter-spacing:.01em}.hero-support{font-size:10px;line-height:1.9;letter-spacing:0;margin-top:13px}.hero-actions{flex-direction:column;align-items:stretch;gap:12px;margin-top:25px;max-width:100%}.hero-actions .button--primary{min-height:55px;padding:16px 19px;font-size:12px}.hero-actions .button--text{align-self:flex-start;font-size:10px;min-height:40px;padding:9px 0;gap:35px}.hero-bottom{height:65px;gap:12px}.scroll-cue{font-size:7px;gap:9px;letter-spacing:.09em}.scroll-icon{width:27px;height:27px}.motion-toggle{font-size:9px}.concept{padding:57px 0 61px}.section-top{margin-bottom:31px;gap:16px}.eyebrow{font-size:9px;letter-spacing:.1em;gap:8px}.section-side-note{font-size:7px;letter-spacing:.05em;max-width:130px;text-align:right}.concept-heading{font-size:31px;line-height:1.5;letter-spacing:-.05em}.concept-layout{margin-top:34px}.concept-step{padding:26px 0 33px 45px}.step-number{font-size:13px;top:30px}.step-number span{font-size:8px}.step-english{font-size:36px;letter-spacing:-.035em}.concept-step h3{font-size:19px;margin-top:11px}.concept-step .step-lead{font-size:12px;margin-top:14px}.concept-step p:last-of-type{font-size:11px;line-height:1.95;margin-top:8px}.step-static{position:relative;right:auto;top:auto;margin-top:20px;width:auto;gap:8px}.step-static i{margin:0 8px}.philosophy{display:block;margin-top:10px;padding-top:30px}.philosophy-en{font-size:42px;margin-bottom:29px}.philosophy-copy p{font-size:12px;line-height:2.1;margin-bottom:22px}.philosophy-copy p:last-child{margin-bottom:0}.services{padding:57px 0 61px}.section-heading-row{display:block;margin-bottom:32px}.display-section{font-size:64px;line-height:.98}.section-description{font-size:12px;line-height:1.9;margin-top:23px}.service-feature-copy{padding:28px 24px}.service-feature h3{font-size:24px;line-height:1.5;margin-top:20px}.service-feature-copy>p{font-size:12px;margin-top:17px}.service-tags{gap:8px 13px;margin-top:17px}.service-tags span{font-size:8px}.service-feature .button{margin-top:24px;min-width:210px;min-height:50px;font-size:11px}.service-feature-art{height:258px;padding:6px 15px 31px}.service-feature-art .service-drawing{height:240px}.drawing-caption{bottom:20px;left:24px;right:24px;font-size:7px}.service-pair{display:block;margin-top:34px}.service-secondary{padding-top:22px}.service-secondary+article{margin-top:39px}.service-secondary-art,.service-secondary-art .service-drawing{height:242px}.service-secondary h3{font-size:23px;margin-top:2px}.service-secondary>p{font-size:12px;margin-top:15px;margin-bottom:18px}.service-secondary .button{font-size:11px;gap:45px}.company-section{padding:59px 0}.company-layout{display:block}.company-statement h2{font-size:37px;line-height:1.5}.company-copy{margin-top:26px}.company-copy>p{font-size:12px;margin-bottom:26px}.company-copy .button{min-height:52px;font-size:12px}.news-section{padding-bottom:62px}.news-section .container{padding-top:36px}.news-section .section-top{align-items:center;margin-bottom:24px}.news-section .button{font-size:9px;gap:12px;min-height:35px;padding-block:5px}.news-section .button-arrow,.news-section .button-arrow svg{width:19px;height:19px}.news-section .display-section{font-size:53px}.news-list{margin-top:27px}.news-row{grid-template-columns:95px 1fr 20px;gap:9px 12px;padding:21px 0;min-height:108px}.news-date{font-size:10px;grid-column:1;grid-row:1}.news-category{font-size:9px;grid-column:2;grid-row:1}.news-title{grid-column:1/3;grid-row:2;font-size:13px;line-height:1.8}.news-arrow{grid-column:3;grid-row:1/3;width:18px;height:18px}.footer-contact{display:block;padding:48px 0}.footer-contact .eyebrow{font-size:8px;margin-bottom:18px}.footer-contact h2{font-size:29px}.footer-contact p:last-child{font-size:11px;line-height:1.9;margin-top:14px}.footer-contact>.button{margin-top:28px;min-width:100%;min-height:56px;font-size:12px}.footer-main{grid-template-columns:.8fr 1.2fr;gap:37px 24px;padding:39px 0}.footer-brand{grid-column:1/-1}.footer-brand .brand,.footer-brand .brand img{width:147px}.footer-brand>p{margin-top:17px;font-size:11px}.footer-brand>span{font-size:9px;margin-top:10px}.footer-label{font-size:8px;margin-bottom:18px}.footer-nav-group .nav-list{font-size:12px;gap:14px}.footer-services{font-size:10px;gap:17px}.footer-bottom{font-size:8px;gap:20px;padding-bottom:28px}.footer-bottom nav{order:-1;width:100%;gap:14px 20px;font-size:8px;line-height:1.8}.footer-external{font-size:9px;gap:16px}.page-hero{padding:calc(var(--nav-height) + 23px) 0 42px}.breadcrumb{font-size:9px;margin-bottom:33px;gap:10px}.page-hero .eyebrow{font-size:8px;margin-bottom:22px}.display-page{font-size:clamp(50px,13vw,78px);line-height:1;letter-spacing:-.055em}.page-heading{font-size:24px;line-height:1.6;margin-top:23px}.page-intro{font-size:12px;margin-top:19px}.content-surface{padding:38px 0 56px}.prose{font-size:13px;line-height:2}.prose h2{font-size:25px;margin-top:1.8em}.prose h3{font-size:20px}.prose h4{font-size:16px}.prose th,.prose td{padding:13px 11px;font-size:12px;line-height:1.9}.prose td p:last-child,.prose th p:last-child{margin-bottom:0}.prose .wp-block-columns,.prose .swell-block-columns__inner{flex-direction:column;gap:24px}.prose .swell-block-column{min-width:0}.prose .swell-block-fullWide{padding:25px 15px}.prose .wp-block-button__link{font-size:12px;padding:13px 20px}.prose figure{margin-block:1.5em}.entry-meta{font-size:10px;gap:15px;margin-top:22px}.article-navigation{margin-top:40px;font-size:11px}.article-navigation .nav-links{flex-direction:column;gap:18px}.search-form{gap:8px}.search-submit{font-size:12px;padding:10px 16px}.search-field{font-size:14px}.preview-form-notice{padding:20px}.admin-bar .site-header{top:46px}.admin-bar .site-header.is-scrolled{top:0}.additional-content{padding-bottom:40px}html:not(.js-ready) .header-inner{flex-wrap:wrap;padding-block:12px;gap:4px 18px}html:not(.js-ready) .site-header{height:auto}html:not(.js-ready) .desktop-nav .nav-list{gap:11px}html:not(.js-ready) .desktop-nav .nav-list a{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.map-flow{stroke-dasharray:none;opacity:.3}.concept-visual .map-architecture{transform:none!important;opacity:1!important}.hero-art .map-active-cell{fill-opacity:.18}.motion-toggle{transition:none}}body.motion-paused .map-architecture,body.motion-paused .map-inputs,body.motion-paused .map-endpoints,body.motion-paused .map-routes{transition:none}
@media print{.site-header,.site-menu,.hero-art,.hero-bottom,.site-footer,.button,.skip-link,.concept-visual-wrap{display:none!important}body,.hero,.services,.section-light,.content-surface,.page-hero{background:white!important;color:black!important}.container{width:100%}.hero,.concept,.services,.company-section,.news-section,.page-hero,.content-surface{padding:24px 0}.hero-stage{min-height:0}.hero-description{margin-top:20px}.hero h1{font-size:60px}.concept-layout,.philosophy,.company-layout,.service-feature,.service-pair{display:block}.concept-step{min-height:0;break-inside:avoid}.prose{max-width:none}.display-page{font-size:50px}.hero h1>span{white-space:normal}.hero-support,.service-feature-copy>p,.service-secondary>p,.service-number{color:black}.service-feature{background:white;border:1px solid #888}.service-feature-art,.service-secondary-art{display:none}}

.footer-family-logo{display:inline-block;max-width:100px;max-height:35px;object-fit:contain;vertical-align:middle}.custom-logo-link img{filter:brightness(0) invert(1)}
@media(min-width:900px) and (max-height:800px){.hero-stage{padding-top:30px;padding-bottom:33px;min-height:0}.hero h1{font-size:clamp(95px,10.1vw,144px)}.hero-kicker{margin-bottom:20px}.hero-description{margin-top:25px}.hero-jp{font-size:20px;line-height:1.7}.hero-support{margin-top:10px;line-height:1.8}.hero-actions{margin-top:24px}.hero-art{top:0;width:52%}.hero-bottom{height:65px}}
body.home .desktop-nav .current-menu-item>a:not(:hover)::after{transform:scaleX(0)}
@media(max-width:599px){.display-page{font-size:clamp(36px,10.6vw,60px);overflow-wrap:normal}}
.concept-visual .map-layer{transform-origin:387px 244px;transition:transform .65s var(--ease),opacity .65s var(--ease)}
.concept-visual[data-stage='0'] .map-architecture{transform:none;opacity:.85}
.concept-visual[data-stage='0'] .map-layer--0{transform:translate(-128px,-50px) scale(.32)}
.concept-visual[data-stage='0'] .map-layer--1{transform:translate(92px,18px) scale(.32)}
.concept-visual[data-stage='0'] .map-layer--2{transform:translate(-109px,155px) scale(.32)}
.concept-visual[data-stage='0'] .map-layer--3{transform:translate(87px,226px) scale(.32)}
.concept-visual[data-stage='0'] .map-layer--4{transform:translate(-18px,70px) scale(.32)}
.concept-visual[data-stage='1'] .map-layer--0{transform:translate(-38px,-48px) scale(.63)}
.concept-visual[data-stage='1'] .map-layer--1{transform:translate(110px,31px) scale(.63)}
.concept-visual[data-stage='1'] .map-layer--2{transform:translate(-81px,90px) scale(.63)}
.concept-visual[data-stage='1'] .map-layer--3{transform:translate(94px,185px) scale(.63)}
.concept-visual[data-stage='1'] .map-layer--4{transform:translate(-42px,235px) scale(.63)}
body.motion-paused .map-layer{transition:none}
.site-menu :focus-visible{outline-color:var(--ink);outline-offset:5px}
html:not(.js-ready) .menu-toggle,html:not(.js-ready) .motion-toggle{display:none}
.preview-contact-form{max-width:760px;margin:34px auto}.preview-contact-form label{display:block;font-size:13px;font-weight:500;margin:25px 0 9px}.preview-contact-form label span{font-size:10px;color:#59675f;margin-left:9px}.preview-contact-form input,.preview-contact-form select,.preview-contact-form textarea{display:block;width:100%;padding:13px 15px;border:1px solid #a7b3ac;background:rgba(255,255,255,.4);border-radius:0;color:#354b45;opacity:1;min-height:49px}.preview-contact-form textarea{min-height:160px}.preview-contact-form button{margin-top:30px;min-height:54px;min-width:230px;padding:13px 34px;background:var(--brand);border:0;color:var(--white);opacity:.55;cursor:not-allowed}
@media(min-width:900px){.concept-visual{height:min(560px,66vh);min-height:420px;aspect-ratio:auto}.concept-visual .intelligence-map{height:calc(100% - 45px);width:100%}}
.hero-art--film .hero-poster,.hero-art--film video{mask-image:radial-gradient(ellipse at 50% 48%,#000 37%,transparent 73%)}
.hero-art--film:has(.hero-poster)::after{background:linear-gradient(90deg,var(--ink-deep),transparent 40%)}
.hero-art--film .art-caption{z-index:5;bottom:4%;left:18%;right:10%}
@media(max-width:599px){.hero-art--film{width:100%;right:0;top:150px;aspect-ratio:4/3;opacity:.9}.hero-art--film .art-caption{display:none}}

/* Shared typography and the same navy palette across the site. */
.desktop-nav .nav-list a{font-size:14px}
.header-contact{font-size:13px}
.menu-toggle,.menu-close{font-size:13px}
.menu-top{justify-content:flex-end}
.hero-stage{padding-top:72px}
.hero-support{font-size:14px}
.hero-bottom{justify-content:flex-end}
.scroll-cue{margin-right:auto;font-size:13px;letter-spacing:0}
.motion-toggle{font-size:12px}
.concept-visual::before,.concept-visual::after{content:none}
.concept-visual .intelligence-map{height:100%}
.service-feature h3{margin-top:0}
.service-feature-art{padding-bottom:24px}
.service-secondary-top{justify-content:flex-end}
.news-section .section-top{justify-content:flex-end}
.footer-contact h2{margin-top:0}
.page-hero{position:relative;padding:calc(var(--nav-height) + 32px) 0 72px;background:radial-gradient(ellipse at 90% 15%,rgba(4,56,76,.36),transparent 65%),var(--ink-deep)}
.breadcrumb{font-size:13px;flex-wrap:wrap;margin-bottom:64px;gap:10px 16px}
.breadcrumb [aria-current=page]{overflow-wrap:anywhere}
.display-page{font-size:clamp(64px,9.2vw,132px);line-height:1.04;letter-spacing:-.065em}
.page-heading{font-size:clamp(28px,3.2vw,46px);line-height:1.6;margin-top:28px}
.page-hero--article .page-heading{max-width:1040px}
.page-intro{font-size:16px}
.content-surface{--brand:var(--accent);--line-light:var(--line);background:var(--ink-deep);color:var(--white);color-scheme:dark;padding:0 0 108px}
.content-surface>.container{border-top:1px solid var(--line);padding-top:72px}
.content-surface .prose{max-width:1040px;font-size:16px;line-height:2.15;color:#d6e0df}
.content-surface .prose h2,.content-surface .prose h3,.content-surface .prose h4{color:var(--white)}
.content-surface .prose h2{font-size:clamp(29px,3vw,42px);font-weight:500;margin:2.3em 0 1em;letter-spacing:-.035em}
.content-surface .prose h3{font-size:25px;margin:2em 0 .8em}
.content-surface .page-content>:first-child{margin-top:0}
.content-surface .prose blockquote{background:rgba(130,205,183,.05)}
.content-surface .prose figcaption{color:var(--muted);font-size:14px}
.content-surface .prose table{font-size:16px;margin:0}
.content-surface .prose td,.content-surface .prose th{border:0;border-bottom:1px solid var(--line);padding:24px 20px;text-align:left;line-height:1.9}
.content-surface .prose tr:first-child>td,.content-surface .prose tr:first-child>th{border-top:1px solid var(--line)}
.content-surface .prose td:first-child,.content-surface .prose th:first-child{padding-left:0;color:var(--muted);width:30%}
.content-surface .prose td:last-child,.content-surface .prose th:last-child{padding-right:0}
.content-surface .prose th{background:transparent;color:var(--white)}
.content-surface .prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:rgba(130,205,183,.04)}
.content-surface .prose details{padding:24px 0}
.content-surface .prose summary{color:var(--white)}
.content-surface .prose .wp-block-button__link,.content-surface .search-submit,.content-surface .comment-form .submit,.content-surface .pagination .page-numbers.current{background:var(--accent);color:var(--ink);font-size:15px}
.content-surface .button--secondary:hover{background:var(--accent);color:var(--ink)}
.content-surface .article-navigation{max-width:1040px;margin-top:72px;padding-top:32px}
.content-surface .news-list{margin-top:0}
.content-surface .news-date,.content-surface .news-category{font-size:13px;color:var(--muted)}
.content-surface .news-title{font-size:18px;color:var(--white)}
.content-surface .news-arrow{color:var(--accent)}
.content-surface .search-field,.content-surface .comment-form input:not([type=checkbox]):not([type=submit]),.content-surface .comment-form textarea{color:var(--white);border-color:var(--line);background:#10232b}
.content-surface .prose .wpforms-container .wpforms-field-label,.content-surface .preview-contact-form label{color:var(--white);font-size:16px}
.content-surface .prose .wpforms-container input:not([type=checkbox]):not([type=radio]),.content-surface .prose .wpforms-container select,.content-surface .prose .wpforms-container textarea,.content-surface .preview-contact-form input,.content-surface .preview-contact-form select,.content-surface .preview-contact-form textarea{background:#10232b;border-color:rgba(216,237,232,.3);color:var(--white);font-size:16px}
.content-surface .prose .wpforms-container button[type=submit],.content-surface .preview-contact-form button{background:var(--accent);color:var(--ink);font-size:15px}
.content-surface .preview-contact-form label span{color:var(--muted);font-size:13px}
.content-surface .preview-form-notice{background:rgba(130,205,183,.06);border-color:var(--accent)}
@media(max-width:899px){
  .page-hero{padding-bottom:56px}
  .content-surface>.container{padding-top:52px}
}
@media(max-width:599px){
  .header-contact{font-size:11px}
  .menu-toggle{font-size:0}
  .hero-stage{padding-top:42px}
  .hero-support{font-size:13px}
  .hero-bottom{gap:12px}
  .scroll-cue{font-size:12px}
  .page-hero{padding:calc(var(--nav-height) + 24px) 0 42px}
  .breadcrumb{font-size:12px;margin-bottom:38px;gap:6px 12px}
  .display-page{font-size:clamp(36px,10.5vw,64px);overflow-wrap:anywhere}
  .page-heading{font-size:27px;margin-top:22px}
  .page-intro{font-size:15px}
  .content-surface{padding-bottom:64px}
  .content-surface>.container{padding-top:38px}
  .content-surface .prose{font-size:15px;line-height:2.05}
  .content-surface .prose h2{font-size:27px;margin-top:2em}
  .content-surface .prose h3{font-size:22px}
  .content-surface .page-content>:first-child{margin-top:0}
  .content-surface .prose td,.content-surface .prose th{font-size:14px;padding:18px 12px}
  .content-surface .prose td:first-child,.content-surface .prose th:first-child{width:35%;padding-left:0}
  .content-surface .news-title{font-size:15px}
  .content-surface .news-date,.content-surface .news-category{font-size:12px}
}
@media print{.content-surface{--brand:#04384c;--line-light:rgba(8,23,31,.18);--line:rgba(8,23,31,.18);--white:#08171f;--muted:#4b595d;background:white;color:#08171f;color-scheme:light}.content-surface .prose{color:#08171f}.content-surface input,.content-surface select,.content-surface textarea,.content-surface pre{background:white!important;color:#08171f!important}}

/* The statement sits on the optical centre of the brackets. */
.company-statement{align-items:center}
.company-statement h2{margin:0;align-self:center}
.company-bracket{display:flex;align-items:center;height:1em;line-height:.72}
@media(max-width:599px){
  .company-statement{gap:8px}
  .company-statement h2{min-width:0;font-size:clamp(24px,7.5vw,34px)}
  .company-statement .company-bracket{flex-shrink:0;font-size:clamp(132px,38vw,170px)}
}

/* Give every text action the same considered inset as framed buttons. */
.button--text{padding-inline:22px}
@media(max-width:599px){
  .hero-actions .button--text,.service-secondary .button--text{padding-inline:18px}
  .news-section .button--text{padding-inline:14px}
  .footer-contact>.button{width:240px;min-width:0;max-width:100%}
}

:where(.button,.wp-block-button__link,button){position:relative;isolation:isolate}
.wp-block-button__link{transition:transform .12s var(--ease)}
:is(.button,.wp-block-button__link):active{transform:translateY(1px) scale(.985)}
.button-signal{--signal-rgb:130,205,183;position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;z-index:2;animation:button-signal-frame .52s ease-out both}
:is(.button--primary,.button--light,.wp-block-button__link,.site-menu) .button-signal{--signal-rgb:4,56,76}
.button-signal::before{content:'';position:absolute;left:var(--signal-x);top:var(--signal-y);width:var(--signal-size);height:var(--signal-size);border:1px solid rgba(var(--signal-rgb),.7);border-radius:50%;background:radial-gradient(circle,rgba(var(--signal-rgb),.2),rgba(var(--signal-rgb),.06) 55%,transparent 72%);box-shadow:0 0 16px rgba(var(--signal-rgb),.2);animation:button-signal-wave .52s cubic-bezier(.16,1,.3,1) both}
.button-signal::after{content:'';position:absolute;inset:-50% auto -50% -45%;width:35%;background:linear-gradient(90deg,transparent,rgba(var(--signal-rgb),.28),transparent);animation:button-signal-scan .52s cubic-bezier(.16,1,.3,1) both}
@keyframes button-signal-frame{0%,18%{box-shadow:inset 0 0 0 1px rgba(var(--signal-rgb),.65)}100%{box-shadow:inset 0 0 0 1px rgba(var(--signal-rgb),0)}}
@keyframes button-signal-wave{0%{transform:translate(-50%,-50%) scale(.04);opacity:.9}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes button-signal-scan{0%{transform:translateX(0) skewX(-18deg);opacity:0}15%{opacity:.85}100%{transform:translateX(440%) skewX(-18deg);opacity:0}}
body.motion-paused .button-signal{display:none}
body.motion-paused :is(.button,.wp-block-button__link):active{transform:none}
@media(prefers-reduced-motion:reduce){.button-signal{display:none}:is(.button,.wp-block-button__link):active{transform:none}}
@media print{.button-signal{display:none}}

/* Keep the homepage concise, with Japanese content at a comfortable reading size. */
.hero-services{max-width:36em;margin-top:22px;font-size:16px;line-height:1.9;color:var(--accent)}
.hero-support{font-size:15px;line-height:1.9;margin-top:10px}
.hero-actions .button,.service-feature .button,.service-secondary .button,.company-copy .button{font-size:14px}
.concept{padding:88px 0}
.concept-layout{gap:8%;margin-top:44px}
.concept-step{min-height:190px;padding:26px 0 30px 52px}
.concept-step .step-number{position:absolute;top:31px;left:0;font-size:15px;line-height:1.5;color:#586962}
.concept-step h3{font-size:28px;line-height:1.5;margin-top:0;letter-spacing:-.035em}
.concept-step p:last-of-type{max-width:32em;font-size:16px;line-height:1.95;color:#43544e;margin-top:12px}
details.philosophy{display:block;margin-top:34px;padding:0;border-bottom:1px solid var(--line-light)}
.philosophy summary{display:flex;justify-content:space-between;align-items:center;gap:24px;cursor:pointer;list-style:none;padding:25px 0;font-size:17px;line-height:1.7}
.philosophy summary::-webkit-details-marker{display:none}
.philosophy summary::after{content:'＋';font-size:25px;font-weight:300;line-height:1;flex:none;transition:transform .2s var(--ease)}
.philosophy[open] summary::after{transform:rotate(45deg)}
.philosophy-copy{max-width:680px;margin-left:auto;padding:12px 0 22px}
.philosophy-copy p{font-size:16px;line-height:2;margin-bottom:20px}
.display-section--japanese{font-size:clamp(38px,4.5vw,64px);line-height:1.4;letter-spacing:-.05em;font-weight:500}
.section-description,.service-feature-copy>p,.service-secondary>p,.company-copy>p{font-size:16px;line-height:2}
.service-tags span{font-size:13px}
.service-secondary .button{gap:20px;max-width:100%}
.news-section .display-section--japanese{font-size:clamp(36px,4vw,56px)}
.news-section .button{font-size:14px;min-height:44px}
.news-date,.news-category{font-size:13px}
.news-title{font-size:16px}
.header-contact{white-space:nowrap;flex-shrink:0}
.footer-contact p:last-child{font-size:15px;line-height:2}
.footer-main{grid-template-columns:1.15fr .9fr 1.3fr;gap:40px}
.footer-brand>p{font-size:15px}
.footer-brand>span{font-size:13px}
.footer-group-heading{font-size:15px;font-weight:500;color:var(--accent);margin-bottom:20px}
.footer-nav-group .nav-list,.footer-services{font-size:14px;line-height:1.8;gap:15px}
.footer-external-groups{display:flex;flex-wrap:wrap;gap:20px 48px;padding-bottom:34px}
.footer-external{align-items:center;gap:12px 22px;padding:0;font-size:13px;line-height:1.8}
.footer-external-label{color:var(--white);margin-right:4px}
.footer-external a:hover{color:var(--accent)}
.footer-bottom{font-size:12px;line-height:1.9}
.footer-bottom nav{font-size:12px;gap:12px 22px;flex-wrap:wrap}
@media(max-width:899px){
  .concept{padding:72px 0}
  .concept-step{min-height:0;padding-block:26px}
  .concept-step p:last-of-type{max-width:100%}
  .footer-main{grid-template-columns:1fr 1fr;gap:36px}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:599px){
  .header-inner{gap:10px}
  .header-contact{min-height:44px;gap:8px}
  .header-inner>.custom-logo-link{width:112px}
  .header-inner>.custom-logo-link img{max-width:100%}
  .hero-services{margin-top:18px;font-size:15px;line-height:1.9}
  .hero-support{font-size:15px}
  .hero-actions .button--text{font-size:14px;min-height:48px}
  .concept{padding:58px 0}
  .concept-layout{margin-top:32px}
  .concept-step{padding-left:38px}
  .concept-step h3{font-size:24px}
  .concept-step p:last-of-type{font-size:15px}
  .philosophy summary{font-size:15px;padding-block:22px}
  .philosophy-copy p{font-size:15px}
  .section-description,.service-feature-copy>p,.service-secondary>p,.company-copy>p{font-size:15px}
  .service-feature-copy{padding-inline:22px}
  .service-tags span{font-size:12px}
  .news-date,.news-category{font-size:12px}
  .news-title{font-size:15px}
  .footer-main{grid-template-columns:1fr;gap:32px}
  .footer-nav-group .nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 24px}
  .footer-group-heading{margin-bottom:16px}
  .footer-external-groups{gap:22px}
  .footer-external-label{width:100%;margin:0}
}
@media print{.hero-services{color:black}.philosophy-copy{max-width:none;margin-left:0}.philosophy>div{display:block!important}}
@media screen and (max-width:899px){
  .service-feature-art{order:-1;border-top:0;border-bottom:1px solid var(--line)}
}
@media screen and (max-width:599px){
  .hero-actions{display:grid;grid-template-columns:minmax(0,max-content);justify-content:start;align-items:stretch}
  .hero-actions .button{width:100%;min-height:55px;padding:14px 18px;gap:28px}
}
a#page_top.page_top_btn[href="#top"]{display:none!important}
