/* v0.6.2: compact header mark; readable wordmark; upright editorial title. */
.site-header{position:relative;z-index:50}
.site-header .brand{width:auto;min-height:70px;flex-shrink:0}
.brand-lockup{display:flex;align-items:center;gap:11px;padding-right:14px}
.brand-symbol{display:block;position:relative;flex:0 0 36px;width:36px;height:36px;overflow:hidden}
.brand-symbol img{position:absolute;max-width:none;width:123.0769%;height:auto;left:-11.5385%;top:-12.5%}
.brand-type{display:flex;flex-direction:column;gap:6px;color:var(--teal);white-space:nowrap}
.brand-name{font-family:"Hiragino Sans GB","STHeiti",var(--sans);font-size:25px;font-weight:700;line-height:1;letter-spacing:.12em}
.brand-tagline{font-family:"Hiragino Sans GB","STHeiti",var(--sans);font-size:10px;font-weight:500;line-height:1;letter-spacing:.025em;color:#315f5c}
#home-insights-title{font-style:normal}
#main:focus{outline:none}
.header-inner{position:relative}
.nav-group{width:100%}
.nav-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;border:0;background:transparent;padding:0;color:var(--ink);font-size:.78rem}
.nav-trigger>span{font-size:1rem;font-weight:300;transition:transform .25s}
.nav-trigger[aria-expanded="true"]>span{transform:rotate(45deg)}
.nav-trigger.is-current{text-decoration:underline;text-underline-offset:8px}
.nav-panel{padding:20px;color:#f4fcf8;background:linear-gradient(115deg,#ffffff1a,transparent 32%,#b8eee215 65%,transparent 85%),linear-gradient(125deg,#092f2deb,#0e4f4ad1 55%,#083b36e3);border:1px solid #b5e0d765;box-shadow:inset 0 1px 0 #e3fff3a6,inset 0 -1px 0 #b7e5d626,0 24px 60px #08292030;backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%)}
.nav-panel-heading{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;border-bottom:1px solid #c6e7dc40;padding-bottom:10px;margin-bottom:8px}
.nav-panel-heading>a{min-height:44px!important}
.nav-columns{display:grid;gap:8px}
.primary-nav .nav-columns>a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px 0;line-height:1.6;min-width:0}
.nav-columns strong{font:500 1.15rem/1.5 var(--serif-cn)}
.nav-columns span{font-size:.75rem;color:#e0f2ea}
.nav-columns a:hover strong{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.nav-panel a:focus-visible{outline-color:#e0fff2}
.cover-integrated{--cover-inset:24px;display:flex;flex-direction:column;min-height:620px;margin-top:18px}
.cover-integrated .cover-image{inset:0;width:100%;height:100%;object-position:62% center;z-index:-2}
.cover-integrated:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#eef2f2d9 0%,#eef2f26b 46%,#eef2f200 88%),linear-gradient(180deg,#eef2f2b3 0%,#eef2f238 34%,#eef2f200 65%)}
.cover-masthead{position:relative;width:calc(100% - var(--cover-inset)*2);margin:26px var(--cover-inset) 0;padding:0;overflow:visible}
.masthead-word{display:block;width:max-content;max-width:none;margin:0;font-size:18vw;letter-spacing:-.055em;line-height:.98;text-align:left;font-style:normal}
.masthead-word>span{display:block;font-style:normal}
.cover-integrated .cover-copy{padding:30px var(--cover-inset) 42px;max-width:none;container-type:inline-size}
.cover-integrated h1{font-size:min(2.35rem,12.5cqw);line-height:1.3;margin:0;letter-spacing:-.025em;white-space:nowrap}
.cover-integrated .button{margin-top:26px}
.cover-caption{padding-bottom:26px}
.cover-caption .vision-lead{font-family:var(--serif-cn);font-size:clamp(1.1rem,1.65vw,1.35rem);line-height:1.75;color:var(--ink)}
.cover-caption .vision-detail{margin-top:8px;font-size:.85rem;line-height:1.85;color:var(--muted)}
.journal-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:32px}
.journal-index>a{display:grid;grid-template-columns:22px 1fr;gap:4px 8px;align-items:baseline;padding:18px 6px;min-height:90px}
.journal-index span{font:italic .85rem var(--serif-en);color:var(--muted)}
.journal-index strong{font:500 1.1rem var(--serif-cn)}
.journal-index small{grid-column:2;color:var(--muted);font-size:.67rem}
.journal-index a:hover strong{color:var(--teal)}
.journal-secondary{display:grid;gap:24px;margin-top:38px;border-top:1px solid var(--line);padding-top:28px}
.journal-secondary h3{font:500 1.5rem/1.5 var(--serif-cn);margin:12px 0}
.category-nav{display:flex;gap:4px 18px;flex-wrap:wrap;border-bottom:1px solid var(--ink);margin-bottom:4px}
.category-nav>a{display:flex;align-items:center;min-height:52px;font-size:.8rem;position:relative}
.category-nav>a[aria-current="page"]{color:var(--teal)}
.category-nav>a[aria-current="page"]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--teal)}
.article-row{transition:padding .35s,background .35s}
.article-row:hover{background:#f6f8f7;padding-inline:12px}
.article-source{border-top:1px solid var(--line);padding-block:24px;font-size:.8rem;color:var(--muted)}
.article-body ol{padding-left:24px;margin:0 0 32px}
.article-body li{padding-left:4px;margin-bottom:12px;line-height:1.95}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;background:var(--teal);transform:scaleX(0);transform-origin:left;z-index:100}
.project-brand{display:flex;justify-content:center;border-bottom:1px solid var(--ink);padding:10px 0 24px;min-height:150px}
.project-brand>img{width:min(560px,100%);height:auto;object-fit:contain;align-self:center}
.contact-strip h2{margin:0 0 12px}
.contact-strip p{font-size:.9rem;color:var(--muted)}
.footer-statement{font-size:clamp(2.2rem,7vw,6rem)}
.footer-statement{font-style:normal}
.glass-scene{isolation:isolate;position:relative;overflow:hidden;background:#dae5e2}
.glass-scene .scene-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.glass-scene:after{content:"";pointer-events:none;position:absolute;z-index:1;inset:-60%;background:linear-gradient(110deg,transparent 42%,#ffffff24 49%,#ffffff06 54%,transparent 62%);transform:translateX(-65%);opacity:0}
.glass-panel{position:relative;background:linear-gradient(135deg,#ffffffc9,#ffffff85);border:1px solid #ffffffdc;box-shadow:inset 0 1px 0 #fff,0 14px 60px #072b2920;backdrop-filter:blur(18px) saturate(115%);-webkit-backdrop-filter:blur(18px) saturate(115%);color:#142b26;padding:26px}
.glass-panel p{color:#29413a}
.service-card.glass-scene{padding:22px;min-height:480px;justify-content:flex-end;border-color:#c5d2cc}
.service-card .scene-art{object-position:60% 35%}
.service-card .glass-panel{width:100%;min-height:288px}
.service-card h2{font-size:2rem;margin:20px 0 18px}
.service-card p{font-size:.9rem;line-height:1.85}
.service-card .text-link{margin-top:4px}
.service-card:hover .scene-art{transform:scale(1.045)}
.service-card:hover .glass-panel{border-color:#fff}
.detail-hero.glass-scene,.project-detail.glass-scene{padding:180px 18px 20px;min-height:620px;margin-bottom:46px}
.detail-hero .scene-art{object-position:74% center}
.detail-hero .glass-panel,.project-detail .glass-panel{max-width:610px}
.detail-hero h1{font-size:2.35rem;line-height:1.35;margin:18px 0}
.detail-hero h1 em{font-style:normal}
.detail-hero .large-copy,.project-detail .large-copy{font-size:1rem;line-height:1.9}
.detail-hero .button{margin-top:24px}
.project-detail .scene-art{object-position:70% center}
.project-logo{width:100%;max-width:330px;height:auto;margin:0 auto}
.project-detail h1{font-size:2rem;line-height:1.4;margin:8px 0 20px}
.project-detail .large-copy{margin-top:0}
.glass-panel .button:focus-visible{outline-color:#0e4f4a}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-panel{background:#f0f5f1f2}.nav-panel{background:#0e4f4a}}
@media(min-width:760px){
 .brand-symbol{flex-basis:39px;width:39px;height:39px}
 .brand-name{font-size:28px}
 .brand-tagline{font-size:11px}
 .brand-lockup{gap:13px}
 .cover-integrated{--cover-inset:36px;min-height:560px;height:clamp(560px,50vw,660px);max-height:none;aspect-ratio:auto;margin-top:24px}
 .cover-integrated .cover-image{object-position:center}
 .cover-integrated:before{background:linear-gradient(90deg,#eef2f2d9 0%,#eef2f299 26%,#eef2f226 43%,#eef2f200 58%)}
 .cover-masthead{width:calc(42% - var(--cover-inset));margin-top:48px;padding:0}
 .masthead-word{font-size:8vw;line-height:.98}
 .masthead-word>span{display:block}
 .cover-integrated .cover-copy{width:42%;padding-top:32px}
 .cover-integrated h1{font-size:min(3.65rem,12.5cqw)}
 .cover-integrated .button{margin-top:30px}
 .journal-index{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:40px}
 .journal-index>a{padding:22px 12px;min-height:106px;border-right:1px solid var(--line)}.journal-index>a:last-child{border:0}
 .journal-index strong{font-size:1.25rem}.journal-index small{font-size:.74rem}
 .journal-secondary{grid-template-columns:1fr 1fr;gap:54px;margin-top:48px}
 .journal-secondary>a+ a{border-left:1px solid var(--line);padding-left:40px}
 .journal-secondary h3{font-size:1.8rem}
 .category-nav{gap:36px}.category-nav>a{min-height:60px;font-size:.95rem}
 .project-brand{min-height:270px;padding:0 0 22px}.project-brand>img{width:540px}
 .service-card.glass-scene{min-height:580px;padding:28px}
 .service-card .glass-panel{padding:30px;min-height:325px}
 .service-card h2{font-size:2.4rem}
 .detail-hero.glass-scene,.project-detail.glass-scene{padding:44px;display:flex;align-items:center;min-height:650px}
 .detail-hero .glass-panel,.project-detail .glass-panel{width:54%;max-width:610px;padding:36px}
 .detail-hero h1{font-size:clamp(2.5rem,4vw,3.8rem)}
 .project-detail .scene-art{object-position:75% 45%}
 .project-detail .glass-panel{width:48%}
 .project-detail h1{font-size:2.8rem}
 .detail-hero .large-copy,.project-detail .large-copy{font-size:1.02rem}
 .project-logo{max-width:340px}
}
@media(min-width:1080px){
 .cover-integrated{--cover-inset:44px}
 .primary-nav,.primary-nav.open{gap:26px}
 .nav-group{width:auto}
 .nav-trigger{gap:8px}
 .nav-panel{position:absolute;top:100%;left:0;right:0;padding:26px 32px 32px}
 .nav-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}
 .nav-columns.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
 .primary-nav .nav-columns>a{padding:22px 16px 18px 0;min-height:116px}
 .nav-columns strong{font-size:1.4rem}
 .primary-nav .member-link{padding-left:22px}
}
@media(prefers-reduced-motion:no-preference){
 .nav-panel:not([hidden]){animation:panel-arrive .28s ease both}
 .is-revealed{animation:editorial-arrive .8s cubic-bezier(.16,1,.3,1) both}
 .glass-scene.is-revealed:after{animation:glass-light 1.6s ease-out .2s both}
 .cover-image{animation:art-arrive 1.6s cubic-bezier(.16,1,.3,1) both}
 .article-body .is-revealed{animation-duration:.7s}
 .text-link{transition:gap .3s,color .3s}.text-link:hover{gap:28px}
 @keyframes panel-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
 @keyframes editorial-arrive{from{opacity:.15;transform:translateY(24px)}to{opacity:1;transform:none}}
 @keyframes art-arrive{from{transform:scale(1.045);filter:brightness(.9)}to{transform:none;filter:none}}
 @keyframes glass-light{0%{opacity:0;transform:translateX(-65%)}25%{opacity:1}100%{opacity:0;transform:translateX(65%)}}
}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
