/* Shared editorial system. Applied only to the eight explicitly opted-in pages. */
body[data-editorial-unified] { --lf-width: 1200px; --lf-gutter: 48px; --lf-gap: 88px; --lf-sans: "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif; }
body[data-editorial-unified] :is(.tp-container,.sv-container,.co-section,.st-container,.sd-container,.lf-contact .container) { width: min(calc(100% - var(--lf-gutter) * 2),var(--lf-width)); max-width: var(--lf-width); margin-left:auto; margin-right:auto; }
body[data-editorial-unified] :is(.tp-section,.sv-section,.co-section,.st-section,.sd-section) { margin-bottom:var(--lf-gap); }
body[data-editorial-unified] .lf-hero { width:min(calc(100% - var(--lf-gutter) * 2),var(--lf-width)); max-width:none; min-height:620px; display:grid; grid-template-columns:minmax(0,1fr); align-content:center; gap:0; height:auto; padding:20px 0 56px; margin:0 auto 36px; border:0; color:#111; background:#fff; font-family:var(--lf-sans); box-sizing:border-box; }
body[data-editorial-unified] .lf-breadcrumb { display:flex; flex-wrap:wrap; gap:9px; align-items:center; min-height:24px; margin:0 0 26px; color:#777; font:400 9px/1.8 var(--lf-sans); letter-spacing:.025em; }
body[data-editorial-unified] .lf-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
body[data-editorial-unified] .lf-eyebrow { margin:0 0 21px; font:500 10px/1.8 var(--lf-sans); letter-spacing:.12em; }
body[data-editorial-unified] .lf-hero h1 { margin:0 0 28px; font:600 clamp(44px,4.2vw,62px)/1.5 var(--font-heading); letter-spacing:-.035em; word-break:normal; line-break:strict; white-space:normal; }
body[data-editorial-unified] .lf-hero h1 > span { display:block; }
body[data-editorial-unified] .lf-hero .lf-phrase { display:inline-block; }
body[data-editorial-unified] .lf-hero-bottom { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); align-items:center; gap:64px; }
body[data-editorial-unified] .lf-hero-copy { max-width:680px; min-width:0; }
body[data-editorial-unified] .lf-hero-copy p { max-width:680px; margin:0; font:400 15px/2 var(--lf-sans); letter-spacing:.02em; word-break:normal; }
body[data-editorial-unified] .lf-hero-copy p+p { margin-top:14px; }
body[data-editorial-unified] .lf-hero-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:20px 36px; margin-top:28px; }
body[data-editorial-unified] .lf-link { display:inline-flex; justify-content:space-between; align-items:center; gap:28px; max-width:100%; padding-bottom:10px; border-bottom:1px solid #555; font:400 12px/1.9 var(--lf-sans); letter-spacing:0; }
body[data-editorial-unified] .lf-link > span { flex:0 0 auto; }
body[data-editorial-unified] .lf-link:hover { color:#666; }
body[data-editorial-unified] a:focus-visible,body[data-editorial-unified] summary:focus-visible { outline:2px solid #333; outline-offset:5px; }
body[data-editorial-unified] .lf-hero-photo { width:100%; max-width:370px; margin:0; justify-self:end; }
body[data-editorial-unified] .lf-hero-photo img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:center 20%; border-radius:0; }
body[data-editorial-unified] .lf-hero-photo figcaption { margin-top:7px; text-align:right; color:#777; font:9px/1.6 var(--lf-sans); }
body[data-editorial-unified] .lf-logic { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:38px; padding-top:24px; border-top:1px solid #ccc; }
body[data-editorial-unified] .lf-logic > div { min-width:0; position:relative; padding-right:24px; border-right:1px solid #ccc; }
body[data-editorial-unified] .lf-logic > div:last-child { border:0; }
body[data-editorial-unified] .lf-logic span { display:block; margin-bottom:12px; font:10px/1.8 var(--lf-sans); color:#777; letter-spacing:.08em; }
body[data-editorial-unified] .lf-logic strong { display:block; margin-bottom:10px; font:500 23px/1.7 var(--font-heading); }
body[data-editorial-unified] .lf-logic p { font-size:13px; line-height:1.9; }
body[data-editorial-unified] .lf-cycle { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:32px 0; border-bottom:1px solid #ccc; }
body[data-editorial-unified] .lf-cycle li { padding:18px 20px 18px 0; border-top:1px solid #aaa; font:400 14px/1.9 var(--lf-sans); }
body[data-editorial-unified] .lf-cycle span { display:block; margin-bottom:8px; color:#777; font:16px/1.6 Georgia,serif; }
body[data-editorial-unified] .sd-house-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; max-width:none; }
body[data-editorial-unified] .sd-house-flow li { display:block; padding:20px 0; border-top:1px solid #aaa; border-bottom:0; }
body[data-editorial-unified] .sd-house-flow li:last-child { border-bottom:0; }
body[data-editorial-unified] .sd-house-flow li > span { display:block; margin-bottom:14px; }
body[data-editorial-unified] .sd-house-flow h3 { font-size:18px; }
body[data-editorial-unified] .sd-house-flow p { font-size:13px; }
body[data-editorial-unified] .lf-magazine-stories { gap:48px; }
body[data-editorial-unified] .lf-magazine-stories .sd-story-head { grid-template-columns:150px minmax(0,1fr); min-height:200px; align-items:center; }
body[data-editorial-unified] .lf-magazine-stories .sd-story-head img { width:150px; height:187.5px; object-fit:cover; object-position:center; }
body[data-editorial-unified] .lf-magazine-stories h3 { font-size:23px; line-height:1.8; }
body[data-editorial-unified] .lf-journal-feature { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; align-items:center; padding-top:26px; border-top:1px solid #ccc; }
body[data-editorial-unified] .lf-journal-feature figure { max-width:410px; margin:0; }
body[data-editorial-unified] .lf-journal-feature img { width:100%; height:auto; aspect-ratio:1; object-fit:cover; object-position:70% 20%; }
body[data-editorial-unified] .lf-journal-feature h3 { font-size:30px; line-height:1.8; margin:0 0 22px; }
body[data-editorial-unified] .lf-journal-feature p:not(.sd-story-meta) { margin:0 0 24px; font-size:14px; line-height:2; }
body[data-editorial-unified] .lf-journal-scope { display:grid; grid-template-columns:1fr 1.2fr; gap:56px; }
body[data-editorial-unified] .lf-journal-scope p+p { margin-top:18px; }
body[data-editorial-unified] .lf-journal-categories { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; font-size:12px; }
body[data-editorial-unified] .lf-journal-categories a { padding-bottom:6px; border-bottom:1px solid #aaa; }
body[data-editorial-unified] .lf-project-note { max-width:680px; font-size:13px; margin-bottom:20px; }
body[data-editorial-unified] .co-business-group:has(.lf-project-note) { margin-left:36px; padding-left:28px; border-left:1px solid #aaa; }
body[data-editorial-unified] .co-business-group:has(.lf-project-note) .co-business-row { grid-template-columns:24px minmax(0,.95fr) minmax(0,1fr); }
body[data-editorial-unified] .lf-contact { font-family:var(--lf-sans); }
body[data-editorial-unified] .lf-contact .section { padding:0; margin-bottom:var(--lf-gap); }
body[data-editorial-unified] .lf-contact .contact-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); align-items:start; gap:64px; border-top:1px solid #aaa; padding-top:28px; }
body[data-editorial-unified] .lf-contact :is(.form-card,.info-card) { min-width:0; padding:0; border:0; border-radius:0; background:#fff; box-shadow:none; }
body[data-editorial-unified] .lf-contact .form-card h2 { margin:0 0 28px; font:600 30px/1.7 var(--font-heading); }
body[data-editorial-unified] .lf-contact .form-card label { font:400 13px/1.9 var(--lf-sans); margin-bottom:20px; }
body[data-editorial-unified] .lf-contact :is(input,select,textarea) { border-radius:0; font:400 15px/1.8 var(--lf-sans); background:#fff; }
body[data-editorial-unified] .lf-contact .form-card button { border-radius:0; width:auto; min-width:180px; font:400 13px/1.8 var(--lf-sans); }
body[data-editorial-unified] .lf-contact .info-card h2 { margin:0 0 24px; font:600 25px/1.7 var(--font-heading); }
body[data-editorial-unified] .lf-contact .info-card p { margin:0 0 24px; font-size:14px; line-height:2; }
body[data-editorial-unified] .lf-contact .faq { border-radius:0; }
body[data-editorial-unified] .lf-contact .section-label { font:500 10px/1.8 var(--lf-sans); }
body[data-editorial-unified] .lf-contact .section h2 { font-family:var(--font-heading); }
body[data-editorial-unified] .cta-band { display:none; }
body[data-editorial-unified] #contact-form { scroll-margin-top:95px; }
@media(max-width:1199px) { body[data-editorial-unified] .lf-hero h1 { font-size:clamp(40px,4.15vw,52px); } body[data-editorial-unified] .lf-hero-bottom { gap:40px; } body[data-editorial-unified] .lf-magazine-stories .sd-story-head { grid-template-columns:120px minmax(0,1fr); gap:20px; } body[data-editorial-unified] .lf-magazine-stories .sd-story-head img { width:120px; height:150px; } body[data-editorial-unified] .lf-magazine-stories h3 { font-size:21px; } }
@media(max-width:1023px) { body[data-editorial-unified] { --lf-gutter:32px; } body[data-editorial-unified] .lf-hero { min-height:620px; } body[data-editorial-unified] .lf-hero h1 { font-size:40px; } body[data-editorial-unified] .lf-hero-bottom { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:32px; } body[data-editorial-unified] .lf-hero-copy p { font-size:14px; } body[data-editorial-unified] .lf-hero-actions { gap:16px 24px; } body[data-editorial-unified] .sd-house-flow { grid-template-columns:repeat(3,minmax(0,1fr)); } body[data-editorial-unified] .lf-magazine-stories .sd-story-head { display:block; min-height:0; } body[data-editorial-unified] .lf-magazine-stories .sd-story-head img { margin-bottom:20px; } body[data-editorial-unified] .lf-journal-feature { gap:32px; } body[data-editorial-unified] .lf-journal-feature h3 { font-size:24px; } body[data-editorial-unified] .lf-contact .contact-grid { gap:32px; } }
@media(max-width:699px) {
 body[data-editorial-unified] { --lf-gutter:22px; --lf-gap:56px; }
 body[data-editorial-unified] .lf-hero { min-height:0; padding:14px 0 32px; margin-bottom:24px; }
 body[data-editorial-unified] .lf-breadcrumb { font-size:8px; margin-bottom:24px; }
 body[data-editorial-unified] .lf-eyebrow { font-size:9px; margin-bottom:22px; }
 body[data-editorial-unified] .lf-hero h1 { font-size:clamp(29px,7.65vw,34px); line-height:1.7; letter-spacing:-.04em; margin-bottom:24px; }
 body[data-editorial-unified] .lf-hero-bottom { grid-template-columns:minmax(0,1fr); gap:28px; }
 body[data-editorial-unified] .lf-hero-copy p { font-size:14px; line-height:2; }
 body[data-editorial-unified] .lf-hero-actions { gap:20px; margin-top:24px; }
 body[data-editorial-unified] .lf-hero-actions .lf-link { width:100%; font-size:12px; }
 body[data-editorial-unified] .lf-hero-photo { max-width:100%; justify-self:start; }
 body[data-editorial-unified] .lf-hero-photo img { aspect-ratio:16/9; max-height:220px; }
 body[data-editorial-unified] .lf-logic { grid-template-columns:minmax(0,1fr); gap:0; margin-top:28px; padding-top:0; }
 body[data-editorial-unified] .lf-logic > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:5px 20px; padding:18px 0; border:0; border-bottom:1px solid #ccc; }
 body[data-editorial-unified] .lf-logic span { grid-row:1/3; margin:0; padding-top:5px; }
 body[data-editorial-unified] .lf-logic strong { font-size:20px; margin:0; }
 body[data-editorial-unified] .lf-logic p { grid-column:2; }
 body[data-editorial-unified] .lf-cycle { grid-template-columns:minmax(0,1fr); margin:26px 0; }
 body[data-editorial-unified] .lf-cycle li { display:flex; align-items:center; gap:22px; padding:15px 0; }
 body[data-editorial-unified] .lf-cycle span { margin:0; }
 body[data-editorial-unified] .sd-house-flow { grid-template-columns:minmax(0,1fr); gap:0; }
 body[data-editorial-unified] .sd-house-flow li { display:grid; grid-template-columns:62px minmax(0,1fr); gap:20px; padding:19px 0; }
 body[data-editorial-unified] .sd-house-flow li > span { margin:0; }
 body[data-editorial-unified] .sd-house-flow li:last-child { border-bottom:1px solid #ccc; }
 body[data-editorial-unified] .lf-magazine-stories { grid-template-columns:minmax(0,1fr); gap:30px; }
 body[data-editorial-unified] .lf-magazine-stories .sd-story-head { display:grid; grid-template-columns:105px minmax(0,1fr); gap:20px; }
 body[data-editorial-unified] .lf-magazine-stories .sd-story-head img { width:105px; height:131.25px; margin:0; }
 body[data-editorial-unified] .lf-magazine-stories h3 { font-size:20px; }
 body[data-editorial-unified] .lf-journal-feature { grid-template-columns:minmax(0,1fr); gap:24px; }
 body[data-editorial-unified] .lf-journal-feature figure { max-width:none; }
 body[data-editorial-unified] .lf-journal-feature img { aspect-ratio:1; }
 body[data-editorial-unified] .lf-journal-feature h3 { font-size:24px; }
 body[data-editorial-unified] .lf-journal-scope { grid-template-columns:minmax(0,1fr); gap:28px; }
 body[data-editorial-unified] .co-business-group:has(.lf-project-note) { margin-left:0; padding-left:18px; }
 body[data-editorial-unified] .co-business-group:has(.lf-project-note) .co-business-row { grid-template-columns:24px minmax(0,1fr); }
 body[data-editorial-unified] .lf-contact .contact-grid { grid-template-columns:minmax(0,1fr); gap:40px; }
 body[data-editorial-unified] .lf-contact .info-card { padding-top:26px; border-top:1px solid #ccc; }
 body[data-editorial-unified] .lf-contact .form-card h2 { font-size:27px; }
}
body[data-editorial-unified] .lf-hero { position:relative; }
body[data-editorial-unified] .lf-service-logo { position:absolute; top:61px; right:0; width:72px; height:40px; object-fit:contain; }
body[data-editorial-unified] .lf-photo-note { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); max-width:960px; align-items:center; gap:48px; margin-top:36px; }
body[data-editorial-unified] .lf-photo-note figure { margin:0; }
body[data-editorial-unified] .lf-photo-note img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
body[data-editorial-unified] .lf-photo-note h3 { font-size:27px; line-height:1.8; margin-bottom:18px; }
body[data-editorial-unified] .lf-photo-note p:not(.st-kicker) { font-size:14px; line-height:2; max-width:500px; }
body[data-editorial-unified] .lf-base-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; }
body[data-editorial-unified] .lf-base-media > div { border-top:1px solid #aaa; padding-top:14px; }
body[data-editorial-unified] .lf-base-media span { display:block; font:10px/1.8 var(--lf-sans); color:#777; margin-bottom:8px; }
body[data-editorial-unified] .lf-base-media strong { font:400 15px/1.8 var(--lf-sans); }
body[data-editorial-unified] .lf-ecosystem { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0 0 32px; }
body[data-editorial-unified] .lf-ecosystem > * { border-top:1px solid #aaa; padding:16px 0; }
body[data-editorial-unified] .lf-ecosystem span { display:block; font:10px/1.8 var(--lf-sans); color:#777; margin-bottom:10px; }
body[data-editorial-unified] .lf-ecosystem strong { font:400 16px/1.8 var(--lf-sans); }
@media(max-width:699px) { body[data-editorial-unified] .lf-service-logo { top:57px; width:60px; height:32px; } body[data-editorial-unified] .lf-photo-note { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:28px; } body[data-editorial-unified] .lf-photo-note h3 { font-size:24px; } body[data-editorial-unified] .lf-ecosystem { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; } body[data-editorial-unified] .lf-ecosystem strong { font-size:14px; } }
body[data-editorial-unified] .co-closing-inner { width:min(calc(100% - var(--lf-gutter) * 2),var(--lf-width)); }
