:root{--navy:#0a2443;--blue:#1769aa;--sky:#4fa8f5;--ice:#dceefa;--ink:#14243a;--muted:#5f6f82;--line:#d9e1ea;--paper:#f7f9fc;--white:#fff;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Noto Sans JP","Hiragino Sans",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:16px;z-index:200;background:var(--navy);color:#fff;padding:12px 18px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[data-lang=en]{display:none}html[lang=en] [data-lang=en]{display:revert}html[lang=en] [data-lang=ja]{display:none}.site-header{position:fixed;inset:0 0 auto;z-index:100;background:rgba(247,249,252,.9);border-bottom:1px solid rgba(10,36,67,.1);backdrop-filter:blur(18px)}.header-inner{height:78px;width:min(calc(100% - 48px),var(--max));margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:12px;font-weight:800;letter-spacing:.05em}.brand-copy{display:flex;flex-direction:column;line-height:1.1}.brand-copy strong{font-size:15px;letter-spacing:.04em}.brand-copy small{font-size:9px;letter-spacing:.14em;color:var(--muted);margin-top:5px}.desktop-nav{display:flex;gap:28px;margin-left:auto;margin-right:38px}.desktop-nav a{font-size:12px;letter-spacing:.12em;font-weight:700;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--blue);transition:.25s}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{right:0}.header-actions{display:flex;align-items:center;gap:20px}.language-switch{display:flex;gap:7px;align-items:center;font-size:12px;color:#8a97a7}.lang-button{border:0;background:none;padding:8px 1px;color:#8a97a7;font-size:12px;font-weight:700;cursor:pointer}.lang-button.active{color:var(--navy)}.menu-button{display:none;width:42px;height:42px;border:0;background:transparent;position:relative}.menu-button i{display:block;width:22px;height:1px;background:var(--navy);position:absolute;left:10px;transition:.25s}.menu-button i:first-of-type{top:16px}.menu-button i:last-of-type{top:25px}.menu-button[aria-expanded=true] i:first-of-type{top:21px;transform:rotate(45deg)}.menu-button[aria-expanded=true] i:last-of-type{top:21px;transform:rotate(-45deg)}.mobile-nav{display:none}.hero{min-height:100vh;padding-top:78px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f9fbfd 0%,#f3f7fb 62%,#eaf3fa 100%)}.hero-bg{position:absolute;inset:0;pointer-events:none}.hero-bg span{position:absolute;background:rgba(23,105,170,.08)}.hero-bg span:nth-child(1){width:1px;height:100%;left:8%}.hero-bg span:nth-child(2){width:1px;height:100%;right:8%}.hero-bg span:nth-child(3){height:1px;width:100%;top:30%}.hero-bg span:nth-child(4){height:360px;width:360px;border:1px solid rgba(23,105,170,.12);background:transparent;transform:rotate(45deg);right:-170px;top:18%}.hero-grid{min-height:calc(100vh - 138px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:70px;align-items:center;padding-block:90px 70px;position:relative}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:800;color:var(--blue);margin:0 0 28px}.hero h1,.section-heading h2,.training-intro h2,.about-sticky h2,.contact-copy h2{font-family:Georgia,"Yu Mincho",serif;font-weight:500;letter-spacing:-.04em}.hero h1{font-size:clamp(3.2rem,6.3vw,6.5rem);line-height:1.09;margin:0;max-width:910px}.hero h1 em{color:var(--blue);font-style:normal}.hero-lead{font-size:18px;line-height:2;color:#42566c;max-width:770px;margin:34px 0 0}.hero-actions{display:flex;gap:12px;margin-top:38px}.button{min-height:54px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:28px;border:1px solid var(--navy);font-size:14px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:.25s}.button-primary{background:var(--navy);color:#fff}.button-primary:hover,.button-primary:focus-visible{background:var(--blue);border-color:var(--blue);transform:translateY(-2px)}.button-secondary{background:transparent;color:var(--navy)}.button-secondary:hover,.button-secondary:focus-visible{background:#fff}.hero-portrait{justify-self:end;width:100%;max-width:340px}.portrait-frame{aspect-ratio:3/4;position:relative;background:#e9f0f6;border:1px solid rgba(10,36,67,.13);overflow:hidden}.portrait-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 46%;filter:saturate(.84) contrast(1.02)}.portrait-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,25,46,.28),transparent 45%);pointer-events:none}.portrait-label{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;background:rgba(10,36,67,.94);color:white;padding:18px 20px;display:flex;justify-content:space-between;align-items:end;gap:10px}.portrait-label strong{font-size:17px}.portrait-label span{font-size:10px;line-height:1.5;text-align:right;letter-spacing:.05em;color:#b9d4ea}.hero-strip{height:60px;border-top:1px solid rgba(10,36,67,.13);display:flex;align-items:center;justify-content:space-between;color:#6b7d90;font-size:10px;letter-spacing:.14em;position:relative}.section{padding:132px 0}.section-heading{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:62px}.section-heading h2,.training-intro h2,.about-sticky h2{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1.18;margin:0}.section-heading>p:last-child{color:var(--muted);margin-top:18px}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{min-height:420px;background:var(--white);padding:38px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;transition:.3s}.service-card:hover{z-index:1;transform:translateY(-5px);box-shadow:0 18px 48px rgba(10,36,67,.1)}.card-number{position:absolute;right:30px;top:28px;color:#9babb9;font-size:12px;letter-spacing:.12em}.service-icon{height:54px;width:54px;border:1px solid #b8d4ea;color:var(--blue);display:grid;place-items:center;font-size:25px;margin-bottom:50px}.service-card h3{font-size:23px;line-height:1.4;margin:0 0 18px;color:var(--navy)}.service-card p{margin:0;color:#536579;line-height:1.9}.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:28px}.card-tags span,.project-tags span,.topic-cloud span{font-size:11px;letter-spacing:.04em;border:1px solid #cbd8e4;padding:6px 9px;background:#f8fbfd}.triad-section{background:#eaf3fa}.section-heading.compact{margin-bottom:55px}.section-heading.compact h2{font-family:inherit;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.035em;font-weight:600}.triad-grid{display:grid;grid-template-columns:repeat(3,1fr)}.triad{padding:38px 42px 42px;border-left:1px solid #bacfe0}.triad:last-child{border-right:1px solid #bacfe0}.triad>span{font-size:11px;color:var(--blue)}.triad h3{font-size:26px;margin:42px 0 14px;color:var(--navy)}.triad p{margin:0;color:#52667a}.projects-section{background:var(--navy);color:#fff}.section-heading.light{border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:55px}.section-heading.light .eyebrow{color:#73bdf7}.section-heading.light p:last-child{color:#9eb1c7}.project-row{display:grid;grid-template-columns:60px minmax(0,1.5fr) minmax(200px,.65fr);gap:38px;padding:46px 0;border-bottom:1px solid rgba(255,255,255,.15)}.project-index{font-size:12px;color:#73bdf7}.project-type{font-size:11px;color:#85bfe9;letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px}.project-main h3{font-size:27px;line-height:1.45;margin:0 0 18px}.project-main>p:last-child{color:#afbed0;margin:0;max-width:720px}.project-tags{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px}.project-tags span{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.2);color:#c7d3df}.public-projects{margin-top:90px;display:grid;grid-template-columns:.8fr 1fr 1fr;border:1px solid rgba(255,255,255,.16)}.public-projects>div,.public-projects>article{padding:34px;border-right:1px solid rgba(255,255,255,.16)}.public-projects>article:last-child{border-right:0}.public-intro{background:rgba(79,168,245,.08)}.public-intro h3{font-size:26px;margin:0}.public-projects article{position:relative}.mini-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.27);font-size:12px;color:#76bdf5}.public-projects h4{font-size:19px;margin:27px 0 10px}.public-projects p{font-size:14px;color:#aebdd0;margin:0}.public-projects a{display:inline-block;margin-top:20px;color:#76bdf5;font-size:13px;border-bottom:1px solid currentColor}.training-section{background:#fff}.training-intro{max-width:910px;margin-bottom:76px}.training-intro>p:last-child{max-width:720px;color:var(--muted);font-size:18px;line-height:1.95}.training-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.training-metrics{align-self:start;background:var(--paper);padding:22px 38px}.metric{padding:30px 0;border-bottom:1px solid var(--line)}.metric:last-child{border-bottom:0}.metric strong{display:block;font-family:Georgia,serif;color:var(--blue);font-size:52px;line-height:1}.metric sup{font-family:inherit;font-size:16px}.metric span{display:block;font-size:13px;color:var(--muted);margin-top:12px}.training-case{display:grid;grid-template-columns:48px 1fr;column-gap:18px;padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--line)}.training-case>span{grid-row:1/3;width:34px;height:34px;background:var(--ice);color:var(--blue);display:grid;place-items:center;font-size:11px}.training-case h3{margin:0 0 10px;font-size:20px;color:var(--navy)}.training-case p{margin:0;color:var(--muted)}.topic-cloud{margin-top:75px;padding-top:44px;border-top:1px solid var(--line);display:flex;gap:9px;flex-wrap:wrap}.topic-cloud span{font-size:13px;padding:9px 13px;background:#fff}.about-section{background:#eef3f7}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:110px}.about-sticky{align-self:start;position:sticky;top:130px}.signature{margin-top:52px;padding-top:24px;border-top:1px solid #c8d4df;display:flex;justify-content:space-between}.signature strong{font-size:19px}.signature span{text-align:right;font-size:11px;color:var(--muted);line-height:1.5}.about-body p{font-family:Georgia,"Yu Mincho",serif;font-size:22px;line-height:2.05;margin:0 0 28px;color:#334b62}.timeline{margin-top:110px;border-top:1px solid #bbc9d5}.timeline article{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:34px 0;border-bottom:1px solid #bbc9d5;position:relative}.timeline article.current:before{content:"";position:absolute;left:-12px;top:41px;width:6px;height:6px;background:var(--blue);border-radius:50%}.timeline time{font-size:15px;font-weight:700;color:var(--blue)}.timeline h3{font-size:19px;margin:0 0 8px}.timeline p{color:var(--muted);margin:0}.skills-section{background:#fff}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.skill-card{min-height:260px;padding:30px;background:var(--paper);border:1px solid var(--line);position:relative}.skill-card>span{font-size:11px;color:var(--blue)}.skill-card h3{font-size:20px;margin:52px 0 16px;color:var(--navy)}.skill-card p{color:#596c80;line-height:1.95;margin:0}.contact-section{padding:132px 0;background:linear-gradient(135deg,#dceefa,#eef6fb);border-top:1px solid #c5dae9}.contact-grid{display:grid;grid-template-columns:1fr .9fr;gap:100px}.contact-copy h2{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.25;margin:0}.contact-copy>p{font-size:17px;color:#53677b;line-height:2;max-width:620px}.contact-note{display:flex;align-items:center;gap:12px;margin-top:45px}.contact-note>span{color:var(--blue);font-size:9px}.contact-note p{font-size:13px;line-height:1.7;margin:0}.contact-form{background:#fff;padding:42px;box-shadow:0 20px 70px rgba(10,36,67,.1)}.field{margin-bottom:25px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:8px;color:var(--navy)}.field input,.field textarea{display:block;width:100%;border:0;border-bottom:1px solid #b7c5d3;background:transparent;color:var(--ink);padding:10px 2px;border-radius:0;outline:none}.field textarea{resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--blue);box-shadow:0 1px 0 var(--blue)}.submit-button{width:100%;border-radius:0}.form-status{min-height:24px;margin:12px 0 0;color:var(--blue);font-size:13px}.site-footer{background:#071b32;color:#fff;padding:32px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center}.footer-brand .brand-mark{background:#fff;color:var(--navy)}.footer-brand .brand-copy small{color:#8ca1b7}.footer-inner p,.footer-top{font-size:11px;color:#9aabba;letter-spacing:.06em}.back-to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;border:1px solid #b4c8d9;background:rgba(255,255,255,.9);color:var(--navy);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;z-index:80}.back-to-top.visible{opacity:1;pointer-events:auto;transform:none}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
@media (max-width:980px){.desktop-nav{display:none}.menu-button{display:block}.mobile-nav{position:fixed;top:78px;left:0;right:0;height:calc(100vh - 78px);background:var(--paper);padding:34px 24px;flex-direction:column}.mobile-nav.open{display:flex}.mobile-nav a{padding:17px 0;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:.1em;font-weight:700}.hero-grid{grid-template-columns:1fr;gap:45px;padding-top:110px}.hero-portrait{justify-self:start;max-width:300px}.hero-strip{overflow:hidden;gap:38px;justify-content:flex-start}.service-card{min-height:390px}.triad{padding:30px 24px}.project-row{grid-template-columns:44px 1fr}.project-tags{grid-column:2}.public-projects{grid-template-columns:1fr 1fr}.public-intro{grid-column:1/-1}.public-projects>div{border-bottom:1px solid rgba(255,255,255,.16);border-right:0}.training-layout,.contact-grid{grid-template-columns:1fr;gap:55px}.training-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.metric{border-bottom:0}.about-grid{gap:55px}.skill-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.container,.header-inner{width:min(calc(100% - 32px),var(--max))}.header-inner{height:68px}.brand-copy{display:none}.mobile-nav{top:68px;height:calc(100vh - 68px)}html{scroll-padding-top:74px}.hero{padding-top:68px}.hero-grid{min-height:auto;padding:88px 0 55px}.hero h1{font-size:clamp(2.75rem,13vw,4rem)}.hero-lead{font-size:16px;line-height:1.9}.desktop-only{display:none}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}.hero-portrait{max-width:260px;margin-left:auto;margin-right:auto}.portrait-label{left:12px;right:12px;bottom:12px;padding:14px}.hero-strip{height:52px}.hero-strip span:nth-child(n+4){display:none}.section{padding:88px 0}.section-heading{margin-bottom:42px}.section-heading h2,.training-intro h2,.about-sticky h2,.contact-copy h2{font-size:2.65rem}.service-grid{grid-template-columns:1fr}.service-card{min-height:360px;padding:30px 25px}.triad-grid{grid-template-columns:1fr}.triad{border-right:1px solid #bacfe0;border-bottom:1px solid #bacfe0}.project-row{grid-template-columns:32px 1fr;gap:20px;padding:35px 0}.project-main h3{font-size:22px}.project-tags{grid-column:2}.public-projects{grid-template-columns:1fr}.public-projects>article{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.training-intro{margin-bottom:52px}.training-intro>p:last-child{font-size:16px}.training-metrics{grid-template-columns:1fr;padding:10px 25px}.metric{border-bottom:1px solid var(--line)}.metric:last-child{border-bottom:0}.training-case{grid-template-columns:40px 1fr}.topic-cloud{margin-top:50px}.about-grid{grid-template-columns:1fr}.about-sticky{position:static}.about-body p{font-size:18px}.timeline{margin-top:70px}.timeline article{grid-template-columns:1fr;gap:8px;padding-left:20px}.timeline article.current:before{left:0}.skill-grid{grid-template-columns:1fr}.skill-card{min-height:220px}.contact-section{padding:88px 0}.contact-form{padding:28px 22px}.footer-inner{align-items:flex-start;gap:28px;flex-wrap:wrap}.footer-brand{width:100%}.footer-brand .brand-copy{display:flex}.back-to-top{right:14px;bottom:14px}.language-switch{gap:5px}.header-actions{gap:8px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.service-card,.back-to-top{transition:none}}
.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:1040px}.footer-brand{gap:14px}

/* Localized routes and service detail pages */
.language-switch a{padding:8px 1px;color:#8a97a7;font-size:12px;font-weight:700}.language-switch a.active{color:var(--navy)}
.hero h1{font-size:clamp(2.85rem,5.25vw,5.5rem);max-width:1080px}
.service-card .card-tags{margin-top:auto}.card-cta{display:flex;align-items:center;justify-content:space-between;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.04em}.card-cta span{transition:transform .2s}.card-cta:hover span,.card-cta:focus-visible span{transform:translateX(5px)}
.service-page-main{padding-top:78px}.service-detail-hero{min-height:650px;position:relative;display:flex;align-items:stretch;overflow:hidden;background:linear-gradient(135deg,#f9fbfd 0%,#eef5fa 70%,#dceefa 100%)}.service-detail-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent calc(8% - 1px),rgba(23,105,170,.1) 8%,transparent calc(8% + 1px)),linear-gradient(0deg,transparent calc(28% - 1px),rgba(23,105,170,.08) 28%,transparent calc(28% + 1px))}.service-detail-bg:after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(23,105,170,.14);right:-210px;top:80px;transform:rotate(45deg)}.service-detail-hero>.container{position:relative;display:flex;flex-direction:column}.breadcrumb{padding-top:34px}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0;padding:0;color:#6c7c8d;font-size:12px}.breadcrumb li:not(:last-child):after{content:"/";margin-left:9px;color:#9babb9}.breadcrumb a{border-bottom:1px solid transparent}.breadcrumb a:hover,.breadcrumb a:focus-visible{color:var(--blue);border-color:currentColor}.service-detail-copy{max-width:910px;margin:auto 0;padding:80px 0 105px}.service-detail-copy h1{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(3.1rem,6vw,6.2rem);font-weight:500;letter-spacing:-.045em;line-height:1.08;color:var(--navy);margin:0}.service-detail-copy>p:not(.eyebrow){max-width:810px;margin:34px 0 0;color:#40576d;font-size:19px;line-height:2}.service-detail-copy .card-tags{margin-top:34px;padding-top:0}.detail-heading{margin-bottom:48px}.detail-heading h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2.6rem,5vw,4.7rem);font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:0;color:var(--navy)}.service-topics{background:#eaf3fa}.topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;padding:0;list-style:none;border-top:1px solid #b9cede;border-left:1px solid #b9cede}.topic-list li{min-height:110px;display:flex;align-items:center;padding:26px 30px;background:rgba(255,255,255,.42);border-right:1px solid #b9cede;border-bottom:1px solid #b9cede;color:var(--navy);font-size:17px;font-weight:700}.related-section{background:#fff}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.result-card{min-height:365px;padding:38px;position:relative;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.result-index{position:absolute;right:30px;top:28px;color:#9babb9;font-size:12px;letter-spacing:.12em}.result-card h3{font-size:25px;line-height:1.45;color:var(--navy);margin:0 0 18px;padding-right:35px}.result-card>p:not(.project-type){color:#536579;line-height:1.9;margin:0}.result-card .card-tags{margin-top:auto;padding-top:28px}.result-link{display:inline-block;align-self:flex-start;margin-top:auto;padding-top:28px;color:var(--blue);font-size:13px;font-weight:800;border-bottom:1px solid currentColor}.service-contact{padding:100px 0;background:linear-gradient(135deg,#dceefa,#eef6fb);border-top:1px solid #c5dae9}.service-contact-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:80px;align-items:end}.service-contact h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2.35rem,4.6vw,4.3rem);font-weight:500;letter-spacing:-.04em;line-height:1.25;margin:0;max-width:830px}.service-contact p:not(.eyebrow){color:#53677b;margin:20px 0 0}.service-contact .button{min-width:190px}
@media (max-width:980px){.service-detail-hero{min-height:590px}.service-detail-copy h1{font-size:clamp(3rem,8vw,5.3rem)}.service-contact-inner{grid-template-columns:1fr;gap:40px;align-items:start}.service-contact .button{width:auto;justify-self:start}}
@media (max-width:680px){.hero h1{font-size:clamp(2.5rem,11.2vw,3.55rem)}.service-page-main{padding-top:68px}.service-detail-hero{min-height:560px}.breadcrumb{padding-top:24px}.service-detail-copy{padding:64px 0 80px}.service-detail-copy h1{font-size:clamp(2.7rem,12vw,4rem)}.service-detail-copy>p:not(.eyebrow){font-size:16px;line-height:1.9}.topic-list,.result-grid{grid-template-columns:1fr}.topic-list li{min-height:90px;padding:22px}.result-card{min-height:0;padding:30px 25px}.result-card h3{font-size:22px}.service-contact{padding:78px 0}.service-contact .button{width:100%}}

/* Case studies */
.projects-index-cta{display:flex;justify-content:flex-end;margin-top:42px}.button-on-dark{border-color:rgba(255,255,255,.55);color:#fff}.button-on-dark:hover,.button-on-dark:focus-visible{background:#fff;color:var(--navy);border-color:#fff}.case-index-hero{min-height:560px}.case-index-section{background:#fff}.case-index-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.case-card{min-height:410px;padding:40px;display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:transform .25s,box-shadow .25s}.case-card:hover{position:relative;z-index:1;transform:translateY(-4px);box-shadow:0 18px 48px rgba(10,36,67,.1)}.case-card .eyebrow{margin-bottom:34px}.case-card h2{font-family:Georgia,"Yu Mincho",serif;font-size:30px;font-weight:500;line-height:1.35;color:var(--navy);margin:0 0 20px}.case-card>p:not(.eyebrow){color:#536579;line-height:1.9;margin:0}.case-card .card-tags{margin-top:auto}.case-card-link{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:var(--blue);font-size:13px;font-weight:800}.case-detail-section{background:#fff}.case-detail-grid{border-top:1px solid var(--line)}.case-detail-block{display:grid;grid-template-columns:minmax(190px,.36fr) minmax(0,1fr);gap:70px;padding:50px 0;border-bottom:1px solid var(--line)}.case-detail-block h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1.25;color:var(--navy);margin:0}.case-detail-block p{max-width:790px;color:#4f6378;font-size:17px;line-height:2;margin:0}.case-technology-list{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px}.case-technology-list span{padding:9px 13px;border:1px solid #c4d3df;background:var(--paper);color:var(--navy);font-size:13px;font-weight:700}.case-related-service{padding:100px 0;background:#eaf3fa;border-top:1px solid #c5dae9}.case-related-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:80px;align-items:end}.case-related-card h2{font-family:Georgia,"Yu Mincho",serif;font-size:clamp(2.2rem,4vw,3.8rem);font-weight:500;line-height:1.2;color:var(--navy);margin:0 0 30px}.case-related-card h3{font-size:23px;color:var(--navy);margin:0 0 12px}.case-related-card p:not(.eyebrow){max-width:760px;color:#53677b;margin:0}.case-related-card .button{min-width:190px}.desktop-nav{gap:24px}
@media (max-width:980px){.case-related-card{grid-template-columns:1fr;gap:40px}.case-related-card .button{width:auto;justify-self:start}}
@media (max-width:680px){.projects-index-cta{justify-content:stretch}.case-index-hero{min-height:520px}.case-index-grid{grid-template-columns:1fr}.case-card{min-height:0;padding:30px 25px}.case-card h2{font-size:25px}.case-detail-block{grid-template-columns:1fr;gap:18px;padding:38px 0}.case-detail-block p{font-size:16px;line-height:1.9}.case-related-service{padding:78px 0}.case-related-card .button{width:100%}}

/* Service families and FAQs */
.specialist-section{background:#f4f8fb;border-top:1px solid var(--line)}.service-parent-section{background:#eaf3fa}.faq-section{background:#fff;border-top:1px solid var(--line)}.faq-list{border-top:1px solid var(--line)}.faq-item{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1fr);gap:70px;padding:42px 0;border-bottom:1px solid var(--line)}.faq-item h3{font-size:20px;line-height:1.55;color:var(--navy);margin:0}.faq-item p{color:#536579;font-size:16px;line-height:1.95;margin:0}.service-parent-section .case-related-card h2{margin-bottom:30px}
@media (max-width:680px){.faq-item{grid-template-columns:1fr;gap:14px;padding:32px 0}.faq-item h3{font-size:18px}}

/* Expanded specialist service copy */
.service-intro{display:grid;gap:18px;max-width:810px;margin:34px 0 0;color:#40576d;font-size:19px;line-height:2}.service-intro p{margin:0}.service-intro strong{color:var(--navy);font-weight:800}.topic-list .topic-detail{min-height:170px;display:block}.topic-detail h3{margin:0 0 10px;color:var(--navy);font-size:19px;line-height:1.55}.topic-detail p{margin:0;color:#536579;font-size:15px;font-weight:400;line-height:1.85}
.service-intro-heading{margin:0 0 4px;color:var(--navy);font-family:Georgia,"Yu Mincho",serif;font-size:28px;font-weight:500;line-height:1.35}.topic-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:20px;color:var(--navy)}.topic-link span{color:var(--blue)}.topic-detail-list{display:grid;gap:8px;margin:14px 0 0;padding-left:1.25em}.topic-list .topic-detail-list li{min-height:0;display:list-item;padding:0;background:transparent;border:0;color:#536579;font-size:15px;font-weight:400;line-height:1.75}.service-parent-link{margin-top:28px;padding-top:0}.case-related-card+.case-related-card{margin-top:54px;padding-top:54px;border-top:1px solid #b9cede}.case-related-card-additional .eyebrow{margin-bottom:18px}
@media (max-width:680px){.service-intro{font-size:16px;line-height:1.9}.topic-list .topic-detail{min-height:0}.topic-detail h3{font-size:18px}}
