:root{--navy:#101c36;--blue:#1557bb;--red:#c93247;--ink:#161b26;--muted:#666d78;--line:#d9dde4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;}a{color:inherit;text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #2465c9;outline-offset:6px}h1,h2,h3,h4,p{margin:0}h2{}h3{}p{color:var(--muted);}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.hero{height:100svh;min-height:450px;display:grid;place-items:center;background:white;overflow:hidden}.hero video{width:100%;height:100%;object-fit:contain}header{height:90px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;font-family:Arial,sans-serif;}.brand small{display:block;margin-top:5px}.brand-mark{font-style:italic;color:var(--blue);width:40px}.brand-mark span{color:var(--red)}nav{display:flex;align-items:center;gap:28px;}nav a:hover{color:var(--blue)}.nav-contact{background:var(--navy);color:white;padding:12px 19px}.nav-contact span{margin-left:20px}.menu{display:none}.section{padding:110px max(7%,calc((100vw - 1200px)/2));}.eyebrow{font-family:Arial,sans-serif;color:var(--blue);margin-bottom:26px;display:flex;gap:22px;align-items:center}.eyebrow:before{content:"";height:7px;width:7px;background:var(--red);display:inline-block}.eyebrow span{color:var(--muted);}.about{background:#f6f7f9}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about h2{}.accent{color:var(--blue)}.about h3{margin:7px 0 23px}.about p+p{margin-top:18px}.text-link{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:22px 0 14px;margin-top:18px;}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:65px}.section-head p{}.service{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:60px 0;border-top:1px solid var(--line)}.reverse .service-art{order:2}.service-index{color:var(--blue);display:flex;gap:18px;align-items:center;margin-bottom:12px}.service-index span{font-family:inherit;color:var(--muted)}.service-copy h3{margin-bottom:23px;}.service-copy h4{margin-bottom:18px}.service-copy p{}details{border-top:1px solid var(--line);margin-top:26px}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 0}summary::-webkit-details-marker{display:none}summary span{}details[open] summary span{transform:rotate(45deg)}.detail{padding:0 0 22px}.detail p{margin-bottom:12px}.detail a{color:var(--blue);}.service-art{height:380px;position:relative;overflow:hidden;padding:30px;background:#eef2f8;display:flex;flex-direction:column;justify-content:space-between}.art-label,.art-bottom{z-index:1}.art-bottom{color:#6e7f95}.papers{padding:25px 25px 15px;position:relative;align-self:center;width:80%;background:white;box-shadow:14px 14px 0 #dce6f5;transform:rotate(-4deg);border-top:3px solid var(--blue)}.papers span{display:inline-block;padding:3px 10px;border:1px solid #d8e0eb;margin:0 4px 15px 0}.papers strong{display:block;color:var(--navy)}.art2{background:var(--navy);color:white}.art2 .art-bottom{color:#a4b7d6}.value{align-self:center;text-align:center}.value div{}.value small{display:block;color:#a9bad7}.value b{display:block;color:#82aaff;}.art3{background:#f5efee}.steps{align-self:center;width:90%}.steps div{background:white;padding:12px 18px;margin:10px 0;border-left:3px solid #b14150}.steps div:nth-child(2){margin-left:15px}.steps div:nth-child(3){margin-left:30px;background:var(--navy);color:white}.steps span{float:right}.works{background:#f6f7f9}.caption{color:var(--muted)}.case{display:grid;grid-template-columns:1.1fr 1fr;background:white}.case-visual{padding:42px;position:relative;overflow:hidden;min-height:350px;background:#e5ecea}.case-visual>span{}.case-visual h3{margin-top:38px;position:relative;z-index:1}.case-ring{position:absolute;width:200px;height:200px;border:1px solid #adbfba;border-radius:50%;bottom:-40px;right:-15px;text-align:center;padding-top:35px;color:#607f75;}.case-ring small{}.case-copy{padding:40px}.tag{border-bottom:1px solid #9cabb9;padding-bottom:5px;color:var(--blue)}.case-copy h3{margin:20px 0}.case-copy .note{}.company{display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.company h2{}.company-title p{margin-top:25px}dl{margin:0}dl>div{display:grid;grid-template-columns:110px 1fr;border-bottom:1px solid var(--line);padding:20px 0;}dt{color:var(--muted)}dd{margin:0}.news{padding-top:55px;padding-bottom:55px;border-top:1px solid var(--line);display:flex;gap:70px;align-items:center}.news .eyebrow{margin-bottom:8px}.news h2{}.news p{}.contact{background:var(--navy);color:white;position:relative;overflow:hidden}.contact:after{content:"";position:absolute;right:-190px;top:50px;width:650px;height:650px;border:1px solid #ffffff20;border-radius:50%;pointer-events:none}.contact .eyebrow{color:#a0b6dd}.contact h2{}.contact p{color:#c2cada;margin-top:25px;}.contact-button{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;background:white;color:var(--navy);max-width:440px;margin-top:35px;position:relative;z-index:1}.contact-button small{display:block;margin-bottom:10px}.contact-button b{}.contact .contact-note{margin-top:15px}footer{padding:45px 7%;display:flex;justify-content:space-between;align-items:center;gap:20px;}.footer-brand{}.footer-brand small{display:block;margin-top:10px}footer>small{}.menu{background:none;border:0;color:var(--navy)}@media(min-width:1700px){.hero video{max-width:1600px}}@media(max-width:900px){nav{gap:16px}nav a{}.brand{}.service{gap:35px}.about-grid{gap:35px}.service-art{height:330px}.section{padding:80px 6%}.company{gap:35px}.case-copy{padding:25px}}@media(max-width:680px){.hero{min-height:100svh;height:100vh;height:100dvh}.hero video{width:100%;max-width:none}header{height:75px;padding:0 6%}.menu{display:block}nav{display:none;position:absolute;top:75px;left:0;right:0;padding:25px;background:white;border-bottom:1px solid var(--line)}nav.open{display:grid;gap:20px}nav a{}.section{padding:65px 7%}.about-grid,.service,.company,.case{grid-template-columns:1fr;gap:30px}.about h2{}.about h3{}.section-head{display:block;margin-bottom:35px}.section-head p{margin-top:20px}.service{padding:35px 0 45px}.service-art{height:290px}.reverse .service-art{order:0}.service-copy h3{}.service-copy h4{}.service-copy p{}.company h2{}.case-visual{min-height:300px;padding:30px}.case-copy{padding:5px 25px 25px}.case{gap:25px}.news{display:block}.news p{margin-top:25px}.contact-button{}.contact p{}.contact:after{right:-420px}footer{flex-wrap:wrap;padding:35px 7%}footer>small{width:100%;margin-top:20px}dl>div{grid-template-columns:90px 1fr}.caption{display:block;margin-top:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reference typography: Japanese Noto Sans JP, English Gantari, numbers Lato. */
body{font-family:"Noto Sans JP",sans-serif;font-feature-settings:"palt"}
h2,h3,h4,.service-copy h3{font-family:"Noto Sans JP",sans-serif;}
button,summary,nav,.text-link{font-family:"Noto Sans JP",sans-serif;}
.brand,.footer-brand,.eyebrow,.art-label,.art-bottom,.case-visual>span,.case-ring,footer>small{font-family:"Gantari","Noto Sans JP",sans-serif}
.brand small,.footer-brand small,.eyebrow span,.service-index span,.contact-button small{font-family:"Noto Sans JP",sans-serif}
.service-index,.contact-button{font-family:"Lato","Noto Sans JP",sans-serif}
.papers strong,.value div{}
/* Fixed navigation appears after the main copy. */
header{position:fixed;left:0;right:0;top:0;opacity:0;transform:translateY(-100%);pointer-events:none;transition:opacity .65s ease,transform .65s ease;height:86px}
header.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.brand img{display:block;width:250px;height:auto}.footer-brand img{display:block;width:260px;height:auto}nav{gap:23px}.nav-contact{background:#083d91;color:#fff!important;transition:background .2s}.nav-contact:hover{background:#052963}.nav-group{position:relative}.nav-trigger{border:0;background:transparent;color:var(--ink);padding:28px 0;cursor:pointer;display:flex;gap:8px;align-items:center}.nav-trigger:hover{color:var(--blue)}.nav-trigger[aria-expanded=true]>span{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:100%;left:-24px;width:320px;padding:14px 24px;background:white;border-top:3px solid #083d91;box-shadow:0 16px 35px #10264a1f;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .22s,transform .22s,visibility .22s}.nav-group.is-open .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown a{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);}.nav-dropdown a:last-child{border:0}.nav-dropdown .all-link{color:#526278}.contact-button{background:#083d91;color:white;border:1px solid #537bb8;transition:background .2s}.contact-button:hover{background:#0b4cab}.blog{background:#f5f7fa;border-top:1px solid var(--line)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.blog-card{border-top:3px solid #083d91;padding:26px 24px;background:white;display:flex;flex-direction:column}.blog-category{color:#174e96;display:block;margin-bottom:22px}.blog-card h3{margin-bottom:20px}.blog-card p{margin-bottom:25px}.blog-card button{margin-top:auto;display:flex;justify-content:space-between;background:transparent;border:0;border-top:1px solid var(--line);padding:18px 0 0;color:var(--navy);cursor:pointer}dialog{border:0;width:min(760px,90vw);max-height:85svh;padding:55px;box-shadow:0 20px 80px #091c3e44;color:var(--ink)}dialog::backdrop{background:#0c1b35a6;backdrop-filter:blur(4px)}dialog h2{margin-bottom:28px}dialog h3{margin:28px 0 12px}dialog p{}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;cursor:pointer}.hero{padding-top:0}@media(max-width:1050px){header{padding:0 3%}.brand img{width:210px}nav{gap:15px}.nav-trigger,nav a{}.nav-contact{padding:12px 14px}.blog-card{padding:24px 18px}.blog-card h3{}}@media(max-width:800px){header{height:75px;padding:0 6%}.brand img{width:220px}.menu{display:block}nav{display:none;position:absolute;top:75px;left:0;right:0;padding:20px 7%;background:white;max-height:calc(100svh - 75px);overflow:auto;border-bottom:1px solid var(--line)}nav.open{display:grid;gap:12px}nav a,.nav-trigger{}.nav-trigger{width:100%;padding:8px 0;justify-content:space-between}.nav-dropdown{position:static;width:100%;display:none;transform:none;box-shadow:none;padding:8px 16px;margin:6px 0 12px;background:#f5f7fa;border-top:0;border-left:2px solid #083d91}.nav-group.is-open .nav-dropdown{display:block}.blog-grid{grid-template-columns:1fr;gap:20px}.blog-card h3{}dialog{padding:40px 25px}dialog h2{}.footer-brand img{width:240px}}@media(prefers-reduced-motion:reduce){header,.nav-dropdown{transition:none}}

/* Company introduction and reasons */
.intro-copy{max-width:850px;margin:0 auto}.about .intro-copy h2{margin-bottom:28px}.intro-copy p{max-width:760px}.reason-link{display:flex;justify-content:space-between;align-items:center;background:#083d91;color:white;max-width:480px;padding:21px 25px;margin-top:35px;transition:background .2s}.reason-link:hover{background:#052963}.reasons{margin-top:80px;padding-top:65px;border-top:1px solid var(--line);scroll-margin-top:105px}.about .reasons h2{}.reasons .eyebrow{margin-bottom:15px}.reasons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:40px}.reason-number{font-family:"Lato",sans-serif;color:var(--blue);}.about .reasons h3{margin:15px 0}.reasons p{}@media(max-width:680px){.intro-copy p{}.reasons{margin-top:55px;padding-top:45px}.reasons-grid{grid-template-columns:1fr;gap:30px;margin-top:28px}.reasons-grid article+article{padding-top:26px;border-top:1px solid var(--line)}.about .reasons h3{}.reason-link{padding:18px 20px}}

.reasons-page main{padding-top:86px;min-height:75svh}.reasons-page .reasons{margin-top:50px;padding-top:0;border-top:0}.reasons-page h1{margin:0}.breadcrumbs{display:flex;gap:15px;color:var(--muted)}.breadcrumbs a{text-decoration:underline}.reasons-page .reason-link{margin-top:60px}nav a[aria-current=page]{color:var(--blue)}@media(max-width:800px){.reasons-page main{padding-top:75px}}

/* Training overview and detail */
#training .service-copy h4,#training .service-copy>p{}
.service-more{display:flex;align-items:center;justify-content:space-between;gap:55px;max-width:280px;margin-top:30px;padding:16px 24px;background:#083d91;color:#fff;transition:background .2s}
.service-more:hover{background:#052963}
.training-detail{max-width:1200px;margin:auto}.training-detail h1{}.training-intro{max-width:780px;margin-top:40px}.training-intro h2,.training-intro p{}.training-intro p{margin-top:20px}.training-content{max-width:900px;margin-top:55px;padding-top:35px;border-top:1px solid var(--line)}.training-content h2{margin-bottom:20px}.training-flow{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;gap:12px;margin:30px 0 0;counter-reset:step}.training-flow li{padding:18px;background:#f1f4f9;}.training-flow li:before{counter-increment:step;content:"0" counter(step);display:block;color:var(--blue);font-family:Lato,sans-serif;margin-bottom:8px}@media(max-width:680px){.training-flow{grid-template-columns:1fr 1fr}}

/* Service text: consistent reading size and weight */
.service-copy{text-align:left;min-width:0}
.service-copy h3{margin-bottom:24px;}
.service-copy h4,.service-copy>p,#training .service-copy h4,#training .service-copy>p,.training-intro h2,.training-intro p{font-family:"Noto Sans JP",sans-serif;color:var(--ink)}
.service-copy h4{margin-bottom:16px}
.service-more{margin-top:40px}
@media(min-width:901px){.service-copy{padding-inline:12px}}
@media(max-width:680px){.service-copy h3{margin-bottom:24px}.service-more{margin-top:24px}.service-copy h4{margin-bottom:16px}}

/* Reference-aligned service typography */
.service{gap:64px;padding:72px 0;align-items:center}
.service-copy{padding:0;max-width:620px}
.service-copy h3{margin-bottom:28px}
.service-copy h4,.service-copy>p,#training .service-copy h4,#training .service-copy>p{color:#303030}
.service-copy h4{margin-bottom:18px}
.service-index{margin-bottom:18px}
.service-more{margin-top:38px;min-height:56px;width:280px;padding:14px 24px}
.service-art{height:430px;border-radius:8px}
@media(max-width:900px){.service{gap:36px}.service-copy h3{}.service-copy h4,.service-copy>p,#training .service-copy h4,#training .service-copy>p{}.service-art{height:360px}}
@media(max-width:680px){.service{padding:45px 0;gap:28px}.service-copy h3{margin-bottom:22px}.service-copy h4,.service-copy>p,#training .service-copy h4,#training .service-copy>p{}.service-copy h4{margin-bottom:16px}.service-art{height:300px}.service-more{margin-top:28px;width:100%;max-width:280px}.service-index{margin-bottom:14px}}
footer{flex-wrap:wrap}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:16px 30px;flex:1;margin:0 4%;}.footer-links a:hover{color:var(--blue)}footer>small{width:100%;margin-top:20px}@media(max-width:800px){.footer-links{flex-basis:100%;margin:20px 0;grid-template-columns:1fr 1fr;}}
#services>.section-head{display:block;text-align:left}#services>.section-head h2{white-space:nowrap}#services>.section-head p{margin-top:24px;text-align:left}.service-copy h3{overflow-wrap:anywhere}.company{display:block;position:relative;background:#f7f9fc url('/assets/group-background.webp') center/cover no-repeat}.company-title{max-width:800px}.company h2{}.company-title p{color:#303b4d}.contact{background:#edf2f9;color:var(--navy);display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:center;border-top:1px solid #dce4ef}.contact:after{display:none}.contact .eyebrow{color:#1557bb}.contact h2{}.contact p{color:#536174;}.contact-button{width:100%;margin:0;font-family:inherit;padding:30px;min-height:120px;border:0}.contact-button small{margin-top:8px;margin-bottom:0;font-family:inherit;}@media(max-width:680px){.service-copy h3{}.contact{grid-template-columns:1fr;gap:30px}.contact-button{max-width:none;min-height:100px}.contact p{}}
#contact{display:grid;grid-template-columns:.8fr 1.5fr;align-items:start;gap:48px;background:#f2f5fa;padding-top:60px;padding-bottom:60px}#contact .contact-heading h2{font-family:Gantari,sans-serif;}#contact .contact-heading h2 span{display:block;font-family:"Noto Sans JP",sans-serif;margin-top:20px}#contact .contact-message h3{}#contact .contact-message p{margin-top:16px;color:#475368}#contact .contact-button{max-width:400px;min-height:72px;margin-top:24px;padding:16px 24px}#contact .contact-button small{}@media(max-width:800px){#contact{grid-template-columns:1fr;gap:24px;padding-top:40px;padding-bottom:40px}#contact .contact-message p{}#contact .contact-message br{display:none}#contact .contact-button{max-width:none}}
/* Contact follows the shared section heading scale */
#contact .contact-heading h2{font-family:Gantari,sans-serif;}#contact .contact-heading h2 span{margin-top:12px}@media(max-width:680px){#contact .contact-heading h2{}#contact .contact-heading h2 span{margin-top:8px}}

/* Compact introduction, matched to the corporate blue-gray palette. */
#about{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#f7f9fc 0%,#f2f5fa 58%,#eaf0f8 100%);padding-top:110px;padding-bottom:110px}
#about .intro-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
#about .intro-copy{max-width:1120px;position:relative}
#about .intro-copy h2{margin-bottom:18px;color:#101c36}
#about .intro-copy p{color:#111;max-width:760px;}
#about .intro-copy p+p{margin-top:14px}
#about .reason-link{margin-top:20px;padding:14px 24px;max-width:340px;}
@media(max-width:680px){#about{padding-top:72px;padding-bottom:72px}#about .intro-copy h2{}#about .intro-copy p{}#about .intro-particles{opacity:.3;filter:saturate(.45)}}

/* Service photography and contact company details. */
.service-art.service-photo{padding:0;background:#edf2f8;aspect-ratio:4/3;height:auto;display:block}
.service-photo img{display:block;width:100%;height:100%;object-fit:cover}
#contact .contact-company{font-style:normal;color:#303b4d;margin-top:28px}
#contact .contact-company a{text-decoration:underline;text-underline-offset:3px;color:#083d91}
/* Consistent, spacious introduction leading. */
#about .intro-copy h2,#about .intro-copy p{}
#about .intro-copy h2{margin-bottom:30px}
#about .intro-copy p+p{margin-top:28px}

/* Contact: shared English eyebrow and Japanese section heading. */
#contact .contact-heading .eyebrow{font-family:Gantari,"Noto Sans JP",sans-serif;margin-bottom:26px;color:var(--blue)}
#contact .contact-heading h2{font-family:"Noto Sans JP",sans-serif;}
@media(max-width:680px){#contact .contact-heading h2{}}

/* Typography follows revcreate.co.jp: Noto Sans JP / Gantari / Lato. */
:root{}
body{font-family:"Noto Sans JP",sans-serif;font-feature-settings:"palt"}
h1,h2,h3,h4{font-family:"Noto Sans JP",sans-serif;}
h2,#services>.section-head h2,.company h2,#contact .contact-heading h2,.about .reasons h2{white-space:normal}
.service-copy h3{}
.service-copy h4,.service-copy>p,#training .service-copy h4,#training .service-copy>p,.intro-copy p,#about .intro-copy p,.training-intro h2,.training-intro p,#contact .contact-message p,.company-title p,.case-copy p{font-family:"Noto Sans JP",sans-serif;}
#about .intro-copy h2{}
#about .intro-copy p{color:#111}
.blog-card h3,.case-copy h3,#contact .contact-message h3,.training-content h2{}
.blog-card p,.reasons p,.training-content p{}
.reasons-page h1,.training-detail h1{}
.eyebrow,.brand,.footer-brand,.blog-category{font-family:Gantari,"Noto Sans JP",sans-serif}
.service-index{font-family:Lato,"Noto Sans JP",sans-serif}
.service-more,.reason-link,#about .reason-link{}
@media(max-width:767px){:root{}body{}.service-copy h3,#services>.section-head h2,.company h2,#contact .contact-heading h2{}.intro-copy p,#about .intro-copy p,#contact .contact-message p{}.service-more,.reason-link,#about .reason-link{}.blog-card h3,.case-copy h3,#contact .contact-message h3,.training-content h2{}}
/* Larger type for the contact banner. */
#contact .contact-heading .eyebrow{}
#contact .contact-heading h2{}
#contact .contact-message h3{}
#contact .contact-message p{}
#contact .contact-company{}
#contact .contact-button{}
#contact .contact-button small{}
@media(max-width:767px){#contact .contact-heading h2{}#contact .contact-heading .eyebrow{}#contact .contact-message h3{}#contact .contact-message p{}#contact .contact-company{}#contact .contact-button{}}

/* Narrative subpages: shared scale, quiet space and a continuous reading path. */
.story-wrap{width:min(1120px,86%);margin-inline:auto}.story-hero{background:linear-gradient(115deg,#f8fafc,#edf3fa);padding:36px 0 90px;border-bottom:1px solid #dce4ef}.story-hero .breadcrumbs{margin-bottom:60px;flex-wrap:wrap;gap:8px}.story-hero .eyebrow{margin-bottom:12px}.story-opening{margin-top:60px;max-width:840px}.story-opening h2{margin-bottom:28px}.narrative-page p{overflow-wrap:anywhere}.story-opening p{max-width:760px;color:#303b4d}.story-section{padding:90px 0;border-bottom:1px solid #e2e8f0}.story-split{display:grid;grid-template-columns:1fr 1.1fr;gap:48px 70px;align-items:start}.story-split h2{margin-top:20px}.story-number{font-family:Lato,"Noto Sans JP",sans-serif;color:#1557bb}.story-split figure{grid-column:1/-1;width:100%;margin:8px 0 0}.story-split figure img{display:block;width:100%;max-height:480px;object-fit:cover;object-position:center;border-radius:8px}.story-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #083d91;color:#083d91;margin-top:28px;max-width:460px}.story-link:hover{color:#052963;background:#eef3fa}.story-tint{background:#f5f7fb}.story-three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:40px}.story-three article{border-top:2px solid #1557bb;padding-top:24px}.story-three h3,.story-steps h3{margin-bottom:14px}.story-steps{list-style:none;padding:0;margin:40px 0 0}.story-steps li{display:grid;grid-template-columns:65px 1fr;gap:24px;padding:28px 0;border-top:1px solid #dce4ef}.story-steps .story-number{}.narrative-page .story-note{color:#536174;margin-top:24px}.story-faq{margin-top:36px}.story-faq details{border-top:1px solid #dce4ef;padding:24px 0}.story-faq details:last-child{border-bottom:1px solid #dce4ef}.story-faq summary{cursor:pointer;padding-right:16px}.story-faq p{padding:20px 20px 0;color:#475368}.story-related{display:flex;gap:50px;padding-block:25px 70px}.story-related .story-link{flex:1}.story-contents{display:flex;flex-wrap:wrap;gap:18px 36px;padding-block:28px;border-bottom:1px solid #dce4ef}.story-contents a{color:#083d91}.story-profile{margin-top:40px}.story-profile>div{grid-template-columns:180px 1fr;padding:25px 0}.story-profile dd{overflow-wrap:anywhere}.narrative-page [id]{scroll-margin-top:110px}.skip-link{position:fixed;top:-100px;left:16px;z-index:1000;background:#083d91;color:white;padding:12px 24px}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #347fcf;outline-offset:5px}.story-prose{min-width:0}.narrative-page footer a[href="#top"]{white-space:nowrap}
@media(max-width:767px){.story-hero{padding:25px 0 60px}.story-hero .breadcrumbs{margin-bottom:36px}.story-opening{margin-top:36px}.story-opening h2{}.story-section{padding:58px 0}.story-split{grid-template-columns:1fr;gap:26px}.story-split figure{grid-column:auto}.story-split figure img{max-height:none;aspect-ratio:4/3}.story-three{grid-template-columns:1fr;gap:28px;margin-top:28px}.story-related{display:block;padding-bottom:50px}.story-link{}.story-steps li{grid-template-columns:36px 1fr;gap:16px}.story-profile>div{grid-template-columns:1fr;gap:10px}.story-profile dd{margin:0}.story-faq p{padding-inline:0}.story-contents{gap:16px 24px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.story-contents{position:static;display:flex;max-height:none;overflow:visible;background:transparent;box-shadow:none}.story-contents a{padding:0}
.reason-service-button{width:100%;max-width:520px;gap:20px;padding:18px 24px;min-height:64px}.reason-service-button span{flex-shrink:0}@media(max-width:767px){.reason-service-button{padding:16px 20px}}
.footer-identity{flex:0 1 350px}.footer-company{font-style:normal;margin-top:24px;color:#303b4d}.footer-company a{text-decoration:underline;text-underline-offset:4px}@media(max-width:767px){.footer-identity{flex-basis:100%}.footer-company{}}

/* Service detail: scan concerns, understand scope, then assess reasons. */
.service-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 48px;margin-top:40px}.service-detail-grid article{min-width:0;border-top:1px solid #ced9e7;padding-top:24px}.service-detail-grid h3,.service-section-intro h3,.service-reason-list h3{margin:12px 0 16px}.service-detail-grid p{color:#475368}.concerns-grid article{background:#fff;border:1px solid #e0e6ef;padding:28px}.concerns-grid h3{margin-top:0}.service-section-intro{max-width:840px;margin-top:36px}.service-section-intro h3{margin-bottom:20px}.service-detail-image{margin:40px 0 0}.service-detail-image img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover;border-radius:8px}.service-reason-list{margin-top:40px}.service-reason-list article{padding:36px 0;border-top:1px solid #ced9e7}.service-reason-list article:last-child{padding-bottom:0}.service-reason-list h3{margin-bottom:0}.service-reason-list .story-prose{padding-top:8px}
@media(max-width:767px){.service-detail-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.concerns-grid article{padding:22px}.service-section-intro{margin-top:28px}.service-detail-image{margin-top:28px}.service-detail-image img{aspect-ratio:4/3}.service-reason-list{margin-top:28px}.service-reason-list article{padding:28px 0;gap:18px}.service-reason-list .story-prose{padding-top:0}.service-section-intro br{display:none}}

/* Training photos: preserve full landscape composition. */
.training-page .training-photo{margin:36px 0 0;min-width:0}
.training-page .training-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain;border-radius:8px}
.training-page .story-hero .training-photo{margin-top:48px}
.training-page .story-prose .training-photo{margin-top:24px}
@media(max-width:767px){.training-page .training-photo,.training-page .story-hero .training-photo{margin-top:28px}}

.training-page img[src="/assets/training-custom-program-sample.webp"]{aspect-ratio:3/2}.training-page .training-photo figcaption{color:#536174;margin-top:12px}

/* AI implementation imagery: full compositions on desktop and mobile. */
.implementation-page .implementation-photo{margin:36px 0 0;min-width:0}
.implementation-page .implementation-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1672/941;object-fit:contain;border-radius:8px}
.implementation-page .story-hero .implementation-photo{margin-top:48px}
.implementation-page .story-prose .implementation-photo{margin-top:24px}
@media(max-width:767px){.implementation-page .implementation-photo,.implementation-page .story-hero .implementation-photo{margin-top:28px}}

/* Management support: contextual images */
.management-page .management-photo{margin:36px 0 44px;overflow:hidden;border-radius:4px}.management-page .management-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.management-page .story-hero .management-photo{margin-bottom:0}@media(max-width:640px){.management-page .management-photo{margin:24px 0 30px}.management-page .management-photo img{aspect-ratio:auto}}

.company-philosophy-statement{margin:36px 0 40px}.company-philosophy-statement img{display:block;width:100%;height:auto}#philosophy .story-prose{max-width:900px}@media(max-width:640px){.company-philosophy-statement{margin:24px 0 28px}}

#philosophy .story-prose h3{margin-top:36px;margin-bottom:16px}#philosophy .story-prose h3+p{margin-top:0}

.company-message-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:44px}.company-portrait{margin:0}.company-portrait img{display:block;width:100%;height:auto;border-radius:4px}.company-message .story-prose{min-width:0}@media(max-width:760px){.company-message-layout{grid-template-columns:1fr;gap:32px;margin-top:30px}.company-portrait{max-width:480px;width:100%;margin:0 auto}}

/* Case study interviews: shared type scale, later photo replacement. */
.case-draft-label{display:inline-block;border:1px solid #ccd8e8;background:white;color:#344f76;padding:4px 12px;margin:12px 0 20px}.case-editorial-note{padding-block:26px}.case-editorial-note p{border-left:3px solid #1557bb;padding-left:20px;color:#475368}.case-photo{margin:38px 0}.case-photo>div{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#e8eff7);border:1px dashed #a6b9cf;padding:24px;text-align:center}.case-photo span{font-family:Gantari,sans-serif;color:#1557bb;margin-bottom:14px}.case-photo p{color:#475368}.case-photo figcaption{color:#67758a;margin-top:10px}.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:30px 0 50px}.case-facts>div{display:block;border-top:1px solid #dce4ef;padding:20px 0}.case-facts dt{color:#5e6f84}.case-facts dd{margin:8px 0 0;}.case-interview{max-width:860px;margin:45px auto 0}.case-interview article{padding:38px 0;border-top:1px solid #d7e0eb}.case-interview h3{display:flex;gap:22px;align-items:baseline}.case-interview h3 span{font-family:Lato,sans-serif;color:#1557bb;flex-shrink:0}.case-answer{margin-top:26px}.case-answer p+p{margin-top:22px}.case-metrics{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:40px}.case-metrics article{background:#fff;padding:30px;border-top:3px solid #1557bb;min-width:0}.case-metrics strong{display:block;font-family:Lato,"Noto Sans JP",sans-serif;color:#101c36;margin:15px 0}.case-metrics small{color:#475368;display:block}.case-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-block:25px}.case-sources{margin-top:30px;}.case-sources summary{cursor:pointer;color:#083d91}.case-sources li{margin:14px 0;overflow-wrap:anywhere}.case-sources a{text-decoration:underline}.case-list-row{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;margin-top:30px}.case-list-row .case-photo{margin:0}.case-list-row h3{margin-bottom:20px;}.case-list-row .case-photo>div{aspect-ratio:4/3}
@media(max-width:767px){.case-facts,.case-metrics,.case-photo-pair,.case-list-row{grid-template-columns:1fr;gap:24px}.case-facts{gap:0}.case-facts dd{}.case-interview article{padding:28px 0}.case-interview h3{gap:14px;}.case-interview h3 span{}.case-photo{margin:26px 0}.case-photo p{}.case-photo-pair{gap:0}.case-metrics article{padding:24px}.case-editorial-note p{}.case-list-row{gap:28px}.case-list-row h3{}}

/* Narrative case chapters */
.case-narrative{max-width:860px;margin:50px auto 0}.case-narrative article{padding:40px 0;border-top:1px solid #d7e0eb}.case-narrative article>.eyebrow{margin-bottom:14px}.case-narrative h3{margin-bottom:26px}.case-narrative p+p{margin-top:24px}@media(max-width:767px){.case-narrative{margin-top:32px}.case-narrative article{padding:30px 0}.case-narrative h3{margin-bottom:20px}.case-narrative p+p{margin-top:20px}}

/* Desktop image hierarchy: broad opening images, restrained supporting visuals. */
@media(min-width:1024px){
 .training-page .story-section .training-photo,.implementation-page .story-section .implementation-photo,.management-page .story-section .management-photo{width:100%;max-width:800px;margin-left:auto;margin-right:auto}
 .story-section .service-detail-image{width:100%;max-width:800px;margin-left:auto;margin-right:auto}
 .company-philosophy-statement{max-width:860px;margin-left:auto;margin-right:auto}
 .story-split:has(>figure){grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);row-gap:28px}
 .story-split:has(>figure)>.story-prose{grid-column:2;grid-row:1 / span 2}
 .story-split:has(>figure)>figure{grid-column:1;grid-row:2;margin-top:0}
 .story-split:has(>figure)>figure img{height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover}
 .story-hero .training-photo,.story-hero .implementation-photo,.story-hero .management-photo{width:100%;max-width:none}
 .case-photo-wide{max-width:960px;margin-left:auto;margin-right:auto}
 .case-photo-pair .case-photo,.case-list-row .case-photo{max-width:none}
}

/* Home case introduction and mobile reason photography. */
.works-introduction{max-width:860px}.works-introduction .works-more{width:100%;max-width:320px;margin-top:32px}
@media(max-width:767px){
 .works-desktop-break{display:none}
 .reasons-overview-page .story-split{gap:24px}
 .reasons-overview-page .story-split>div:first-child{order:0}
 .reasons-overview-page .story-split>figure{order:1;width:100%;max-width:480px;margin:0 auto;grid-column:1}
 .reasons-overview-page .story-split>.story-prose{order:2}
 .reasons-overview-page .story-split>figure img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:6px}
 .reasons-overview-page .story-split h2{margin-top:12px}
 .works-introduction .works-more{max-width:100%;margin-top:26px}
}
/* Training course selection */
.course-intro{max-width:850px;margin:30px 0 48px}.course-grid,.subsidy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.course-card{border:1px solid #dce3ee;padding:40px;display:flex;flex-direction:column;background:#fff;border-top:4px solid #a4b4ce}.course-practical{border-top-color:#1557bb;background:#f5f8fe}.course-label{color:#1557bb;letter-spacing:.12em;margin-bottom:16px}.course-card h3{margin:0 0 24px}.course-catch{color:#083d91;margin:0 0 24px}.course-card ul{padding-left:1.2em;margin:22px 0 30px}.course-card li+li{margin-top:12px}.course-result{margin-top:auto;border-top:1px solid #dce3ee;padding-top:24px}.course-result>span{color:#1557bb}.course-result p{margin:8px 0 0}.course-price{display:flex;align-items:baseline;gap:12px;margin:24px 0}.course-price strong{color:#083d91}.course-price strong span{margin-left:6px}.executive-course{margin-top:40px;padding:56px;background:linear-gradient(125deg,#101c36,#173764);color:white;position:relative;overflow:hidden}.executive-head{display:flex;justify-content:space-between;gap:32px;border-bottom:1px solid #ffffff35;padding-bottom:32px}.executive-course .course-label{color:#abc9f5}.executive-course h3{margin:0 0 24px}.executive-catch{margin:0}.executive-price{display:flex;flex-direction:column;align-items:flex-start;gap:10px;flex-shrink:0}.executive-badge{border:1px solid #ffffff80;padding:3px 14px;border-radius:30px}.executive-intro{max-width:900px;margin:32px 0}.executive-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:40px 0}.executive-timeline>div{border-top:2px solid #83ade7;padding-top:20px}.executive-timeline>div>span{color:#abc9f5;letter-spacing:.1em}.executive-timeline h4{margin:12px 0}.executive-deliverables{background:#ffffff0d;padding:22px 26px;border-left:3px solid #83ade7}.executive-deliverables>span{color:#abc9f5}.executive-deliverables p{margin:8px 0 0}.executive-note{color:#d1ddee;margin:24px 0}.executive-course .service-more{background:white;color:#101c36;display:inline-flex;gap:25px}.subsidy-heading{border-top:1px solid #ccd7e5;padding-top:28px;margin-bottom:24px}.subsidy-heading>span{color:#1557bb}.subsidy-heading p{margin:8px 0}.subsidy-grid article{background:white;padding:32px}.subsidy-grid h3{margin:0 0 24px}.subsidy-grid dl{margin:0}.subsidy-grid dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0}.subsidy-grid dd{margin:0;white-space:nowrap}.subsidy-total{border-top:1px solid #dce3ee;margin-top:12px;color:#083d91}.subsidy-support{margin-top:40px;padding:32px;border:1px solid #ccd7e5}.subsidy-support h3{margin:0 0 24px}.subsidy-support ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:0 0 28px;counter-reset:subsidy}.subsidy-support li{counter-increment:subsidy}.subsidy-support li strong{display:block;color:#1557bb;margin-bottom:8px}.subsidy-support li strong:before{content:'0' counter(subsidy) ' / ';font-family:Gantari,sans-serif}.subsidy-support p{margin-bottom:0}.training-page .story-note a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:767px){.course-grid,.subsidy-grid,.executive-timeline,.subsidy-support ol{grid-template-columns:1fr}.course-card,.subsidy-grid article{padding:28px 24px}.course-intro{margin:24px 0 32px}.course-intro br{display:none}.executive-course{padding:32px 24px;margin-top:28px}.executive-head{flex-direction:column;gap:24px}.executive-price{gap:6px}.executive-timeline{gap:24px;margin:28px 0}.executive-deliverables{padding:18px}.subsidy-support{padding:24px}.subsidy-grid dl>div{gap:8px}.course-price{margin:20px 0}}
.training-page .executive-course p{color:#edf3ff}.training-page .executive-course .executive-note{color:#d1ddee}.training-page .executive-course .executive-catch{color:#fff}
/* Services overview: compact images and a complete service directory. */
.overview-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:start}.overview-visual h2{margin:18px 0 30px}.overview-visual figure{margin:0;max-width:480px}.overview-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:8px}.overview-content{min-width:0}.overview-content h3{margin:0 0 26px;color:#101c36}.overview-options{display:grid;gap:0;margin-top:28px;border-top:1px solid #d8e1ee}.overview-options a{display:block;padding:20px 24px 20px 0;border-bottom:1px solid #d8e1ee;position:relative}.overview-options a:after{content:'↗';position:absolute;right:0;top:20px;color:#1557bb}.overview-options a:hover>span{color:#1557bb}.overview-options span,.overview-options small{display:block}.overview-options small{color:#475368;margin-top:8px}.overview-topics{padding-left:1.15em;margin:28px 0}.overview-topics li+li{margin-top:12px}.services-overview-page .overview-note{color:#536174;margin-top:24px}.overview-funding{display:block;background:#f2f6fc;border-left:3px solid #1557bb;padding:22px;margin-top:28px}.overview-funding>span,.overview-funding small{display:block}.overview-funding>span{color:#083d91}.overview-funding b{float:right}.overview-funding small{color:#475368;margin-top:12px}.overview-funding:hover{background:#e8f0fc}.overview-partnership{background:#101c36;color:#fff}.overview-partnership .eyebrow{color:#abc9f5}.overview-partner-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;margin-top:24px;align-items:start}.overview-partner-heading h2{color:#fff;overflow-wrap:anywhere}.services-overview-page .overview-partner-heading p{color:#fff;margin:0}.services-overview-page .overview-partner-intro{color:#dce7f8;max-width:920px;margin:32px 0 40px}.overview-models{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.overview-models article{border-top:1px solid #7794bc;padding-top:26px}.overview-model-label{color:#abc9f5;letter-spacing:.1em}.overview-models h3{color:#fff;margin:18px 0}.services-overview-page .overview-models p,.services-overview-page .overview-partner-bottom p{color:#dce7f8}.overview-partner-bottom{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:34px}.overview-partner-bottom .story-link{color:#fff;border-color:#abc9f5;min-width:300px;margin-top:0}.overview-partner-bottom .story-link:hover{background:#ffffff12}
@media(min-width:768px) and (max-width:1000px){.overview-layout{gap:32px}.overview-partner-heading{grid-template-columns:1fr;gap:24px}.overview-partner-bottom{align-items:flex-start;flex-direction:column;gap:16px}}
@media(max-width:767px){.overview-layout{grid-template-columns:1fr;gap:30px}.overview-visual h2{margin:14px 0 24px}.overview-visual figure{width:min(100%,360px);margin-inline:auto}.overview-visual img{max-height:270px;aspect-ratio:4/3;object-fit:contain}.overview-content h3{margin-bottom:20px}.overview-options a{padding-block:18px}.overview-funding{padding:20px}.overview-partner-heading,.overview-models{grid-template-columns:1fr;gap:28px}.overview-partner-heading h2{max-width:100%}.overview-partner-bottom{display:block}.overview-partner-bottom .story-link{min-width:0;margin-top:24px}.overview-partner-bottom br{display:none}}
/* Shared footer directory */
footer{align-items:flex-start;padding-block:64px 30px;column-gap:40px;row-gap:36px}.footer-identity{flex:0 1 300px}.footer-links{display:grid;grid-template-columns:1.05fr .7fr 1fr;gap:34px;flex:1;margin:0;min-width:0}.footer-group{min-width:0}.footer-group h2{padding-bottom:16px;margin:0 0 16px;border-bottom:1px solid #d9e1ed;color:#101c36}.footer-group a{display:block;padding:7px 0;overflow-wrap:anywhere}footer>a[href="#top"]{flex-basis:100%;text-align:right;border-top:1px solid #e1e6ee;padding-top:24px}footer>small{margin-top:0}
/* Live hero typography replaces the baked-in copy video. */
.hero{position:relative}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .55s}.hero-main-copy{position:relative;z-index:1;width:90%;max-width:1280px;margin:0;text-align:center;color:#101c36;opacity:0;visibility:hidden;transform:translateY(28px);transition:opacity 1s,transform 1s,visibility 1s}.hero-copy-line{display:block}.hero-main-copy strong{color:inherit}.hero.copy-visible video{opacity:0;pointer-events:none}.hero.copy-visible .hero-main-copy{opacity:1;visibility:visible;transform:none}
@media(min-width:801px){header{padding-inline:4%}header nav{gap:clamp(16px,1.65vw,28px)}header .brand img{width:clamp(190px,18vw,250px)}}
@media(min-width:801px) and (max-width:1100px){header{padding-inline:2.5%}header nav{gap:12px}header .brand img{width:185px}header .nav-contact{padding-inline:12px}header .nav-contact span{margin-left:10px}}
@media(max-width:1050px){.footer-identity{flex-basis:100%}.footer-links{flex-basis:100%;margin:0}}
@media(max-width:767px){footer{padding:44px 7% 28px;gap:32px}.footer-links{grid-template-columns:1fr 1fr;gap:28px 20px}.footer-group:first-child{grid-column:1/-1}.footer-group h2{padding-bottom:12px;margin-bottom:12px}.footer-group a{padding:8px 0}.hero-main-copy{width:90%;text-align:center;max-width:510px;padding-block:75px 0}.hero-growth,.hero-support{display:inline}.hero-copy-line+.hero-copy-line{margin-top:8px}.hero-support{margin-top:0}}
@media(prefers-reduced-motion:reduce){.hero-main-copy,.hero video{transition:none;transform:none}}

/* Saturated brand colors travel across the three lines. */
.hero-main-copy .hero-copy-line{width:max-content;max-width:100%;margin-inline:auto;white-space:nowrap;background-image:linear-gradient(110deg,#064cb8 0%,#064cb8 20%,#d51639 42%,#e12442 54%,#073c9d 76%,#064cb8 100%);background-size:260% 100%;background-position:0% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:hero-brand-flow 4s ease-in-out infinite alternate;animation-play-state:paused}.hero.copy-visible .hero-copy-line{animation-play-state:running}.hero-copy-line:nth-child(2){animation-delay:-1.2s}.hero-copy-line:nth-child(3){animation-delay:-2.4s}@keyframes hero-brand-flow{from{background-position:0% 50%}to{background-position:100% 50%}}@media(prefers-reduced-motion:reduce){.hero-main-copy .hero-copy-line{animation:none;background-position:45% 50%}}
.contact-mail-icon{width:30px;height:24px;flex-shrink:0}#contact .contact-button{gap:18px}#contact .contact-button>span{flex:1}.training-super{color:#e53661}.overview-start .story-prose{max-width:760px;margin-top:26px}.engagement-intro{margin:28px 0 40px}.engagement-diagram{margin:0;background:#f4f7fc;padding:36px}.engagement-axis{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 24px 230px;gap:12px;color:#536174}.engagement-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:16px 20px;padding:26px 0;border-top:1px solid #d6dfed;align-items:center}.engagement-role>span{color:#1557bb}.engagement-role h3{margin:8px 0}.engagement-role p{color:#475368}.engagement-bar{background:#1557bb;color:white;min-height:70px;padding:18px 22px;display:flex;align-items:center;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 50%,calc(100% - 18px) 100%,0 100%)}.advisor .engagement-bar{width:52%;min-width:210px;background:#6483b3}.partner .engagement-bar{width:78%}.caio .engagement-bar{width:100%;background:#101c36}.engagement-detail{grid-column:2}.engagement-diagram figcaption{border-top:1px solid #d6dfed;padding-top:24px;color:#536174;margin-top:16px}.company-portrait{max-width:340px;justify-self:center}.company-portrait img{object-fit:contain}
@media(max-width:767px){.engagement-diagram{padding:24px 18px}.engagement-axis{margin-left:0;gap:8px}.engagement-row{grid-template-columns:1fr;gap:14px}.engagement-detail{grid-column:auto}.advisor .engagement-bar{min-width:0;width:70%}.partner .engagement-bar{width:86%}.engagement-bar{padding:16px 20px 16px 14px;min-height:60px}.engagement-intro br{display:none}.company-portrait{max-width:300px}}

/* Give the philosophy room, then introduce beliefs as a separate part. */
#philosophy .philosophy-intro{max-width:860px;padding-block:64px 90px}.company-beliefs{padding-block:100px 110px;background:#f7f9fc}.company-beliefs .story-prose{max-width:1120px}.company-beliefs h2{margin-bottom:32px}.company-beliefs p{max-width:860px}.company-beliefs h3{margin:64px 0 24px}@media(max-width:767px){#philosophy .philosophy-intro{padding-block:40px 64px}.company-beliefs{padding-block:64px 72px}.company-beliefs h2{margin-bottom:26px}.company-beliefs h3{margin-top:44px}}

/* Navigate with the label; expand with the adjacent arrow. */
.nav-group-heading{display:flex;align-items:center;gap:5px}.nav-group-heading .nav-trigger{padding:26px 3px;min-width:24px;justify-content:center}.nav-direct{display:block}.nav-group-heading .nav-trigger:focus-visible{outline-offset:0}@media(max-width:800px){.nav-group-heading{justify-content:space-between;width:100%}.nav-group-heading .nav-direct{flex:1;padding:10px 0}.nav-group-heading .nav-trigger{width:44px;min-height:44px;padding:8px;flex-shrink:0}}

@media(min-width:681px) and (max-width:767px){#about .intro-particles{opacity:.3;filter:saturate(.45)}}

/* Blog banners scale with their own width, not the desktop viewport. */
.blog-banner{position:relative;isolation:isolate;container-type:inline-size;aspect-ratio:16/9;overflow:hidden;background:#fff;border:1px solid #e7ebf2;border-radius:4px;text-align:left;margin:0 0 24px}
.blog-banner-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.blog-banner-copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:64%;height:100%;padding:5%;color:#172e6f}
.blog-banner-label{font-family:Gantari,sans-serif;font-size:clamp(8px,2.6cqw,12px);font-weight:700;letter-spacing:.1em;color:#e60050;margin-bottom:2cqw}
.blog-banner-copy strong{font-size:clamp(13px,5cqw,34px);line-height:1.45;font-weight:650;letter-spacing:0;overflow-wrap:normal}
.blog-banner-sub{font-size:clamp(8px,2.6cqw,14px);line-height:1.5;margin-top:2cqw;font-weight:500}
.blog-banner-logo{width:25cqw!important;max-width:110px;height:auto!important;max-height:32px;object-fit:contain!important;object-position:left;margin-top:2.5cqw}
dialog .blog-banner{margin:24px 0 32px}
@container(max-width:280px){.blog-banner-sub{display:none}}
/* Concise editorial content and renewal notice. */
.editorial-details{margin-top:24px;border-block:1px solid #dce4ef;padding:20px 0}.editorial-details summary{cursor:pointer;color:#083d91;font-weight:500}.editorial-details .story-note{margin-top:18px}.news-entry{min-width:0;flex:1;max-width:760px}.news-entry time{font-family:Lato,sans-serif;color:#536174}.news-entry .story-link{margin-top:8px;max-width:none;gap:24px}.renewal-body{max-width:760px;margin-top:36px}.renewal-body p+p{margin-top:24px}.renewal-body h3{margin:40px 0 18px}.renewal-news-page h1{max-width:900px;line-height:1.4}.renewal-body .story-link{max-width:460px}#contact .contact-message>p{margin-bottom:28px}@media(max-width:767px){.news-entry{width:100%}.renewal-body{margin-top:28px}.renewal-body h3{margin-top:32px}}


.course-schedule{color:#083d91;margin-top:20px;font-weight:500}.price-tax{font-size:14px!important;font-weight:400;white-space:nowrap}.course-price{flex-wrap:wrap;row-gap:4px}.inquiry-form{max-width:760px;display:grid;gap:24px;margin-top:36px}.inquiry-form label{display:grid;gap:10px;color:#101c36;font-weight:500}.inquiry-form label>span{font-size:12px;color:#b31744}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid #aab6c8;border-radius:4px;background:#fff;color:#161b26;font:inherit;font-size:16px;padding:14px}.inquiry-form textarea{resize:vertical}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{outline:3px solid #a6c6f0;outline-offset:2px}.inquiry-form .contact-button{margin-top:0;width:100%;max-width:440px;font:inherit;cursor:pointer;min-height:56px}.inquiry-form .contact-button:disabled{opacity:.6;cursor:wait}.inquiry-form .inquiry-note{font-size:14px;line-height:1.8}.inquiry-note a{text-decoration:underline}.inquiry-form [role=status]{font-size:17px;line-height:1.8;overflow-wrap:anywhere}.inquiry-form [data-state=error]{color:#a51638}.inquiry-form [data-state=success]{padding:20px;background:#edf5ff;color:#083d91}.inquiry-page h1{line-height:1.4}

.inquiry-page h1>span{display:inline-block;white-space:nowrap}.inquiry-form label{display:block}.inquiry-form label>span{display:inline-block;margin-left:8px}.inquiry-form label>input,.inquiry-form label>select,.inquiry-form label>textarea{margin-top:10px}


/* Mobile copy: targeted names, semantic phrase wrapping and compact buttons. */
@media(max-width:767px){
.mobile-clause{display:inline-block}
.desktop-copy-break{display:none}
#contact .contact-message h3{font-size:clamp(20px,6vw,23px)}
#concerns h2{font-size:clamp(23px,6.8vw,28px)}
#concerns h3.mobile-concern-title{font-size:clamp(16px,4.5vw,20px);line-height:1.6}
#contact .contact-button{padding:18px 16px;gap:12px;font-size:clamp(17px,5.2vw,21px)}
#contact .contact-mail-icon{width:24px;height:20px}
#contact .contact-button>span{white-space:nowrap}
.executive-course .service-more{width:100%;max-width:340px;padding:16px 14px;gap:10px;font-size:clamp(12px,3.65vw,15px);white-space:nowrap;justify-content:space-between}
body.narrative-page main .mobile-fit-1{font-size:clamp(24px,7.1vw,28px)}
body.narrative-page main .mobile-fit-2{font-size:clamp(20px,6.5vw,28px)}
body.narrative-page main .mobile-fit-3{font-size:clamp(20px,6.5vw,28px)}
body.narrative-page main .mobile-fit-4{font-size:clamp(22px,6.6vw,28px)}
html body #services h2.mobile-fit-5{font-size:clamp(20px,6.3vw,27px)}
body.narrative-page main .mobile-fit-6{font-size:clamp(20px,6.2vw,26px)}
body.narrative-page main .mobile-fit-7{font-size:clamp(22px,6.7vw,28px)}
html body #about h2.mobile-fit-8{font-size:clamp(16.5px,5.1vw,22px)}
body.narrative-page main .mobile-fit-9{font-size:clamp(18px,7.9vw,28px)}
body.narrative-page main .mobile-fit-10{font-size:clamp(18px,8.778vw,28px)}
body.narrative-page main .mobile-fit-11{font-size:clamp(18px,7.9vw,28px)}
body.narrative-page main .mobile-fit-12{font-size:clamp(18px,8.778vw,28px)}
body.narrative-page main .mobile-fit-13{font-size:clamp(18px,7.182vw,28px)}
body.narrative-page main .mobile-fit-14{font-size:clamp(18px,7.182vw,28px)}
body.narrative-page main .mobile-fit-15{font-size:clamp(18px,7.182vw,28px)}
body.narrative-page main .mobile-fit-16{font-size:clamp(18px,7.9vw,28px)}
body.narrative-page main .mobile-fit-17{font-size:clamp(18px,6.077vw,28px)}
body.narrative-page main .mobile-fit-18{font-size:clamp(18px,7.9vw,28px)}
body.narrative-page main .mobile-fit-19{font-size:clamp(18px,7.182vw,28px)}
body.narrative-page main .mobile-fit-20{font-size:clamp(18px,8.778vw,28px)}
body.narrative-page main .mobile-fit-21{font-size:clamp(18px,5.643vw,28px)}
body.narrative-page main .mobile-fit-22{font-size:clamp(18px,8.778vw,28px)}
body.narrative-page main .mobile-fit-23{font-size:clamp(18px,8.778vw,28px)}
body.narrative-page main .mobile-fit-24{font-size:clamp(18px,7.9vw,28px)}
body.narrative-page main .mobile-fit-25{font-size:clamp(18px,7.9vw,28px)}
body.narrative-page main .mobile-fit-26{font-size:clamp(18px,7.9vw,28px)}
body.narrative-page main .mobile-fit-27{font-size:clamp(18px,8.778vw,28px)}
body.narrative-page main .mobile-fit-28{font-size:clamp(18px,9.875vw,28px)}
body.narrative-page main .mobile-fit-29{font-size:clamp(18px,7.182vw,28px)}
body.narrative-page main .mobile-fit-30{font-size:clamp(18px,8.778vw,20px)}
body.narrative-page main .mobile-fit-31{font-size:clamp(18px,7.9vw,20px)}
}
@media(max-width:767px){body.training-page #subsidy .mobile-fit-15{font-size:clamp(16px,4.8vw,20px)}}


/* Service menu: one accessible trigger, revealed by hover or activation. */
header .nav-group>.nav-trigger{font-family:inherit;font-weight:500;min-height:44px}
@media(min-width:801px){header .nav-group>.nav-trigger{padding:28px 0}}
@media(max-width:800px){header .nav-group>.nav-trigger{padding:10px 0;width:100%;justify-content:space-between}}
/* Reasons: keep a full-width wrapper around the two-column content. */
@media(min-width:768px){
 .reasons-overview-page .story-opening{max-width:1000px}
 .reasons-overview-page .story-opening p{max-width:800px}
 .reasons-overview-page .story-section .story-split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:clamp(32px,4vw,64px)}
 .reasons-overview-page .story-section h2 .mobile-clause{display:block}
 .reasons-overview-page .story-prose>p{max-width:35em}
}

/* FAQ disclosure cue: plus when closed, minus when the answer is open. */
.story-faq summary{gap:20px;align-items:flex-start}
.story-faq summary::after{content:"";display:block;flex:0 0 28px;width:28px;height:28px;margin-top:2px;border:1px solid #9aafcc;border-radius:50%;background:linear-gradient(#083d91,#083d91) center/12px 2px no-repeat,linear-gradient(#083d91,#083d91) center/2px 12px no-repeat}
.story-faq details[open]>summary::after{background:linear-gradient(#083d91,#083d91) center/12px 2px no-repeat}
.story-faq summary:hover::after{background-color:#edf3fa}

/* Shared qualification and partner badges: no visible captions. */
.footer-badges{display:flex;align-items:center;justify-content:flex-start;gap:18px;margin-top:24px;max-width:100%}.footer-badges img{display:block;width:88px;height:88px;object-fit:contain;flex:0 0 auto}
@media(max-width:680px){.footer-badges{gap:14px;margin-top:22px}.footer-badges img{width:76px;height:76px}}
