/* Full-width photography, quiet typography. Page content and interactive contracts stay independent. */
body[data-editorial-unified] .lf-hero.lf-integrated {
 --hero-height:420px; --hero-focus:65% 30%; position:relative; isolation:isolate;
 display:flex; flex-direction:column; align-items:stretch; justify-content:center;
 width:100%; max-width:none; min-height:var(--hero-height); height:auto;
 padding:28px max(var(--lf-gutter),calc((100% - var(--lf-width))/2)) 32px;
 margin:0 0 54px; gap:0; overflow:hidden; background:#fff;
}
body[data-editorial-unified] .lf-integrated .lf-hero-text { position:relative; z-index:2; width:51%; max-width:610px; min-width:0; }
body[data-editorial-unified] .lf-integrated .lf-breadcrumb { margin-bottom:14px; min-height:18px; }
body[data-editorial-unified] .lf-integrated .lf-eyebrow { margin-bottom:16px; font-size:10px; }
body[data-editorial-unified] .lf-integrated h1 { font-size:clamp(34px,3.1vw,46px); line-height:1.45; margin-bottom:18px; }
body[data-editorial-unified] .lf-integrated .lf-hero-copy { max-width:510px; }
body[data-editorial-unified] .lf-integrated .lf-hero-copy p { font-size:13px; line-height:1.95; }
body[data-editorial-unified] .lf-integrated .lf-hero-copy p+p { margin-top:9px; }
body[data-editorial-unified] .lf-integrated .lf-hero-actions { gap:12px 26px; margin-top:16px; }
body[data-editorial-unified] .lf-integrated .lf-hero-actions .lf-link { font-size:12px; padding-bottom:4px; }
body[data-editorial-unified] .lf-integrated .lf-service-logo { display:none; }
body[data-editorial-unified] .lf-integrated .lf-hero-photo { position:absolute; z-index:0; top:0; right:0; bottom:0; width:57%; max-width:none; height:100%; margin:0; }
body[data-editorial-unified] .lf-integrated .lf-hero-photo > img { display:block; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; object-position:var(--hero-focus); }
body[data-editorial-unified] .lf-integrated .lf-hero-photo::after { content:""; position:absolute; pointer-events:none; inset:0; background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 5%,rgba(255,255,255,.6) 18%,rgba(255,255,255,0) 36%); }
body[data-editorial-unified] .lf-integrated figcaption { position:absolute; right:16px; bottom:8px; z-index:1; padding:2px 5px; margin:0; background:rgba(255,255,255,.85); font-size:8px; }
body[data-editorial-unified] .lf-hero--top.lf-integrated { --hero-height:410px; --hero-focus:81% 27%; }
body[data-editorial-unified] .lf-hero--top.lf-integrated h1 { font-size:clamp(38px,3.6vw,52px); }
body[data-editorial-unified] .lf-hero--media.lf-integrated { --hero-height:370px; --hero-focus:68% 55%; margin-bottom:0; }
body[data-editorial-unified] .lf-hero--media.lf-integrated .lf-breadcrumb { display:none; }
body[data-editorial-unified] .lf-hero--media.lf-integrated h1 { margin-bottom:18px; }
body[data-editorial-unified] .lf-integrated .lf-media-name { font:400 clamp(48px,4.5vw,66px)/1.05 Georgia,"Times New Roman",serif; letter-spacing:-.035em; margin-bottom:26px; }
body[data-editorial-unified] .lf-integrated .lf-media-tagline { font-size:clamp(24px,2.2vw,32px); line-height:1.5; }
body[data-editorial-unified] .lf-hero--company.lf-integrated { --hero-height:400px; --hero-focus:65% 35%; }
body[data-editorial-unified] .lf-hero--contact.lf-integrated { --hero-height:370px; --hero-focus:72% 28%; margin-bottom:34px; }
body[data-editorial-unified] .lf-hero--students.lf-integrated { --hero-height:440px; --hero-focus:58% 22%; }
body[data-editorial-unified] .lf-hero--students.lf-integrated .lf-hero-text { width:50%; }
body[data-editorial-unified] .lf-hero--students.lf-integrated h1 { font-size:clamp(34px,3.05vw,44px); }
body[data-editorial-unified] .lf-hero--students.lf-integrated .st-hero-lead { margin-bottom:10px; }
body[data-editorial-unified] .lf-hero--nanimono.lf-integrated { --hero-height:440px; --hero-focus:65% 45%; }
body[data-editorial-unified] .lf-hero--nanimono-house.lf-integrated { --hero-height:450px; --hero-focus:61% 20%; }
body[data-editorial-unified] .lf-hero--nanimono-house.lf-integrated h1 { font-size:clamp(30px,2.65vw,39px); }
/* Magazine density follows the reference: filters, horizontal feature, then the archive. */
body[data-editorial-unified] .vb-magazine .vb-category-tabs { padding:22px 0 16px; border-top:0; gap:10px; }
body[data-editorial-unified] .vb-category-tabs button { min-height:44px; padding:8px 18px; border-radius:4px; }
body[data-editorial-unified] .vb-filter-status { margin:10px 0 20px; }
body[data-editorial-unified] .vb-magazine-layout { grid-template-columns:minmax(0,1fr) 240px; gap:30px; }
body[data-editorial-unified] .vb-featured { margin-bottom:30px; border:1px solid #ddd; }
body[data-editorial-unified] .vb-featured .lf-journal-feature { display:grid; grid-template-columns:43% minmax(0,1fr); gap:0; align-items:stretch; padding:0; border:0; }
body[data-editorial-unified] .vb-featured figure { margin:0; width:100%; max-width:none; min-height:280px; }
body[data-editorial-unified] .vb-featured img { display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:75% 16%; }
body[data-editorial-unified] .vb-featured .lf-journal-feature > div { padding:26px 24px; align-self:center; }
body[data-editorial-unified] .vb-featured h3 { font-size:clamp(19px,1.7vw,25px); line-height:1.75; margin-bottom:16px; }
body[data-editorial-unified] .vb-featured p { font-size:12px; line-height:1.9; }
body[data-editorial-unified] .vb-featured .sd-story-meta { font-size:10px; margin-bottom:10px; }
body[data-editorial-unified] .vb-magazine-sidebar { gap:24px; }
body[data-editorial-unified] .vb-magazine-sidebar > div { border:1px solid #ddd; padding:20px; }
body[data-editorial-unified] .vb-magazine-sidebar h2 { font-size:21px; }
body[data-editorial-unified] .vb-magazine-sidebar > div:first-child { padding-top:20px; }
/* Diagram direction is encoded by numbering and fine rules, never arrow glyphs. */
body[data-editorial-unified] .vb-shared-bridge .lf-bridge-line { display:block; flex:0 0 70px; border-top:1px solid #aaa; height:0; }
body[data-editorial-unified] .vb-growth li:not(:last-child)::after,body[data-editorial-unified] .vb-org-process li:not(:last-child)::after { content:""; width:16px; height:0; border-top:1px solid #aaa; }
/* The article keeps its editorial title and byline, with integrated portrait photography. */
.ceo-article .article-hero { position:relative; isolation:isolate; width:100%; max-width:none; min-height:420px; padding:32px max(48px,calc((100% - 1200px)/2)); margin:20px 0 44px; display:flex; align-items:center; overflow:hidden; }
.ceo-article .article-hero-copy { position:relative; z-index:2; width:51%; }
.ceo-article .article-title-quote { font-size:clamp(27px,2.6vw,38px); line-height:1.65; }
.ceo-article .article-title-context { font-size:20px; line-height:1.8; }
.ceo-article .article-portrait { position:absolute; inset:0 0 0 auto; width:54%; height:100%; margin:0; max-width:none; }
.ceo-article .article-portrait img { width:100%; height:100%; object-fit:cover; object-position:75% 18%; aspect-ratio:auto; }
.ceo-article .article-portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,.8) 12%,transparent 38%); pointer-events:none; }
.ceo-article .article-portrait figcaption { position:absolute; bottom:5px; right:16px; padding:3px 5px; background:rgba(255,255,255,.85); font-size:8px; }
@media(max-width:1199px) {
 body[data-editorial-unified] .lf-integrated h1 { font-size:34px; }
 body[data-editorial-unified] .lf-integrated .lf-hero-text { width:53%; }
 body[data-editorial-unified] .lf-hero--top.lf-integrated h1 { font-size:40px; }
 body[data-editorial-unified] .lf-hero--nanimono-house.lf-integrated h1 { font-size:30px; }
 body[data-editorial-unified] .vb-magazine-layout { grid-template-columns:minmax(0,1fr) 200px; gap:24px; }
 body[data-editorial-unified] .vb-featured .lf-journal-feature > div { padding:20px; }
}
@media(min-width:700px) and (max-width:899px) {
 body[data-editorial-unified] .lf-integrated .lf-hero-text { width:59%; }
 body[data-editorial-unified] .lf-integrated .lf-hero-photo { width:52%; }
 body[data-editorial-unified] .lf-integrated .lf-hero-photo::after { background:linear-gradient(90deg,#fff,rgba(255,255,255,.85) 20%,transparent 55%); }
 body[data-editorial-unified] .lf-integrated h1,body[data-editorial-unified] .lf-hero--students.lf-integrated h1 { font-size:32px; }
 body[data-editorial-unified] .lf-hero--nanimono-house.lf-integrated h1 { font-size:28px; }
 body[data-editorial-unified] .vb-magazine-layout { grid-template-columns:minmax(0,1fr); }
 body[data-editorial-unified] .vb-magazine-sidebar { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
 .ceo-article .article-hero { padding-inline:32px; }
}
@media(max-width:699px) {
 body[data-editorial-unified] .lf-hero.lf-integrated { width:100%; min-height:0; padding:22px 22px 0; margin:0 0 38px; }
 body[data-editorial-unified] .lf-integrated .lf-hero-text,body[data-editorial-unified] .lf-hero--students.lf-integrated .lf-hero-text { width:100%; max-width:none; }
 body[data-editorial-unified] .lf-integrated .lf-breadcrumb { margin-bottom:14px; }
 body[data-editorial-unified] .lf-integrated .lf-eyebrow { margin-bottom:14px; }
 body[data-editorial-unified] .lf-integrated h1,body[data-editorial-unified] .lf-hero--students.lf-integrated h1 { font-size:29px; line-height:1.55; margin-bottom:16px; }
 body[data-editorial-unified] .lf-hero--top.lf-integrated h1 { font-size:34px; }
 body[data-editorial-unified] .lf-hero--nanimono-house.lf-integrated h1 { font-size:27px; }
 body[data-editorial-unified] .lf-integrated .lf-hero-copy p { font-size:13px; line-height:1.9; }
 body[data-editorial-unified] .lf-integrated .lf-hero-actions { margin-top:13px; gap:6px 18px; }
 body[data-editorial-unified] .lf-integrated .lf-hero-actions .lf-link { width:auto; }
 body[data-editorial-unified] .lf-hero--students.lf-integrated .ui-primary { width:100%; }
 body[data-editorial-unified] .lf-integrated .lf-hero-photo { position:relative; width:calc(100% + 44px); height:180px; margin:8px -22px 0; }
 body[data-editorial-unified] .lf-integrated .lf-hero-photo > img { max-height:none; height:100%; object-position:center 28%; }
 body[data-editorial-unified] .lf-integrated .lf-hero-photo::after { background:linear-gradient(180deg,#fff,rgba(255,255,255,.75) 8%,transparent 30%); }
 body[data-editorial-unified] .lf-hero--top.lf-integrated .lf-hero-photo > img { object-position:80% 20%; }
 body[data-editorial-unified] .lf-hero--media.lf-integrated { margin-bottom:0; padding-top:26px; }
 body[data-editorial-unified] .lf-integrated .lf-media-name { font-size:47px; margin-bottom:18px; }
 body[data-editorial-unified] .lf-integrated .lf-media-tagline { font-size:24px; }
 body[data-editorial-unified] .lf-hero--media.lf-integrated .lf-hero-photo { height:140px; }
 body[data-editorial-unified] .lf-hero--media.lf-integrated .lf-hero-photo > img { object-position:center 60%; }
 body[data-editorial-unified] .lf-hero--company.lf-integrated .lf-hero-photo { height:170px; }
 body[data-editorial-unified] .lf-hero--contact.lf-integrated .lf-hero-photo { height:140px; }
 body[data-editorial-unified] .lf-hero--contact.lf-integrated { margin-bottom:26px; }
 body[data-editorial-unified] .vb-magazine .vb-category-tabs { gap:8px; padding:16px 0 14px; }
 body[data-editorial-unified] .vb-category-tabs button { padding:7px 11px; font-size:11px; }
 body[data-editorial-unified] .vb-magazine-layout { grid-template-columns:minmax(0,1fr); }
 body[data-editorial-unified] .vb-featured .lf-journal-feature { grid-template-columns:minmax(0,1fr); }
 body[data-editorial-unified] .vb-featured figure { min-height:0; height:200px; }
 body[data-editorial-unified] .vb-featured img { object-position:75% 18%; }
 body[data-editorial-unified] .vb-featured .lf-journal-feature > div { padding:20px; }
 body[data-editorial-unified] .vb-featured h3 { font-size:21px; }
 body[data-editorial-unified] .vb-magazine-sidebar { grid-template-columns:minmax(0,1fr); }
 body[data-editorial-unified] .vb-growth li:not(:last-child)::after { width:0; height:16px; border-top:0; border-left:1px solid #aaa; }
 body[data-editorial-unified] .vb-org-process li::after { display:none; }
 body[data-editorial-unified] .vb-shared-bridge .lf-bridge-line { flex-basis:35px; }
 .ceo-article .article-hero { display:block; min-height:0; padding:22px 22px 0; margin:0 0 30px; }
 .ceo-article .article-hero-copy { width:100%; }
 .ceo-article .article-title-quote { font-size:27px; }
 .ceo-article .article-title-context { font-size:17px; }
 .ceo-article .article-portrait { position:relative; inset:auto; width:calc(100% + 44px); height:230px; margin:18px -22px 0; }
 .ceo-article .article-portrait::after { background:linear-gradient(180deg,#fff,transparent 24%); }
 .ceo-article .article-portrait img { object-position:75% 15%; }
}
/* Standalone BASE projects opt in explicitly; no forms, assets or business logic are replaced. */
body[data-lf-project] { --lf-project-gutter:max(48px,calc((100vw - 1200px)/2)); }
body[data-lf-project] .site-header { position:sticky; top:0; height:70px; min-height:70px; width:100%; margin:0; padding:0; background:#fff; border-bottom:1px solid #eee; z-index:30; }
body[data-lf-project="kodawaru"] .site-header { padding-inline:var(--lf-project-gutter); }
body[data-lf-project="umidas"] .header-inner { width:calc(100% - var(--lf-project-gutter)*2); max-width:1200px; }
body[data-lf-project] .hero { position:relative; isolation:isolate; display:block; width:100%; max-width:none; min-height:490px; height:auto; margin:0; padding:32px var(--lf-project-gutter); overflow:hidden; background:#fff; }
body[data-lf-project] .hero .hero-copy { position:relative; z-index:2; width:51%; max-width:600px; padding:0; margin:0; color:#171717; }
body[data-lf-project] .hero h1 { font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(36px,3.3vw,48px); line-height:1.5; margin:16px 0; white-space:normal; text-shadow:none; color:#111; }
body[data-lf-project] .hero .hero-description { font-size:13px; line-height:1.9; color:#444; margin:12px 0; }
body[data-lf-project] .hero .hero-note { font-size:11px; color:#555; margin-top:12px; }
body[data-lf-project] .hero .button { min-height:46px; padding:11px 19px; font-size:13px; border-radius:0; background:var(--lf-accent); color:#fff; border:1px solid var(--lf-accent); box-shadow:none; margin-top:10px; }
body[data-lf-project] .hero .button:hover { background:#102f50; }
body[data-lf-project] .hero .button-white { background:#fff; color:#111; border-color:#777; }
body[data-lf-project] .hero :is(.hero-highlight,.accent-text) { color:var(--lf-accent); background:none; -webkit-text-fill-color:currentColor; }
body[data-lf-project="umidas"] .hero-inner { position:static; display:block; width:100%; max-width:none; min-height:0; padding:0; }
body[data-lf-project="umidas"] .hero .hero-photo { position:absolute; inset:0 0 0 auto; width:56%; height:100%; transform:none; }
body[data-lf-project="umidas"] .hero .hero-photo img { width:100%; height:100%; object-fit:cover; object-position:68% 23%; }
body[data-lf-project="umidas"] .hero .hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,.85) 13%,transparent 42%); }
body[data-lf-project="umidas"] :is(.hero-glow,.hero-graphics,.hero-wave,.hero-wordmark) { display:none; }
body[data-lf-project="umidas"] .hero-eyebrow { color:#555; }
body[data-lf-project="umidas"] .hero-eyebrow span { display:none; }
body[data-lf-project="umidas"] .button-group { gap:12px; margin-top:14px; }
body[data-lf-project="kodawaru"] .hero-subtitle { font-size:15px; margin-bottom:14px; }
body[data-lf-project="kodawaru"] .hero-visual { position:absolute; inset:0 0 0 auto; width:54%; height:100%; display:block; z-index:0; }
body[data-lf-project="kodawaru"] .hero-photos { min-height:0; height:100%; gap:5px; grid-template-columns:1.1fr 1fr; }
body[data-lf-project="kodawaru"] .hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,.75) 8%,transparent 33%); }
body[data-lf-project="kodawaru"] .photo-caption { position:absolute; bottom:8px; right:14px; z-index:2; background:rgba(255,255,255,.88); padding:4px 8px; font-size:9px; }
@media(min-width:700px) and (max-width:1023px) {
 body[data-lf-project] { --lf-project-gutter:32px; }
 body[data-lf-project] .hero { min-height:480px; }
 body[data-lf-project] .hero h1 { font-size:35px; }
 body[data-lf-project] .hero .hero-copy { width:55%; }
}
@media(max-width:699px) {
 body[data-lf-project] { --lf-project-gutter:22px; }
 body[data-lf-project] .site-header { height:64px; min-height:64px; }
 body[data-lf-project] .hero { min-height:0; padding:24px 22px 0; }
 body[data-lf-project] .hero .hero-copy { width:100%; max-width:none; }
 body[data-lf-project] .hero h1 { font-size:31px; line-height:1.5; margin:14px 0; }
 body[data-lf-project] .hero .hero-description { font-size:13px; }
 body[data-lf-project] .hero .hero-description br { display:none; }
 body[data-lf-project] .hero .hero-note { max-width:none; }
 body[data-lf-project] .hero :is(.hero-photo,.hero-visual) { position:relative; inset:auto; width:calc(100% + 44px); height:190px; margin:10px -22px 0; }
 body[data-lf-project] .hero :is(.hero-photo,.hero-visual)::after { background:linear-gradient(180deg,#fff,rgba(255,255,255,.6) 10%,transparent 30%); }
 body[data-lf-project="umidas"] .hero .hero-photo { position:absolute; bottom:0; left:0; right:0; top:auto; margin:0; width:100%; }
 body[data-lf-project="umidas"] .hero { padding-bottom:208px; }
 body[data-lf-project="umidas"] .hero .hero-photo img { object-position:68% 25%; }
 body[data-lf-project="kodawaru"] .hero-subtitle { font-size:14px; }
 body[data-lf-project="kodawaru"] .hero-photos { min-height:0; height:190px; grid-template-columns:1.1fr 1fr; grid-template-rows:1fr 1fr; }
 body[data-lf-project="kodawaru"] .hero-photos img { height:100%; }
 body[data-lf-project="kodawaru"] .hero-chef { object-position:50% 32%; }
}

@media(min-width:700px) { body[data-lf-project="umidas"] .hero h1 { font-size:40px; line-height:1.4; } }
body[data-editorial-unified] .vb-featured > .sd-kicker { margin:0; padding:12px 16px; border-bottom:1px solid #eee; }
body[data-editorial-unified] .vb-featured figure { position:relative; height:100%; min-height:300px; }
body[data-editorial-unified] .vb-featured figure img { position:absolute; inset:0; }
@media(max-width:699px) { body[data-editorial-unified] .vb-featured figure { height:200px; min-height:0; } }
body[data-lf-project="kodawaru"] .reinvest-flow li:not(:last-child)::after { content:""; width:12px; height:0; border-top:1px solid #aaa; }
/* The LP may restore a submit icon from its own JS. Keep the action, suppress only the arrow. */
body[data-lf-project] svg:has(use[href="#i-arrow"]) { display:none; }
body[data-editorial-unified] .vb-featured h3 { text-wrap:balance; }
body[data-editorial-unified] .vb-featured .lf-feature-quote { display:block; }
body[data-editorial-unified] .vb-featured .lf-feature-context { display:block; margin-top:8px; font-size:19px; }
body[data-editorial-unified] .vb-featured .lf-feature-context .lf-phrase { display:inline-block; }
@media(max-width:699px) { body[data-lf-project="umidas"] .hero .hero-photo::after { background:linear-gradient(180deg,#fff,rgba(255,255,255,.45) 4%,transparent 18%); } }
@media(min-width:700px) and (max-width:900px) { body[data-lf-project] .site-header { height:64px; min-height:64px; } }
@media(min-width:700px) and (max-width:899px) { body[data-editorial-unified] .lf-hero--contact.lf-integrated { --hero-focus:100% 28%; } }
